Home / LinuxUser / 2003 / 08 / The Answer Girl: Web-Inhalte mit nicht-lateinischen Zeichen ausdrucken

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Nichts mit WYSIWYG

The Answer Girl: Web-Inhalte mit nicht-lateinischen Zeichen ausdrucken

01.08.2003 Was man im Web-Browser sieht, kann man getrost auf Papier drucken, so die geläufige Ansicht. Sobald Web-Seiten jedoch nicht-lateinische, zum Beispiel kyrillische Buchstaben enthalten, muss die Anwenderin für diese scheinbare Selbstverständlichkeit kräftig arbeiten.

The Answer Girl

Dass der Computeralltag auch unter Linux des Öfteren Überraschungen bereithält, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht odernicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.

Hexen können auch Web-Browser nicht: Sollen sie Seiten mit nicht-lateinischen Buchstaben anzeigen, geht das nur, wenn ihnen entsprechende Schriften zur Verfügung stehen. Doch mittlerweile sehen viele Linux-Distributeure ein, dass ein aus lauter leeren Quadraten bestehender Text im Browser wenig befriedigt. Auch die Hersteller von GUI-Bibliotheken wie Qt oder GTK haben ihre Hausaufgaben zumindest soweit gemacht, dass sich gängige nicht-lateinische Schriftzeichen darstellen lassen.

Damit sieht etwa ein russischer Text in SuSEs Konqueror bereits per Default ganz manierlich aus, und Debian steht dem nach der Installation des Pakets xfonts-cyrillic nicht nach. Wenn Konqueror die Schriften fehlen, besteht immer noch Hoffnung, mit Opera oder Mozilla ein vielleicht nicht schönes, aber doch lesbares Ergebnis zu bekommen.

Ein fast leeres Blatt

Doch wer jetzt davon ausgeht, dass, was sich anzeigen auch ausdrucken lässt, erlebt schnell sein blaues Wunder: Auf dem Papier erscheint anstatt kyrillischer Buchstaben einfach nichts.

Da hierzulande vertriebene Drucker normalerweise selbst keine russischen oder sonstwie fremden Fonts installiert haben, lässt sich nachvollziehen, warum sie eine einfache Textdatei aus dem Texteditor [1] mit lpr dateiname lediglich in "komischen" Zeichen zu Papier bringen: Zunächst fehlt ihnen die Information, in welcher Kodierung (zum Beispiel KOI8) die Datei vorliegt. Und selbst wenn die bekannt wäre, wüsste der Drucker nicht, woher er passende Schriften nehmen sollte – herzaubern kann er sie nämlich nicht.

Dass aber beim Drucken aus einem Web-Browser nicht einmal das auf Papier erscheint, was der korrekt auf dem Bildschirm anzeigt (und von dem er also die richtige Kodierung kennt), verwundert auf den ersten Blick: Schließlich führt hier der Weg über eine (temporäre) PostScript-Datei. PostScript aber kann Schriften einbetten und die entsprechenden Informationen also zum Drucker transportieren.

Druckt man die fragliche Seite wie in Abbildung 1 in eine PostScript-Datei, enthält die jede Menge .notdef-Einträge für in der Schrift nicht definierte Zeichen und bei den Qt-basierten Web-Browsern Konqueror und Opera unter Umständen auch den Kommentar % No embeddable font for ... found.

Des Rätsels Lösung: Während X für die Anzeige auf dem Bildschirm verschiedene Schriftarten – Bitmap-, PostScript- und auch TrueType-Fonts – benutzen kann, braucht man zum Einbetten in PostScript vereinfacht gesagt PostScript-Fonts. Hier aber endet die Unterstützung der meisten Distributoren: kyrillische PostScript-Fonts – Fehlanzeige.

Abbildung 1: Das vom Druckbefehl generierte PostScript-File unterschlägt alle im Konqueror (links) dargestellten russischen Zeichen

Die Suche nach solchen Schriften führt die Nutzerin ins WWW, und bei den Stichworten "PostScript russian font X" findet Google zum Beispiel die nützliche englischsprachige Seite http://www.ibiblio.org/sergei/Software/x.html. Sie verrät, dass es ein Paket namens XType1.tar.gz mit kyrillischen Type-1-PostScript-Schriften gibt. Von [2] heruntergeladen und mit tar -xzvf ausgepackt, muss das X-Window-System sie jedoch erst einmal finden.

Zu diesem Zweck benötigt es eine ASCII-Datei namens fonts.scale, die den im Verzeichnis enthaltenen Dateien mit skalierbaren Fonts einen Font-Namen in X-Notation zuordnet:

Advertisement.pfb -unknown-advertisement-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific

Die können Wissende von Hand schreiben, doch spart das ebenfalls unter [2] zu findende Perl-Skript type1inst eine Menge Arbeit. Vorausgesetzt, der Befehl pfbtops aus dem Paket groff ist installiert, wechselt man ins XType1-Verzeichnis und ruft das Skript zum Beispiel mit dem Befehl

perl pfad/zu/
type1inst

auf. Gewissenhafte Menschen korrigieren in der so erzeugten fonts.scale-Datei den Hinweis auf die Kodierung, indem sie den String adobe-fontspecific am Zeilenende gegen koi8-r austauschen. Auch den Herstellerhinweis unknown kann man in paragraph ändern.

Doch auch ein noch so schön geschriebenes fonts.scale-File muss X erst einmal wahrnehmen. fonts.@L: *-Dateien fallen dem X-Server nämlich nur auf, wenn sie in Verzeichnissen liegen, die in der Section "Files" der XF86Config-Datei hinter dem Stichwort FontPath verzeichnet sind. Zum Glück lässt sich der Schriften-Suchpfad der aktuellen X-Session mit dem Kommando xset erweitern:

xset +fp /home/pjung/XType1/

xset q ("query") bestätigt die Aufnahme des Verzeichnisses in den Font Path:

Font Path:
  /home/pjung/XType1,/usr/X11R6/lib/X11/fonts/misc,/usr/X11R6/lib/X11/fonts/Type1, […]

Ruft man jetzt das Tool xfontsel auf, das alle von X gefundenen Schriften anzeigt, lässt die Belohnung nicht lange auf sich warten: Hält man die Maus über dem fmly-Knopf gedrückt, erscheinen die neuen Font-Familien advertisement, college, handbook, lazurski, magazine, textbook und courierkoic im Menü zu Begutachtung. Liegen die Schriften in verschiedenen Schriftschnitten vor, bietet das slant-Menü zum Beispiel die Möglichkeit, kursiv (i – "italic) oder gerade (r – "roman") auszuwählen. Unter wght ("weight" – Gewicht") stellt man die Schriftprobe auf fett (b – "bold") um. Die vierte Zeile der Probe beweist es – diese Schriften kennen nicht nur 7-Bit-ASCII-, sondern auch kyrillische Zeichen (Abbildung 2).

Abbildung 2: xfontsel zeigt den Roman-Schnitt der neuen PostScript-Schrift courierkoic

Überredungskünste

Leider ändert das erst einmal gar nichts an der Tatsache, dass die von einer nun gestarteten Konqueror- oder Opera-Instanz erzeugten PostScript-Dateien bei den kyrillischen Buchstaben weiterhin vor .notdefs strotzen. Die Detektivarbeit besteht jetzt darin, die verwendeten, lückenhaften Schriften aufzuspüren und bei Opera unter File / Preferences / Fonts and colors, beim Konqueror im Einstellungsdialog Einstellungen / Konqueror einrichten ... gegen einen der neuinstallierten Fonts auszutauschen. (Je nach KDE-Version und Distribution findet sich der Schriftendialog des KDE-Browsers zum Beispiel unter Konqueror-Browser / Erscheinungsbild oder Schriften.)

Netterweise enthalten von Qt generierte PostScript-Dateien im Vorspann einen Eintrag %%DocumentFonts:, der die verwendeten Fonts auflistet. Findet man die eine oder andere dieser Schriften dann noch in einem Kommentar wie

% No embeddable font for Helvetica found

wieder, steht der Übeltäter fest: In diesem Fall gilt es, alle Helvetica-Einträge im Schriftendialog gegen eine der neuen Fonts auszutauschen.

Schwieriger wird es, wenn Qt 3 aus vorhandenen Schriften eigene Composite-Fonts zusammenzimmern konnte. Dann sucht man nach .notdefs. Das Beispiel des unter SuSE 8.0 mit Konqueror generierten Ausschnitts aus Listing 1 zeigt: Hier ist die Schrift NimbusSansL unvollständig. Im Erscheinungsbild-Tab des Konquerors findet sie sich bei dieser Distribution als Standardschrift unter der Bezeichnung Nimbus Sans l [Xft] wieder.

Listing 1

Ausschnitt aus einem von Konqueror generierten PostScript-File

[…]
/NimbusSanL-Regu-ENC-00 [
/.notdef/F/A/Q/T/o/p/comma/space/one/five/parenleft/parenright/zero/period/U
[…]
/Z/slash/three/seven/eight/V/G/q/P/B/semicolon/quotedbl/copyright/backslash
/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
[…]

Abbildung 3: Mit Courierkoic als Standardschrift ändert sich nicht nur das Aussehen der Web-Seite – sie lässt sich sogar ausdrucken, wie der PostScript-Viewer links beweist

Tauscht man die wie in Abbildung 3 gegen die Schreibmaschinenschrift Courierkoic aus und drückt auf Anwenden, erhält man beim Ausdruck wunderbar kyrillischen Text. Doch wehe dem, der stattdessen eine der anderen neuen, in @L: *.pfb-Dateien steckenden Schriften wählt!

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

665 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...