2009-08-19 5 views
7

Ich versuche FOP zu verwenden, um ein PDF mit UTF-8-Zeichen zu exportieren, vorzugsweise ohne die Schriftart einzubetten.
Der folgende Code:Apache FOP: Anzeigen von UTF-8-Zeichen in PDF (ohne einzubetten?)

<fo:block font="10pt Helvetica" text-align="justify" space-after="10pt" space-before="8pt" keep-with-previous="auto" keep-together.within-page="auto"> 
    <fo:block font-weight="bold" color="gray">Summary</fo:block> 
    <fo:block text-indent="1em" keep-with-previous="always"> 
    <fo:block text-indent="1em" space-before="4pt"> 
     <fo:block text-indent="1em" space-before="4pt">私はガラスを食べられます。それは私を傷つけません 
     </fo:block> 
    </fo:block> 
    </fo:block> 
</fo:block> 

produziert #################### im PDF-Format. Ich kenne das Problem: http://xmlgraphics.apache.org/fop/faq.html#pdf-characters

Wenn ich unter Dokument Eigenschaften gehen-> Schriftarten, wird die Helvetica Schrift mit 'Encoding: ANSI' aufgeführt. Gibt es eine Möglichkeit, dies zu ändern?

Wenn ich einbetten würde, was wäre der beste Weg, dies ohne Zugang zu Helvetica.ttf zu tun? Ich habe versucht, DejaVuSans zu verwenden, aber ich am Ende mit Quadraten anstelle der # Zeichen.

Beachten Sie, dass dies keine einmalige Verwendung über die Befehlszeile ist (das wäre ein Start), sondern eine Erweiterung für eine vorhandene App. Ich versuche, UTF-8-Zeichen ohne zu viel Komplexität zu unterstützen.

Antwort

7

AFAICT, enthalten die in der PDF specification enthaltenen Schriftarten nur Zeichen aus ISO-Latin-1. Wenn Sie ein Zeichen benötigen, das nicht in Anhang D: Zeichensätze und Codierungen definiert ist, wird von Ihnen erwartet, dass Sie die Schriftart einbetten.

Verwandte Themen