Встраивание шрифта в Apache FOP

Я пытаюсь заставить Apache FOP использовать Arial в качестве шрифта. Пока без удачи.

В моем config.xml это говорит:

                           
 >

                      

Но это не похоже на работу. Когда я запускаю FOP в командной строке, он говорит, что шрифт Arial normal not found.

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

C:\Users\xy\Desktop\FOP2>java -cp build\fop.jar;lib\avalon-framework-4.2.0.jar;lib\commons-logging-1.0.4.jar;lib\commons-io-1.3.1.jar org.apache.fop.TTFReader C:\Windows\Fonts\arial.ttf Arial.xml
TTF Reader for Apache FOP 1.1

Parsing font...
Reading C:\Windows\Fonts\arial.ttf...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlgraphics/fonts/Glyphs
        at org.apache.fop.fonts.truetype.TTFFile.initAnsiWidths(TTFFile.java:662)
        at org.apache.fop.fonts.truetype.TTFFile.readFont(TTFFile.java:711)
        at org.apache.fop.fonts.apps.TTFReader.loadTTF(TTFReader.java:224)
        at org.apache.fop.fonts.apps.TTFReader.main(TTFReader.java:177)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlgraphics.fonts.Glyphs
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)

Может быть, я не вижу forrest для деревьев, но яЯ в растерянности относительно того, что делать.

Какие-либо предложения?

UDPDATE:

Я скачал много xml-файлов с этого сайта:http://www.java2s.com/Code/Jar/f/Downloadfopfontmetricsjar.htm (которые для меня очень похожи на xml-файлы, которые уже были в fop. поэтому я предполагаю, что они в правильном формате)

Я положил их в папку fop / src / codegen

Я также положил туда arial.tff

в файле fop / conf / xconf написано



      C:\Windows\Fonts
        
        

        
          
          
        
       

          
      

Так что я получил автоопределение и определил каталог для шрифтов и встроенного arial - но я получаю сообщения об ошибках типа "глиф xyz не входит в Helvetica хотя нигде в моих таблицах стилей это не говорит семейство шрифтов Helvetica. PDF-файлы отображаются в Times New Roman ...

++ ОБНОВЛЕНИЕ ++

Хорошо...

мой файл fop.xconf говорит об этом сейчас:



  .

  72
  72
  
  
    
      
        flate
      

      

       
        
             

          
      

    

мы добавили font-family = "Arial» в значительной степени все элементы сейчас: D

Я иду в мой каталог FOP в командной строке и введите

fop -xml blabla\file.xml -xsl blabla\stylesheet.xsl -pdf output.pdf

И я получаю следующее:

Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Schwerwiegend: Image not found. URI: 15300145419.PNG. (See position 44:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: The following feature isn't implemented by Apache FOP, yet: table-layout="auto" (on fo:table) (Siehe Position 29:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Schwerwiegend: Image not found. URI: 15627351051.PNG. (See position 44:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Schwerwiegend: Image not found. URI: 15629782795.PNG. (See position 44:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: Font "Arial,normal,400" not found. Substituting with "any,normal,400".
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: Glyph "?" (0x95) not available in font "Times-Roman".
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: Font "Arial,italic,400" not found. Substituting with "any,italic,400".
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: Content overflows the viewport of the fo:region-before on page 1 in block-progression direction by 2989 millipoints. (See position 50:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Information: Rendered page #1.
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Warnung: Content overflows the viewport of the fo:region-before on page 2 in block-progression direction by 2989 millipoints. (See position 59:-1)
Nov 07, 2013 1:34:29 PM org.apache.fop.events.LoggingEventListener processEvent
Information: Rendered page #2.

Не возражайте против URL.

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

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