Ghostscript / htmldoc Font Alias Problem

Auf einem Debian Etch Linux System möchte ich einen Schriftart-Alias einrichten, für eine zweischrittige Konvertierung mit htmldoc und ghostscript.
Eine HTML-Datei wird zunächst mithilfe von htmldoc von HTML nach Postscript konvertiert, dann mithilfe von ghostscript (gs) nach PDF. Diese doppelte Umwandlung war notwendig, weil htmldoc offenbar keine PDF-Dateien im CMYK-Farbmodus erzeugen kann. Außerdem unterstützt HTMLDoc leider nur eine kleine Anzahl vordefinierter Schriftarten, weshalb hier die Schriftart Courier als Alias für das eigentlich benötigte Arnold Boecklin verwendet wird.

Die Arnold Boecklin Schriftart haben wir installiert nach /usr/share/fonts/type1/gsfonts, sie definiert als /ArnoldBoeD in /var/lib/defoma/gs.d/dirs/fonts/Fontmap , wo ich auch den bestehenden Alias für /Courier angepasst habe von Nimbus-irgendwas in /ArnoldBoeD.
Obwohl GS meldet, dass es ArnoldBoeD anstelle von Courier verwendet, ist im resultierenden PDF nur die ursprüngliche Courier-Schrift zu sehen. Da ich htmldoc anweise, die Schriftarten einzubetten (Befehlszeile s.u.) liegt möglicherweise schon hier das Problem.

Zusätzlich habe ich auch die Courier-Dateien (n022003l.pfb sowie die von htmldoc, s.u.) with durch umbenannte ArnoldBoeD Dateien ersetzt. Auch das hat keine Auswirkung auf das PDF, allerdings werden meine Linux-Fenstertitel in Arnold Boecklin statt in Courier angezeigt.
htmldoc und gs werden von einem Perl-Script aufgerufen, das von Apache (in /opt/lampp ) ausgeführt wird. Die beiden Konvertierungsbefehle direkt in der Kommandozeile einzugeben macht allerdings auch keinen Unterschied.

Habe ich noch Dateien oder Verzeichnisse übersehen?

Danke im Voraus für die Hilfe!

Erster Schritt:
htmldoc --format ps3 -f „temp/Katalog-021.ps“ --bodyimage „temp/katalog-head.jpg“ --webpage --no-title --size A4 --left 0.50in --right 0.50in --top 0.50in --bottom 0.50in --header … --header1 … --footer .1. --nup 1 --tocheader .t. --tocfooter …i --portrait --color
–no-pscommands --no-xrxcomments --no-compression --jpeg=0 --fontsize 10.0 --fontspacing 1.2 --headingfont Courier --bodyfont Courier --headfootsize 11.0 --headfootfont Helvetica --charset iso-8859-1 --links --embedfonts --pagemode document --pagelayout single --firstpage p1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password „“ --user-password „“ --browserwidth 680 --no-strict --no-overflow temp/Katalog-021.html

Zweiter Schritt:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite „-sOutputFile=temp/Katalog-021.pdf“ -dProcessColorModel=/DeviceCMYK -f „temp/Katalog-021.ps“

Neue Dateien in
/usr/local/share/fonts/type1/gsfonts
arndboen.afm
arndboen.pfb
arndboen.pfm
arndboen.ttf
n022003l.pfb

Dateien ersetzt in
/opt/lampp/lib/fonts/Courier.afm
/usr/share/htmldoc/fonts/Courier.pfa
/usr/share/htmldoc/fonts/Courier.pfb
/usr/share/htmldoc/fonts/Courier.pfm
/usr/share/htmldoc/fonts/Courier.ttf

Neue und geänderte Zeilen in /var/lib/defoma/gs.d/dirs/fonts/Fontmap

/ArnoldBoeD (arndboen.pfb) ;
/Courier /ArnoldBoeD ;

Hallo

Habe ich noch Dateien oder Verzeichnisse übersehen?

Mal ne systematische und ne prinzipielle Frage:

* welche Version von htmldoc ist das? (Ich habe viel mit 1.9.x gearbeitet)

* Die html-Datei erzeugst Du doch auch (wahrscheinlich) dynamisch,
kannst Du nicht an dieser Stelle gleich pdf ausgeben? PHP/Perl usw.
haben jeweils schöne Module zur PDF-Seitenerstellung.

htmldoc ist, wenn man von einfachen Aufgaben absieht, pure pain in the ***.

Grüße

CMБ

* welche Version von htmldoc ist das? (Ich habe viel mit 1.9.x
gearbeitet)

Danke für die schnelle Antwort und den Tipp!

Benutze derzeit htmldoc 1.8.27 - soweit mir bekannt wir, das aktuelle stabile Release, zumindest war die Debian-Paketverwaltung dieser Meinung.

Lese gerade, dass 1.9.x auch „custom Type 1 fonts“ unterstützt. Fuktioniert das mit den Fonts denn schon? Und gibt es eine Möglichkeit, ohne selbst zu kompilieren an eine Debian-taugliche Binary zu kommen?

Die html-Datei erzeugst Du doch auch (wahrscheinlich)
dynamisch,
kannst Du nicht an dieser Stelle gleich pdf ausgeben?

Im Prinzip schon.
Text::stuck_out_tongue:DF, PDF::Create usw. - Dann muss nur alles von HTML auf die entsprechende API umgestellt werden. Das klingt nach viel Arbeit, die ich vielleicht noch vor mir habe, je nachdem wie sich htmldoc 1.9 bei uns verhält.

htmldoc ist, wenn man von einfachen Aufgaben absieht,

Die bestehenden HTML-Seiten hat das htmldoc 1.8 aber bisher erstaunlich gut umgesetzt.

Grüße

Ebenso!

* welche Version von htmldoc ist das? (Ich habe viel mit 1.9.x
gearbeitet)

Danke für die schnelle Antwort und den Tipp!

Zur Information für alle, die vielleicht ein ähnliches Problem haben:
htmldoc 1.9.x gibt es (noch) nicht als offizielles Debian-Paket. Die Source von www.htmldoc.org liess sich kompilieren, nachdem ich noch das Paket bin86 nachinstalliert hatte.

Der Font wird jetzt korrekt eingebunden, und alles andere scheint so weit wie in der Version 1.8.27 zu funktionieren.

funktioniert mit htmldoc 1.9 - aber ohne Umlaute

Der Font wird jetzt korrekt eingebunden, und alles andere
scheint so weit wie in der Version 1.8.27 zu funktionieren.

Allerdings sind keine Umlaute zu sehen.
In den Fenstertiteln von Linux kann die Schrift aber sehr wohl Umlaute anzeigen, und Texte im PDF in anderen Schriftarten stellen auch korrekte Umlaute dar.