[Allegro] Loesung AE in mes / O.APT

Thomas Berger ThB at Gymel.com
Fr Aug 29 10:46:32 CEST 2008


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

Lieber Herr Fischer, liebe Liste,


> Ä in DOS als Alt+196 eingegeben wird bei Enter im Schreibfeld in
> Grafikzeichen Ecke rechts unten verfälscht und auch so gespeichert.

Das liegt daran - wie bereits neulich erwaehnt - dass das Zeichen
Alt+196 in OSTWEST halt das Grafikzeichen ~ist~ (hier offenbart
sich die Herkunft des OSTWEST-Zeichensatzes von CP437).


> Aufgefallen ist mir der Effekt, als ich die #8e mit dem "ANSI-Ä" ins
> Schreibfeld nahm und ohne Veränderung mit ENTER bestätigte, worauf das
> Anzeigefeld sich gelbte.
> 
> Da ich diesen Effekt das allererste Mal gesehen hatte, suchte ich doch noch
> nach einer Lösung:
> 
> Der Weg ist relativ einfach und hoffentlich seiteneffektfrei:
> 
> In der O.APT gibt es die Zeile
> o .196 127
> Ich schrieb nun
> o .196 142

Das Z mit Breve sieht sehr oestlich aus, stammt aber nicht aus
dem Ostwest-Zeichensatz, sondern ist eines der Zeichen, die
die Windows-Codepage CP1252 ueber ISO 8859-1 hinaus enthaelt.
Wenn ich mich recht entsinne, war das Zeichen in WfW 3.11 oder
Windows'95 urspruenglich noch nicht enthalten, es kam spaeter
(aber noch lange vor dem Euro-Zeichen) hinzu und wurde dann (mit
Ruecksicht auf aeltere Fonts) vom Betriebssystem "unterstuetzt",
indem ein Z mit Breve dargestellt wurde, auch wenn der zugrundeliegende
Font etwas ganz anderes enthielt.

Insofern koennen Sie ganz unbesorgt mit der Windows-Zeichenposition
142 jonglieren: Es ist eine der Zeichenpositionen, die tendenziell
Aerger machen und daher von OSTWEST/allegro-Windows bestimmt auch
in Zukunft nicht genutzt werden.


> Immerhin habe ich dazugelernt, dass die O.APT, die wie beschrieben
> automatisch geladen wird, auch für die Umwandlung von Eingaben im
> Schreibfeld zuständig ist.

Na sicher doch: Das Schreibfeld ist *der* Ort, wo Eingaben von
der Windows-Codierung in die DOS-Codierung gewandelt werden. Und
dafuer ist die o-Tabelle zentral.

Wenn ich mich recht entsinne, wird eine Eingabe im Schreibfeld
zunaechst global vom Windows- in den DOS-Zeichensatz umgewandelt
und dann erst "geparst", d.h. auf Kategorieeingaben oder Flex-
Befehle hin untersucht und abgearbeitet.

Bei der Umwandlung von Windows nach DOS wird die o-Tabelle
invertiert benutzt, d.h. Zeichen, die in der zweiten Spalte
erwaehnt werden, werden auf ihr Aequivalent aus der ersten
Spalte umgesetzt. Zeichen, die in der zweiten Spalte nicht
erwaehnt werden, werden nicht umgesetzt, behalten also ihre
Codierung. Das mag dann bei spaeteren Umsetzungen "zurueck"
von DOS nach Windows schwer verstaendliche Effekte hervorrufen.
Zeichen die in der zweiten Spalte mehrfach erwaehnt werden,
darf es (ausser 127) nicht geben, der Effekt ist undefiniert,
da o.apt (ausser bei 127) eineindeutig zu sein hat.

viele Gruesse
Thomas Berger

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

iQCVAwUBSLe3aGITJZieluOzAQISQgP/cNRqhMOvCl9ErRvovC1F/lvmdkTaT2g2
+zgQ8eYsxYHwfODnlKyNmZotZxi3mz2i7B+5rG9mNWsDiHZATs78/AfXXBg78qAX
aedEb881gLhIEjsYCaLq7j54PxMbZqzPvm1+m7e3nyrZYskfNUbwZwqCRUPuLbWo
3VKmxtbj/Vc=
=Qyo9
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro