[Allegro] acon: xcode xp und Druckerersatzdarstellungen

Thomas Berger ThB at Gymel.com
Mi Feb 26 20:12:21 CET 2014


Lieber Herr Eversberg, liebe Liste,

traditionell notiere ich in Umcodierungstabellen die
"Druckerersatznotation"

 # 0xaa (170) = U<00AC> ¬ NOT SIGN [UTF-8: "¬" = 0xc2 0xac (194 172)]
p .170 .194 172

nicht weil ich an einer verzoegerten Umwandlung interessiert bin, sondern
weil nur diese mir erspart, in einer Textdatei bzw. sogar in einer Zeile
mit verschiedenen Zeichencodierungen zu operieren:

p ¬ "┬¼"

ist nicht so gut zu pflegen, und wenn Zeichen zwischen 128 und 159 betroffen
sind, die u.U. nicht im Editor dargestellt werden, wird es kompliziert (ich
habe vor ein paar Wochen erst fuer eine Konfigurationsdatei von Xindy ein
paar Ersetzungen UTF-8-Kombinationen <-> 8bit Sortiercode in diesem Stil
nachtragen muessen, obwohl es nur um ein paar Zeichen ging war es die Hoelle).

Normalerweise sende ich den Job als UTF8 an acon, d.h. Steuerbefehle und
Variablennamen sind 7bit-ASCII, Suchbegriffe sind UTF-8 codiert, mit
xcode u
werden sie dann vom Job in die interne Zeichencodierung gewandelt und den
qrix- und find-Befehlen ueber die iV zugefuehrt - klappt prima. Fuer die
Behandlung von Resultaten lade ich am Anfang des Jobs geeignete Exportparameter
(die die oben beschriebenen Umcodierungen enthalten) und setze
dow wX

(Parameterfragment dabei:
#-X
#u1
#+#
) dann kommt auch wieder UTF8 beim Job-Absender an: Perfekt.

Nun hatte ich aber einen Job, der eine Ersetzung

ins _¬__

an der iV vornehmen wollte: Dieses Zeichen muesste allegro-codiert im Job
vorliegen, dann ist der aber nicht mehr legales UTF-8, was in meinem Fall beim
diagnostischen Ausgeben des Jobs zu einem Laufzeitfehler im Perlskript
fuehrte - je moderner das Perl desto besser weiss es Bescheid...).

Also dachte ich folgendes: Ein als UTF8 uebertragenes

ins _¬__

klappt, wenn ich vorher die iV nach UTF-8 wandele (deren Inhalt stammt
an der Stelle nicht aus dem Job, sondern wuerde aus irgendeiner Aktion
mit den Indexparametern abgegriffen, ist also so codiert wie die Daten
in der Datenbank vorliegen), dann die Ersetzung durchfuehre und das
Resultat mit xcode u pronto in den internen Zeichensatz zurueckwandle:

xcode xp
ins _¬__
xcode u


[in a99 wuerde ich das mit "deposit X" machen und haette wirklich dasselbe
Resultat wie es das "dow wX" fuer regulaere Ausgaben liefert - das geht aber
nur fuer die Displayparameter und acon kennt es gar nicht].

Bei "xcode xp" erfolgt die Umcodierung durch eine andere, acon-spezifische,
Routine als beim Ausfuehren von Parameterdateien und der entscheidende
Unterschied ist, dass "Druckerersatzdarstellungen" nicht beruecksichtigt
werden[*]

Meine Frage(n) ist nun:
- laesst sich die p-Tabelle guenstiger notieren, also mit numerischen
  Angaben aber als "direkte" Umsetzung?

- gibt es Alternativen zu xcode, wenn man eigentlich nur die Ausgabe
  von "dow wX" unterdruecken und in die iV leiten moechte?

- Wenn man "xcode xp" [bzw. genauer: AVJOB::lowcode()] um die Beruecksichtigung
  von Druckerersatzdarstellungen erweitern wuerde, ginge dann irgendwo etwas
  kaputt das derzeit darauf beruht, dass diese nicht beruecksichtigt werden?

viele Gruesse
Thomas Berger

[*] (weniger entscheidend ist, dass die fraglichen Zeichen nicht erhalten
bleiben sondern durch das folgende Zeichen ersetzt werden - das liess sich
einfach korrigieren, ich habe die Korrektur soeben eingecheckt).



Mehr Informationen über die Mailingliste Allegro