From d83f31b812d2fdcee282d92843fea9ffdc1faaea Mon Sep 17 00:00:00 2001 From: martin_r Date: Tue, 16 Sep 2008 04:16:27 +0000 Subject: Cokos mit 4 Tasten möglich. horizontalen Ellipsen-CompKey wiederhergestellt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@888 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- Compose/README.txt | 4 +-- windows/autohotkey/Changelog-and-Todo.txt | 3 +++ windows/autohotkey/Source/Keys-Neo.ahk | 2 +- windows/autohotkey/Source/Methods-Other.ahk | 37 ++++++++++++++++++------- windows/autohotkey/neo20.ahk | 40 +++++++++++++++++++--------- windows/autohotkey/neo20.exe | Bin 439495 -> 439611 bytes 6 files changed, 61 insertions(+), 25 deletions(-) diff --git a/Compose/README.txt b/Compose/README.txt index e0ac699..4a37096 100644 --- a/Compose/README.txt +++ b/Compose/README.txt @@ -1,4 +1,4 @@ -== Ergänzungen der Compose-Datei unter Linux/BSD == +== Ergänzungen der Compose-Datei unter Linux/BSD == Die Datei Compose.neo enthält Ergänzungen von Tastenkombinationen für die Compose-Taste bzw. tote Tasten für Linux. Die Kombinationen der gängigien Compose verändert NEO im Sinne erhaltender Kompatibilität nicht! @@ -41,7 +41,7 @@ Falls einmal bereits vorhandene Kombinationen bewusst umdefiniert werden sollten wichtig, dass die Compose.neo am Ende der Compose eingefügt wird, da bei mehrfach vorhandenen Kombinationen stets die letzte gültig ist. === Die en_US.neo – Eine Liste essentieller Compose-Kombinationen (Cokos) === -In der Datei en_US.neo befinden sich alle Cokos, die nicht irgendwie arabisch, kyrillisch, weißrussisch, koreanisch, japanisch, chinesisch oder einer anderen nicht-europäischen Sprache behaftig sind, zusammengefasst. Auf diese Weise reduziert sich die Dateigröße um mehr als die Hälfte. Diese Liste kann etwa als Basis für die Implementierung von Compose unter Nicht-Linux-Betriebsſystemen genutzt werden; sie ist allerdings nur eine Teilmenge der Compose-Referenz und sollte nicht mit ihr verwechselt werden! +In der Datei en_US.neo befinden sich alle Cokos, die nicht irgendwie arabisch, kyrillisch, weißrussisch, koreanisch, japanisch, chinesisch oder einer anderen nicht-europäischen Sprache behaftig sind, zusammengefasst. Auf diese Weise reduziert sich die Dateigröße um mehr als die Hälfte. Diese Liste kann etwa als Basis für die Implementierung von Compose unter Nicht-Linux-Betriebssystemen genutzt werden; sie ist allerdings nur eine Teilmenge der Compose-Referenz und sollte nicht mit ihr verwechselt werden! === Zusätzliche Compose-Kombinationen (Cokos) === Im dem Archiv »Numericals.tar.bz2« befinden sich optionale Compose-Kombinationen für Römische (Klein (Unicode): r1-r3999, Groß (Unicode): R1-R3999) und klingonische (Umschrift (ASCII): k0-k3999, pIqaD (Private Use Area of Unicode): K0-3999) Zahlen. Diese können – wenn gewünscht – wie oben beschrieben installiert werden. Ist die eingegebene Zahl nicht vierstellig, muss die Eingabe mit einem terminiert werden (dies ist notwendig, um die Eindeutigkeit der Cokos zu erreichen). diff --git a/windows/autohotkey/Changelog-and-Todo.txt b/windows/autohotkey/Changelog-and-Todo.txt index d828052..dec9797 100644 --- a/windows/autohotkey/Changelog-and-Todo.txt +++ b/windows/autohotkey/Changelog-and-Todo.txt @@ -23,6 +23,9 @@ Matthias Wächter === Änderungshistorie === +Revision 888 (von Martin Roppelt) +- Cokos mit 4 Tasten möglich. +- horizontalen Ellipsen-CompKey wiederhergestellt. Revision 886 (von Stefan Mayer) ‐ Ellipse (horizontal und vertikal) wiederhergestellt. Revision 873 (von Martin Roppelt) diff --git a/windows/autohotkey/Source/Keys-Neo.ahk b/windows/autohotkey/Source/Keys-Neo.ahk index 4083494..baf8db0 100644 --- a/windows/autohotkey/Source/Keys-Neo.ahk +++ b/windows/autohotkey/Source/Keys-Neo.ahk @@ -793,7 +793,7 @@ neo_punkt: if (Ebene = 1) OutputChar(".", "period") else if (Ebene = 2) - SendUnicodeChar("0x2026", "U2026") ; Ellipse + SendUnicodeChar("0x2026", "ellipsis") ; Ellipse else if (Ebene = 3) OutputChar("'", "apostrophe") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) diff --git a/windows/autohotkey/Source/Methods-Other.ahk b/windows/autohotkey/Source/Methods-Other.ahk index b57ba61..02d742d 100644 --- a/windows/autohotkey/Source/Methods-Other.ahk +++ b/windows/autohotkey/Source/Methods-Other.ahk @@ -102,23 +102,40 @@ OutputChar12(val1,val2,val3,val4) { else send % "{blind}" . c } +;Folgende Funktion prft, ob das eben geschriebene Zeichen eine gltige Coko +;fortsetzen KNNTE falls ja, wird 1 zurckgegeben (die Eingabe soll blind erfolgen), +;andernfalls wird 0 zurckgegeben (das Zeichen soll ausgegeben werden). + CheckComp(d) { global - if isFurtherCompkey { - CompKey := PriorCompKey . " " . "<" . d . ">" - isFurtherCompkey = 0 + if (PriorDeadKey = "comp") { + CompKey := "<" . d . ">" + DeadKey = + TryThirdCompKey = 0 + return 1 + } else if TryFourthCompKey { + TryFourthCompKey = 0 + CompKey := ThreeCompKeys . " " . "<" . d . ">" + ThreeCompKeys = CheckCompose() - if (CompKey = "") + if !(CompKey) { + send {left}{bs}{right} return 1 - else CompKey = + } else CompKey = + } else if TryThirdCompKey { + TryThirdCompKey = 0 + CompKey := PriorCompKey . " " . "<" . d . ">" + CheckCompose() + if CompKey { + TryFourthCompKey = 1 + ThreeCompKeys := CompKey + CompKey = + } else return 1 } else if PriorCompKey { CompKey := PriorCompKey . " " . "<" . d . ">" CheckCompose() if CompKey - isFurtherCompKey = 1 - return 1 - } else if (PriorDeadKey = "comp") { - CompKey := "<" . d . ">" + TryThirdCompKey = 1 return 1 } -} +} \ No newline at end of file diff --git a/windows/autohotkey/neo20.ahk b/windows/autohotkey/neo20.ahk index d74c840..0f465d2 100644 --- a/windows/autohotkey/neo20.ahk +++ b/windows/autohotkey/neo20.ahk @@ -1540,7 +1540,7 @@ neo_punkt: if (Ebene = 1) OutputChar(".", "period") else if (Ebene = 2) - SendUnicodeChar("0x2026", "U2026") ; Ellipse + SendUnicodeChar("0x2026", "ellipsis") ; Ellipse else if (Ebene = 3) OutputChar("'", "apostrophe") else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) @@ -2108,27 +2108,43 @@ OutputChar12(val1,val2,val3,val4) { else send % "{blind}" . c } +;Folgende Funktion prft, ob das eben geschriebene Zeichen eine gltige Coko +;fortsetzen KNNTE falls ja, wird 1 zurckgegeben (die Eingabe soll blind erfolgen), +;andernfalls wird 0 zurckgegeben (das Zeichen soll ausgegeben werden). + CheckComp(d) { global - if isFurtherCompkey { - CompKey := PriorCompKey . " " . "<" . d . ">" - isFurtherCompkey = 0 + if (PriorDeadKey = "comp") { + CompKey := "<" . d . ">" + DeadKey = + TryThirdCompKey = 0 + return 1 + } else if TryFourthCompKey { + TryFourthCompKey = 0 + CompKey := ThreeCompKeys . " " . "<" . d . ">" + ThreeCompKeys = CheckCompose() - if (CompKey = "") + if !(CompKey) { + send {left}{bs}{right} return 1 - else CompKey = + } else CompKey = + } else if TryThirdCompKey { + TryThirdCompKey = 0 + CompKey := PriorCompKey . " " . "<" . d . ">" + CheckCompose() + if CompKey { + TryFourthCompKey = 1 + ThreeCompKeys := CompKey + CompKey = + } else return 1 } else if PriorCompKey { CompKey := PriorCompKey . " " . "<" . d . ">" CheckCompose() if CompKey - isFurtherCompKey = 1 - return 1 - } else if (PriorDeadKey = "comp") { - CompKey := "<" . d . ">" + TryThirdCompKey = 1 return 1 } -} -CheckCompose() { +}CheckCompose() { CheckCompUni(" ", 0x391) CheckCompUni(" ", 0x392) CheckCompUni(" ", 0x395) diff --git a/windows/autohotkey/neo20.exe b/windows/autohotkey/neo20.exe index d7198bb..84c34cb 100644 Binary files a/windows/autohotkey/neo20.exe and b/windows/autohotkey/neo20.exe differ -- cgit v1.2.3