Как я могу сделать файлы произвольного шрифта доступными для Java?

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

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

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

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

Ответы на вопрос(2)

Ваш ответ на вопрос