Wie in Kapitel 3.24: „Schriften“
beschrieben, bergen Schriften eine Komplexität, die ruhig öfter getestet werden sollte.
Sie können Informationen über Schriften mit dem Hilfsprogramm ExtractFontInfo
als XML-Datei aus PDF extrahieren.
Diese XML-Datei zeigt, wie die Schriften für PDFUnit aussehen.
Der Algorithmus, der die XML-Datei erzeugt, ist der gleiche, der von PDFUnit für Tests verwendet wird.
:: :: Extract information about fonts of a PDF document into an XML file :: @echo off setlocal set CLASSPATH=./lib/aspectj-1.8.7/*;%CLASSPATH% set CLASSPATH=./lib/bouncycastle-jdk15on-153/*;%CLASSPATH% set CLASSPATH=./lib/commons-collections4-4.1/*;%CLASSPATH% set CLASSPATH=./lib/commons-logging-1.2/*;%CLASSPATH% set CLASSPATH=./lib/pdfbox-2.0.0/*;%CLASSPATH% set CLASSPATH=./lib/pdfunit-2016.05/*;%CLASSPATH% set TOOL=com.pdfunit.tools.ExtractFontInfo set OUT_DIR=./tmp set IN_FILE=fonts_11_japanese.pdf set PASSWD= java %TOOL% %IN_FILE% %OUT_DIR% %PASSWD% endlocal
Für das japanische PDF-Dokument fonts_11_japanese.pdf
zeigt
der Adobe Reader® folgende Schriften:
Die erzeugte Ausgabedatei _fontinfo_fonts_11_japanese.out.xml
sieht dann so aus:
<?xml version="1.0" encoding="UTF-8" ?> <fonts> <font basename="Arial-BoldMT" name="Arial-BoldMT" type="TrueType" vertical="false" embedded="false" /> <font basename="ArialMT" name="ArialMT" type="TrueType" vertical="false" embedded="false" /> <font basename="Century" name="MEEADE+Century" type="TrueType" vertical="false" embedded="true" /> <font basename="HGPGothicE" name="MFHLHH+HGPGothicE" type="Type0" vertical="false" embedded="true" /> <font basename="MS-Gothic" name="MDOLLI+MS-Gothic" type="Type0" vertical="true" embedded="true" /> <font basename="MS-Gothic" name="MDOLLI+MS-Gothic" type="Type0" vertical="false" embedded="true" /> <font basename="MS-Mincho" name="MEOFCM+MS-Mincho" type="Type0" vertical="false" embedded="true" /> <font basename="MS-PGothic" name="MDOMCG+MS-PGothic" type="Type0" vertical="false" embedded="true" /> <font basename="MS-PGothic" name="MDOMCG+MS-PGothic" type="Type0" vertical="true" embedded="true" /> <font basename="MS-PMincho" name="MEKHMP+MS-PMincho" type="Type0" vertical="false" embedded="true" /> <font basename="TimesNewRomanPSMT" name="TimesNewRomanPSMT" type="TrueType" vertical="false" embedded="false" /> </fonts>
Die XML-Datei listet jedes Subset einer Schriftart einzeln auf. Dadurch können sich Abweichungen von der Anzeige durch den Adobe Reader® ergeben.