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

5

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

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

JBoss 4.2.3.GAJava 1.6Jasperreports 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 во время выполнения?

Что вы имеете в виду? Alex K
Вы должны прочитать оРасширения шрифтов механизм. Вы также можете найти более подробную информацию вРуководство по JasperReports Ultimate, Для лучшего понимания вы можете изучить исходные файлыДвигатель JR Alex K
Есть ли источник для этого в JVM документах? gdfbarbosa
@AlexK У меня та же проблема с OP, и я использую расширения шрифтов JasperReports, поэтому мои файлы шрифтов находятся в банке внутри моего приложения. Я нене понимаю, почему JVM не можетне могу их найти. Во многих публикациях люди предлагают установить шрифт в ОС, но это нарушит назначение расширений шрифтов. Gustavo

Ваш Ответ

5   ответов
4

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

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

0

Я также столкнулся с той же проблемой на Jasper 5.0. Я следовал за шагами ниже:

  1. Поместите;jasper-fonts.jar
  2. Установите недостающие шрифты в Linux;
  3. Перезапустите сервер JBoss.
Это сработало? Откуда взялся jasper-fonts.jar? Gustavo
0

для OpenSuse

проверить шрифты недоступно в SO fc-list | grep "Arial»

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

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

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

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

проверить еще раз fc-list | grep "Arial»

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

0

Обновление за 2015 год:

Добавьте это (или раскомментируйте в) /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
2

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

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

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