Thomas J.S.: Tschechische Schriftart nutzen

Beitrag lesen

Hallo,

Aus dem ARIALUNI.TTF habe ich ein metrisches arialuni.xml erzeugt und beide Fonts (.xml und .ttf) im fop font ordner abgespeichert.

http://www.cardogis.com/content.asp?pgid=72_69

Hm... ich weiss nicht von wann dort die Beschreibung ist oder auf welche FOP-Version sie sich bezieht, aber die Seite hat viele Fehler.

Hoffentlich hast du das ohne die "-enc ansi" Option Konvertiert! Das konvertiert dir nur einen Teil der Schrift, quasi nur iso-8889-1.
http://forum.de.selfhtml.org/archiv/2007/5/t152792/#m994549

  1. Schritt:
    Die userconfig.xml angepasst, hier ein Auszug:
    <font metrics-file="/opt/fop/fonts/arialuni.xml" kerning="yes" embed-file="/opt/fop/fonts/arialuni.ttf">
       <font-triplet name="arialuni" style="normal" weight="normal"/>
       <font-triplet name="ArialMT" style="normal" weight="normal"/>
    </font>

Nun ja ... das könnte ein/das Problem sein.
Die Schriftart, die sich im "ARIALUNI.TTF" befindet, heisst eigentlich "Arial Unicode MS". Ich habe es aber auch nocht nicht Herausgefunden wann FOP sich bequemt den Namen der Schrift bzw. eine Abkürzung davon zu verwenden. Zudem solltest du da nicht zwei verschiedenen Namen verwenden und beide dann auch noch für normal/normal definieren innerhalb einer Schrift.

------------------------ aus einer Config-Datei von mir ------------
<fonts>
   <font metrics-url="arialn.xml" kerning="yes" embed-url="ARIALN.TTF">
         <font-triplet name="ArialNarrow" style="normal" weight="normal"/>
       </font>
   <font metrics-url="arialnb.xml" kerning="yes" embed-url="ARIALNB.TTF">
         <font-triplet name="ArialNarrow" style="normal" weight="bold"/>
       </font>
   <font metrics-url="arialni.xml" kerning="yes" embed-url="ARIALNI.TTF">
         <font-triplet name="ArialNarrow" style="italic" weight="normal"/>
       </font>
   <font metrics-url="arialnbi.xml" kerning="yes" embed-url="ARIALNBI.TTF">
         <font-triplet name="ArialNarrow" style="italic" weight="bold"/>
       </font>
   <font metrics-url="arialbd.xml" kerning="yes" embed-url="arialbd.ttf">
         <font-triplet name="Arial" style="normal" weight="bold"/>
       </font>
      </fonts>
------------------------------------

Hier habe ich gelesen dass mit dem FOP sagen muss dass er die userconfig.xml verweden soll. Was verwendet er Standardmäßig? Der Befehl auf dieser Seite ist allerdings für Windows Maschinen.

Entweder rufst du die Userconfig beim Start von FOP auf mit der Option -c
http://xmlgraphics.apache.org/fop/0.95/running.html#fop-script
Der aufruf ist ja nicht so anders, z.B.: fop.sh -c conf/userconfig.xml meineDatei.fo meineDatei.pdf

Wenn du FOP in einem Java-Programm verwendest (eingebettet) kannst du das so machen:

DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
            Configuration cfg = cfgBuilder.build(cl.getResourceAsStream(configfile));
            FopFactory fopFactory = FopFactory.newInstance();
            fopFactory.setUserConfig(cfg);
            fopFactory.setFontBaseURL(verzeichnis);

Mit FOP 0.95 kannst du Schriften auch automatisch einbinden:
http://xmlgraphics.apache.org/fop/0.95/fonts.html#autodetect

Grüße
Thomas