Acrobat Reader - Widths error message using script fonts

  • Hi Support-Team,

    using RAD Studio 2007 with wPDF v3.76 (latest version).

    I get the error message ...

    In der Schrift "..." ist der Wert für /Widths fehlerhaft.

    ... when using script fonts (in PDF/A). This message comes only in Acrobat Reader - not when using Edge, Chrome or Foxit Reader for opening.

    Is this a problem with wPDF? Is it fixed with v4?

    - Dirk

    Here are three sample pdf files (different script fonts for header) and the error message:

    Tafel1.pdf

    Tafel2.pdf

    https://www.ahnenblatt.de/files/Tafel3.pdfTafel3.pdf

    [Blockierte Grafik: https://www.ahnenblatt.de/files/Tafel-pdf-error.jpg]

  • Ich habe noch mal ein paar Dinge geprüft und herausgefunden, dass der Parameter CidFontMode den Unterschied macht.

    Der Fehler tritt nur auf, wenn der Wert wpCIDUnicode ist - bei wpCIDOff nicht.

    Nun könnte ich immer den Wert wpCIDOff verwenden, allerdings sehen dann kyrillische Schriftzeichen nicht gut aus (zu sehr gedrängt).

    Daher folgende Fragen:

    1. Welcher Wert ist die bessere Wahl?

    2. Ist das Verhalten von wPDF so in Ordnung (Fehlermeldung im Acrobat Reader und gedrängte kyrillische Schrift)?

    Dem Argument "exotische Fonts" etwas entgegenzusetzen, ist als Laie in Sachen Fonts schwierig.

    Ich habe dieses Mal in meinen Beispielen die Schriften "Books Antiqua" (in der dann auch die kyrillische Schrift ist) und "Vivaldi" (für die Überschrift verwendet - die dann auch zur Fehlermeldung führt) verwendet. Andere Schriftarten kommen nicht vor. Es handelt sich bei beiden Schriften, die zur Standardinstallation Windows 10 gehören.

    - Dirk

    Tafel-CID-Error.pdf

    Tafel-Eingebettet.pdf

    Tafel-Kyrillisch-CID.pdf

    Tafel-Kyrillisch-Eingebettet.pdf

    [Blockierte Grafik: https://www.ahnenblatt.de/files/Tafel-Error-Vivaldi.jpg]

    • Offizieller Beitrag

    Ihre Version v3.76 ist ja schon etwas älter, so um die 7 Jahre ....

    Evtl. hilft ja bereits wPDF Version 3.82 vom 2.11.2013.

    Ansonsten floss in v4 auch eine Verbesserung des CID FontModes ein.

    Mit "exotisch" meine ich, dass diese Fonts evtl. komische Werte bei der Abfrage der Metric liefern. Ds wPDF daraus die Breiten auslesen muss, kann es dann Probleme geben. Die Type3 Fonts sind gut geeignet für Symbole und haben diese Problem nicht. Sie können wPDF V4 ja ohne risiko testen.

  • > Evtl. hilft ja bereits wPDF Version 3.82 vom 2.11.2013.

    Ich habe sogar die 3.83.3.1. vom 19.11.2014 probiert. Brachte aber keine Besserung.

    > Ansonsten floss in v4 auch eine Verbesserung des CID FontModes ein.

    > Sie können wPDF V4 ja ohne risiko testen.

    Installiert sich schon mal in das gleiche Verzeichnis wie die 3er Version. Da wird mir schon etwas mulmig ...

    Allerdings fehlt die wPDF400A.dll, die es laut pdf-Doku geben soll (und die ich benötige). Wie komme ich an die?

    > Mit "exotisch" meine ich, dass diese Fonts evtl. komische Werte bei der Abfrage der Metric liefern.

    Wäre logisch, wenn jede PDF-erzeugende Software mit diesen Fonts Probleme hätte. Kann ich bislang nicht bestätigen.

    > Die Type3 Fonts sind gut geeignet für Symbole und haben diese Problem nicht.

    Wie programmiert man eine Font-Auswahl, die nur Type3 Fonts anbietet (Anwender kann den Font frei auswählen)?

    Hätten Sie mal einen Link zu einem ScriptFont vom Type3? Auf den einschlägigen Fonts-Webseiten wird dieses Merkmal nicht ausgewiesen.


    Gruß, Dirk

    • Offizieller Beitrag

    Hallo,

    wPDF400A.dll wäre die Vollversion, die Demo verwendet wPDF400DEMOW.dll. Es gibt noch wPDF400DEMOA.dll, also die ANSI dll, die ist aber eigentlich nur für legacy projekte. Das war aber bei V3 auch schon so.

    Zitat

    Installiert sich schon mal in das gleiche Verzeichnis wie die 3er Version. Da wird mir schon etwas mulmig ...

    Die Quellen unterstützen auch im Zweifel auch die 3er Version. Es wird mit compiler symbol umgeschaltet. Wenn Sie die letzte V3 haben, sollte da auch schon ein IFDEF WPDF4 drin sein.

  • wPDF400A.dll wäre die Vollversion, die Demo verwendet wPDF400DEMOW.dll. Es gibt noch wPDF400DEMOA.dll, also die ANSI dll, die ist aber eigentlich nur für legacy projekte. Das war aber bei V3 auch schon so.

    Ok, ich meinte natürlich die wPDF400DEMOA.dll, die nicht in der Demo-Version enthalten ist. Ich verwende RAD Studio 2007.

    Die wPDF400DEMOA.dll ist nicht in der Demo und die wPDF400A.dll nur in der Vollversion.

    Ich muss die also erst kaufen, um herauszufinden, ob mein Problem damit behoben ist?

    Kann man das nicht einfach handhaben und doch mal ausnahmsweise eine wPDF400DEMOA.dll zur Verfügung stellen?

    • Offizieller Beitrag

    Kann man das nicht einfach handhaben und doch mal ausnahmsweise eine wPDF400DEMOA.dll zur Verfügung stellen?

    Klar, hier

    Allerdings können auch die wPDF Versionen für Delphi <2009 (ANSI) die "W" Variante verwenden.

    Die "A" Variante wird nur verwendet, wenn das symbol USE_ANSI_DLL explizit im Projekt definiert ist, daher ist diese DLL in der Demo nicht enthalten.