Загрузка шрифта из файла TTF работает на Mac, но не на Linux - PullRequest
1 голос
/ 25 июля 2011

У меня есть сервлет, который генерирует изображение.Я хочу загрузить используемый шрифт из файла TTF, чтобы сервлет не зависел от того, доступен ли этот шрифт на этом конкретном сервере.

Я загружаю шрифт, используя java.awt.Font.createFont ().Когда я проверяю это на моем локальном Glassfish в Mac OS X, это работает нормально, но когда я пробую это на Glassfish на сервере Linux, я получаю следующее исключение:

java.awt.FontFormatException: bad table, tag=1279872591
    at sun.font.TrueTypeFont.init(TrueTypeFont.java:
    at sun.font.TrueTypeFont.<init>(TrueTypeFont.java:162)
    at sun.font.FontManager.createFont2D(FontManager.java:2264)

У меня было впечатление, что анализфайла TTF был сделан полностью на Java, и, следовательно, не зависит от платформы.Это предположение неверно?Или есть какая-то другая причина, почему это не удается?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2012

Я понимаю, что это старый вопрос, но у меня была эта проблема, и в конце концов я решил ее, переопределив ttf на сервере теми же файлами из более ранней версии. Я предполагаю, что они, должно быть, были повреждены или что-то во время передачи или что-то еще.

Если сюда кто-нибудь еще проникнет, возможно, стоит попробовать то же самое.

0 голосов
/ 25 июля 2011

В Linux запуск JVM в консоли и использование его для доступа к компонентам awt или swing иногда вызывает проблемы, поскольку поддержка X11 не включена.Попробуйте запустить безголовый режим для запуска сервера.

...