[Allegro] Ostwest-Font und undefinierte CP1252-Positionen in a99

Thomas Berger ThB at Gymel.com
Fr Feb 5 11:02:33 CET 2010


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

Liebe Liste, lieber Herr Eversberg,

das offizioese Mapping von CP1252 (Windows Latin 1) zu Unicode ist
m.W. in
< http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT >
hinterlegt. Hier sind folgende Zeichenpositionen "undefined":

0x81 (129)
0x8D (141)
0x8F (143)
0x90 (144)
0x9D (157)

und das spiegelt sich auch in der Windows-Zeichentabelle unter Win 2000,
Windows XP und Vista, etwa fuer Arial: Die Positionen werden in der Anzeige
uebersprungen. Dies ist auch dann der Fall, wenn man Allegro Arial als
Font einstellt, der ~eigentlich~ folgende Glyphen auf diesen Positionen
haben sollte:

0x81 Pfeil rechts (U+2192, OSTWEST: 0xDC, Verwendung und Nutzen unklar)
0x90 kleines t mit Cedille (U+0163, OSTWEST 0xEA)
0x9D Grosses I mit Punkt (U+0130, OSTWEST 0xE9)

(0x8d, 0x8e(!), 0x8f sind in allegro-Windows undefiniert)

Diese zwei oder drei Zeichen sind nur aeusserst eingeschraenkt nutzbar:

* Sie werden in a99 nie gezeigt (vgl. die Zeichentabelle bei "h char" oder
  die Liste bei "h chara"

* Sie sind eingebbar (fuer den, der Spass daran hat, mit Cut & Paste
  unsichtbaren Text durch die Gegend zu schubsen, denn Eingabe mit
  Alt+0nnn ist mir nicht gelungen und mit Alt+m/h spchr weiss man
  nun wirklich nicht, wohin der Cursor zu positionieren ist...)

* Im Auswahlfeld erscheinen sie nicht, sind aber da, im Anzeigefeld als
  Leerraum (Ich habe alle allegro-Schriften als "Datenfont" durchprobiert
  und den Leerraum als Platzhalter nicht bemerken koennen).

* Sie landen auf den definierten DOS-Positionen im Datensatz und
  werden entsprechend mit dem Grundbuchstaben indexiert, insofern
  ist alles korrekt...

Fazit: Bei manueller Eingabe kommt man nicht auf die Idee, dass es diese
kombinierten Zeichen ueberhaupt geben koennte, bei Datenimporten etc.
sollte man darauf achten, diese Zeichen als Ziel zu vermeiden und lieber
die Kombinationsdarstellungen
Cedille + t
bzw.
Punkt + I
erzeugen.

viele Gruesse
Thomas Berger

P.S.: Das Verhalten ist m.E. voellig korrekt: Weil auf diesen Plattformen ja
Unicode weitestgehend aktiv ist, kann das System nichts anderes tun, als
Codepositionen, von denen es weiss(!), dass sie undefiniert sind und daher
kein Unicode-Mapping besitzen, nach Moeglichkeit zu ignorieren.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iJwEAQECAAYFAktr7LkACgkQYhMlmJ6W47O4ywP9GqpJEG7FMaQ/HfWvo6fgrmZI
4tkcwUqqVj2abct9QVh5pQbsLTDK2G23jCI3qv3nwNOa3UAKKbf8/8nlRXiJDVd6
uX5sQuSdRJzqoLe9U9OfSz6d7flPp1HiSXbM8NgMD4ltAloSFUzPza1X5okVl20b
m0SB8OHUvxs03wZlAA8=
=Kuvm
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro