Ich habe etwas Text, der das Omega-Zeichen (0x3A9) enthält, und wenn ich dieses Zeichen in der Standardschrift Helvetica anzeigen, wird nichts in der PDF angezeigt.iTextSharp - nicht alle Zeichen in Helvetica Schriftart
ich meine Fonts erschaffe
BaseFont Helvetica = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
und Verwendung, wie erwartet, Helvetica.CharExists (0x3A9) gibt false zurück.
Ich habe auch CharExists (0x3A9) für die Schriftarten TIMES_ROMAN, SYMBOL und ZAPF_DINGBATS aufgerufen. Alle geben false zurück.
- Erstelle ich die Schriftart falsch? Gibt es eine bessere Möglichkeit, die Schriftart zu erstellen, die den Omega-Charakter enthält?
- Gibt es eine allgemeine Möglichkeit, fehlende Zeichen wie diese zu behandeln? Sollte ich nur über alle verfügbaren Schriftarten auflisten, bis ich eine finde, wo CharExists (0x3A9) wahr zurückgibt?
Mein Dokument in Englisch, aber ein paar Brocken von Sonderzeichen hat - plus/minus, links und rechts doppelte Anführungszeichen, Mikron usw.
P. S. Ich sehe, dass ich eine Schriftart Arial erstellen:
BaseFont arial = BaseFont.CreateFont("c:\\windows\\fonts\\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
und das macht eine Glyphe für Zeichen 0x3A9 enthalten. Aber anscheinend kann ich die HELVETICA Schrift nicht mit der IDENTITY_H Kodierung erstellen.
Helvetica, TIMES_ROMAN, Symbol- und ZAPF_DINGBATS sind Standard-14-Schriftarten, die jeweils PDF-Betrachter mit einem bestimmten, begrenzten Zeichensatz zur Verfügung stellen muss. Wenn Sie mehr Zeichen benötigen, müssen Sie selbst eine Schriftart bereitstellen, wie Sie es für Arial tun. – mkl