|
ACSpro
Einführung in ACSpro
ACSpro unterstützt ab Version 3.0.0 das sog.
"Dead-Key-Handling". Bei diesen "toten
Tasten" (So die wörtliche Übersetzung) handelt es
sich um Zeichen, die mit einem zweiten Zeichen zu einem Sonderzeichen
kombiniert werden könnten, z.B. ' mit e zu é. Da das
Dead-Key-Handling über die NKCC-Bibliothek nicht möglich
ist, wurde es komplett neu an zentraler Stelle in ACSpro
implementiert und kann daher auch komplett durch den Entwickler
gesteuert werden.
Wie funktionieren dies? Ganz einfach: nach Eingabe eines Dead-Keys
geschieht gar nichts, der Tastendruck wird zunächst gepuffert und
scheinbar ignoriert (Daher der Name "tote Zeichen").
Beim nächsten Zeichen wird dann versucht, das erste und das
zweite Zeichen zu einem einzigen Zeichen zu kombinieren.
Intern läuft dabei folgendes ab:
- Wenn kein Dead-Key gepuffert ist, wird geprüft, ob ein
Dead-Key eingegeben wurde. Ein Dead-Key stammt aus der Menge
^~'`¨"°,/ und muß freigeschaltet sein (s.u.).
- Falls kein Dead-Key eingegeben wurde oder dieser gesperrt sein
sollte, so wird das Zeichen normal weitergereicht.
- Handelt es sich jedoch bei dem Zeichen um einen freigegebenen
Dead-Key, so wird das Zeichen gepuffert und die Verarbeitung des
Tastendruckes abgebrochen. ACSpro wartet nun auf den
nächsten Tastendruck.
- Wenn bei einem Tastendruck ein Dead-Key gepuffert ist, so wird
nachgeschlagen, ob für die vorliegende Kombination "Dead-Key
plus das neu eingegebene Zeichen" eine Ersetzung hinterlegt ist.
Wenn dies der Fall ist, wird das zuletzt eingegebene Zeichen durch das
Ersatz-Zeichen ersetzt. Andernfalls wird zuerst der gepufferte
Dead-Key und danach das zweite Zeichen in die normale
Tastatur-Verarbeitung gespielt — als ob es keine Dead-Keys
gäbe. Der Dead-Key-Puffer ist nach dieser Verarbeitung auf jeden
Fall wieder leer.
Die Dead-Keys müssen individuell freigeschaltet werden.
Hierzu werden in der neuen Variable ACSblk->ev_mkdead die Zeichen
eingetragen, die die Anwendung als Dead-Keys betrachtet haben
möchte (Wie in der ToDo-Liste vermerkt, wird dies als
Erweiterung des GUI-Editor vorgesehen, bis dahin muß
dies per Programm — z.B. in ACSinit0 — geschehen).
Folgende Ersetzungs-Varianten werden unterstützt:
Beschreibung |
Dead-Key |
|
Zweite Zeichen |
|
Ersetzung |
Akzent Circumflex |
^ |
+ |
aeiou |
= |
âêîôû |
Akzent Tilde |
~ |
+ |
nNaoAo |
= |
ñÑãõÃÕ |
Akzent Akut |
' |
+ |
eEaiou |
= |
éÉáíóú |
Akzent Gravis |
` |
+ |
aeiouA |
= |
àèìòùÀ |
Akzent Umlaut |
¨ |
+ |
aeiouyAOU |
= |
äëïöüÿÄÖÜ |
Akzent Umlaut |
" |
+ |
aeiouyAOU |
= |
äëïöüÿÄÖÜ |
Akzent Angström |
° |
+ |
aA |
= |
åÅ |
Akzent Cedille |
, |
+ |
cC |
= |
çÇ |
kein Akzent |
/ |
+ |
oO24 |
= |
øؽ¼ |
(trotzdem nützlich) |
|
|
|
|
|
Copyright © Martin Elsässer (E-Mailadressen)
Letzte Aktualisierung am 25. März 2008
|