Как я могу сделать файлы произвольного шрифта доступными для Java? - PullRequest
3 голосов
/ 17 декабря 2008

Я использую стороннюю библиотеку, которая обращается к шрифту через вызов GraphicsEnvironment: getAllFonts (). Это включает шрифты в реестрах шрифтов, принадлежащих как JRE, так и операционной системе.

Но на клиентских компьютерах, которые подключаются к нашему серверу, я, скорее всего, не смогу установить шрифты ни в одно из этих мест. Итак, как я могу сделать другие шрифты доступными для JRE, чтобы этот вызов их забрал? Есть ли способ расширить свой путь поиска?

Я могу получить доступ к шрифту из произвольного файла с помощью вызова Font.createFont (). Но тогда это все еще не обнаруживается в GraphicsEnvironment.getAllFonts (). Есть ли способ, которым я могу передать этот шрифт, который добавит его в список доступных шрифтов? Я читаю, что есть вызовы, которые получают доступ к шрифтам из системного свойства, но я до сих пор не понимаю, и думаю, что это просто переводит настроенное мной свойство шрифта в имя шрифта из доступного списка.


asalamon предоставил правильный ответ, но я застрял на более ранней версии Java, которая не поддерживает ее, по крайней мере, до следующего года. Так что больше ответов по-прежнему очень приветствуются! Вероятно, я попытаюсь использовать отражение, чтобы взломать используемую нами библиотеку и вставить шрифты прямо в ее кеш.

Ответы [ 2 ]

2 голосов
/ 17 декабря 2008

Использовать GraphicsEnvironment.registerFont . (Для JDK 1.6)

1 голос
/ 17 декабря 2008

Попробуйте Font.createFont () и объедините шрифты, которые вы хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...