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

Heinrich Allers allers at t-online.de
Sa Jun 1 23:09:25 CEST 2013


Diese Nachricht richtet sich nicht an Normalanwender, sondern an 
Spezialisten:


Ich bitte Sie bzw. den, der 's einrichten kann, um Nachvollzug eines 
Experimentes:


Holen Sie sich bitte von

http://h-allers.de/temp/o.apt

die Datei o.apt (mit nur einer einzigen Zeile) sowie von

http://h-allers.de/temp/spchr.rtf

die Datei spchr.rtf.

Kopieren Sie beide Dateien ins Datenbankverzeichnis \demo2 der 
Standardinstallation. Wenn Sie nach Abschluß des Experimentes beide 
Dateien dort wieder löschen. ist alles wie zuvor!


Schritt 1 des Experimentes:

Rufen Sie die Demo-Datenbank auf, greifen Sie auf irgendeinen Titel 
zu und versuchen Sie, an eine Kategorie was dranzuhängen, indem Sie 
diese Kategorie aus dem Auswahlfeld ins Schreibfeld befördern.

Und hängen Sie dann Zeichen für Zeichen 16 Zeichen an diese Kategorie 
an, indem Sie nacheinander die Schreibmarke vor das Zeichen setzen, 
das in der Zeile hinter A1, A2, A3, ... AF steht, und dann <Alt>+m 
geben. Und betätigen Sie jedes Mal <Alt>+m, was bewirkt, daß ein 
Zeichen unten im Schreibfeld hinzugefügt wird. (Hier wird also nur 
die <Alt>+m-Zeicheneingabe-Methode mit anderen Worten beschrieben 
...).

Das unten hinzugefügte Zeichen ist fast immer nicht das Zeichen, das 
oben zu sehen ist - aber NIE - das erwähne ich mit Blick auf das, was 
in Schritt 3 des Experiments zu beobachten ist - ist es ein pures 
Fragezeichen!

Dies entspricht der Erwartung, denn mit <Alt>+m wird eine spchr.rtf 
aufgerufen, deren regierender Font (Arial Unicode MS) nicht mit dem 
Font übereinstimmt, der die a99-Anwendung (und damit auch das 
Schreibfeld) regiert. (Man schaue sich den Kopf der spchr.rtf an).

Was hier als Ergebnis des ersten Versuchsschrittes einzig relevant 
ist, ist, daß die Zeichen, deren Kodierung in spchr.rtf steht, mit 
dem <Alt>+m-Mechanismus auch wirklich im Schreibfeld ankommen und 
auch in der ausgewählten Kategorie (in der, wenn man sie sich 
hexadezimal anschaut, die Folge A1, A2, A3, ... AF sich 
widerspiegelt).


Schritt 2 des Experimentes:

Man ändere in spchr.rtf die (5.) Zeile

\par\pard\tx2840\tx3408...\tx6252\f0 

durch

\par\pard\tx2840\tx3408...\tx6252\f1 

- lasse bei der Darstellung von spchr.rtf also nicht mehr "Arial 
Unicode MS" mit charset=0 regieren, sondern "Arial Unicode MS" mit 
charset=238 (=Mitteleuropäisch).


Schritt 3 des Experimentes:

Rufen Sie die Demo-Datenbank auf, greifen Sie auf irgendeinen Titel 
zu und versuchen Sie, an eine Kategorie was dranzuhängen, indem Sie 
diese Kategorie aus dem Auswahlfeld ins Schreibfeld befördern.

Und hängen Sie dann Zeichen für Zeichen 16 Zeichen an diese Kategorie 
an, indem Sie nacheinander die Schreibmarke vor das Zeichen setzen, 
das in der Zeile hinter A1, A2, A3, ... AF steht, und dann <Alt>+m 
geben. Das bewirkt, daß ein Zeichen unten im Schreibfeld hinzugefügt 
wird.

Das unten hinzugefügte Zeichen ist fast immer nicht das Zeichen, das 
oben zu sehen ist, was (siehe oben) der Erwartung entspricht.

Ergebnis des dritten Versuchsschrittes: die Zeichen (hexadez) A4, A6, 
A7, A8, A9, AB, AD und AE, deren Kodierung in spchr.rtf steht, kommen 
mit dem <Alt>+m-Mechanismus auch wirklich im Schreibfeld an und auch 
in der ausgewählten Kategorie (in der, wenn man sie sich hexadezimal 
anschaut, die Folge A4, A6, A7, A8, A9, AB, AD und AE sich 
widerspiegelt).

Die Zeichen A1, A2, A3, A5, AA, AC und AF dagegen kommen im 
Schreibfeld nur als Fragezeichen und in der betreffenden Kategorie 
folgerichtig mit dem Fragezeichencode 3F an.

###

Schluß des Experimentes. 

Die große Frage ist, warum beim Font mit "\fcharset0 ..." die Sache 
ihren guten Lauf nimmt und beim Übergang zu "\fcharset238 ..." 
plötzlich derart kapriolenhaft verläuft!

Das Ergebnis von Schritt 1 des Experimentes legt den Schluß nahe, daß 
sich der <Alt>-Mechanismus nicht um das schert, was im Kopf der 
spchr.rtf an Fontangaben steht. Das Ergebnis von Schritt 3 dagegen 
erweckt den Eindruck, daß dieser Mechanismus erst den Kopf der 
operativen spchr.rtf liest und sich dann, wenn dort nicht "charset=0" 
zu lesen ist, zu Sprüngen veranlaßt sieht, die zu Ergebnissen führen, 
die der Erwartungshaltung entgegenstehen.

###

Fragen:

Ist meine Versuchseinrichtung sowie insbesondere ihr Ergebnis 
reproduzierbar?

Hat jemand eine Idee zu der  Angelegenheit?


Mit besten Grüßen von

Heinrch Allers
-- 
allers at t-online.de * http://www.h-allers.de
Netztagebuch: http://heinrich-erlo-ger.blogspot.com/
Bitácora: http://heinrich-erlo-spa.blogspot.com/



Mehr Informationen über die Mailingliste Allegro