2009-06-30 8 views
1

Je reçoisjava format de police sauf sur osx avec java 4 mise à jour

java.awt.FontFormatException: Unrecognized Font Format

erreur

, et je crois que cela a été passe seulement depuis l'exécution de la mise à jour 10.5 java 4, bien que je ne puisse pas vérifier cela pour être exact. Ma version java après la mise à jour est 1.5.0_19

J'utilise JRuby dans des rails pour générer une police avec le code suivant:

font = java.awt.Font.createFont(java.awt.Font::TRUETYPE_FONT, java.io.FileInputStream.new("#{RAILS_ROOT}/lib/Arial.ttf")) 

Le Arial.ttf est tiré de mes polices OSX et folder est évidemment un TTF, alors qu'est-ce qui ne va pas?

Est-ce que quelqu'un a rencontré des problèmes de polices étranges après la mise à jour de Java? Je ne sais pas si je dois mettre à jour jruby après la mise à jour de Java, mais je ne peux pas imaginer que c'est le cas.

Toutes les pensées sont appréciées.

Répondre

2

J'ai trouvé une solution qui a fonctionné pour moi. Apparemment c'est un problème avec les permissions des utilisateurs. Dans mon cas, le problème est survenu lors du démarrage de mon serveur weblogic. J'utilisais Weblogic en tant que root, mais mon fichier de polices appartenait à un utilisateur du système. Changer les permissions du fichier n'a pas résolu mon problème, mais j'ai changé la propriété de Weblogic. Donc, si je cours mon serveur avec le même utilisateur qui possède le fichier de police, le problème a disparu comme par magie.

Je suppose que la mise à jour a résolu certains problèmes de sécurité ou de propriété qui ont entraîné un nouveau problème. J'espère que la solution à mon problème vous aide à trouver la cause de la vôtre.

bonne chance

Siets

+0

qui est intéressant. Je suis heureux au moins que je ne sois pas seul. Malheureusement pour moi, je suis déjà en cours d'exécution mon jruby rails app serveur comme l'utilisateur qui possède le fichier TTF :( – brad

+0

gratter cela, complètement oublié que je cours jruby comme sudo pour accéder à rdebug.En cours d'exécution normalement fixé le problème. – brad