2022 blog post: http://cweiske.de/tagebuch/vrbank-kontoauszug-linux.htm
Schriftarten:
Poppler (Bibliothek) macht falsche Schriftersetzungen.
Im PDF steht haben Objekte vom Typ "FontDescriptor" Eigenschaften "/Flags". Dort steht drin, ob es eine "FixedPitch" (Monospaced) Schrift ist oder nicht:
9.8.2 Font Descriptor Flags
Table 123 – Font flags
Wenn Bit 1 gesetzt ist, ist die Schrift Monospaced. Diese Info scheint Poppler nicht zu nutzen.
Beispiel (qpdf -decrypt -qdf 2021-90003.pdf -|less):
%% Original object ID: 22 0 24 0 obj << /Ascent 803 /CapHeight 0 /Descent -249 /Flags 33 /FontBBox [ -6 -249 639 803 ] /FontName /RFont0 /ItalicAngle 0 /StemV 0 /Type /FontDescriptor >> endobj
Vermutlicher Bug: https://gitlab.freedesktop.org/poppler/poppler/-/issues/387
Eigentlich werden fixed-width-Fonts schon besonders behandelt, seit 2012:
Substitutions:
$ pdffonts -subst 2021-90003.pdf name object ID substitute font substitute font file ------------------------------------ --------- ------------------------------------ ------------------------------------ RFont0 12 0 DejaVu Sans /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf RFont1 13 0 DejaVu Sans /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf RFont2,Bold 14 0 DejaVu Sans Bold /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf RFont3 15 0 DejaVu Sans /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf RFont4 19 0 DejaVu Sans /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
Tools:
$ fc-cache -f -v $ pdffonts -subst 2021-90003.pdf $ fc-match Courier
Bug aufgemacht: https://gitlab.freedesktop.org/poppler/poppler/-/issues/1152
Poppler-Bug behoben seit poppler-21.11.0.
Poppler macht jetzt alles richtig. Fontconfig gibt aber die falsche Schrift zurück:
Workaround mit fontconfig-Konfiguration in /etc/fonts/conf.d/99-cweiske-monospace.conf:
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="pattern"> <test name="spacing"> <int>100</int> </test> <edit name="family" mode="prepend"> <string>monospace</string> </edit> </match> </fontconfig>
Fontconfig-Bug: https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/312