Apache FOP: Font metrics
Von: (abgemeldet) , Frage gestellt am Mo, 18. Jun 2007
Servus,
nach der Umstellung von Apache FOP Version 0.20.5 auf Version 0.93 hat Apache für verschiedene Schriften, u. a. für eine Barcodeschriftart MRV Code128M, ein 'Missing metrics-version attribute' angemeckert. Mittels des Befehls (aus Gründen der Lesbarkeit des Beitrags ausnahmsweise auf <pre >-Tag verzichtet)
java -cp jar\fop.jar;jar\avalon-framework.jar;jar\xml-apis.jar; \
jar\xercesImpl.jar;jar\xalan.jar org.apache.fop.fonts.apps.TTFReader \
"mrvcode0.ttf" "mrvcode0.xml"
habe ich die Metrics-Datei neu erstellt. Die aber weist leider einen Fehler auf: Ein damit erzeugter Barcode wird um ca. ein Drittel der Schriftgrösse zu weit nach oben gedruckt. Ich habe bislang zwei Workarounds gefunden, diesen Fehler zu umgehen:
In der erzeugten Metrics-Datei kann ich manuell den Wert für <ascender>3000</ascender> von 3000 auf 4800 hochsetzen. Funktioniert, ist aber nicht eben dokumentationsfreudig. Muss die Metrics-Datei aus irgendeinem Grunde neu erstellt werden, dürften die Kollegen erst einmal sehr lange wie der Ochs vorm fehlgedruckten Dokument stehen, bevor sie irgendwo in den Untiefen der Doku (wer liest sowas eigentlich?) diesen Kniff finden.
Alternativ kann ich die Schrift belassen, wie sie ist und stattdessen bei jeder Verwendung der Schriftart ein margin-top="nnpt" setzen. Dies ist zwar wesentlich dokumentationsfreudiger, aber abgesehen davon, dass ich dann nahezu jedes Template anfassen muss, ist nicht sichergestellt, dass das auch immer funktioniert (insbesondere dann nicht, wenn in einer Zeile diese Barcode- und eine andere Schriftart zusammen verwendet werden).
Sonderlich zukunftssicher sind also beide Workarounds nicht, es wäre sehr dankbar, wenn jemand eine dauerhaftere Lösung wüsste
Schorsch
nach der Umstellung von Apache FOP Version 0.20.5 auf Version 0.93 hat Apache für verschiedene Schriften, u. a. für eine Barcodeschriftart MRV Code128M, ein 'Missing metrics-version attribute' angemeckert. Mittels des Befehls (aus Gründen der Lesbarkeit des Beitrags ausnahmsweise auf <pre >-Tag verzichtet)
java -cp jar\fop.jar;jar\avalon-framework.jar;jar\xml-apis.jar; \
jar\xercesImpl.jar;jar\xalan.jar org.apache.fop.fonts.apps.TTFReader \
"mrvcode0.ttf" "mrvcode0.xml"
habe ich die Metrics-Datei neu erstellt. Die aber weist leider einen Fehler auf: Ein damit erzeugter Barcode wird um ca. ein Drittel der Schriftgrösse zu weit nach oben gedruckt. Ich habe bislang zwei Workarounds gefunden, diesen Fehler zu umgehen:
In der erzeugten Metrics-Datei kann ich manuell den Wert für <ascender>3000</ascender> von 3000 auf 4800 hochsetzen. Funktioniert, ist aber nicht eben dokumentationsfreudig. Muss die Metrics-Datei aus irgendeinem Grunde neu erstellt werden, dürften die Kollegen erst einmal sehr lange wie der Ochs vorm fehlgedruckten Dokument stehen, bevor sie irgendwo in den Untiefen der Doku (wer liest sowas eigentlich?) diesen Kniff finden.
Alternativ kann ich die Schrift belassen, wie sie ist und stattdessen bei jeder Verwendung der Schriftart ein margin-top="nnpt" setzen. Dies ist zwar wesentlich dokumentationsfreudiger, aber abgesehen davon, dass ich dann nahezu jedes Template anfassen muss, ist nicht sichergestellt, dass das auch immer funktioniert (insbesondere dann nicht, wenn in einer Zeile diese Barcode- und eine andere Schriftart zusammen verwendet werden).
Sonderlich zukunftssicher sind also beide Workarounds nicht, es wäre sehr dankbar, wenn jemand eine dauerhaftere Lösung wüsste
Schorsch
