Utilizzo di Oracle (Sun) JDK6 e cercando di passare a Oracle JDK7jdk7: sostituzione sun.font.fontManager/come ottenere le informazioni nome del file da fontname
Sto usando sun.awt.GraphicsEnvironment
per trovare tutti i font di sistema, al fine di usali per cambiare il font pdf usato nel mio file pdf. Ecco il codice esatto che sto usando:
GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
// get all system fonts
final Font[] fonts = gEnv.getAllFonts();
Dopo di che ho bisogno per ottenere il percorso esatto del file di font sul sistema, per cui uso:
FontManager.getFontPath(true) + "/" +
FontManager.getFileNameForFontName(font_name);
Il problema ora è che sun.font.FontManager
è non è più una classe ed è stata convertita in un'interfaccia. Ho cercato online e ho trovato alcune soluzioni di cui non sono soddisfatto e sto cercando altre idee per aiutare a risolvere il mio problema.
Le soluzioni che ho trovato:
- Distribuire il mio progetto su Java 6, invece di Java 7 (Non consiglierei come io uso alcune nuove funzionalità in Java 7).
- Ho trovato il codice della classe FontManager in linea, ma l'utilizzo richiede l'inclusione di molte altre classi/interfacce e il processo sembra fittizio e richiede molto tempo. Inoltre, non lo sono se sono autorizzato a utilizzare quel codice in quanto è proprietario dell'azienda Sun.
cosa ho bisogno è: * un modo per trovare il percorso esatto del file di font sul sistema *. Tutte le idee sono benvenute.
Amico, hai trovato qualche soluzione? –
La risposta di Marcel Stör sull'utilizzo di Win32FontManager ha aiutato a risolvere il problema solo in Windows. Sospetto che non funzionerebbe su Linux o Mac OS. –