AW: [Allegro] A99, Classico und Zeichensätze

Thomas Berger ThB at Gymel.com
Fr Jul 10 13:56:46 CEST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Herr Habisch, liebe Liste,

> wir katalogisieren mit Classico mit dem DOS-Ostwest-Zeichensatz. Die nur
> lesenden Katalogbenutzer benutzen die Windows-Version - also Alcarta. Mit
> Alcarta und a99 würde ich gerne die Zeichen aus Ostwest am Bildschirm als
> Unicode-Zeichen dargestellt bekommen. Wie ich dazu die Anzeigeparameterdatei
> d-wrtf.apr zu verändern habe, ist mir bis heute nicht klar. Ich habe etliche
> Erklärungen dazu nachzuvollziehen versucht, aber geklappt hat kein einziger
> Versuch.
> Vielleicht wäre es möglich, eine entsprechende d-wrtf.apr-Datei
> (d-wrtf-du.apr = DOS-OstWest -> UTF-8) in das Programmpaket einzubeziehen.

Es erfordert auch ein Zusammenspiel zwischen Parameterdatei und der
Headerdatei disphead.rtf: Diese muesste zumindest mehr Standard-Fonts auflisten
(das waere ein Vorschlag fuer die disphead.rtf der Standarddistribution),
jedoch - wenn Unicode-Zeichen direkt in RTF eingebettet sein - auch
eine Abwandlung in der ersten Zeile erfahren: Hier hilft dann also nur
eine Kopie von disphead.rtf im jeweiligen Datenverzeichnis.

Es gibt m.W. drei Methoden, in RTF mit Standardzeichensaetzen zu arbeiten,
also etwa im Anzeigefenster von a99. Und weil (zumindest fuer Windows NT
und neuere) das Betriebssystem Unicode "kann" und die Standardzeichensaetze
ein Unicode-Mapping haben, sollte der Effekt das gewuenschte sein:

1. 8bit mit Fontumschaltung (entsprechend "WGL4", ein minimales Subset
von ca. 620 Zeichen basierend auf lateinischen Grundbuchstaben, die Windows-
Rechner schon seit Anno Tuk beherrschen:

Es werden dann mehrere Fonts zur gleichen Familie definiert
...
{\f6\froman\fprq2\fcharset238 Times New Roman;}
{\f7\froman\fprq2\fcharset0 Times New Roman;}
{\f8\froman\fprq2\fcharset162 Times New Roman;}
{\f9\froman\fprq2\fcharset186 Times New Roman;}
...

und die Umcodierung setzt entsprechende Fontumschaltungen \f6...
vor den Bytecode (bzw. die RTF-Darstellung \'hh dafuer).

2. Unicode-Codepoints

Hier wird die Unicode-Zeichennummer ausgegeben gefolgt von einem
Substitutions-Zeichen, falls das Zeichen nicht darstellbar ist:
 \u1576<Ersatz>, es gibt dann noch einiges zu beachten, wenn der
Ersatz mehr als ein Zeichen sein soll. Zeichen werden dann wohl
aus dem aktuellen Font genommen, sofern sie dort vorhanden sind, eine
Umschaltung wird wohl nicht benoetigt.

Das ist die denkbar umstaendlichste Methode, ist aber kompatibel
genug mit Textverarbeitungen, wenn man RTF fuer Exporte erzeugt.


3. eingebettetes UTF-8 (nur RichEdit, nicht MSWord!)

Durch Angabe von \urtf1 im Header kann man dem RTF-Reader mitteilen,
dass alle Zeichen UTF-8 codiert sind. Das ist vermutlich die
schmerzloseste Methode fuer die Anzeige in a99,

viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSlcsfmITJZieluOzAQJ3KwQAka/NamCyh0RV64VQ1ex/wGglrqA0ycSn
6V0R4235gs8ZmwNONP+sVELQoQAj9NLDzKjfHmndUDp3iAIXYFUvTZkwjDwBQMBB
KCVaWWn8bK6P5u6wtI6HI4UEjjh2u9+HO8GI+uQ4p1MAx7a90Q9LMmifxMrvDSd+
Jlr2zUcNzio=
=RQIg
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro