Вопрос по jvm, java, jasper-reports, jboss – Шрифт «Arial» не доступен для JVM

5

Я работаю над проектом Java, который использует Jasperreports. Я работал несколько раз в других проектах, используя ту же технологию, и у меня была та же проблема при попытке распечатать отчет в среде Unix.

Мой проект использует:

JBoss 4.2.3.GA Java 1.6 Jasperreports 4.7.0

Исключение:

net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM. See the Javadoc for more details.

Я нашел общее решение, чтобы решить эту проблему, и я действительно работает:

sudo apt-get install msttcorefonts

Однако я хочу понять, как Jasper работает со шрифтами и как он ищет эти шрифты, установленные в средах Unix. Может быть, лучший вопрос: как JVM обрабатывает родные шрифты? Кто-нибудь может дать мне подробное объяснение на эту тему? Как системные шрифты становятся доступными для JVM во время выполнения?

@AlexK У меня та же проблема с OP, и я использую расширения шрифтов JasperReports, поэтому мои файлы шрифтов находятся в банке внутри моего приложения. Я не понимаю, почему JVM не может их найти. Во многих публикациях люди предлагают установить шрифт в ОС, но это нарушит назначение расширений шрифтов. Gustavo
Я нашел эту ссылку интересной, объясняющей, как JVM работает со шрифтами:docs.oracle.com/javase/6/docs/technotes/guides/intl/font.html, Я думаю, что это информация, которую я искал. gdfbarbosa
Есть ли источник для этого в JVM документах? gdfbarbosa
Вы должны прочитать оFont Extensions механизм. Вы также можете найти более подробную информацию вJasperReports Ultimate Guide, Для лучшего понимания вы можете изучить исходные файлыJR engine Alex K
Что вы имеете в виду? Alex K

Ваш Ответ

5   ответов
4

Java просит ОС предоставить шрифты. Как это работает, зависит от ОС.

http://en.wikipedia.org/wiki/Arial утверждает, что установлен на MS-Windows и MAC OSX

2

а что нет, просто зайдите в центр программного обеспечения и нажмите «Установить».Ubuntu restricted extras, Этот пакет установит не только MS Fonts, но и другие приложения для приложений с ограниченным авторским правом.

Это работает для Ubuntu Systems.

0

Добавьте это (или раскомментируйте в) /etc/apt/sources.list

deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

Затем запустите это:

sudo apt-get update
sudo apt-get install msttcorefonts
0

проверить шрифты не доступны на SO ФК-лист | grep & quot; Arial & quot;

установите следующие обороты sudo rpm -ivh msttcore-fonts-2.0-3.noarch.rpm

или скачать со страницы:

http://www.mjmwired.net/resources/mjm-fedora-f11.html#ttf

Установите обороты

подтвердить еще раз ФК-лист | grep & quot; Arial & quot;

Перезагрузите сервер приложений

0

ами ниже:

Place the jasper-fonts.jar; Install the missing fonts in the linux; Restart the JBoss server.
Это сработало? Откуда взялся jasper-fonts.jar?

Похожие вопросы