[Allegro] Re: <Alt>+m-Mechanismus nicht invariant gegen'fcharset...' in spchr.rtf?

Thomas Berger ThB at Gymel.com
Mi Jun 5 13:51:12 CEST 2013


Lieber Herr Allers, lieber Herr Eversberg,

Am 05.06.2013 12:37, schrieb Heinrich Allers:
> T. Berger schrieb:
> 
>> Da a99 mit 8bit-Zeichensatz arbeitet, regiert entweder die fuer
>> den Rechner eingestellte Standardcodepage (typischerweise CP 1252)
>> oder CP 1252.
>>
>> Da Windows intern mit Unicode arbeitet, weiss es ganz genau dass
>> ein L mit Stroke, auch wenn es in irgendeiner anderen 8bit-Codepage
>> notierbar ist, das Unicode-Zeichen U0141 *ist* und daher in
>> CP1252 nicht abbildbar ist.
>> ...
> 
> Windows weiß aber in dem Augenblick, in dem der Zwischenspeicher 
> gefüllt wird, nicht, in welchem Zielfenster (unter welchem dort 
> regierenden Font) er wieder ausgeschüttet werden soll! In der Tat 
> kommt das L mit Stroke ja auch korrekt in einer Word-Textdatei an.
> 
> Die vom Kollegen Wolf beschriebene Situation, die dadurch 
> ausgezeichnet ist, daß in einer Allegro-Datenbank durchgängig "Arial 
> Unicode MS" mit charset=238 regiert, läßt sich in der Demo-Datenbank 
> leicht nachbilden, indem man über "Option / Datenfont" einstellt auf 
> "Arial Unicode MS / Skript: Mitteleuropäisch". (Ob das geklappt hat, 
> sieht man nach Verlassen von Allegro datan, daß am Ende der INI-Datei
> 
> # letzte Schriftart in Listenfenstern:
> DataFont=Arial Unicode MS
> ...
> CharSet=238
> 
> steht.)
> 
> Unter dieser Voraussetzung ist U0141 (L mit Stroke) im Schreibfeld 
> durchaus abbildbar, was damit zu belegen ist, daß es mit <Alt>+0163 
> eingebbar ist.
> 
> Das müßte Windows wissen, wenn man seinen Zwischenspeicher mit dem 
> Byte (hexadez.) A3 befüllt, und umso unverständlicher ist es deshalb, 
> daß es den Inhalt seines Zwischenspeichers nicht im Schreibfeld 
> ordentlich abliefert. 

ich muss zugeben, dass ich das bislang nur "emuliert" hatte, weil
Alt-m unter Windows 7 (zumindest meinem) ohnehin nur eingeschraenkt
funktioniert: Nach Alt-m ist die Schreibmarke zwar im Anzeigefeld,
ich muss aber noch Strg-v geben, damit das selektierte Zeichen dort
landet. Unter Windows XP klappt Alt-m allerdings.

Wenn ich den Datenfont auf "mitteleuropaeisch" einstelle (nota: fuer
M$ sind wir nicht in Mitteleuropa sondern "Westlich" und das eingestellte
"mitteleuropeaeisch" ist unser "osteuropaeisch" und kennt das L mit Stroke
an der Stelle unseres "£"), dann kann ich in der Standard-Spchr.rtf
das "£" selektieren und bekomme das L mit Stroke im Schreibfeld.
D.h. die Situation ist genau umgekehrt wie bei Ihnen.

Ich habe aber Ihr Problem reproduzieren koennen, die Schlussfolgerung
kann daher nur sein (wenig ueberraschend), dass was auch immer fuer
den Datenfont eingestellt wird, die "westliche" Natur des Schreibfelds
etc. nicht aendert. (Moeglicherweise ist das auch nicht aenderbar, da a99 ja
nicht in einem echten Window ablaeuft, sondern eine Dialogbox ist...)

viele Gruesse
Thomas Berger





Mehr Informationen über die Mailingliste Allegro