Hallo Frakturfreak,
Christian Kluge ſchrieb am 09.07.2009 16:31 Uhr:
Danke, dass es wieder „richtig“ wird, aber ginge das nicht über
Compose? Wäre auch praktisch. :-) ♫ßß scheint ja noch nicht belegt zu
sein. ;-)
♫ßß=ſs in die Compose einzutragen, wäre rein technisch gesehen überhaupt
kein Problem, da hast Du vollkommen Recht.
Aber ich wollte noch mehr … eben das ich noch nicht einmal mehr ♫
eingeben muss, sondern dass ich direkt »Grußß« und nicht »Gru♫ßß«
schreiben kann, um »Gruſs« zu erhalten (da es im Deutschen keine Wörter
mit »ßß« gibt). Deshalb wird das ß bei meinem Treiber auch nicht direkt
nach dem Tastendruck ausgegeben, sondern bis zur Eingabe des nächsten
Buchstabens zurückgehalten (eben damit die Eindeutigkeit erhalten bleibt
und der Treiber nichts löschen muss).
Von daher: It’s not a bug, it’s a feature :-).
Viele Grüße,
Dennis-ſ
PS: Hier nochmal die entsprechende E-Mail von Mœsi mit den technischen
Einzelheiten:
Matthias Wächter ſchrieb am 05.05.2009 09:19 Uhr: »[NeoVars]
Lang-ſ-Modus: ſs≠ß«
Hallo Dennis!
Dennis Heidsiek schrieb:
Und da es in der deutschen Sprache kein einziges Wort mit Doppel-ß
gibt (¿Gegenbeispiel?) hatte ich eben die verrückte Idee, //über
meine Custom.ahk im Lang-ſ-Modus die automatische Ersetzung ßß→ſs mit
einzubauen³. Was haltet ihr davon?⁴
es kommt darauf an, wie du es umsetzen wills. Meinst du wirklich
Eingabe Ausgabe
ß → ß
ß → <backspace> ſ s
oder etwas mit Compose wie in den Fußnoten angegeben? Letzteres ist
absolut zu bevorzugen, da eine wichtige Änderung, ich glaube, noch im
alten ahk-neo war, nicht mit Backspace zu arbeiten, d.h. ein einmal
geschriebener (ausgegebener) Buchstabe bleibt auch.
Ab/seit r1814 gibt es in neo-vars neben dem Umweg über ein
vorangedrücktes Compose die Möglichkeit, den Compose-Mechanismus
selektiv tolerant gegen Fehleingaben zu machen. Statt dass dann die
gesamte bisherige Compose-Sequenz verworfen wird, wenn ein unbekanntes
Zeichen angehängt wird, werden dann sowohl die bisherige
Compose-Sequenz (bzw. ein Ersatzzeichen) und das darauf folgende,
nicht passende Zeichen ausgegeben. Für die gleiche Funktion ohne
diesen Patch bräuchte man für alle Kombinationen dieser
Compose-Sequenz mit einem nachfolgenden Zeichen eine entsprechende
Compose-Sequenz in der Compose-Datei, was diese unnötig aufbläht.
Eingabe Ausgabe
ß →
ß → ſ s
bzw.
Eingabe Ausgabe
ß →
<key x> → ß <key x>
– Mœsi
Im Log zu r1814 liest sich das so:
CF%Comp% kann nun bei fehlgeschlagenem Compose bewirken, dass eine bis
dahin gültige Sequenz nachträglich ausgegeben wird, wenn ein
unbekanntes Zeichen folgt.
Setzt man beispielsweise
CMU0000DF := 1
CDU0000DFU0000DF := "U00017FU000073"
dann bewirken die ersten beiden Zeilen, dass ein einzelnes ß erst mal
„tot“ wirkt, und mit einem zweiten ß wird „ſs“ draus.
Man kann nun diese Zeile anhängen:
CFU0000DF := "U0000DF"
Das bewirkt nun, dass das erste ß, wenn es von irgend einem anderen
Zeichen gefolgt wird, mit diesem dann (verzögert) ausgegeben wird, so,
als gäbe es für alle Compose-Möglichkeiten aus ß und anderem Zeichen
eine entsprechende Compose-Sequenz, die eben diese beiden Zeichen als
Ergebnis liefert. Normaler Weise würden beide Zeichen verschluckt
werden, da es keine entsprechende Compose-Sequenz gibt.
Ohne CFU0000DF:
ßß → ſs
ßa →
ßb →
Mit CFU0000DF:
ßß → ſs
ßa → ßa
ßb → ßb