From 6d0b9db7e1dfa23ee0204b0a57847c4126e2500a Mon Sep 17 00:00:00 2001 From: dennis Date: Sat, 10 Jan 2009 16:33:14 +0000 Subject: Der »alte« AHK-Treiber ist als »deprecated« einzustufen. Der Namenswechsel des Verzeichnis soll dies wiederspielen und eventuelle »Gewohnheitsfehler« vermeiden. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1423 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/ahk-auslaufend/Build-Update.bat | 30 + windows/ahk-auslaufend/Changelog-and-Todo.txt | 275 + windows/ahk-auslaufend/Compose/AutoComp1.bas | 38 + windows/ahk-auslaufend/Compose/AutoComp2.bas | 50 + windows/ahk-auslaufend/Source/All.ahk | 22 + windows/ahk-auslaufend/Source/Compose.ahk | 2853 +++++++++++ windows/ahk-auslaufend/Source/Global-Part.ahk | 339 ++ windows/ahk-auslaufend/Source/Keys-DeadKeys.ahk | 76 + windows/ahk-auslaufend/Source/Keys-Neo.ahk | 544 ++ windows/ahk-auslaufend/Source/Keys-NumPad.ahk | 250 + windows/ahk-auslaufend/Source/Keys-Numbers.ahk | 166 + .../ahk-auslaufend/Source/Keys-Qwert-to-Neo.ahk | 241 + windows/ahk-auslaufend/Source/Keys-Special.ahk | 178 + windows/ahk-auslaufend/Source/Methods-Layers.ahk | 131 + windows/ahk-auslaufend/Source/Methods-Lights.ahk | 108 + windows/ahk-auslaufend/Source/Methods-Other.ahk | 186 + .../Source/Methods-ScreenKeyboard.ahk | 158 + windows/ahk-auslaufend/Source/Methods-Unicode.ahk | 34 + windows/ahk-auslaufend/Source/README.txt | 52 + windows/ahk-auslaufend/Source/Warning.ahk | 45 + windows/ahk-auslaufend/ebene1.png | Bin 0 -> 31670 bytes windows/ahk-auslaufend/ebene2.png | Bin 0 -> 31311 bytes windows/ahk-auslaufend/ebene3.png | Bin 0 -> 30983 bytes windows/ahk-auslaufend/ebene4.png | Bin 0 -> 31587 bytes windows/ahk-auslaufend/ebene5.png | Bin 0 -> 32178 bytes windows/ahk-auslaufend/ebene6.png | Bin 0 -> 32075 bytes windows/ahk-auslaufend/neo.ico | Bin 0 -> 2238 bytes windows/ahk-auslaufend/neo20.ahk | 5310 ++++++++++++++++++++ windows/ahk-auslaufend/neo20.exe | Bin 0 -> 424389 bytes windows/ahk-auslaufend/neo_disabled.ico | Bin 0 -> 2238 bytes 30 files changed, 11086 insertions(+) create mode 100644 windows/ahk-auslaufend/Build-Update.bat create mode 100644 windows/ahk-auslaufend/Changelog-and-Todo.txt create mode 100644 windows/ahk-auslaufend/Compose/AutoComp1.bas create mode 100644 windows/ahk-auslaufend/Compose/AutoComp2.bas create mode 100644 windows/ahk-auslaufend/Source/All.ahk create mode 100644 windows/ahk-auslaufend/Source/Compose.ahk create mode 100644 windows/ahk-auslaufend/Source/Global-Part.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-DeadKeys.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-Neo.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-NumPad.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-Numbers.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-Qwert-to-Neo.ahk create mode 100644 windows/ahk-auslaufend/Source/Keys-Special.ahk create mode 100644 windows/ahk-auslaufend/Source/Methods-Layers.ahk create mode 100644 windows/ahk-auslaufend/Source/Methods-Lights.ahk create mode 100644 windows/ahk-auslaufend/Source/Methods-Other.ahk create mode 100644 windows/ahk-auslaufend/Source/Methods-ScreenKeyboard.ahk create mode 100644 windows/ahk-auslaufend/Source/Methods-Unicode.ahk create mode 100644 windows/ahk-auslaufend/Source/README.txt create mode 100644 windows/ahk-auslaufend/Source/Warning.ahk create mode 100644 windows/ahk-auslaufend/ebene1.png create mode 100644 windows/ahk-auslaufend/ebene2.png create mode 100644 windows/ahk-auslaufend/ebene3.png create mode 100644 windows/ahk-auslaufend/ebene4.png create mode 100644 windows/ahk-auslaufend/ebene5.png create mode 100644 windows/ahk-auslaufend/ebene6.png create mode 100644 windows/ahk-auslaufend/neo.ico create mode 100644 windows/ahk-auslaufend/neo20.ahk create mode 100644 windows/ahk-auslaufend/neo20.exe create mode 100644 windows/ahk-auslaufend/neo_disabled.ico (limited to 'windows/ahk-auslaufend') diff --git a/windows/ahk-auslaufend/Build-Update.bat b/windows/ahk-auslaufend/Build-Update.bat new file mode 100644 index 0000000..c8efd57 --- /dev/null +++ b/windows/ahk-auslaufend/Build-Update.bat @@ -0,0 +1,30 @@ +@echo off + +echo Setting local path variables +REM The path to the Auto Hotkeyprogram: +set ahk=C:\Programme\AutoHotkey +REM The path to the authohotkey directory in the local svn copy: +set svn=. +REM The filename of the joined script: +set fn=neo20 + +rem echo Killing the old (AHK)Driver +rem tskill %fn% + +echo Creating a new joined script from the Source code +cd "%svn%\Source" +REM The order *is* important! +copy "Warning.ahk" + "Global-Part.ahk" + "Methods-Layers.ahk" + "Keys-Qwert-to-Neo.ahk" + "Keys-Neo.ahk" + "Keys-Numbers.ahk" + "Keys-Special.ahk" + "Keys-Numpad.ahk" + "Keys-DeadKeys.ahk" + "Methods-Lights.ahk" + "Methods-Other.ahk" + "Compose.ahk" + "Methods-Unicode.ahk" + "Methods-ScreenKeyboard.ahk" "..\%fn%.ahk" +cd.. + +echo Compiling the new Driver using Autohotkey +"%ahk%\Compiler\Ahk2Exe.exe" /in "%svn%\%fn%.ahk" /out "%svn%\%fn%.exe" /icon "%svn%\neo.ico" + +echo Driver Update complete! You can now close this log-window. + +REM Start the new Driver +rem %fn%.exe + +REM wie kann man hier mit der Skriptabarbeitung weitermachen? Unter Windows XP scheint es nicht mglich zu sein, dies mit "Bordmitteln" zu erreichen, es gibt hierfr jedoch extere Programme, etwa: +REM Start the new driver asynchronously, using "Hidden Start" (hstart.exe) from http://www.ntwind.com/software/utilities/hstart/ +REM hstart.exe /NOCONSOLE /D="." "%fn%.exe" \ No newline at end of file diff --git a/windows/ahk-auslaufend/Changelog-and-Todo.txt b/windows/ahk-auslaufend/Changelog-and-Todo.txt new file mode 100644 index 0000000..203c822 --- /dev/null +++ b/windows/ahk-auslaufend/Changelog-and-Todo.txt @@ -0,0 +1,275 @@ +== NEO 2.0 (beta) AutoHotkey‐Treiber == + + +=== Autoren === +Alle E‐Mail‐Adressen sind »kodiert«, um die Erfassung durch E‐Mail‐Spider (und darauf folgenden Spam) zu vermeiden: + +Stefan Mayer +Nora Geißler +Matthias Berg +Martin Roppelt +Dennis Heidsiek +Matthias Wächter + + +=== To Do === +‐ Ausgiebig testen … (besonders Vollständigkeit bei Deadkeys). + • Griechische Buchstaben ergänzen… +‐ Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen. +‐ Compose vollständig implementieren: Kombination mit Deadkeys. + • ♫Tab ermöglichen. +- Bildschirmtastatur in der All.ahk auch ohne vorherigen Aufruf der neo20.exe verfügbar machen. + +=== Ideen und Vorschläge === +‐ Modi für vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene. + +=== Änderungshistorie === + +Revision 1057 (von Martin Roppelt) +- Bildschirmtastatur aktualisiert. +Revision 1046 (von Martin Roppelt) +- Anpassung an Referenz. +Revision 1039 (von Dennis Heidsiek) +- Lang-ſ-Modus wiederhergestellt (neo_s war defekt). +Revision 1016 (von Martin Roppelt) +- Tote Tasten fertig angepasst. +Revision 993 (von Martin Roppelt) +- Tote Tasten aktualisiert. +Revision 953 (von Martin Roppelt) +- 6-Ebenen-Ziffernblock eingepflegt. +Revision 929 (von Martin Roppelt) +- Compose.ahk aktualisiert. +- mod4+y sendet jetzt »KP+.« statt wie bisher ein einfaches ».«. +- mod4+return sendet jetzt »KP+return« (aka »enter«) statt wie bisher ein einfaches »return«. +Revision 899 (von Dennis Heidsiek) +- Build-Skript überarbeitet, sodass die Pfade zentral geändert werden können. +Revision 897 (von Dennis Heidsiek) +- Skript kompiliert wieder (alle .ahk-Dateien enden jetzt mit mindestens zwei Leezeilen) +- Ein Überbleibsel aus dem Build-Skript entfernt (bezog sich noch auf den Compose-Playground). +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) +‐ Tabulatoren entfernt. +Revision 872 (von Martin Roppelt) +‐ Alle Cokos automatisch eingefügt. +‐ Compose-Playground gelöscht. +‐ Anpassung an die Referenz. +Revision 864 (von Martin Roppelt) +‐ 253/2822 Cokos ≙ 9%. +Revision 849 (von Martin Roppelt) +‐ Ticket 31: Shift+(Strg und/oder Alt)+Ziffer sendet nicht mehr (Strg und/oder Alt)+(Ebene 2 der Ziffer). +Revision 846 (von Martin Roppelt) +‐ 233/1802 Cokos. +Revision 845 (von Martin Roppelt) +‐ Alle Cokos in die Compose.ahk migriert (Stand: 200/1805 Cokos). +Revision 842 (von Martin Roppelt) +‐ Ebenen 5+6 der Taste ›I‹ wiederhergestellt (Klammern vergessen). +Revision 841 (von Martin Roppelt) +‐ Ebenen 2‐6 der 1er-Taste wiederhergestellt (Klammern vergessen). +Revision 840 (von Martin Roppelt) +‐ Ein paar Bugs ausgebessert. +‐ Blinde Compose als Standard (unschöne Ausgabe bei Cokos mit drei Tasten aus der Compose.ahk). +Revision 838 (von Martin Roppelt) +‐ Compose.ahk als zentralen Ort für Cokos geschaffen. +‐ Weitere Vorbereitungen zur Aufnahme weiterer Cokos. +‐ ›©‹ jetzt auch wieder mit großem ›o‹. +Revision 833 (von Martin Roppelt) +‐ Cokos: ›‼‹, ›⁇‹ über ♫?2/♫!2. +‐ Blinde Compose jetzt auch bei SendUnicodeChar(). +‐ SendUnicodeChar belegt CompKey mit dem Argument. +‐ Nicht‐blinde Compose wiederhergestellt. +‐ Vorbereitungen zur Aufnahme weiterer Cokos. +‐ Begrenzung der (blinden) Compose auf 2 Zeichen, wenn keine Übereinstimmung mit Coko vorliegt. +‐ »ẗ« zu den Tokos hinzugefügt. +‐ "DeadKey :=" in die dead*‐Methoden verschoben. +‐ OutputChar in OutputChar12 umbenannt, OutputChar hat nur noch ein Argument. +‐ Code zusammengefasst, Formatierungen angepasst. +Revisionen 827‐830 (von Martin Roppelt) +‐ 2 Achtelnoten (Composesymbol) auf 3(4). +‐ CapsLock‐Bug Ⅱ.: CapsLock funktionierte nicht mehr, wenn eine Taste gedrückt wurde, auf die CapsLock nicht wirkt (Ziffernreihe/‐block, Akzente, Punkt, Komma), da die Zeile »NoCaps = 0« in der isShiftPressed() nie ausgeführt wird. +‐ CapsLock‐Licht wird jetzt beim (Neu‐)Laden des Treibers ausgeschaltet. +Revision 820 (von Martin Roppelt) +‐ Weitere Cokos ergänzt: ›Ə‹, ›dž‹, ›Dž‹, ›DŽ‹, glyphengleiche griechische Majuskeln. +‐ Echter Bindestich durch Shift+Mod3+Zirkumflex, Leertaste. +Revision 815 (von Martin Roppelt) +‐ AHK um Verbindungszeichen bei doppelten toten Tasten ergänzt. +‐ Bei CapsLock, Mod3 und Shift wird jetzt ›+‹ statt ›*‹ gesendet. +Revision 812 (von Martin Roppelt) +‐ Überflüssigen Code entfernt. +‐ Code gestrafft. +Revision 810 (von Martin Roppelt) +‐ DeadCompose implementiert, uncomp…‐Methoden gelöscht, »return 0«‐Zeilen entfernt (wird sowieso gemacht). +‐ checkComp ausgebessert: »global« hatte gefehlt. + • Damit wurde ›ſt‹ ermöglicht (war defekt). +‐ ahkTreiberKombi rausgeschmissen (war für den gelöschten msklc‐Treiber gedacht). +‐ Massenweise Formatierungen normalisiert. +‐ Zusätzliche Compose‐Aktivierung über Mod3+Mod3. +‐ Einhand‐ und Lernmodus wiederhergestellt. +Revision 806 (von Dennis Heidsiek) +‐ Die automatisch erzeugte Datei neo20.ahk wird wieder um die SVN‐Keywords (Date, Author, Revision) ergänzt. +Revision 804 (von Martin Roppelt) +‐ Formatierung vereinfacht und vereinheitlicht. +‐ Compose‐Ligaturen implementiert: ›fl‹, ›ffl‹(♫Fl), ›fi‹, ›ffi‹(♫Fi), ›ff‹, ›st‹, ›ſt‹. +Revision 789 (von Martin Roppelt) +‐ NumLock‐Bug ausgebessert (NumLock konnte nach dem Beenden von Neo nicht mehr aktiviert werden). +Revision 778 (von Martin Roppelt) +‐ CapsLock+Shift‐Fehler ausgebessert. +Revision 777 (von Martin Roppelt) +‐ Syntaxfehler ausgebessert. +Revision 776 (von Martin Roppelt) +‐ Modularisierung des AHK konsequent weitergeführt. +‐ Global‐Part.ahk, Keys‐Neo.ahk: ZeigeLockBoxen in ZeigeLockBox umbenannt. +‐ Keys‐Neo.ahk: Fehler ausgebessert, Quelltext neu ausgerichtet, Numpad an die Referenz angeglichen (Ebenen 2 und 4 vertauscht), Ebenen 7 und 8 ergänzt. +‐ Methods‐Layers.ahk: Mod3‐Lock abgeschafft, CapsLock neu geschrieben. +Revision 749 (von Dennis Heidsiek) +‐ »?« und »¿« funktionieren wieder (Klammer vergessen). +Revision 748 (von Dennis Heidsiek) +‐ Neue globale Variable »zeigeLockBoxen«: Soll mit MsgBoxen explizit auf das Ein‐ und Ausschalten des Mod{3,4}‐Locks hingewiesen werden? +Revision 746 (von Martin Roppelt) +‐ Zurücksetzen der Tastatur über M4+Esc. +‐ #[2] sendet nicht mehr »'«. +‐ Variablen Ebene7 und Ebene8 zum Abfragen eingeführt. +‐ s(12)[2s]‐Bug von Matthias Wächter behoben (= Lang‐ſ‐Tastatur repariert). +Revision 744 (von Stefan Mayer) +‐ Ebene4‐Ziffernblock: auf neo_d nun Komma (wie Referenz), »NumPadKomma« gibt es nicht. +Revision 743 (von Matthias Wächter) +‐ Ebene4‐Ziffernblock: NumPadAdd und NumPadSub korrigiert. +Revision 740 (von Matthias Wächter) – »Mega‐Patch« +‐ Straffung der Syntax bei der Abfrage der Ebenen und der Behandlung der toten Tasten und der Compose. +‐ Umstellung auf Virtual‐Key‐Scancodes; umgeht den AHK‐Bug, dass Scancodemarken durch SendUnicodeChar angesprungen werden. +‐ Die Scancodes für das Numpad (jeweils für ein‐ und ausgeschaltetes NumLock) haben jetzt paarweise Sprungmarken, um die Tastenbehandlung untereinander konsistent zu halten. +‐ Wiederherstellung der Modifier‐Locks. +‐ Reparatur der Bildschirmtastatur in der All.ahk. +‐ Modifier werder seltener und nur noch innerhalb der Sprungmarken abgefragt. +‐ Blinde tote Tasten auf M4+F9 (Toggle). +‐ Blinde Compose auf M4+F10 (Toggle) (noch nicht implementiert). +Revision 728 (von Dennis Heidsiek): +‐ Ist die Datei »%APPDATA%\NEO2\NEO2.ini« vorhanden, werden dort eventuell vorhandene Werte für die Globalen Schalter beim Start übernommen. +‐ »LangSTastaturStandardmäßigEingeschaltet.ahk« wird nicht mehr unterstützt, weil sonst immer neu kompiliert werden muss. +Revision 707 (von Dennis Heidsiek): +‐ Die Resourcen‐Dateien (PNGs, ICOs) werden nun nach »%TEMP%\NEO2\« extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet. +‐ Die doppelten französischen Anführungszeichen werden nun ebenfalls über SendUnicodeChar gesendet. +Revision 694 (von Martin Roppelt): +‐ Lang‐ſ‐Tastatur auf M4+F11. +‐ Entwickler können durch das Erstellen einer Datei »LangSTastaturStandardmäßigEingeschaltet.ahk« mit dem Inhalt »LangSTastatur := 1« diese standardmäßig aktivieren. +‐ Interne Darstellung der Ebenen (4 und 5 bei den toton Tasten wieder richtig getauscht. +Revision 687 (von Dennis Heidsiek): +‐ Die SendUnicodeChar‐Methode um den GDK‐Workarround von Matthias Wächter ergänzt. +‐ (An/Aus) Icons an das Favicon der neuen Homepage angepasst. +Revision 645 (von Martin Roppelt): +‐ Ellipse (…) zusätzlich auf M3+x. +‐ Lang‐ſ‐Tastatur probeweise auf M4+Esc. +Revision 640 (von Dennis Heidsiek): +‐ Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java‐Programmen. +Revision 639 (von Martin Roppelt): +‐ Lang‐ſ‐Tastatur kann nicht mehr durch einen Hotkey aktiviert werden. +Revision 629 (von Martin Roppelt): +‐ Spitze Klammern (bra und ket) auf M5+8/9. +Revision 624 (von Martin Roppelt): +‐ Lang‐ſ‐Tastatur (ein‐ und auszuschalten durch Mod4+ß) hinzugefügt: »s« wird zu »ſ«, »ß« wird zu »s« und »ſ« wird zu »ß«. +Revision 616 (von Dennis Heidsiek): +‐ Der nicht funktionierende Mod5‐Lock‐Fix wurde wieder entfernt, da er sogar neue Fehler produzierte. +Revision 615 (von Dennis Heidsiek): +‐ Erfolgloser Versuch, den Mod4‐Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur). +‐ Rechtschreibfehler korrigiert. +‐ Zwei AHK‐Links eingefügt. +Revision 609 (von Dennis Heidsiek): +‐ Vorläufiger Abschluss der AHK‐Modularisierung. +‐ Bessere Testmöglichkeit »All.ahk« für AHK‐Entwickler hinzugefügt, bei der sich die Zeilenangaben in Fehlermeldungen auf die tatsächlichen Module und nicht auf das große »vereinigte« Skript beziehen. +Revision 608 (von Martin Roppelt): +‐ Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert. +Revision 590 (von Dennis Heidsiek): +‐ Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK‐Quellcodes. +‐ Neue Batch‐Datei Build‐Update.bat zur einfachen Aktualisierung der EXE‐Datei. +Revision 583 (von Dennis Heidsiek): +‐ Kleinere Korrekturen ((5)(3), (5)(5) und (9)(3) stimmen wieder mit der Referenz überein). +Revision 580 (von Matthias Berg): +‐ Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4‐Lock. +Revision 570 (von Matthias Berg): +‐ Hotkeys für einHandNeo und lernModus durch entsprechende ScanCodes ersetzt. +Revision 568 (von Matthias Berg): +‐ Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt. + • jetzt wird auch bei eingestelltem US Layout Neo verwendet (z.B. für Chinesische InputMethodEditors). + • rechter Mod3 geht noch nicht bei US‐Layout (weder ScanCode noch »\«). +Revision 567 (von Dennis Heidsiek): +‐ Aktivierter Mod4‐Lock wird jetzt über die Rollen‐LED des Keybord angezeigt (analog zu CapsLock), die Num‐LED behält ihr bisheriges Verhalten. +‐ Neue Option im Skript: UseMod4Light. +Revision 561 (von Matthias Berg): +‐ M4+Tab verhält sich jetzt wie das andere Tab dank »goto neo_tab«. +Revision 560 (von Dennis Heidsiek): +‐ Neue Option im Skript: bildschirmTastaturEinbinden bindet die PNG‐Bilder der Bildschirmtastur mit in die exe‐Datei ein, so dass sich der Benutzer nur eine Datei herunterladen muss. +Revision 559 (von Matthias Berg): +‐ Shift+Alt+Tab Problem gelöst (muss noch mehr auf Nebeneffekte getestet werden). +Revision 558 (von Matthias Berg): +‐ Icon‐Bug behoben + • Hotkeys dürfen nicht vor der folgenden Zeile stehen: »menu, tray, icon, neo.ico,,1« +‐ lernModus‐Konfigurations‐Bug behoben: or statt and(not). +‐ Ein paar leere Else‐Fälle eingebaut (um die Verständlichkeit zu erhöhen und mögliche Compilerprobleme zu vermeiden). +Revision 556 (von Matthias Berg): +‐ lernModus (an/aus mit Strg+Komma) + • im Skript konfigurierbar. + • Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace, …). + • Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen, richtig zu schreiben). +‐ Bug aufgetaucht: Icons werden nicht mehr angezeigt. +Revision 544 (von Stefan Mayer): +‐ »,.:;« auf dem Mod4‐Ziffernblock an die aktuelle Referenz angepasst. +‐ Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst. +Revision 542 (von Matthias Berg): +‐ Bei EinHandNeo ist jetzt Space+y auch Mod4. +‐ AltGr‐Bug hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable. +‐ nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 geändert. +Revision 540 (von Matthias Berg): +‐ Stark überarbeitet um Wartbarkeit zu erhöhen und Redundanz zu verringern. +‐ nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen. + • aber es muss noch jemand testen. + • Problem: was kann man abfangen, wenn eine tote Taste gedrückt wird. +‐ einHandNeo: + • An‐/Ausschalten mit Strg+Punkt. + • Buchstaben der rechten Hand werden mit Space zur linken Hand. + • Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr. +Revision 532 (von Matthias Berg): +‐ BildschirmTastatur + • aktiviert mit Strg+F1 bis 7, schaltet Keyboard ein oder aus. + • Strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus). + • Strg+F8 schaltet AlwaysOnTop um. +Revision 529 (von Stefan Mayer): +‐ Icon wird automatisch geladen, falls .ico‐Dateien im selbem Ordner. +‐ In der .exe sind die .ico mitgespeichert und werden automatisch geladen. +Revision 528 (von Matthias Berg): +‐ Neo‐Icon ersetzt das bisherige Autohotkey‐Standard‐Icon im Tray‐Bereich. +‐ Neo‐Prozess jetzt automatisch auf hoher Priorität (siehe globale Schalter). +‐ Mod3‐Lock (nur wenn rechtes Mod3 zuerst gedrückt wird, andere Lösung führte zum Caps‐Bug). +‐ Mod4‐Lock (nur wenn das linke Mod4 zuerst gedrückt wird, andere Lösung führte zum AltGr‐Bug). +‐ Ein paar falsche Zeichen korrigiert. +Revision 527 (von Matthias Berg): +‐ AltGr‐Problem hoffentlich behoben. +‐ Umschalt+Mod4‐Bug behoben. +Revision 526 (von Matthias Berg): +‐ Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0. +‐ Mod4‐Lock durch Mod4+Mod4. +‐ EbenenAktualisierung neu geschrieben. +‐ Ebene 6 über Mod3+Mod4. +‐ Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gekümmert, besonders Compose könnte noch überholt werden). +Revision 525 (von Matthias Berg): +‐ Capslock bei Zahlen und Sonderzeichen berücksichtigt. +Revision 524 (von Matthias Berg): +‐ umgekehrtes ^ für o, a, ü,i sowie für die großen vokale (3. Ton chinesisch). + • damit wird jetzt PinYin vollständig unterstützt: caron, macron, akut, grave auf uiaeoü. +‐ Sonderzeichen senden wieder blind ‐> Shortcuts funktionieren, Capslock ist leider Shiftlock. +Revision 523 (von Matthias Berg): +‐ CapsLock geht jetzt auch bei allen Zeichen (»send Zeichen« statt »send {blind} Zeichen«). +‐ vertikale Ellipse (⋮) eingebaut. +‐ Umschalt+Umschalt für Capslock statt Mod3+Mod3. +‐ bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim Aktivieren per shift+pause). +Revsion 490 (von Stefan Mayer): +‐ SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und ‐ + • auch bei Ziffernblock auf der 5. Ebene +‐ Kein Parsen über die Zwischenablage mehr. +‐ Vista‐kompatibel. +‐ Compose‐Taste + • Brüche (auf Zahlenreihe und Hardware‐Ziffernblock). + • römische Zahlen. + • Ligaturen und Copyright. diff --git a/windows/ahk-auslaufend/Compose/AutoComp1.bas b/windows/ahk-auslaufend/Compose/AutoComp1.bas new file mode 100644 index 0000000..ad740f6 --- /dev/null +++ b/windows/ahk-auslaufend/Compose/AutoComp1.bas @@ -0,0 +1,38 @@ +Rem Compose-AHK-Konverter +Rem 2008 Martin Paul Roppelt (m.p.roppelt@web.de) GPL 2/3 +Rem +Rem Basic-Datei fr OpenOffice (2.4): +Rem Dateipfade an das Zielsystem anpassen! +Rem +Rem Anleitung: +Rem OpenOffice-Basic aufrufen (Alt-x,m,v,m; Alt-n). +Rem Strg-a; Symbolleisten-Schaltflche: BASIC-Quelltext einfgen, diese Datei auswhlen. +Rem Skript ausfhren (Alt-x,m,a oder F5). + + +Sub Main + Open "C:\Users\Martin_2\NEO\Compose\Compose.neo" For Input Lock Write As #1 + Open "C:\Users\Martin_2\NEO\Compose\en_US.UTF-8" For Input Lock Write As #2 + Open "C:\Users\Martin_2\Programmieren\NEO\ComposeList.txt" For Output Lock Read Write As #3 + + LeseDatei(1) + LeseDatei(2) + + Close 1, 2, 3 +End Sub + +Sub LeseDatei(DateiNummer% as Integer) + While Not Eof(DateiNummer%) + Line Input #DateiNummer%, DateiZeile$ + Dateizeile$ = LTrim(DateiZeile$) + If Left(DateiZeile$, 1) = "<" Then + DoppelpunktPosition% = InStr(DateiZeile$, ":") + Definition$ = RTrim( Left(DateiZeile$, DoppelpunktPosition% - 1) ) + KlammerAufPosition1% = InStr(Definition$, "<") + KlammerZuPosition1% = InStr(Definition$, ">") + Taste1$ = Mid(Definition$, KlammerAufPosition1% + 1, KlammerZuPosition1% - KlammerAufPosition1% - 1) + If Taste1$ = "Multi_key" Then Print #3, DateiZeile$ + End If + Wend +End Sub + diff --git a/windows/ahk-auslaufend/Compose/AutoComp2.bas b/windows/ahk-auslaufend/Compose/AutoComp2.bas new file mode 100644 index 0000000..f03ac78 --- /dev/null +++ b/windows/ahk-auslaufend/Compose/AutoComp2.bas @@ -0,0 +1,50 @@ +REM ***** BASIC ***** + +'Programm zur Umwandlung einer ComposeList.txt-Datei in eine Compose.ahk-Datei. +' 14. - 16. Sept. 2008, Martin Paul Roppelt (m.p.roppelt@web.de) GPL 2/3 + +'Anleitung: +'Pfade anpassen :-) +'Quelldatei als UTF16-Little-Endian speichern. +'Alle Tabulatoren durch ein /einzelnes/ Leerzeichen ersetzen. +'Skript ausfhren. +'Korrektur von ein paar ungelsten Problemen: +'Letzte Zeile der Ausgabedatei durch "}" ersetzen. +'Folgende Zeile abndern: +'CheckCompUni(" ", 0xE04A", 0x) -> +'CheckCompUni(" ", 0xE04A) + +Sub Main + Open "C:\Users\Martin_2\Programmieren\NEO\ComposeList16.txt" For Binary Lock Write As #1 + Open "C:\Users\Martin_2\NEO\windows\autohotkey\Source\Compose.ahk" For Output Lock Read Write As #2 + Print #2, "CheckCompose() {" + Print #2, "CheckCompUni("; chr(34); + For Position& = 1 To Lof(1) Step 2 + Get #1, Position&, a% + If a% = 10 Then + Print #2, ")" : Klammer% = 0: Kommentar% = 0: Quotedbl% = 0 + Print #2, "CheckCompUni("; chr(34); + ElseIf a%=asc(":") and Zeichen% <> 1 Then + Print #2, chr(34); ", 0x"; + 'Zeichen% = 1 + ElseIf a%=asc(" ") Then + ElseIf a%=asc("<") Then + Klammer% = Klammer% + 1 + If Klammer% > 2 Then Print #2, " "; + If Klammer% <> 1 and Kommentar% <> 1 Then Print #2, "<"; + ElseIf a% = 34 Then + Quotedbl% = Quotedbl% + 1 + Zeichen% = 1 + If Quotedbl% = 2 Then + Kommentar% = 1 + Zeichen% = 0 + EndIf + ElseIf Klammer% <> 1 and a% < 255 and a% > 0 and Kommentar% <> 1 and zeichen% <> 1 Then + Print #2, Chr(a%); + ElseIf Klammer% <> 1 and Kommentar% <> 1 Then + If a% <> -257 Then Print #2, Iif(Len(Hex(a%))>4, Right(Hex(a%),4),Hex(a%)); + End If + Next + Print #2, "}" + Close 1, 2 +End Sub diff --git a/windows/ahk-auslaufend/Source/All.ahk b/windows/ahk-auslaufend/Source/All.ahk new file mode 100644 index 0000000..55f8a4b --- /dev/null +++ b/windows/ahk-auslaufend/Source/All.ahk @@ -0,0 +1,22 @@ +/* + All.ahk: + Diese Datei ist fr Entwickler zum schnellen Testen von nderungen vorgesehen. Bei Syntaxfehlern bietet sie zudem den Vorteil, dass die Zeilennummern relativ zu den einzelnen Modulen angezeigt werden. + Die Reihenfolge der Includes *ist* relevant! Denn: Vor dem Men in der Global-Part.ahk drfen keine Tastenkombinationen definiert werden. Ansonsten kannst du die Dateien hier beliebig anordnen. +*/ + +#Include %a_scriptdir%\Warning.ahk +#Include %a_scriptdir%\Global-Part.ahk +#Include %a_scriptdir%\Methods-Layers.ahk +#Include %a_scriptdir%\Keys-Qwert-to-Neo.ahk +#Include %a_scriptdir%\Keys-Neo.ahk +#Include %a_scriptdir%\Keys-Numbers.ahk +#Include %a_scriptdir%\Keys-Special.ahk +#Include %a_scriptdir%\Keys-NumPad.ahk +#Include %a_scriptdir%\Keys-DeadKeys.ahk +#Include %a_scriptdir%\Methods-Lights.ahk +#Include %a_scriptdir%\Methods-Other.ahk +#Include %a_scriptdir%\Compose.ahk +#Include %a_scriptdir%\Methods-Unicode.ahk +#Include %a_scriptdir%\Methods-ScreenKeyboard.ahk + + diff --git a/windows/ahk-auslaufend/Source/Compose.ahk b/windows/ahk-auslaufend/Source/Compose.ahk new file mode 100644 index 0000000..a1b2962 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Compose.ahk @@ -0,0 +1,2853 @@ +CheckCompose() { +CheckCompUni(" ", 0x391) +CheckCompUni(" ", 0x392) +CheckCompUni(" ", 0x395) +CheckCompUni(" ", 0x396) +CheckCompUni(" ", 0x397) +CheckCompUni(" ", 0x399) +CheckCompUni(" ", 0x39A) +CheckCompUni(" ", 0x39C) +CheckCompUni(" ", 0x39D) +CheckCompUni(" ", 0x39F) +CheckCompUni("

", 0x2118) +CheckCompUni(" ", 0x211B) +CheckCompUni(" ", 0x212C) +CheckCompUni(" ", 0x212F) +CheckCompUni(" ", 0x2130) +CheckCompUni(" ", 0x2131) +CheckCompUni(" ", 0x2133) +CheckCompUni(" ", 0x2134) +CheckCompUni("

", 0x210E) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni(" ", 0x2103) +CheckCompUni(" ", 0x2109) +CheckCompUni(" ", 0xB0) +CheckCompUni(" ", 0x2032) +CheckCompUni(" ", 0x2033) +CheckCompUni(" ", 0x3395) +CheckCompUni(" ", 0x3395) +CheckCompUni(" ", 0x3396) +CheckCompUni(" ", 0x3396) +CheckCompUni(" ", 0x3397) +CheckCompUni(" ", 0x3397) +CheckCompUni(" ", 0x3398) +CheckCompUni(" ", 0x3398) +CheckCompUni(" ", 0x3399) +CheckCompUni(" ", 0x339A) +CheckCompUni(" ", 0x339B) +CheckCompUni(" ", 0x339C) +CheckCompUni(" ", 0x339D) +CheckCompUni(" ", 0x339E) +CheckCompUni(" ", 0x338D) +CheckCompUni(" ", 0x338E) +CheckCompUni(" ", 0x338F) +CheckCompUni(" ", 0x3390) +CheckCompUni(" ", 0x3391) +CheckCompUni(" ", 0x3392) +CheckCompUni("<2> ", 0x339F) +CheckCompUni("<2> ", 0x33A0) +CheckCompUni("<2> ", 0x33A1) +CheckCompUni("<2> ", 0x33A2) +CheckCompUni(" ", 0x339F) +CheckCompUni(" ", 0x33A0) +CheckCompUni(" ", 0x33A1) +CheckCompUni(" ", 0x33A2) +CheckCompUni("<3> ", 0x33A3) +CheckCompUni("<3> ", 0x33A4) +CheckCompUni("<3> ", 0x33A5) +CheckCompUni("<3> ", 0x33A6) +CheckCompUni(" ", 0x33A3) +CheckCompUni(" ", 0x33A4) +CheckCompUni(" ", 0x33A5) +CheckCompUni(" ", 0x33A6) +CheckCompUni(" ", 0x33A7) +CheckCompUni(" <2> ", 0x33A8) +CheckCompUni(" ", 0x33A8) +CheckCompUni(" ", 0x33D6) +CheckCompUni(" ", 0x263A) +CheckCompUni(" ", 0x2639) +CheckCompUni(" ", 0x2122) +CheckCompUni(" ", 0x2105) +CheckCompUni(" ", 0x26A2) +CheckCompUni(" ", 0x26A3) +CheckCompUni(" ", 0x26A4) +CheckCompUni(" ", 0x26A5) +CheckCompUni(" ", 0x332) +CheckCompUni(" ", 0x27) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x40) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7B) +CheckCompUni(" ", 0x7B) +CheckCompUni(" ", 0x7D) +CheckCompUni(" ", 0x7D) +CheckCompUni(" ", 0x5B) +CheckCompUni(" ", 0x5D) +CheckCompUni(" ", 0xB8) +CheckCompUni(" ", 0xB8) +CheckCompUni(" ", 0x60) +CheckCompUni(" ", 0x60) +CheckCompUni(" ", 0x23) +CheckCompUni(" ", 0xC1) +CheckCompUni(" ", 0xC1) +CheckCompUni(" ", 0xE1) +CheckCompUni(" ", 0xE1) +CheckCompUni(" ", 0x102) +CheckCompUni(" ", 0x102) +CheckCompUni(" ", 0x103) +CheckCompUni(" ", 0x103) +CheckCompUni(" ", 0xC2) +CheckCompUni(" ", 0xE2) +CheckCompUni(" ", 0xC4) +CheckCompUni(" ", 0xE4) +CheckCompUni(" ", 0xC6) +CheckCompUni(" ", 0xE6) +CheckCompUni(" ", 0xC0) +CheckCompUni(" ", 0xE0) +CheckCompUni(" ", 0x100) +CheckCompUni(" ", 0x100) +CheckCompUni(" ", 0x101) +CheckCompUni(" ", 0x101) +CheckCompUni(" ", 0x104) +CheckCompUni(" ", 0x105) +CheckCompUni(" ", 0xC5) +CheckCompUni(" ", 0xE5) +CheckCompUni(" ", 0xC3) +CheckCompUni(" ", 0xE3) +CheckCompUni(" ", 0xA6) +CheckCompUni(" ", 0x10A) +CheckCompUni(" ", 0x10B) +CheckCompUni(" ", 0x106) +CheckCompUni(" ", 0x106) +CheckCompUni(" ", 0x107) +CheckCompUni(" ", 0x107) +CheckCompUni(" ", 0x10C) +CheckCompUni(" ", 0x10D) +CheckCompUni(" ", 0xC7) +CheckCompUni(" ", 0xE7) +CheckCompUni(" ", 0x108) +CheckCompUni(" ", 0x109) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0x20A1) +CheckCompUni(" ", 0x20A1) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0x20A2) +CheckCompUni(" ", 0xA4) +CheckCompUni(" ", 0xA4) +CheckCompUni(" ", 0x10E) +CheckCompUni(" ", 0x10F) +CheckCompUni(" ", 0xB0) +CheckCompUni(" ", 0xF7) +CheckCompUni(" ", 0xF7) +CheckCompUni(" ", 0x20AB) +CheckCompUni(" ", 0x201E) +CheckCompUni(" ", 0x201E) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x116) +CheckCompUni(" ", 0x117) +CheckCompUni(" ", 0xC9) +CheckCompUni(" ", 0xC9) +CheckCompUni(" ", 0xE9) +CheckCompUni(" ", 0xE9) +CheckCompUni(" ", 0x11A) +CheckCompUni(" ", 0x11B) +CheckCompUni(" ", 0xCA) +CheckCompUni(" ", 0xEA) +CheckCompUni(" ", 0x20A0) +CheckCompUni(" ", 0xCB) +CheckCompUni(" ", 0xEB) +CheckCompUni(" ", 0xC8) +CheckCompUni(" ", 0xE8) +CheckCompUni(" ", 0x112) +CheckCompUni(" ", 0x112) +CheckCompUni(" ", 0x113) +CheckCompUni(" ", 0x113) +CheckCompUni(" ", 0x2014) +CheckCompUni(" ", 0x2013) +CheckCompUni(" ", 0x14A) +CheckCompUni(" ", 0x14B) +CheckCompUni(" ", 0x118) +CheckCompUni(" ", 0x119) +CheckCompUni(" ", 0xD0) +CheckCompUni(" ", 0xF0) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0xA1) +CheckCompUni(" ", 0x20A3) +CheckCompUni(" ", 0x120) +CheckCompUni(" ", 0x121) +CheckCompUni(" ", 0x11E) +CheckCompUni(" ", 0x11E) +CheckCompUni(" ", 0x11F) +CheckCompUni(" ", 0x11F) +CheckCompUni(" ", 0x122) +CheckCompUni(" ", 0x123) +CheckCompUni(" ", 0x11C) +CheckCompUni(" ", 0x11D) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x386) +CheckCompUni(" ", 0x386) +CheckCompUni(" ", 0x3AC) +CheckCompUni(" ", 0x3AC) +CheckCompUni(" ", 0x388) +CheckCompUni(" ", 0x388) +CheckCompUni(" ", 0x3AD) +CheckCompUni(" ", 0x3AD) +CheckCompUni(" ", 0x389) +CheckCompUni(" ", 0x389) +CheckCompUni(" ", 0x3AE) +CheckCompUni(" ", 0x3AE) +CheckCompUni(" ", 0x38A) +CheckCompUni(" ", 0x38A) +CheckCompUni(" ", 0x3AF) +CheckCompUni(" ", 0x3AF) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x3AA) +CheckCompUni(" ", 0x3CA) +CheckCompUni(" ", 0x38F) +CheckCompUni(" ", 0x38F) +CheckCompUni(" ", 0x3CE) +CheckCompUni(" ", 0x3CE) +CheckCompUni(" ", 0x38C) +CheckCompUni(" ", 0x38C) +CheckCompUni(" ", 0x3CC) +CheckCompUni(" ", 0x3CC) +CheckCompUni(" ", 0x38E) +CheckCompUni(" ", 0x38E) +CheckCompUni(" ", 0x3CD) +CheckCompUni(" ", 0x3CD) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3AB) +CheckCompUni(" ", 0x3CB) +CheckCompUni(" ", 0xAB) +CheckCompUni(" ", 0xBB) +CheckCompUni(" ", 0x124) +CheckCompUni(" ", 0x125) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x130) +CheckCompUni(" ", 0xCD) +CheckCompUni(" ", 0xCD) +CheckCompUni(" ", 0xED) +CheckCompUni(" ", 0xED) +CheckCompUni(" ", 0xCE) +CheckCompUni(" ", 0xEE) +CheckCompUni(" ", 0xCF) +CheckCompUni(" ", 0xEF) +CheckCompUni(" ", 0x131) +CheckCompUni(" ", 0xCC) +CheckCompUni(" ", 0xEC) +CheckCompUni(" ", 0x12A) +CheckCompUni(" ", 0x12A) +CheckCompUni(" ", 0x12B) +CheckCompUni(" ", 0x12B) +CheckCompUni(" ", 0x12E) +CheckCompUni(" ", 0x12F) +CheckCompUni(" ", 0x128) +CheckCompUni(" ", 0x129) +CheckCompUni(" ", 0x134) +CheckCompUni(" ", 0x135) +CheckCompUni(" ", 0x136) +CheckCompUni(" ", 0x137) +CheckCompUni(" ", 0x138) +CheckCompUni(" ", 0x139) +CheckCompUni(" ", 0x139) +CheckCompUni(" ", 0x13A) +CheckCompUni(" ", 0x13A) +CheckCompUni(" ", 0x13D) +CheckCompUni(" ", 0x13E) +CheckCompUni(" ", 0x13B) +CheckCompUni(" ", 0x13C) +CheckCompUni(" ", 0x201C) +CheckCompUni(" ", 0x201C) +CheckCompUni(" ", 0x2018) +CheckCompUni(" ", 0x2018) +CheckCompUni(" ", 0x20A4) +CheckCompUni(" ", 0x20A4) +CheckCompUni(" ", 0x141) +CheckCompUni(" ", 0x141) +CheckCompUni(" ", 0x142) +CheckCompUni(" ", 0x142) +CheckCompUni(" ", 0xBA) +CheckCompUni(" ", 0xBA) +CheckCompUni(" ", 0x20A5) +CheckCompUni(" ", 0x20A5) +CheckCompUni(" ", 0xB5) +CheckCompUni(" ", 0xD7) +CheckCompUni(" ", 0x266D) +CheckCompUni(" ", 0x266F) +CheckCompUni(" ", 0x143) +CheckCompUni(" ", 0x143) +CheckCompUni(" ", 0x144) +CheckCompUni(" ", 0x144) +CheckCompUni(" ", 0x20A6) +CheckCompUni(" ", 0x20A6) +CheckCompUni(" ", 0x147) +CheckCompUni(" ", 0x148) +CheckCompUni(" ", 0x145) +CheckCompUni(" ", 0x146) +CheckCompUni(" ", 0xA0) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0xAC) +CheckCompUni(" ", 0xAC) +CheckCompUni(" ", 0xD1) +CheckCompUni(" ", 0xF1) +CheckCompUni(" ", 0xD3) +CheckCompUni(" ", 0xD3) +CheckCompUni(" ", 0xF3) +CheckCompUni(" ", 0xF3) +CheckCompUni(" ", 0xD4) +CheckCompUni(" ", 0xF4) +CheckCompUni(" ", 0xD6) +CheckCompUni(" ", 0xF6) +CheckCompUni(" ", 0x150) +CheckCompUni(" ", 0x151) +CheckCompUni(" ", 0x152) +CheckCompUni(" ", 0x153) +CheckCompUni(" ", 0xD2) +CheckCompUni(" ", 0xF2) +CheckCompUni(" ", 0x14C) +CheckCompUni(" ", 0x14C) +CheckCompUni(" ", 0x14D) +CheckCompUni(" ", 0x14D) +CheckCompUni("<1> <2>", 0xBD) +CheckCompUni("<1> <4>", 0xBC) +CheckCompUni(" ", 0xB9) +CheckCompUni(" <1>", 0xB9) +CheckCompUni(" ", 0xD8) +CheckCompUni(" ", 0xD8) +CheckCompUni(" ", 0xAA) +CheckCompUni(" ", 0xAA) +CheckCompUni(" ", 0xF8) +CheckCompUni(" ", 0xF8) +CheckCompUni(" ", 0xD5) +CheckCompUni(" ", 0xF5) +CheckCompUni("

", 0xB6) +CheckCompUni("

", 0xB6) +CheckCompUni("

", 0xB6) +CheckCompUni(" ", 0xB7) +CheckCompUni("

", 0x20A7) +CheckCompUni(" ", 0xB1) +CheckCompUni(" ", 0x2008) +CheckCompUni(" ", 0xBF) +CheckCompUni(" ", 0x154) +CheckCompUni(" ", 0x154) +CheckCompUni(" ", 0x155) +CheckCompUni(" ", 0x155) +CheckCompUni(" ", 0x158) +CheckCompUni(" ", 0x159) +CheckCompUni(" ", 0x156) +CheckCompUni(" ", 0x157) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0x201D) +CheckCompUni(" ", 0x201D) +CheckCompUni(" ", 0x2019) +CheckCompUni(" ", 0x2019) +CheckCompUni(" ", 0x20A8) +CheckCompUni(" ", 0x15A) +CheckCompUni(" ", 0x15A) +CheckCompUni(" ", 0x15B) +CheckCompUni(" ", 0x15B) +CheckCompUni(" ", 0x160) +CheckCompUni(" ", 0x161) +CheckCompUni(" ", 0x15E) +CheckCompUni(" ", 0x15F) +CheckCompUni(" ", 0x15C) +CheckCompUni(" ", 0x15D) +CheckCompUni(" ", 0xA7) +CheckCompUni(" ", 0xA7) +CheckCompUni(" ", 0x201A) +CheckCompUni(" ", 0x201A) +CheckCompUni(" ", 0xDF) +CheckCompUni(" ", 0xA3) +CheckCompUni(" ", 0xA3) +CheckCompUni(" ", 0x164) +CheckCompUni(" ", 0x165) +CheckCompUni(" ", 0x162) +CheckCompUni(" ", 0x163) +CheckCompUni(" ", 0xDE) +CheckCompUni(" ", 0xFE) +CheckCompUni("<3> <4>", 0xBE) +CheckCompUni(" ", 0xB3) +CheckCompUni(" <3>", 0xB3) +CheckCompUni(" ", 0x2122) +CheckCompUni(" ", 0x166) +CheckCompUni(" ", 0x166) +CheckCompUni(" ", 0x167) +CheckCompUni(" ", 0x167) +CheckCompUni(" ", 0xB2) +CheckCompUni(" ", 0xB2) +CheckCompUni(" <2>", 0xB2) +CheckCompUni(" ", 0x114) +CheckCompUni(" ", 0x114) +CheckCompUni(" ", 0x115) +CheckCompUni(" ", 0x115) +CheckCompUni(" ", 0x12C) +CheckCompUni(" ", 0x12C) +CheckCompUni(" ", 0x12D) +CheckCompUni(" ", 0x12D) +CheckCompUni(" ", 0x14E) +CheckCompUni(" ", 0x14E) +CheckCompUni(" ", 0x14F) +CheckCompUni(" ", 0x14F) +CheckCompUni(" ", 0x174) +CheckCompUni(" ", 0x175) +CheckCompUni(" ", 0x176) +CheckCompUni(" ", 0x177) +CheckCompUni(" ", 0x17F) +CheckCompUni(" ", 0x17F) +CheckCompUni(" ", 0x180) +CheckCompUni(" ", 0x180) +CheckCompUni(" ", 0x197) +CheckCompUni(" ", 0x197) +CheckCompUni(" ", 0x1A0) +CheckCompUni(" ", 0x1A1) +CheckCompUni(" ", 0x1AF) +CheckCompUni(" ", 0x1B0) +CheckCompUni(" ", 0x1B5) +CheckCompUni(" ", 0x1B5) +CheckCompUni(" ", 0x1B6) +CheckCompUni(" ", 0x1B6) +CheckCompUni(" ", 0x1CD) +CheckCompUni(" ", 0x1CE) +CheckCompUni(" ", 0x1CF) +CheckCompUni(" ", 0x1D0) +CheckCompUni(" ", 0x1D1) +CheckCompUni(" ", 0x1D2) +CheckCompUni(" ", 0x1D3) +CheckCompUni(" ", 0x1D4) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E2) +CheckCompUni(" ", 0x1E2) +CheckCompUni(" ", 0x1E3) +CheckCompUni(" ", 0x1E3) +CheckCompUni(" ", 0x1E4) +CheckCompUni(" ", 0x1E4) +CheckCompUni(" ", 0x1E5) +CheckCompUni(" ", 0x1E5) +CheckCompUni(" ", 0x1E6) +CheckCompUni(" ", 0x1E7) +CheckCompUni(" ", 0x1E8) +CheckCompUni(" ", 0x1E9) +CheckCompUni(" ", 0x1EA) +CheckCompUni(" ", 0x1EB) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1EE) +CheckCompUni(" ", 0x1EF) +CheckCompUni(" ", 0x1F0) +CheckCompUni(" ", 0x1F4) +CheckCompUni(" ", 0x1F4) +CheckCompUni(" ", 0x1F5) +CheckCompUni(" ", 0x1F5) +CheckCompUni(" ", 0x1F8) +CheckCompUni(" ", 0x1F9) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FC) +CheckCompUni(" ", 0x1FC) +CheckCompUni(" ", 0x1FD) +CheckCompUni(" ", 0x1FD) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x21E) +CheckCompUni(" ", 0x21F) +CheckCompUni(" ", 0x226) +CheckCompUni(" ", 0x227) +CheckCompUni(" ", 0x228) +CheckCompUni(" ", 0x229) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22E) +CheckCompUni(" ", 0x22F) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x232) +CheckCompUni(" ", 0x232) +CheckCompUni(" ", 0x233) +CheckCompUni(" ", 0x233) +CheckCompUni(" ", 0x259) +CheckCompUni(" ", 0x268) +CheckCompUni(" ", 0x268) +CheckCompUni(" ", 0x2A1) +CheckCompUni(" ", 0x2A1) +CheckCompUni(" ", 0x2B0) +CheckCompUni(" ", 0x2B0) +CheckCompUni(" ", 0x2B1) +CheckCompUni(" ", 0x2B1) +CheckCompUni(" ", 0x2B2) +CheckCompUni(" ", 0x2B2) +CheckCompUni(" ", 0x2B3) +CheckCompUni(" ", 0x2B3) +CheckCompUni(" ", 0x2B4) +CheckCompUni(" ", 0x2B4) +CheckCompUni(" ", 0x2B5) +CheckCompUni(" ", 0x2B5) +CheckCompUni(" ", 0x2B6) +CheckCompUni(" ", 0x2B6) +CheckCompUni(" ", 0x2B7) +CheckCompUni(" ", 0x2B7) +CheckCompUni(" ", 0x2B8) +CheckCompUni(" ", 0x2B8) +CheckCompUni(" ", 0x2E0) +CheckCompUni(" ", 0x2E0) +CheckCompUni(" ", 0x2E1) +CheckCompUni(" ", 0x2E1) +CheckCompUni(" ", 0x2E2) +CheckCompUni(" ", 0x2E2) +CheckCompUni(" ", 0x2E3) +CheckCompUni(" ", 0x2E3) +CheckCompUni(" ", 0x2E4) +CheckCompUni(" ", 0x2E4) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x3D3) +CheckCompUni(" ", 0x3D3) +CheckCompUni(" ", 0x3D4) +CheckCompUni(" ", 0x1E02) +CheckCompUni(" ", 0x1E03) +CheckCompUni(" ", 0x1E04) +CheckCompUni(" ", 0x1E05) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E0A) +CheckCompUni(" ", 0x1E0B) +CheckCompUni(" ", 0x1E0C) +CheckCompUni(" ", 0x1E0D) +CheckCompUni(" ", 0x1E10) +CheckCompUni(" ", 0x1E11) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1E) +CheckCompUni(" ", 0x1E1F) +CheckCompUni(" ", 0x1E20) +CheckCompUni(" ", 0x1E20) +CheckCompUni(" ", 0x1E21) +CheckCompUni(" ", 0x1E21) +CheckCompUni(" ", 0x1E22) +CheckCompUni(" ", 0x1E23) +CheckCompUni(" ", 0x1E24) +CheckCompUni(" ", 0x1E25) +CheckCompUni(" ", 0x1E26) +CheckCompUni(" ", 0x1E27) +CheckCompUni(" ", 0x1E28) +CheckCompUni(" ", 0x1E29) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E30) +CheckCompUni(" ", 0x1E30) +CheckCompUni(" ", 0x1E31) +CheckCompUni(" ", 0x1E31) +CheckCompUni(" ", 0x1E32) +CheckCompUni(" ", 0x1E33) +CheckCompUni(" ", 0x1E36) +CheckCompUni(" ", 0x1E37) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E3E) +CheckCompUni(" ", 0x1E3E) +CheckCompUni(" ", 0x1E3F) +CheckCompUni(" ", 0x1E3F) +CheckCompUni(" ", 0x1E40) +CheckCompUni(" ", 0x1E41) +CheckCompUni(" ", 0x1E42) +CheckCompUni(" ", 0x1E43) +CheckCompUni(" ", 0x1E44) +CheckCompUni(" ", 0x1E45) +CheckCompUni(" ", 0x1E46) +CheckCompUni(" ", 0x1E47) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni("

", 0x1E54) +CheckCompUni("

", 0x1E54) +CheckCompUni("

", 0x1E55) +CheckCompUni("

", 0x1E55) +CheckCompUni("

", 0x1E56) +CheckCompUni("

", 0x1E57) +CheckCompUni(" ", 0x1E58) +CheckCompUni(" ", 0x1E59) +CheckCompUni(" ", 0x1E5A) +CheckCompUni(" ", 0x1E5B) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E60) +CheckCompUni(" ", 0x1E61) +CheckCompUni(" ", 0x1E62) +CheckCompUni(" ", 0x1E63) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E6A) +CheckCompUni(" ", 0x1E6B) +CheckCompUni(" ", 0x1E6C) +CheckCompUni(" ", 0x1E6D) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7C) +CheckCompUni(" ", 0x1E7D) +CheckCompUni(" ", 0x1E7E) +CheckCompUni(" ", 0x1E7F) +CheckCompUni(" ", 0x1E80) +CheckCompUni(" ", 0x1E81) +CheckCompUni(" ", 0x1E82) +CheckCompUni(" ", 0x1E82) +CheckCompUni(" ", 0x1E83) +CheckCompUni(" ", 0x1E83) +CheckCompUni(" ", 0x1E84) +CheckCompUni(" ", 0x1E85) +CheckCompUni(" ", 0x1E86) +CheckCompUni(" ", 0x1E87) +CheckCompUni(" ", 0x1E88) +CheckCompUni(" ", 0x1E89) +CheckCompUni(" ", 0x1E8A) +CheckCompUni(" ", 0x1E8B) +CheckCompUni(" ", 0x1E8C) +CheckCompUni(" ", 0x1E8D) +CheckCompUni(" ", 0x1E8E) +CheckCompUni(" ", 0x1E8F) +CheckCompUni(" ", 0x1E90) +CheckCompUni(" ", 0x1E91) +CheckCompUni(" ", 0x1E92) +CheckCompUni(" ", 0x1E93) +CheckCompUni(" ", 0x1E97) +CheckCompUni(" ", 0x1E98) +CheckCompUni(" ", 0x1E99) +CheckCompUni(" ", 0x1E9B) +CheckCompUni(" ", 0x1EA0) +CheckCompUni(" ", 0x1EA1) +CheckCompUni(" ", 0x1EA2) +CheckCompUni(" ", 0x1EA3) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB8) +CheckCompUni(" ", 0x1EB9) +CheckCompUni(" ", 0x1EBA) +CheckCompUni(" ", 0x1EBB) +CheckCompUni(" ", 0x1EBC) +CheckCompUni(" ", 0x1EBD) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC8) +CheckCompUni(" ", 0x1EC9) +CheckCompUni(" ", 0x1ECA) +CheckCompUni(" ", 0x1ECB) +CheckCompUni(" ", 0x1ECC) +CheckCompUni(" ", 0x1ECD) +CheckCompUni(" ", 0x1ECE) +CheckCompUni(" ", 0x1ECF) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE4) +CheckCompUni(" ", 0x1EE5) +CheckCompUni(" ", 0x1EE6) +CheckCompUni(" ", 0x1EE7) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF2) +CheckCompUni(" ", 0x1EF3) +CheckCompUni(" ", 0x1EF4) +CheckCompUni(" ", 0x1EF5) +CheckCompUni(" ", 0x1EF6) +CheckCompUni(" ", 0x1EF7) +CheckCompUni(" ", 0x1EF8) +CheckCompUni(" ", 0x1EF9) +CheckCompUni(" ", 0x1F00) +CheckCompUni(" ", 0x1F01) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F08) +CheckCompUni(" ", 0x1F09) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F10) +CheckCompUni(" ", 0x1F11) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F18) +CheckCompUni(" ", 0x1F19) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F20) +CheckCompUni(" ", 0x1F21) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F28) +CheckCompUni(" ", 0x1F29) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F30) +CheckCompUni(" ", 0x1F31) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F38) +CheckCompUni(" ", 0x1F39) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F40) +CheckCompUni(" ", 0x1F41) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F48) +CheckCompUni(" ", 0x1F49) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F50) +CheckCompUni(" ", 0x1F51) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F59) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F60) +CheckCompUni(" ", 0x1F61) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F68) +CheckCompUni(" ", 0x1F69) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F70) +CheckCompUni(" ", 0x1F72) +CheckCompUni(" ", 0x1F74) +CheckCompUni(" ", 0x1F76) +CheckCompUni(" ", 0x1F78) +CheckCompUni(" ", 0x1F7A) +CheckCompUni(" ", 0x1F7C) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FB0) +CheckCompUni(" ", 0x1FB0) +CheckCompUni(" ", 0x1FB1) +CheckCompUni(" ", 0x1FB1) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB3) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB6) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB8) +CheckCompUni(" ", 0x1FB8) +CheckCompUni(" ", 0x1FB9) +CheckCompUni(" ", 0x1FB9) +CheckCompUni(" ", 0x1FBA) +CheckCompUni(" ", 0x1FBC) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC3) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC6) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC8) +CheckCompUni(" ", 0x1FCA) +CheckCompUni(" ", 0x1FCC) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FD0) +CheckCompUni(" ", 0x1FD0) +CheckCompUni(" ", 0x1FD1) +CheckCompUni(" ", 0x1FD1) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD6) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD8) +CheckCompUni(" ", 0x1FD8) +CheckCompUni(" ", 0x1FD9) +CheckCompUni(" ", 0x1FD9) +CheckCompUni(" ", 0x1FDA) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FE0) +CheckCompUni(" ", 0x1FE0) +CheckCompUni(" ", 0x1FE1) +CheckCompUni(" ", 0x1FE1) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE4) +CheckCompUni(" ", 0x1FE5) +CheckCompUni(" ", 0x1FE6) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE8) +CheckCompUni(" ", 0x1FE8) +CheckCompUni(" ", 0x1FE9) +CheckCompUni(" ", 0x1FE9) +CheckCompUni(" ", 0x1FEA) +CheckCompUni(" ", 0x1FEC) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF3) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF6) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF8) +CheckCompUni(" ", 0x1FFA) +CheckCompUni(" ", 0x1FFC) +CheckCompUni(" ", 0x2030) +CheckCompUni(" ", 0x2039) +CheckCompUni(" ", 0x203A) +CheckCompUni(" ", 0x2070) +CheckCompUni(" <0>", 0x2070) +CheckCompUni(" ", 0x2071) +CheckCompUni(" ", 0x2071) +CheckCompUni(" ", 0x2074) +CheckCompUni(" <4>", 0x2074) +CheckCompUni(" ", 0x2075) +CheckCompUni(" <5>", 0x2075) +CheckCompUni(" ", 0x2076) +CheckCompUni(" <6>", 0x2076) +CheckCompUni(" ", 0x2077) +CheckCompUni(" <7>", 0x2077) +CheckCompUni(" ", 0x2078) +CheckCompUni(" <8>", 0x2078) +CheckCompUni(" ", 0x2079) +CheckCompUni(" <9>", 0x2079) +CheckCompUni(" ", 0x207A) +CheckCompUni(" ", 0x207A) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x207C) +CheckCompUni(" ", 0x207C) +CheckCompUni(" ", 0x207D) +CheckCompUni(" ", 0x207E) +CheckCompUni(" ", 0x207F) +CheckCompUni(" ", 0x207F) +CheckCompUni(" ", 0x2080) +CheckCompUni(" <0>", 0x2080) +CheckCompUni(" ", 0x2080) +CheckCompUni(" <0>", 0x2080) +CheckCompUni(" ", 0x2081) +CheckCompUni(" <1>", 0x2081) +CheckCompUni(" ", 0x2081) +CheckCompUni(" <1>", 0x2081) +CheckCompUni(" ", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" <2>", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" <2>", 0x2082) +CheckCompUni(" ", 0x2083) +CheckCompUni(" <3>", 0x2083) +CheckCompUni(" ", 0x2083) +CheckCompUni(" <3>", 0x2083) +CheckCompUni(" ", 0x2084) +CheckCompUni(" <4>", 0x2084) +CheckCompUni(" ", 0x2084) +CheckCompUni(" <4>", 0x2084) +CheckCompUni(" ", 0x2085) +CheckCompUni(" <5>", 0x2085) +CheckCompUni(" ", 0x2085) +CheckCompUni(" <5>", 0x2085) +CheckCompUni(" ", 0x2086) +CheckCompUni(" <6>", 0x2086) +CheckCompUni(" ", 0x2086) +CheckCompUni(" <6>", 0x2086) +CheckCompUni(" ", 0x2087) +CheckCompUni(" <7>", 0x2087) +CheckCompUni(" ", 0x2087) +CheckCompUni(" <7>", 0x2087) +CheckCompUni(" ", 0x2088) +CheckCompUni(" <8>", 0x2088) +CheckCompUni(" ", 0x2088) +CheckCompUni(" <8>", 0x2088) +CheckCompUni(" ", 0x2089) +CheckCompUni(" <9>", 0x2089) +CheckCompUni(" ", 0x2089) +CheckCompUni(" <9>", 0x2089) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208D) +CheckCompUni(" ", 0x208D) +CheckCompUni(" ", 0x208E) +CheckCompUni(" ", 0x208E) +CheckCompUni(" ", 0x2120) +CheckCompUni(" ", 0x219A) +CheckCompUni(" ", 0x219A) +CheckCompUni(" ", 0x219B) +CheckCompUni(" ", 0x219B) +CheckCompUni(" ", 0x21AE) +CheckCompUni(" ", 0x21AE) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x2244) +CheckCompUni(" ", 0x2247) +CheckCompUni(" ", 0x2249) +CheckCompUni(" ", 0x2262) +CheckCompUni(" ", 0x226D) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2274) +CheckCompUni(" ", 0x2275) +CheckCompUni(" ", 0x2278) +CheckCompUni(" ", 0x2279) +CheckCompUni(" ", 0x2280) +CheckCompUni(" ", 0x2281) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2288) +CheckCompUni(" ", 0x2289) +CheckCompUni(" ", 0x22AC) +CheckCompUni(" ", 0x22AD) +CheckCompUni(" ", 0x22AE) +CheckCompUni(" ", 0x22AF) +CheckCompUni(" ", 0x22E0) +CheckCompUni(" ", 0x22E1) +CheckCompUni(" ", 0x22E2) +CheckCompUni(" ", 0x22E3) +CheckCompUni(" ", 0x22EA) +CheckCompUni(" ", 0x22EB) +CheckCompUni(" ", 0x22EC) +CheckCompUni(" ", 0x22ED) +CheckCompUni(" ", 0x2460) +CheckCompUni(" <1> ", 0x2460) +CheckCompUni(" ", 0x2461) +CheckCompUni(" ", 0x2461) +CheckCompUni(" <2> ", 0x2461) +CheckCompUni(" ", 0x2462) +CheckCompUni(" <3> ", 0x2462) +CheckCompUni(" ", 0x2463) +CheckCompUni(" <4> ", 0x2463) +CheckCompUni(" ", 0x2464) +CheckCompUni(" <5> ", 0x2464) +CheckCompUni(" ", 0x2465) +CheckCompUni(" <6> ", 0x2465) +CheckCompUni(" ", 0x2466) +CheckCompUni(" <7> ", 0x2466) +CheckCompUni(" ", 0x2467) +CheckCompUni(" <8> ", 0x2467) +CheckCompUni(" ", 0x2468) +CheckCompUni(" <9> ", 0x2468) +CheckCompUni(" ", 0x2469) +CheckCompUni(" <0> ", 0x2469) +CheckCompUni(" <1> ", 0x2469) +CheckCompUni(" <1> <0> ", 0x2469) +CheckCompUni(" ", 0x246A) +CheckCompUni(" <1> ", 0x246A) +CheckCompUni(" <1> ", 0x246A) +CheckCompUni(" <1> <1> ", 0x246A) +CheckCompUni(" ", 0x246B) +CheckCompUni(" ", 0x246B) +CheckCompUni(" <2> ", 0x246B) +CheckCompUni(" <1> ", 0x246B) +CheckCompUni(" <1> ", 0x246B) +CheckCompUni(" <1> <2> ", 0x246B) +CheckCompUni(" ", 0x246C) +CheckCompUni(" <3> ", 0x246C) +CheckCompUni(" <1> ", 0x246C) +CheckCompUni(" <1> <3> ", 0x246C) +CheckCompUni(" ", 0x246D) +CheckCompUni(" <4> ", 0x246D) +CheckCompUni(" <1> ", 0x246D) +CheckCompUni(" <1> <4> ", 0x246D) +CheckCompUni(" ", 0x246E) +CheckCompUni(" <5> ", 0x246E) +CheckCompUni(" <1> ", 0x246E) +CheckCompUni(" <1> <5> ", 0x246E) +CheckCompUni(" ", 0x246F) +CheckCompUni(" <6> ", 0x246F) +CheckCompUni(" <1> ", 0x246F) +CheckCompUni(" <1> <6> ", 0x246F) +CheckCompUni(" ", 0x2470) +CheckCompUni(" <7> ", 0x2470) +CheckCompUni(" <1> ", 0x2470) +CheckCompUni(" <1> <7> ", 0x2470) +CheckCompUni(" ", 0x2471) +CheckCompUni(" <8> ", 0x2471) +CheckCompUni(" <1> ", 0x2471) +CheckCompUni(" <1> <8> ", 0x2471) +CheckCompUni(" ", 0x2472) +CheckCompUni(" <9> ", 0x2472) +CheckCompUni(" <1> ", 0x2472) +CheckCompUni(" <1> <9> ", 0x2472) +CheckCompUni(" ", 0x2473) +CheckCompUni(" <0> ", 0x2473) +CheckCompUni(" ", 0x2473) +CheckCompUni(" <0> ", 0x2473) +CheckCompUni(" <2> ", 0x2473) +CheckCompUni(" <2> <0> ", 0x2473) +CheckCompUni(" ", 0x24B6) +CheckCompUni(" ", 0x24B7) +CheckCompUni(" ", 0x24B8) +CheckCompUni(" ", 0x24B9) +CheckCompUni(" ", 0x24BA) +CheckCompUni(" ", 0x24BB) +CheckCompUni(" ", 0x24BC) +CheckCompUni(" ", 0x24BD) +CheckCompUni(" ", 0x24BE) +CheckCompUni(" ", 0x24BF) +CheckCompUni(" ", 0x24C0) +CheckCompUni(" ", 0x24C1) +CheckCompUni(" ", 0x24C2) +CheckCompUni(" ", 0x24C3) +CheckCompUni(" ", 0x24C4) +CheckCompUni("

", 0x24C5) +CheckCompUni(" ", 0x24C6) +CheckCompUni(" ", 0x24C7) +CheckCompUni(" ", 0x24C8) +CheckCompUni(" ", 0x24C9) +CheckCompUni(" ", 0x24CA) +CheckCompUni(" ", 0x24CB) +CheckCompUni(" ", 0x24CC) +CheckCompUni(" ", 0x24CD) +CheckCompUni(" ", 0x24CE) +CheckCompUni(" ", 0x24CF) +CheckCompUni(" ", 0x24D0) +CheckCompUni(" ", 0x24D1) +CheckCompUni(" ", 0x24D2) +CheckCompUni(" ", 0x24D3) +CheckCompUni(" ", 0x24D4) +CheckCompUni(" ", 0x24D5) +CheckCompUni(" ", 0x24D6) +CheckCompUni(" ", 0x24D7) +CheckCompUni(" ", 0x24D8) +CheckCompUni(" ", 0x24D9) +CheckCompUni(" ", 0x24DA) +CheckCompUni(" ", 0x24DB) +CheckCompUni(" ", 0x24DC) +CheckCompUni(" ", 0x24DD) +CheckCompUni(" ", 0x24DE) +CheckCompUni("

", 0x24DF) +CheckCompUni(" ", 0x24E0) +CheckCompUni(" ", 0x24E1) +CheckCompUni(" ", 0x24E2) +CheckCompUni(" ", 0x24E3) +CheckCompUni(" ", 0x24E4) +CheckCompUni(" ", 0x24E5) +CheckCompUni(" ", 0x24E6) +CheckCompUni(" ", 0x24E7) +CheckCompUni(" ", 0x24E8) +CheckCompUni(" ", 0x24E9) +CheckCompUni(" ", 0x24EA) +CheckCompUni(" <0> ", 0x24EA) +CheckCompUni(" ", 0x266E) +CheckCompUni(" ", 0x2ADC) +CheckCompUni(" ", 0x301D) +CheckCompUni(" ", 0x301E) +CheckCompUni(" ", 0x3251) +CheckCompUni(" <1> ", 0x3251) +CheckCompUni(" ", 0x3251) +CheckCompUni(" <1> ", 0x3251) +CheckCompUni(" <2> ", 0x3251) +CheckCompUni(" <2> <1> ", 0x3251) +CheckCompUni(" ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> <2> ", 0x3252) +CheckCompUni(" ", 0x3253) +CheckCompUni(" <3> ", 0x3253) +CheckCompUni(" ", 0x3253) +CheckCompUni(" <3> ", 0x3253) +CheckCompUni(" <2> ", 0x3253) +CheckCompUni(" <2> <3> ", 0x3253) +CheckCompUni(" ", 0x3254) +CheckCompUni(" <4> ", 0x3254) +CheckCompUni(" ", 0x3254) +CheckCompUni(" <4> ", 0x3254) +CheckCompUni(" <2> ", 0x3254) +CheckCompUni(" <2> <4> ", 0x3254) +CheckCompUni(" ", 0x3255) +CheckCompUni(" <5> ", 0x3255) +CheckCompUni(" ", 0x3255) +CheckCompUni(" <5> ", 0x3255) +CheckCompUni(" <2> ", 0x3255) +CheckCompUni(" <2> <5> ", 0x3255) +CheckCompUni(" ", 0x3256) +CheckCompUni(" <6> ", 0x3256) +CheckCompUni(" ", 0x3256) +CheckCompUni(" <6> ", 0x3256) +CheckCompUni(" <2> ", 0x3256) +CheckCompUni(" <2> <6> ", 0x3256) +CheckCompUni(" ", 0x3257) +CheckCompUni(" <7> ", 0x3257) +CheckCompUni(" ", 0x3257) +CheckCompUni(" <7> ", 0x3257) +CheckCompUni(" <2> ", 0x3257) +CheckCompUni(" <2> <7> ", 0x3257) +CheckCompUni(" ", 0x3258) +CheckCompUni(" <8> ", 0x3258) +CheckCompUni(" ", 0x3258) +CheckCompUni(" <8> ", 0x3258) +CheckCompUni(" <2> ", 0x3258) +CheckCompUni(" <2> <8> ", 0x3258) +CheckCompUni(" ", 0x3259) +CheckCompUni(" <9> ", 0x3259) +CheckCompUni(" ", 0x3259) +CheckCompUni(" <9> ", 0x3259) +CheckCompUni(" <2> ", 0x3259) +CheckCompUni(" <2> <9> ", 0x3259) +CheckCompUni(" ", 0x325A) +CheckCompUni(" <0> ", 0x325A) +CheckCompUni(" <3> ", 0x325A) +CheckCompUni(" <3> <0> ", 0x325A) +CheckCompUni(" ", 0x325B) +CheckCompUni(" <1> ", 0x325B) +CheckCompUni(" <3> ", 0x325B) +CheckCompUni(" <3> <1> ", 0x325B) +CheckCompUni(" ", 0x325C) +CheckCompUni(" ", 0x325C) +CheckCompUni(" <2> ", 0x325C) +CheckCompUni(" <3> ", 0x325C) +CheckCompUni(" <3> ", 0x325C) +CheckCompUni(" <3> <2> ", 0x325C) +CheckCompUni(" ", 0x325D) +CheckCompUni(" <3> ", 0x325D) +CheckCompUni(" <3> ", 0x325D) +CheckCompUni(" <3> <3> ", 0x325D) +CheckCompUni(" ", 0x325E) +CheckCompUni(" <4> ", 0x325E) +CheckCompUni(" <3> ", 0x325E) +CheckCompUni(" <3> <4> ", 0x325E) +CheckCompUni(" ", 0x325F) +CheckCompUni(" <5> ", 0x325F) +CheckCompUni(" <3> ", 0x325F) +CheckCompUni(" <3> <5> ", 0x325F) +CheckCompUni(" ", 0x32B1) +CheckCompUni(" <6> ", 0x32B1) +CheckCompUni(" <3> ", 0x32B1) +CheckCompUni(" <3> <6> ", 0x32B1) +CheckCompUni(" ", 0x32B2) +CheckCompUni(" <7> ", 0x32B2) +CheckCompUni(" <3> ", 0x32B2) +CheckCompUni(" <3> <7> ", 0x32B2) +CheckCompUni(" ", 0x32B3) +CheckCompUni(" <8> ", 0x32B3) +CheckCompUni(" <3> ", 0x32B3) +CheckCompUni(" <3> <8> ", 0x32B3) +CheckCompUni(" ", 0x32B4) +CheckCompUni(" <9> ", 0x32B4) +CheckCompUni(" <3> ", 0x32B4) +CheckCompUni(" <3> <9> ", 0x32B4) +CheckCompUni(" ", 0x32B5) +CheckCompUni(" <0> ", 0x32B5) +CheckCompUni(" <4> ", 0x32B5) +CheckCompUni(" <4> <0> ", 0x32B5) +CheckCompUni(" ", 0x32B6) +CheckCompUni(" <1> ", 0x32B6) +CheckCompUni(" <4> ", 0x32B6) +CheckCompUni(" <4> <1> ", 0x32B6) +CheckCompUni(" ", 0x32B7) +CheckCompUni(" ", 0x32B7) +CheckCompUni(" <2> ", 0x32B7) +CheckCompUni(" <4> ", 0x32B7) +CheckCompUni(" <4> ", 0x32B7) +CheckCompUni(" <4> <2> ", 0x32B7) +CheckCompUni(" ", 0x32B8) +CheckCompUni(" <3> ", 0x32B8) +CheckCompUni(" <4> ", 0x32B8) +CheckCompUni(" <4> <3> ", 0x32B8) +CheckCompUni(" ", 0x32B9) +CheckCompUni(" <4> ", 0x32B9) +CheckCompUni(" <4> ", 0x32B9) +CheckCompUni(" <4> <4> ", 0x32B9) +CheckCompUni(" ", 0x32BA) +CheckCompUni(" <5> ", 0x32BA) +CheckCompUni(" <4> ", 0x32BA) +CheckCompUni(" <4> <5> ", 0x32BA) +CheckCompUni(" ", 0x32BB) +CheckCompUni(" <6> ", 0x32BB) +CheckCompUni(" <4> ", 0x32BB) +CheckCompUni(" <4> <6> ", 0x32BB) +CheckCompUni(" ", 0x32BC) +CheckCompUni(" <7> ", 0x32BC) +CheckCompUni(" <4> ", 0x32BC) +CheckCompUni(" <4> <7> ", 0x32BC) +CheckCompUni(" ", 0x32BD) +CheckCompUni(" <8> ", 0x32BD) +CheckCompUni(" <4> ", 0x32BD) +CheckCompUni(" <4> <8> ", 0x32BD) +CheckCompUni(" ", 0x32BE) +CheckCompUni(" <9> ", 0x32BE) +CheckCompUni(" <4> ", 0x32BE) +CheckCompUni(" <4> <9> ", 0x32BE) +CheckCompUni(" ", 0x32BF) +CheckCompUni(" <0> ", 0x32BF) +CheckCompUni(" <5> ", 0x32BF) +CheckCompUni(" <5> <0> ", 0x32BF) +CheckCompUni(" ", 0xDA) +CheckCompUni(" ", 0xDA) +CheckCompUni(" ", 0xFA) +CheckCompUni(" ", 0xFA) +CheckCompUni(" ", 0x16C) +CheckCompUni(" ", 0x16C) +CheckCompUni(" ", 0x16D) +CheckCompUni(" ", 0x16D) +CheckCompUni(" ", 0xDB) +CheckCompUni(" ", 0xFB) +CheckCompUni(" ", 0xDC) +CheckCompUni(" ", 0xFC) +CheckCompUni(" ", 0x170) +CheckCompUni(" ", 0x171) +CheckCompUni(" ", 0xD9) +CheckCompUni(" ", 0xF9) +CheckCompUni(" ", 0x16A) +CheckCompUni(" ", 0x16A) +CheckCompUni(" ", 0x16B) +CheckCompUni(" ", 0x16B) +CheckCompUni(" ", 0x172) +CheckCompUni(" ", 0x173) +CheckCompUni(" ", 0x16E) +CheckCompUni(" ", 0x16F) +CheckCompUni(" ", 0x168) +CheckCompUni(" ", 0x169) +CheckCompUni(" ", 0x20A9) +CheckCompUni(" ", 0x20A9) +CheckCompUni(" ", 0xDD) +CheckCompUni(" ", 0xDD) +CheckCompUni(" ", 0xFD) +CheckCompUni(" ", 0xFD) +CheckCompUni(" ", 0x178) +CheckCompUni(" ", 0xFF) +CheckCompUni(" ", 0xA5) +CheckCompUni(" ", 0xA5) +CheckCompUni(" ", 0x17B) +CheckCompUni(" ", 0x17C) +CheckCompUni(" ", 0x179) +CheckCompUni(" ", 0x179) +CheckCompUni(" ", 0x17A) +CheckCompUni(" ", 0x17A) +CheckCompUni(" ", 0x17D) +CheckCompUni(" ", 0x17E) +} diff --git a/windows/ahk-auslaufend/Source/Global-Part.ahk b/windows/ahk-auslaufend/Source/Global-Part.ahk new file mode 100644 index 0000000..03ef728 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Global-Part.ahk @@ -0,0 +1,339 @@ +/****************** +* Initialisierung * +******************* +*/ +DeadKey := "" +CompKey := "" +PriorDeadKey := "" +PriorCompKey := "" +Ebene12 = 0 +noCaps = 0 +isFurtherCompkey = 0 + +EbeneAktualisieren() +SetBatchLines -1 +SetCapsLockState Off +KeyboardLED(4, "off") +SetNumLockState Off +SetScrollLockState Off + +name=Neo 2.0 (%A_ScriptName%) ($Revision$) +enable=Aktiviere %name% +disable=Deaktiviere %name% +#usehook on +#singleinstance force +#LTrim ; Quelltext kann eingerckt werden +Process,Priority,,High +SendMode Input + +/**************** +* Verzeichnisse * +***************** +*/ +; Setzt den Pfad zu einem temporren Verzeichnis +EnvGet,WindowsEnvTempFolder,TEMP +ResourceFolder = %WindowsEnvTempFolder%\NEO2 +FileCreateDir,%ResourceFolder% + +; Setzt den Pfad zu den NEO-Anwendungsdateien +EnvGet,WindowsEnvAppDataFolder,APPDATA +ApplicationFolder = %WindowsEnvAppDataFolder%\NEO2 +FileCreateDir,%ApplicationFolder% +ini = %ApplicationFolder%\NEO2.ini + +/******************* +* Globale Schalter * +******************** +*/ +; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0: + +; Sollen die Bilder fr die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? +; (Nachteil: grssere Dateigrsse, Vorteil: Referenz fr Anfnger stets einfach verfgbar) +bildschirmTastaturEinbinden := 1 + +; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue] + +; Soll der Treiber im Einhandmodus betrieben werden? +IniRead,einHandNeo,%ini%,Global,einHandNeo,0 + +; Soll der Lernmodus aktiviert werden? +IniRead,lernModus,%ini%,Global,lernModus,0 + +; Soll mit einer MsgBox explizit auf das Ein- und Ausschalten des Mod4-Locks hingewiesen werden? +IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1 + +; Soll aktivierter Mod4-Lock ber die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)? +IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1 + +; Soll Lang-s auf s, s auf und auf Lang-s gelegt (bzw. vertauscht) werden? +IniRead,LangSTastatur,%ini%,Global,LangSTastatur,0 +If LangSTastatur + KeyboardLED(2,"on") + +; Sollen tote Tasten blind angezeigt werden? +IniRead,DeadSilence,%ini%,Global,DeadSilence,1 + +;Sollen Compose-Tasten blind angezeigt werden? +IniRead,DeadCompose,%ini%,Global,DeadCompose,1 + +;Soll der Mod2Lock auch auf die Akzente, die Ziffernreihe und das Numpad angewandt werden? +IniRead,striktesMod2Lock,%ini%,Global,striktesMod2Lock,0 + +/*********************** +* Resourcen-Verwaltung * +************************ +*/ +if (FileExist("ResourceFolder") <> false) { + ; Versuche, alle mglicherweise in die EXE eingebundenen Dateien zu extrahieren + FileInstall,neo.ico,%ResourceFolder%\neo.ico,1 + FileInstall,neo_disabled.ico,%ResourceFolder%\neo_disabled.ico,1 + iconBenutzen=1 + if (bildschirmTastaturEinbinden = 1) { + FileInstall,ebene1.png,%ResourceFolder%\ebene1.png,1 + FileInstall,ebene2.png,%ResourceFolder%\ebene2.png,1 + FileInstall,ebene3.png,%ResourceFolder%\ebene3.png,1 + FileInstall,ebene4.png,%ResourceFolder%\ebene4.png,1 + FileInstall,ebene5.png,%ResourceFolder%\ebene5.png,1 + FileInstall,ebene6.png,%ResourceFolder%\ebene6.png,1 + zeigeBildschirmTastatur = 1 + } +} + +; Benutze die Dateien auch dann, wenn sie eventuell im aktuellen Verzeichnis vorhanden sind +if (FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png")) + zeigeBildschirmTastatur = 1 +if (FileExist("neo.ico")&&FileExist("neo_disabled.ico")) + iconBenutzen=1 + +/******************************************* +* berprfung auf deutsches Tastaturlayout * +******************************************** +*/ +regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1 +regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale% +if (inputlocalealias<>inputlocale=%inputlocalealias% and inputlocale<>00000407) { + suspend + regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text + msgbox, 48, Warnung!, + ( + Nicht kompatibles Tastaturlayout: + `t%inputlocale% + `nDas deutsche QWERTZ muss als Standardlayout eingestellt + sein, damit %name% wie erwartet funktioniert. + `nndern Sie die Tastatureinstellung unter + `tSystemsteuerung + `t-> Regions- und Sprachoptionen + `t-> Sprachen + `t-> Details... `n + ) + exitapp +} + +/************************* +* Men des Systray-Icons * +************************** +*/ +if (iconBenutzen) + menu,tray,icon,%ResourceFolder%\neo.ico,,1 +menu,tray,nostandard +menu,tray,add,ffnen,open + menu,helpmenu,add,About,about + menu,helpmenu,add,Autohotkey-Hilfe,help + menu,helpmenu,add + menu,helpmenu,add,http://autohotkey.com/,autohotkey + menu,helpmenu,add,http://www.neo-layout.org/,neo +menu,tray,add,Hilfe,:helpmenu +menu,tray,add +menu,tray,add,%disable%,togglesuspend +menu,tray,add +menu,tray,add,Bearbeiten,edit +menu,tray,add,Neu Laden,reload +menu,tray,add +menu,tray,add,Nicht im Systray anzeigen,hide +menu,tray,add,%name% beenden,exitprogram +menu,tray,default,%disable% +menu,tray,tip,%name% + +/************************** +* lernModus Konfiguration * +* nur relevant wenn * +* lernModus = 1 * +* Strg+Komma schaltet um * +*************************** +*/ +; 0 = aus, 1 = an + +; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden. +lernModus_std_Return = 0 +lernModus_std_Backspace = 0 +lernModus_std_PgUp = 0 +lernModus_std_PgDn = 0 +lernModus_std_Einf = 0 +lernModus_std_Entf = 0 +lernModus_std_Pos0 = 0 +lernModus_std_Ende = 0 +lernModus_std_Hoch = 0 +lernModus_std_Runter = 0 +lernModus_std_Links = 0 +lernModus_std_Rechts = 0 +lernModus_std_ZahlenReihe = 0 + +; im folgenden kann man auch noch ein paar Tasten der 4. Ebene deaktivieren +; ntzlich um sich zu zwingen, richtig zu schreiben +lernModus_neo_Backspace = 0 +lernModus_neo_Entf = 1 + +/**************************** +* EinHandNeo * +* Umschalten mit Strg+Punkt * +***************************** +*/ +spacepressed := 0 +keypressed := 0 + +; Reihe 1 +gespiegelt_7 = neo_6 +gespiegelt_8 = neo_5 +gespiegelt_9 = neo_4 +gespiegelt_0 = neo_3 +gespiegelt_strich = neo_2 +gespiegelt_tot2 = neo_1 + +; Reihe 2 +gespiegelt_k = neo_w +gespiegelt_h = neo_c +gespiegelt_g = neo_l +gespiegelt_f = neo_v +gespiegelt_q = neo_x +gespiegelt_sz = neo_tab +gespiegelt_tot3 = neo_tot1 + +; Reihe 3 +gespiegelt_s = neo_o +gespiegelt_n = neo_e +gespiegelt_r = neo_a +gespiegelt_t = neo_i +gespiegelt_d = neo_u + +; Reihe 4 +gespiegelt_b = neo_z +gespiegelt_m = neo_p +gespiegelt_komma = neo_ +gespiegelt_punkt = neo_ +gespiegelt_j = neo_ + +/********************** +* Tastenkombinationen * +*********************** +*/ +;Blinde/Sichtbare Tote Tasten +*F9:: + if isMod4pressed() + DeadSilence := !DeadSilence + else send {blind}{F9} +return + +;Blinde/Sichtbare Compose +*F10:: + if isMod4pressed() + DeadCompose := !DeadCompose + else send {blind}{F10} +return + +;Lang-s-Tastatur: +*F11:: + if isMod4pressed() { + LangSTastatur := !LangSTastatur + if LangSTastatur + KeyboardLED(2,"on") + else KeyboardLED(2,"off") + } else send {blind}{F11} +return + +;Alle Modi und Locks in den Normalzustand versetzen, bzw. Skript neu laden: +*Esc:: + if isMod4pressed() + reload + else send {blind}{Esc} +return + +*pause:: +Suspend, Permit + if isShiftpressed() + goto togglesuspend + else send {blind}{pause} +return + +^,::lernModus := !lernModus + +^.::einHandNeo := !einHandNeo + +/***************** +* Menfunktionen * +****************** +*/ +togglesuspend: + if A_IsSuspended { + menu,tray,rename,%enable%,%disable% + menu,tray,tip,%name% + if (iconBenutzen) + menu,tray,icon,%ResourceFolder%\neo.ico,,1 + suspend,off ; Schaltet Suspend aus -> NEO + } else { + menu,tray,rename,%disable%, %enable% + menu,tray,tip,%name% : Deaktiviert + if (iconBenutzen) + menu,tray,icon, %ResourceFolder%\neo_disabled.ico,,1 + suspend,on ; Schaltet Suspend ein -> QWERTZ + } return + +help: + Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm +return + +about: + msgbox, 64, %name% Ergonomische Tastaturbelegung, + ( + %name% + `nDas Neo-Layout ersetzt das bliche deutsche + Tastaturlayout mit der Alternative Neo, + beschrieben auf http://neo-layout.org/. + `nDazu sind keine Administratorrechte ntig. + `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke + abgefangen und statt dessen eine bersetzung weitergeschickt. + `nDies geschieht transparent fr den Anwender, + es muss nichts installiert werden. + `nDie Zeichenbersetzung kann leicht ber das Icon im + Systemtray deaktiviert werden. `n + ) +return + +neo: + run http://neo-layout.org/ +return + +autohotkey: + run http://autohotkey.com/ +return + +open: + ListLines ; shows the Autohotkey window +return + +edit: + edit +return + +reload: + Reload +return + +hide: + menu, tray, noicon +return + +exitprogram: + exitapp +return + + diff --git a/windows/ahk-auslaufend/Source/Keys-DeadKeys.ahk b/windows/ahk-auslaufend/Source/Keys-DeadKeys.ahk new file mode 100644 index 0000000..6a8a697 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-DeadKeys.ahk @@ -0,0 +1,76 @@ +neo_tot1: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("c1",0x0302) ; Zirkumflex, tot + + deadUni(0x02C6, "dead_circumflex", "c1") + + else if (Ebene = 2) and !CheckDeadUni("c2",0x0303) ; Tilde, tot + + deadUni(0x02DC, "dead_tilde", "c2") + + else if (Ebene = 3) and !CheckDeadUni("c3",0x030A) ; Ring, tot + + deadUni(0x02DA, "dead_breve", "c3") + + else if (Ebene = 4) and !CheckDeadUni("c4",0x030C) ; Caron, tot + + deadUni(0x02C7, "dead_caron", "c4") + + else if (Ebene = 5) and !CheckDeadUni("c5",0x0306) ; Brevis, tot + + deadUni(0x02D8, "dead_breve", "c5") + + else if (Ebene = 6) and !CheckDeadUni("c6",0x0304) ; Makron, tot + + deadAsc("", "dead_macron", "c6") +return + +neo_tot2: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("g1",0x0300) ; Gravis, tot + + deadAsc("``{space}", "dead_grave", "g1") + + else if (Ebene = 3) and !CheckDeadUni("g3",0x0308) ; Direse, tot + + deadUni(0x00A8, "dead_diaeresis", "g3") + + else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot + + deadUni(0x02F5, "dead_doublegrave", "g4") + + else if (Ebene = 5) and !CheckDeadUni("g5",0x0485) ; Spiritus asper, tot + + deadUni(0x1FFE, "U1FFE", "g5") +return + +neo_tot3: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("a1",0x0301) ; Akut, tot + + deadAsc("{}{space}", "dead_acute", "a1") + + else if (Ebene = 2) and !CheckDeadUni("a2",0x0327) ; Cedille, tot + + deadAsc("", "dead_cedilla", "a2") + + else if (Ebene = 3) and !CheckDeadUni("a3",0x0337) ; Strich, tot + + deadUni(0x002F, "dead_stroke", "a3") + + else if (Ebene = 4) and !CheckDeadUni("a4",0x0338) ; Doppelakut, tot + + deadUni(0x02DD, "dead_doubleacute", "a4") + + else if (Ebene = 5) and !CheckDeadUni("a5",0x0486) ; Spiritus lenis, tot + + deadUni(0x1FBF, "U1FBF", "a5") + + else if (Ebene = 6) and !CheckDeadUni("a6",0x0307) ; Punkt darber, tot + + deadUni(0x02D9, "dead_abovedot", "a6") +return + diff --git a/windows/ahk-auslaufend/Source/Keys-Neo.ahk b/windows/ahk-auslaufend/Source/Keys-Neo.ahk new file mode 100644 index 0000000..cd610e7 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-Neo.ahk @@ -0,0 +1,544 @@ +neo_a: + EbeneAktualisieren() + if (((Ebene = 2) and !(CheckDeadUni("a5g1",0x1F02) + or CheckDeadUni("g5g1",0x1F03))) + or (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) + or CheckDeadUni12("c2",0x00E3,0x00C3) + or CheckDeadAsc12("c3","","") + or CheckDeadUni12("c4",0x01CE,0x01CD) + or CheckDeadUni12("c5",0x0103,0x0102) + or CheckDeadUni12("c6",0x0101,0x0100) + or CheckDeadUni12("g1",0x00E0,0x00C0) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0201,0x0200) + or CheckDeadUni12("a1",0x00E1,0x00C1) + or CheckDeadUni12("a2",0x0105,0x0104) + or CheckDeadUni12("a3",0x2C65,0x023A) + or CheckDeadUni12("a6",0x0227,0x0226)))) + OutputChar12("a","A","a","A") + else if (Ebene = 3) + OutputChar("{{}", "braceleft") + else if (Ebene = 4) + OutputChar("{Down}", "Down") + else if (Ebene = 5 and !(CheckDeadUni("c1",0x1FB6) + or CheckDeadUni("c5",0x1FB0) + or CheckDeadUni("c6",0x1FB1) + or CheckDeadUni("g1",0x1F70) + or CheckDeadUni("g5",0x1F01) + or CheckDeadUni("a1",0x03AC) + or CheckDeadUni("a2",0x1FB3) + or CheckDeadUni("a5",0x1F00))) + SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha + else if (Ebene = 6) + SendUnicodeChar(0x2200, "U2200") ; fr alle +return + +neo_b: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x1E07,0x1E06) + or CheckDeadUni12("a6",0x1E03,0x1E02))) + OutputChar12("b","B","b","B") + else if (Ebene = 3) + if isMod2Locked + OutputChar("{Shift Up}{+}{Shift down}", "plus") + else OutputChar("{blind}{+}", "plus") + else if (Ebene = 4) + OutputChar(":", "colon") + else if (Ebene = 5) + SendUnicodeChar(0x03B2, "Greek_beta") ; beta + else if (Ebene = 6) + SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links +return + +neo_c: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0109,0x0108) + or CheckDeadUni12("c4",0x010D,0x010C) + or CheckDeadUni12("a1",0x0107,0x0106) + or CheckDeadUni12("a2",0x00E7,0x00E6) + or CheckDeadUni12("a6",0x010B,0x010A))) + OutputChar12("c","C","c","C") + else if (Ebene = 3) + OutputChar("]", "bracketright") + else if (Ebene = 4) and (!lernModus or lernModus_neo_Entf) + OutputChar("{Del}", "Delete") + else if (Ebene = 5) + SendUnicodeChar(0x03C7, "Greek_chi") ; chi + else if (Ebene = 6) + SendUnicodeChar(0x2102, "U2102") ; C (Komplexe Zahlen)] +return + +neo_d: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x1E13,0x1E12) + or CheckDeadUni( "c2",0x1D6D) + or CheckDeadUni12("c4",0x010F,0x010E) + or CheckDeadUni12("g3",0x1E0D,0x1E0C) + or CheckDeadUni12("a1",0x00F0,0x00D0) + or CheckDeadUni12("a2",0x1E11,0x1E10) + or CheckDeadUni12("a3",0x0111,0x0110) + or CheckDeadUni12("a6",0x1E0B,0x1E0A))) + OutputChar12("d","D","d","D") + else if (Ebene = 3) + OutputChar(":", "colon") + else if (Ebene = 4) + OutputChar("{NumpadDot}", "comma") + else if (Ebene = 5) + SendUnicodeChar(0x03B4, "Greek_delta") ; delta + else if (Ebene = 6) + SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta +return + +neo_e: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00EA,0x00CA) + or CheckDeadUni12("c2",0x1EBD,0x1EBC) + or CheckDeadUni12("c4",0x011B,0x011A) + or CheckDeadUni12("c5",0x0115,0x0114) + or CheckDeadUni12("c6",0x0113,0x0112) + or CheckDeadUni12("g1",0x00E8,0x00C8) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0205,0x0204) + or CheckDeadUni12("a1",0x00E9,0x00C9) + or CheckDeadUni12("a2",0x0119,0x0118) + or CheckDeadUni12("a6",0x0117,0x0116))) + OutputChar12("e","E","e","E") + else if (Ebene = 3) + OutputChar("{}}", "braceright") + else if (Ebene = 4) + OutputChar("{Right}", "Right") + else if (Ebene = 5) + SendUnicodeChar(0x03B5, "Greek_epsilon") ; epsilon + else if (Ebene = 6) + SendUnicodeChar(0x2203, "U2203") ; es existiert +return + +neo_f: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E1F,0x1E1E))) + OutputChar12("f","F","f","F") + else if ((Ebene = 3) and !(CheckDeadUni("c1",0x2259) ; entspricht + or CheckDeadUni("c2",0x2245) ; ungefhr gleich + or CheckDeadUni("c3",0x2257) ; ring equal to + or CheckDeadUni("c4",0x225A) ; EQUIANGULAR TO + or CheckDeadUni("c6",0x2261) ; identisch + or CheckDeadUni("a3",0x2260))) ; ungleich + OutputChar("`=", "equal") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) + or CheckDeadUni("a3",0x2089))) + OutputChar("{Numpad9}", "KP_9") + else if (Ebene = 5) + SendUnicodeChar(0x03C6, "Greek_phi") ; phi + else if (Ebene = 6) + SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi +return + +neo_g: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x011D,0x011C) + or CheckDeadUni12("c5",0x011F,0x011E) + or CheckDeadUni12("a2",0x0123,0x0122) + or CheckDeadUni12("a6",0x0121,0x0120))) + OutputChar12("g","G","g","G") + else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2265))) ; grer gleich + OutputChar(">", "greater") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) + or CheckDeadUni("a3",0x2088))) + OutputChar("{Numpad8}", "KP_8") + else if (Ebene = 5) + SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma + else if (Ebene = 6) + SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma +return + +neo_h: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0125,0x0124) + or CheckDeadUni12("a3",0x0127,0x0126) + or CheckDeadUni12("a6",0x1E23,0x1E22))) + OutputChar12("h","H","h","H") + else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2264))) ; kleiner gleich + OutputChar("<", "less") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) + or CheckDeadUni("a3",0x2087))) + OutputChar("{Numpad7}", "KP_7") + else if (Ebene = 5) + SendUnicodeChar(0x03C8, "Greek_psi") ; psi + else if (Ebene = 6) + SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi +return + +neo_i: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00EE,0x00CE) + or CheckDeadUni12("c2",0x0129,0x0128) + or CheckDeadUni12("c4",0x01D0,0x01CF) + or CheckDeadUni12("c5",0x012D,0x012C) + or CheckDeadUni12("c6",0x012B,0x012A) + or CheckDeadUni12("g1",0x00EC,0x00CC) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0209,0x0208) + or CheckDeadUni12("a1",0x00ED,0x00CD) + or CheckDeadUni12("a2",0x012F,0x012E) + or CheckDeadUni12("a3",0x0268,0x0197) + or CheckDeadUni12("a6",0x0131,0x0130))) + OutputChar12("i","I","i","I") + else if (Ebene = 3) + OutputChar("`/", "slash") + else if (Ebene = 4) + OutputChar("{Left}", "Left") + else if (Ebene = 5) + SendUnicodeChar(0x03B9, "Greek_iota") ; iota + else if (Ebene = 6) + SendUnicodeChar(0x222B, "integral") ; integral +return + +neo_j: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) + or CheckDeadUni( "c4",0x01F0) + or CheckDeadUni12("a3",0x0249,0x0248))) + OutputChar12("j","J","j","J") + else if (Ebene = 3) + OutputChar("`;", "semicolon") + else if (Ebene = 4) + OutputChar("`;", "semicolon") + else if (Ebene = 5) + SendUnicodeChar(0x03B8, "Greek_theta") ; theta + else if (Ebene = 6) + SendUnicodeChar(0x221D, "variation") ; proportional +return + +neo_k: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a2",0x0137,0x0136) + or CheckDeadUni12("a6",0x1E33,0x1E32))) + OutputChar12("k","K","k","K") + else if (Ebene = 3) + OutputChar("{!}", "exclam") + else if (Ebene = 4) + OutputChar("", "exclamdown") + else if (Ebene = 5) + SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa) + else if (Ebene = 6) + SendUnicodeChar(0x221A, "radical") ; Wurzel +return + +neo_l: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c4",0x013E,0x013D) + or CheckDeadUni12("a1",0x013A,0x0139) + or CheckDeadUni12("a2",0x013C,0x013B) + or CheckDeadUni12("a3",0x0142,0x0141) + or CheckDeadUni12("a6",0x1E37,0x1E36))) + OutputChar12("l","L","l","L") + else if (Ebene = 3) + OutputChar("[", "bracketleft") + else if (Ebene = 4) + OutputChar("{Up}", "Up") + else if (Ebene = 5) + SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda + else if (Ebene = 6) + SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda +return + +neo_m: + EbeneAktualisieren() + if (Ebene12 and !CheckDeadUni12("a6",0x1E41,0x1E40)) + OutputChar12("m","M","m","M") + else if (Ebene = 3) + OutputChar("`%", "percent") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) + or CheckDeadUni("a3",0x2081))) + OutputChar("{Numpad1}", "KP_1") + else if (Ebene = 5) + SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro wre 0x00B5 + else if (Ebene = 6) + SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn) +return + +neo_n: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c2",0x00F1,0x00D1) + or CheckDeadUni12("c4",0x0148,0x0147) + or CheckDeadUni12("a1",0x0144,0x0143) + or CheckDeadUni12("a2",0x0146,0x0145) + or CheckDeadUni12("a6",0x1E45,0x1E44))) + OutputChar12("n","N","n","N") + else if (Ebene = 3) + OutputChar("(", "parenleft") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) + or CheckDeadUni("a3",0x2084))) + OutputChar("{Numpad4}", "KP_4") + else if (Ebene = 5) + SendUnicodeChar(0x03BD, "Greek_nu") ; nu + else if (Ebene = 6) + SendUnicodeChar(0x2115, "U2115") ; N (natrliche Zahlen) +return + +neo_o: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00F4,0x00D4) + or CheckDeadUni12("c2",0x00F5,0x00D5) + or CheckDeadUni12("c4",0x01D2,0x01D1) + or CheckDeadUni12("c5",0x014F,0x014E) + or CheckDeadUni12("c6",0x014D,0x014C) + or CheckDeadUni12("g1",0x00F2,0x00D2) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00F3,0x00D3) + or CheckDeadUni12("a2",0x01EB,0x01EA) + or CheckDeadUni12("a3",0x00F8,0x00D8) + or CheckDeadUni12("a4",0x0151,0x0150))) + OutputChar12("o","O","o","O") + else if (Ebene = 3) + OutputChar("*", "asterisk") + else if (Ebene = 4) + OutputChar("{End}", "End") + else if (Ebene = 5) + SendUnicodeChar(0x03BF, "Greek_omicron") ; omicron + else if (Ebene = 6) + SendUnicodeChar(0x2208, "elementof") ; element of +return + +neo_p: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E57,0x1E56))) + OutputChar12("p","P","p","P") + else if ((Ebene = 3) and !(CheckDeadUni("c2",0x2248))) + OutputChar("~", "asciitilde") + else if (Ebene = 4) + OutputChar("{Enter}", "Return") + else if (Ebene = 5) + SendUnicodeChar(0x03C0, "Greek_pi") ; pi + else if (Ebene = 6) + SendUnicodeChar(0x03A0, "Greek_PI") ; Pi +return + +neo_q: + EbeneAktualisieren() + if (Ebene12) + OutputChar12("q","Q","q","Q") + else if (Ebene = 3) + OutputChar("{&}", "ampersand") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) + or CheckDeadUni("a3",0x208A))) + OutputChar("{NumPadAdd}", "KP_Add") + else if (Ebene = 5) + SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) + else if (Ebene = 6) + SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen) +return + +neo_r: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c4",0x0159,0x0158) + or CheckDeadUni12("g3",0x1E5B,0x1E5A) + or CheckDeadUni12("a1",0x0155,0x0154) + or CheckDeadUni12("a2",0x0157,0x0156) + or CheckDeadUni12("a6",0x0E59,0x0E58))) + OutputChar12("r","R","r","R") + else if (Ebene = 3) + OutputChar(")", "parenright") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) + or CheckDeadUni("a3",0x2085))) + OutputChar("{Numpad5}", "KP_5") + else if (Ebene = 5) + SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho) + else if (Ebene = 6) + SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen) +return + +neo_s: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) + or CheckDeadUni12("a2",0x015F,0x015E) + or CheckDeadUni12("a6",0x1E61,0x1E60) + or CheckDeadUni12("c1",0x015D,0x015C) + or CheckDeadUni12("c4",0x0161,0x0160) + or CheckDeadUni12("a6",0x1E63,0x1A62))) { + if (LangSTastatur and (Ebene = 1)) + SendUnicodeChar(0x017F, "17F") ; langes s + else OutputChar12("s","S","s","S") + } else if (Ebene = 3) + OutputChar("?", "question") + else if (Ebene = 4) + OutputChar("", "questiondown") + else if (Ebene = 5) + SendUnicodeChar(0x03C3, "Greek_sigma") ;sigma + else if (Ebene = 6) + SendUnicodeChar(0x03A3, "Greek_SIGMA") ;Sigma +return + +neo_t: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a2",0x0163,0x0162) + or CheckDeadUni12("a6",0x1E6B,0x1E6A) + or CheckDeadUni12("c4",0x0165,0x0164) + or CheckDeadUni( "g3",0x1E97))) + OutputChar12("t","T","t","T") + else if (Ebene = 3) + OutputChar("-", "minus") ; Bisstrich + else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076) + or CheckDeadUni("c5",0x2086)) + OutputChar("{Numpad6}", "KP_6") + else if (Ebene = 5) + SendUnicodeChar(0x03C4, "Greek_tau") ; tau + else if (Ebene = 6) + SendUnicodeChar(0x2202, "partialderivative") ; partielle Ableitung +return + +neo_u: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00FB,0x00DB) + or CheckDeadUni12("c2",0x0169,0x0168) + or CheckDeadUni12("c3",0x016F,0x016E) + or CheckDeadUni12("c4",0x01D4,0x01D3) + or CheckDeadUni12("c5",0x016D,0x016C) + or CheckDeadUni12("c6",0x016B,0x016A) + or CheckDeadUni12("g1",0x00F9,0x00D9) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00FA,0x00DA) + or CheckDeadUni12("a2",0x0173,0x0172) + or CheckDeadUni12("a4",0x0171,0x0170))) + OutputChar12("u","U","u","U") + else if (Ebene = 3) + OutputChar("\", "backslash") + else if (Ebene = 4) + OutputChar("{Home}", "Home") + else if (Ebene = 6) + SendUnicodeChar(0x222E, "U222E") ; contour integral +return + +neo_v: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E7F,0x1E7E))) + OutputChar12("v","V","v","V") + else if (Ebene = 3) + OutputChar("_","underscore") + else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) + OutputChar("{Backspace}", "BackSpace") + else if (Ebene = 6) + SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht +return + +neo_w: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) + OutputChar12("w","W","w","W") + else if (Ebene = 3) + OutputChar("{^}{space}", "asciicircum") ; Zirkumflex + else if (Ebene = 4) + OutputChar("{Insert}", "Insert") ; Einfg + else if (Ebene = 5) + SendUnicodeChar(0x03C9, "Greek_omega") ; omega + else if (Ebene = 6) + SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega +return + +neo_x: + EbeneAktualisieren() + if Ebene12 + OutputChar12("x","X","x","X") + else if (Ebene = 3) + OutputChar("", "ellipsis") ; Ellipse horizontal + else if (Ebene = 4) + SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal + else if (Ebene = 5) + SendUnicodeChar(0x03BE, "Greek_xi") ; xi + else if (Ebene = 6) + SendUnicodeChar(0x039E, "Greek_XI") ; Xi +return + +neo_y: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00FD,0x00DD))) + OutputChar12("y","Y","y","Y") + else if (Ebene = 3) + OutputChar("@", "at") + else if (Ebene = 4) + OutputChar(".", "period") + else if (Ebene = 5) + SendUnicodeChar(0x03C5, "Greek_upsilon") ; upsilon + else if (Ebene = 6) + SendUnicodeChar(0x2207, "nabla") ; nabla +return + +neo_z: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) + or CheckDeadUni12("a6",0x017C,0x017B) + or CheckDeadUni12("c4",0x017E,0x017D))) + OutputChar12("z","Z","z","Z") + else if (Ebene = 3) + OutputChar("``{space}", "grave") ; untot + else if (Ebene = 4) + send {Ctrl down}z{Ctrl up} + else if (Ebene = 5) + SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta + else if (Ebene = 6) + SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen) +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x01DF,0x01DE))) + OutputChar12("","","adiaeresis","Adiaeresis") + else if (Ebene = 3) + OutputChar("|", "bar") + else if (Ebene = 4) + OutputChar("{PgDn}", "Next") + else if (Ebene = 5) + SendUnicodeChar(0x03B7, "Greek_eta") ; eta + else if (Ebene = 6) + SendUnicodeChar(0x2135, "U2135") ; Kardinalzahlen, Aleph-Symbol +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x022B,0x022A))) + OutputChar12("","","odiaeresis","Odiaeresis") + else if (Ebene = 3) + OutputChar("$", "dollar") + else if (Ebene = 4) + OutputChar("{Tab}", "Tab") + else if (Ebene = 6) + SendUnicodeChar(0x2111, "U2221") ; Fraktur I +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) + or CheckDeadUni12("g1",0x01DC,0x01DB) + or CheckDeadUni12("c4",0x01DA,0x01D9) + or CheckDeadUni12("c6",0x01D6,0x01D5))) + OutputChar12("","","udiaeresis","Udiaeresis") + else if (Ebene = 3) + if isMod2Locked + OutputChar("{Shift Up}{#}", "numbersign") + else OutputChar("{blind}{#}", "numbersign") + else if (Ebene = 4) + OutputChar("{Esc}", "Escape") + else if (Ebene = 6) + SendUnicodeChar(0x211C, "U221C") ; Fraktur R +return + +neo_sz: + EbeneAktualisieren() + if (Ebene = 1) + if LangSTastatur + OutputChar("s", "s") + else OutputChar("", "ssharp") + else if (Ebene = 2) + SendUnicodeChar(0x1E9E, "U1E9E") ; versal- + else if (Ebene = 3) + if LangSTastatur + OutputChar("", "ssharp") + else SendUnicodeChar(0x017F, "17F") ; langes s + else if (Ebene = 5) + SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma + else if (Ebene = 6) + SendUnicodeChar(0x2218, "jot") ; Verknpfungsoperator +return + diff --git a/windows/ahk-auslaufend/Source/Keys-NumPad.ahk b/windows/ahk-auslaufend/Source/Keys-NumPad.ahk new file mode 100644 index 0000000..5f85a27 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-NumPad.ahk @@ -0,0 +1,250 @@ +neo_Numpad0: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad0}", "KP_0") + else if (Ebene = 2) + SendUnicodeChar(0x2423, "U2423") ; space sign + else if (Ebene = 3) + SendUnicodeChar(0x0025, "percent") ; Prozent + else if (Ebene = 4) + send {blind}{NumpadIns} + else if (Ebene = 5) + OutputChar("", "U2030") ; Promille + else if (Ebene = 6) + SendUnicodeChar(0x25A1, "U25A1") ; white square +return + +neo_Numpad1: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad1}", "KP_1") + else if (Ebene = 2) + SendUnicodeChar(0x2666, "diamond") ; Karo + else if (Ebene = 3) + SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil + else if (Ebene = 4) + send {blind}{NumpadEnd} + else if (Ebene = 5) + SendUnicodeChar(0x2264, "lessthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze +return + +neo_Numpad2: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad2}", "KP_2") + else if (Ebene = 2) + SendUnicodeChar(0x2265, "heart") + else if (Ebene = 3) + SendUnicodeChar(0x2192, "downarrow") + else if (Ebene = 4) + send {blind}{NumpadDown} + else if (Ebene = 5) + SendUnicodeChar(0x222A, "union") ; Vereinigung + else if (Ebene = 6) + SendUnicodeChar(0x22C3, "U22C3") ; n-ary union +return + +neo_Numpad3: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad3}", "KP_3") + else if (Ebene = 2) + SendUnicodeChar(0x2660, "U2660") ; Pik + else if (Ebene = 3) + SendUnicodeChar(0x21CC, "U21CC") ; Harpune + else if (Ebene = 4) + send {blind}{NumpadPgDn} + else if (Ebene = 5) + SendUnicodeChar(0x2265, "greaterthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze +return + +neo_Numpad4: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad4}", "KP_4") + else if (Ebene = 2) + SendUnicodeChar(0x2663, "club") ; schwarzes Kreuz + else if (Ebene = 3) + SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil + else if (Ebene = 4) + send {blind}{NumpadLeft} + else if (Ebene = 5) + SendUnicodeChar(0x2282, "includein") ; Teilmenge + else if (Ebene = 6) + SendUnicodeChar(0x2286, "U2286") ; Teilmenge-gleich +return + +neo_Numpad5: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad5}", "KP_5") + else if (Ebene = 2) + SendUnicodeChar(0x20AC, "EuroSign") ; Euro + else if (Ebene = 3) + SendUnicodeChar(0x00A6, "brokenbar") + else if (Ebene = 4) + send {blind}{NumPadClear} ; begin + else if (Ebene = 5) + SendUnicodeChar(0x22B6, "U22B6") ; original of + else if (Ebene = 6) + SendUnicodeChar(0x22B7, "U22B7") ; image of +return + +neo_Numpad6: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad6}", "KP_6") + else if (Ebene = 3) + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil + else if (Ebene = 4) + send {blind}{NumpadRight} + else if (Ebene = 5) + SendUnicodeChar(0x2283, "includes") ; Obermenge + else if (Ebene = 6) + SendUnicodeChar(0x2287, "U2287") ; Obermenge-gleich +return + +neo_Numpad7: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad7}", "KP_7") + else if (Ebene = 2) + SendUnicodeChar(0x2714, "U2714") ; check mark + else if (Ebene = 3) + SendUnicodeChar(0x2195, "U2195") ; Hoch-Runter-Pfeil + else if (Ebene = 4) + send {blind}{NumpadHome} + else if (Ebene = 5) + SendUnicodeChar(0x226A, "U226A") ; much less + else if (Ebene = 6) + SendUnicodeChar(0x2308, "upstile") ; linke Obergrenze +return + +neo_Numpad8: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad8}", "KP_8") + else if (Ebene = 2) + SendUnicodeChar(0x2718, "U2718") ; ballot x + else if (Ebene = 3) + SendUnicodeChar(0x2191, "uparrow") ; Hochpfeil + else if (Ebene = 4) + send {blind}{NumpadUp} + else if (Ebene = 5) + SendUnicodeChar(0x2229, "intersection") ; Durchschnitt + else if (Ebene = 6) + SendUnicodeChar(0x22C2, "U22C2") ; n-ary intersection +return + +neo_Numpad9: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad9}", "KP_9") + else if (Ebene = 2) + SendUnicodeChar(0x2020, "dagger") ; Kreuz + else if (Ebene = 3) + SendUnicodeChar(0x20D7, "U20D7") ; Vektor + else if (Ebene = 4) + send {blind}{NumpadPgUp} + else if (Ebene = 5) + SendUnicodeChar(0x226B, "U226B") ; much greater + else if (Ebene = 6) + SendUnicodeChar(0x2309, "U2309") ; rechte Obergrenze +return + +neo_NumLock: + EbeneAktualisieren() + if Ebene12 + OutputChar("{Tab}", "Tab") + else if (Ebene = 3) + OutputChar("`=", "equal") + else if (Ebene = 4) + SendUnicodeChar(0x2260, "notequal") ; Ungleich zu + else if (Ebene = 5) + SendUnicodeChar(0x2248, "approxeq") ; Fast gleich + else if (Ebene = 6) + SendUnicodeChar(0x2261, "identical") +return + +neo_NumpadDiv: + EbeneAktualisieren() + if Ebene12 + OutputChar("{NumpadDiv}", "KP_Divide") + else if (Ebene = 3) + OutputChar("", "division") + else if (Ebene = 4) + SendUnicodeChar(0x2300, "U2300") ; diameter + else if (Ebene = 5) + SendUnicodeChar(0x2223, "U2223") ; divides + else if (Ebene = 6) + SendUnicodeChar(0x2044, "U2044") ; fraction slash +return + +neo_NumpadMult: + EbeneAktualisieren() + if Ebene12 + send {blind}{NumpadMult} + else if (Ebene = 3) + SendUnicodeChar(0x22C5, "U22C5") ; multiplication dot + else if (Ebene = 4) + SendUnicodeChar(0x2299, "U2299") ; circled dot + else if (Ebene = 5) + OutputChar("", "multiply") + else if (Ebene = 6) + SendUnicodeChar(0x2297, "U2297") ; circled times +return + +neo_NumpadSub: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni("c1",0x207B) + or CheckDeadUni("a3",0x208B))) + send {blind}{NumpadSub} + else if (Ebene = 3) + SendUnicodeChar(0x2212, "U2212") ; Echtes Minus + else if (Ebene = 4) + SendUnicodeChar(0x2296, "U2296") ; circled minus + else if (Ebene = 5) + SendUnicodeChar(0x2216, "U2216") ; set minus + else if (Ebene = 6) + SendUnicodeChar(0x2238, "U2238") ; dot minus +return + +neo_NumpadAdd: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni("c1",0x207A) + or CheckDeadUni("a3",0x208A))) + send {blind}{NumpadAdd} + else if (Ebene = 3) + OutputChar("", "plusminus") + else if (Ebene = 4) + SendUnicodeChar(0x2295, "U2295") ; circled plus + else if (Ebene = 5) + SendUnicodeChar(0x2213, "U2213") ; minus-plus + else if (Ebene = 6) + SendUnicodeChar(0x2214, "U2214") ; dot plus +return + +neo_NumpadEnter: + send {blind}{NumpadEnter} +return + +neo_NumpadDot: + EbeneAktualisieren() + if (Ebene = 1) + send {blind}{NumpadDot} + else if (Ebene = 2) + send {blind}. + else if (Ebene = 3) + send `, + else if (Ebene = 4) + send {blind}{NumpadDel} + else if (Ebene = 5) + SendUnicodeChar(0x2032, "minutes") + else if (Ebene = 6) + SendUnicodeChar(0x2033, "seconds") +return + diff --git a/windows/ahk-auslaufend/Source/Keys-Numbers.ahk b/windows/ahk-auslaufend/Source/Keys-Numbers.ahk new file mode 100644 index 0000000..4f47afb --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-Numbers.ahk @@ -0,0 +1,166 @@ +neo_0: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 + or CheckDeadUni("a3",0x2080)) ; Tiefgestellte 0 + OutputChar12(0,"",0,"rightdoublequotemark") + else if (Ebene = 3) + OutputChar("", "rightsingleqoutemark") + else if (Ebene = 4) + OutputChar("{NumpadSub}", "KP_Minus") + else if (Ebene = 5) + SendUnicodeChar(0x2080, "U2080") + else if (Ebene = 6) + SendUnicodeChar(0x2205, "emptyset") ; leere Menge +return + +neo_1: + noCaps=1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 + or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 + OutputChar12(1,"",1,"degree") + else if (Ebene = 3) + OutputChar("", "onesuperior") ; Hochgestellte 1 + else if (Ebene = 4) + OutputChar("", "U00BA") ; mnnlicher Ordinalindikator () + else if (Ebene = 5) + SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 + else if (Ebene = 6) + OutputChar("", "notsign") ; Nicht-Symbol +return + +neo_2: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 + or CheckDeadUni("a3",0x2082)) ; Tiefgestellte 2 + OutputChar12(2,"",2,"section") + else if (Ebene = 3) + OutputChar("", "twosuperior") ; Hochgestellte 2 + else if (Ebene = 4) + OutputChar("", "U00AA") ; weiblicher Ordinalindikator () + else if (Ebene = 5) + SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 + else if (Ebene = 6) + SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder +return + +neo_3: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 + or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 + OutputChar(3,3) + else if (Ebene = 2) + SendUnicodeChar(0x2113, "U2113") ; kleines l (Skript) + else if (Ebene = 3) + OutputChar("", "threesuperior") ; Hochgestellte 3 + else if (Ebene = 4) + SendUnicodeChar(0x2116, "numerosign") ; Numero + else if (Ebene = 5) + SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 + else if (Ebene = 6) + SendUnicodeChar(0x2227, "logicaland") ; Logisches Und +return + +neo_4: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 + or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 + OutputChar(4,4) + else if (Ebene = 2) + OutputChar("", "guillemotright") + else if (Ebene = 3) + OutputChar("", "U230A") ; Single guillemot right + else if (Ebene = 4) + OutputChar("{PgUp}", "Prior") ; Bild auf + else if (Ebene = 5) + OutputChar("", "dagger") ; Kreuz + else if (Ebene = 6) + SendUnicodeChar(0x22A5, "uptack") ; Senkrecht +return + +neo_5: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 + or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 + OutputChar(5,5) + else if (Ebene = 2) + OutputChar("", "guillemotleft") ; Double guillemot left + else if (Ebene = 3) + OutputChar("", "U2039") ; Single guillemot left + else if (Ebene = 5) + SendUnicodeChar(0x2640, "femalesymbol") + else if (Ebene = 6) + SendUnicodeChar(0x2221, "U2221") ; Winkel +return + +neo_6: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 + or CheckDeadUni("a3",0x2086)) ; Tiefgestellte 6 + OutputChar(6,6) + else if (Ebene = 2) + SendUnicodeChar(0x20AC, "EuroSign") + else if (Ebene = 3) + OutputChar("", "cent") + else if (Ebene = 4) + OutputChar("", "sterling") + else if (Ebene = 5) + SendUnicodeChar(0x2642, "malesymbol") + else if (Ebene = 6) + SendUnicodeChar(0x2225, "U2225") ; parallel +return + +neo_7: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 + or CheckDeadUni("a3",0x2087)) ; Tiefgestellte 7 + OutputChar12(7,"$",7,"dollar") + else if (Ebene = 3) + OutputChar("", "yen") + else if (Ebene = 4) + OutputChar("", "currency") + else if (Ebene = 5) + SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa + else if (Ebene = 6) + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil +return + +neo_8: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 + or CheckDeadUni("a3",0x2088)) ; Tiefgestellte 8 + OutputChar12(8,"",8,"doublelowquotemark") + else if (Ebene = 3) + OutputChar("", "singlelowquotemark") + else if (Ebene = 4) + OutputChar("{NumpadDiv}", "KP_Divide") + else if (Ebene = 5) + SendUnicodeChar(0x27E8, "U27E8") ; bra (ffnende spitze Klammer) + else if (Ebene = 6) + SendUnicodeChar(0x221E, "infinity") +return + +neo_9: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 + or CheckDeadUni("a3",0x2089)) ; Tiefgestellte 9 + OutputChar12(9,"",9,"leftdoublequotemark") + else if (Ebene = 3) + OutputChar("", "leftsinglequotemark") + else if (Ebene = 4) + OutputChar("{NumpadMult}", "KP_Multiply") + else if (Ebene = 5) + SendUnicodeChar(0x27E9, "U27E9") ; ket (schlieende spitze Klammer) + else if (Ebene = 6) + SendUnicodeChar(0x2226, "U2226") ; nicht parallel +return + diff --git a/windows/ahk-auslaufend/Source/Keys-Qwert-to-Neo.ahk b/windows/ahk-auslaufend/Source/Keys-Qwert-to-Neo.ahk new file mode 100644 index 0000000..0b1e19e --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-Qwert-to-Neo.ahk @@ -0,0 +1,241 @@ +/* + ------------------------------------------------------ + QWERTZ->Neo umwandlung + ------------------------------------------------------ +*/ + +; Reihe 1 +*VKDCSC029::goto neo_tot1 ; Zirkumflex +*VK31SC002::goto neo_1 +*VK32SC003::goto neo_2 +*VK33SC004::goto neo_3 +*VK34SC005::goto neo_4 +*VK35SC006::goto neo_5 +*VK36SC007::goto neo_6 +*VK37SC008:: + if !einHandNeo or !spacepressed + goto neo_7 + else { + keypressed := 1 + goto %gespiegelt_7% + } +*VK38SC009:: + if !einHandNeo or !spacepressed + goto neo_8 + else { + keypressed := 1 + goto %gespiegelt_8% + } +*VK39SC00A:: + if !einHandNeo or !spacepressed + goto neo_9 + else { + keypressed := 1 + goto %gespiegelt_9% + } +*VK30SC00B:: + if !einHandNeo or !spacepressed + goto neo_0 + else { + keypressed := 1 + goto %gespiegelt_0% + } +*VKDBSC00C:: ; + if !einHandNeo or !spacepressed + goto neo_strich + else { + keypressed := 1 + goto %gespiegelt_strich% + } +*VKDDSC00D::goto neo_tot2 ; Akut + +; Reihe 2 + +VK09SC00F::goto neo_tab +*VK51SC010:: ; q (x) + goto neo_x +*VK57SC011:: ; w (v) + goto neo_v +*VK45SC012:: ; e (l) + goto neo_l +*VK52SC013:: ; r (c) + goto neo_c +*VK54SC014:: ; t (w) + goto neo_w +*VK5ASC015:: ; z (k) + if !einHandNeo or !spacepressed + goto neo_k + else { + keypressed := 1 + goto %gespiegelt_k% + } +*VK55SC016:: ; u (h) + if !einHandNeo or !spacepressed + goto neo_h + else { + keypressed := 1 + goto %gespiegelt_h% + } +*VK49SC017:: ; i (g) + if !einHandNeo or !spacepressed + goto neo_g + else { + keypressed := 1 + goto %gespiegelt_g% + } +*VK4FSC018:: ; o (f) + if !einHandNeo or !spacepressed + goto neo_f + else { + keypressed := 1 + goto %gespiegelt_f% + } +*VK50SC019:: ; p (q) + if !einHandNeo or !spacepressed + goto neo_q + else { + keypressed := 1 + goto %gespiegelt_q% + } +*VKBASC01A:: ; () + if !einHandNeo or !spacepressed + goto neo_sz + else { + keypressed := 1 + goto %gespiegelt_sz% + } +*VKBBSC01B:: ; + (tot3) + if !einHandNeo or !spacepressed + goto neo_tot3 + else { + keypressed := 1 + goto %gespiegelt_tot3% + } + +; Reihe 3 +*VK41SC01E:: ; a (u) + goto neo_u +*VK53SC01F:: ; s (i) + goto neo_i +*VK44SC020:: ; d (a) + goto neo_a +*VK46SC021:: ; f (e) + goto neo_e +*VK47SC022:: ; g (o) + goto neo_o +*VK48SC023:: ; h (s) + if !einHandNeo or !spacepressed + goto neo_s + else { + keypressed := 1 + goto %gespiegelt_s% + } +*VK4ASC024:: ; j (n) + if !einHandNeo or !spacepressed + goto neo_n + else { + keypressed := 1 + goto %gespiegelt_n% + } +*VK4BSC025:: ; k (r) + if !einHandNeo or !spacepressed + goto neo_r + else { + keypressed := 1 + goto %gespiegelt_r% + } +*VK4CSC026:: ; l (t) + if !einHandNeo or !spacepressed + goto neo_t + else { + keypressed := 1 + goto %gespiegelt_t% + } +*VKC0SC027:: ; (d) + if !einHandNeo or !spacepressed + goto neo_d + else { + keypressed := 1 + goto %gespiegelt_d% + } +*VKDESC028:: ; (y) + goto neo_y + +; Reihe 4 +*VK59SC02C:: ; y () + goto neo_ +*VK58SC02D:: ; x () + goto neo_ +*VK43SC02E:: ; c () + goto neo_ +*VK56SC02F:: ; v (p) + goto neo_p +*VK42SC030:: ; b (z) + goto neo_z +*VK4ESC031:: ; n (b) + if !einHandNeo or !spacepressed + goto neo_b + else { + keypressed := 1 + goto %gespiegelt_b% + } +*VK4DSC032:: ; m (m) + if !einHandNeo or !spacepressed + goto neo_m + else { + keypressed := 1 + goto %gespiegelt_m% + } +*VKBCSC033:: ; , (,) + if !einHandNeo or !spacepressed + goto neo_komma + else { + keypressed := 1 + goto %gespiegelt_komma% + } +*VKBESC034:: ; . (.) + if !einHandNeo or !spacepressed + goto neo_punkt + else { + keypressed := 1 + goto %gespiegelt_punkt% + } +*VKBDSC035:: ; - (j) + if !einHandNeo or !spacepressed + goto neo_j + else { + keypressed := 1 + goto %gespiegelt_j% + } + +; Numpad +*VK90SC145::goto neo_NumLock +*VK6FSC135::goto neo_NumpadDiv +*VK6ASC037::goto neo_NumpadMult +*VK6DSC04A::goto neo_NumpadSub +*VK6BSC04E::goto neo_NumpadAdd +*VK0DSC11C::goto neo_NumpadEnter +*VK67SC047:: ; NumPad7 +*VK24SC047::goto neo_Numpad7 ; NumPadHome +*VK68SC048:: ; NumPad8 +*VK26SC048::goto neo_Numpad8 ; NumPadUp +*VK69SC049:: ; NumPad9 +*VK21SC049::goto neo_Numpad9 ; NumPadPgUp +*VK64SC04B:: ; NumPad4 +*VK25SC04B::goto neo_Numpad4 ; NumPadLeft +*VK65SC04C:: ; NumPad5 +*VK0CSC04C::goto neo_Numpad5 ; NumPadClear +*VK66SC04D:: ; NumPad6 +*VK27SC04D::goto neo_Numpad6 ; NumPadRight +*VK61SC04F:: ; NumPad1 +*VK23SC04F::goto neo_Numpad1 ; NumPadEnd +*VK62SC050:: ; NumPad2 +*VK28SC050::goto neo_Numpad2 ; NumPadDown +*VK63SC051:: ; NumPad3 +*VK22SC051::goto neo_Numpad3 ; NumPadPgDn +*VK60SC052:: ; NumPad0 +*VK2DSC052::goto neo_Numpad0 ; NumPadIns +*VK6ESC053:: ; NumPadDot +*VK2ESC053::goto neo_NumpadDot ; NumPadIns + + diff --git a/windows/ahk-auslaufend/Source/Keys-Special.ahk b/windows/ahk-auslaufend/Source/Keys-Special.ahk new file mode 100644 index 0000000..70c15cc --- /dev/null +++ b/windows/ahk-auslaufend/Source/Keys-Special.ahk @@ -0,0 +1,178 @@ +neo_punkt: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar(".", "period") + else if (Ebene = 2) + SendUnicodeChar(0x2023, "") ; Dreieckiges Aufzhlungszeichen + else if (Ebene = 3) + OutputChar("'", "apostrophe") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) + or CheckDeadUni("t4",0x2083))) + OutputChar("{Numpad3}", "KP_3") + else if (Ebene = 5) + SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta) + else if (Ebene = 6) + SendUnicodeChar(0x0398, "Greek_THETA") ; Theta +return + +neo_komma: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar(",", "comma") + else if (Ebene = 2) + OutputChar("", "enfilledcircbullet") ; Bullet + else if (Ebene = 3) + OutputChar(Chr(34), "quotedbl") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) + or CheckDeadUni("c5",0x2082))) + OutputChar("{Numpad2}", "KP_2") + else if (Ebene = 5) + SendUnicodeChar(0x03C1, "Greek_rho") ; rho + else if (Ebene = 6) + SendUnicodeChar(0x21D2, "implies") ; Doppelpfeil rechts +return + +neo_strich: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("-", "minus") ; Bindestrich-Minus + else if (Ebene = 2) + SendUnicodeChar(0x2013, "endash") ; Gedankenstrich + else if (Ebene = 3) + SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich) + else if (Ebene = 5) + SendUnicodeChar(0x2011, "U2011") ; geschtzter Bindestrich (Bindestrich ohne Zeilenumbruch) + else if (Ebene = 6) + SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich +return + +*space:: + if einHandNeo + spacepressed := 1 + else goto neo_SpaceUp +return + +*space up:: + if einHandNeo + if keypressed { + keypressed := 0 + spacepressed := 0 + } else goto neo_SpaceUp + return + +neo_SpaceUp: + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("a3",0x2010) ; Echter Bindestrich + OutputChar("{Space}", "Space") + else if (Ebene = 2) or (Ebene = 3) + Send {blind}{Space} + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) + or CheckDeadUni("a3",0x2080))) + OutputChar("{Numpad0}", "KP_0") + else if (Ebene = 5) + SendUnicodeChar(0x00A0, "U00A0") ; geschtztes Leerzeichen + else if (Ebene = 6) + SendUnicodeChar(0x202F, "U202F") ; schmales geschtztes Leerzeichen + DeadKey := "" + CompKey := "" + spacepressed := 0 + keypressed := 0 +return + +*Enter:: + EbeneAktualisieren() + if !lernModus or lernModus_std_Return { + if (Ebene = 4) + send {blind}{NumpadEnter} + else send {blind}{Enter} + DeadKey := "" + CompKey := "" + } return + +*Backspace:: + if !lernModus or lernModus_std_Backspace { + send {Blind}{Backspace} + DeadKey := "" + CompKey := "" + } return + +*Del:: + if !lernModus or lernModus_std_Entf + send {Blind}{Del} +return + +*Ins:: + if !lernModus or lernModus_std_Einf + send {Blind}{Ins} +return + +neo_tab: + EbeneAktualisieren() + if IsMod3Pressed() { ; Compose! + DeadKey := "comp" + CompKey := "" + } else { + OutputChar("{Tab}", "Tab") + DeadKey := "" + CompKey := "" + } return + +*Home:: + if !lernModus or lernModus_std_Pos1 { + send {Blind}{Home} + DeadKey := "" + CompKey := "" + } return + +*End:: + if !lernModus or lernModus_std_Ende { + send {Blind}{End} + DeadKey := "" + CompKey := "" + } return + +*PgUp:: + if !lernModus or lernModus_std_PgUp { + send {Blind}{PgUp} + DeadKey := "" + CompKey := "" + } return + +*PgDn:: + if !lernModus or lernModus_std_PgDn { + send {Blind}{PgDn} + DeadKey := "" + CompKey := "" + } return + +*Up:: + if !lernModus or lernModus_std_Hoch { + send {Blind}{Up} + DeadKey := "" + CompKey := "" + } return + +*Down:: + if !lernModus or lernModus_std_Runter { + send {Blind}{Down} + DeadKey := "" + CompKey := "" + } return + +*Left:: + if !lernModus or lernModus_std_Links { + send {Blind}{Left} + DeadKey := "" + CompKey := "" + } return + +*Right:: + if !lernModus or lernModus_std_Rechts { + send {Blind}{Right} + DeadKey := "" + CompKey := "" + } return + diff --git a/windows/ahk-auslaufend/Source/Methods-Layers.ahk b/windows/ahk-auslaufend/Source/Methods-Layers.ahk new file mode 100644 index 0000000..c59ccb7 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-Layers.ahk @@ -0,0 +1,131 @@ +; LShift+RShift == CapsLock (simuliert) +; Es werden nur die beiden Tastenkombinationen abgefragt, +; daher kommen LShift und RShift ungehindert bis in die +; Applikation. Dies ist aber merkwrdig, da beide Shift- +; Tasten nun /modifier keys/ werden und, wie in der AHK- +; Hilfe beschrieben, eigentlich nicht mehr bis zur App +; durchkommen sollten. +; KeyboardLED(4,"switch") hatte ich zuerst genommen, aber +; das schaltet, oh Wunder, die LED nicht wieder aus. + +isMod2Locked = 0 +VKA1SC136 & VKA0SC02A:: ; RShift, dann LShift +VKA0SC02A & VKA1SC136:: ; LShift, dann RShift + if GetKeyState("VKA1SC136", "P") and GetKeyState("VKA0SC02A", "P") { + if isMod2Locked { + isMod2Locked = 0 + KeyboardLED(4, "off") + } else { + isMod2Locked = 1 + KeyBoardLED(4, "on") + } + } +return + +;Mod3-Tasten (Wichtig, sie werden sonst nicht verarbeitet!) +;Auf Mod3+Mod3 liegt zustzlich zu Mod3+Tab Compose +*VKBFSC02B:: ; # +*VK14SC03A:: ; CapsLock + if GetKeyState("VKBFSC02B", "P") and GetKeyState("VK14SC03A", "P") { + DeadKey := "comp" + CompKey := "" + } +return + +;Mod4+Mod4 == Mod4-Lock +; Im Gegensatz zu LShift+RShift werden die beiden Tasten +; _nicht_ zur Applikation weitergeleitet, und nur bei +; gleichzeitigem Drcken wird der Mod4-Lock aktiviert und +; angezeigt. + +IsMod4Locked := 0 +*VKA5SC138:: +*VKE2SC056:: + if GetKeyState("VKA5SC138", "P") and GetKeyState("VKE2SC056", "P") { + if IsMod4Locked { + if zeigeLockBox + MsgBox Mod4-Feststellung aufgebehoben! + IsMod4Locked = 0 + if UseMod4Light + KeyboardLED(1, "off") + } else { + if zeigeLockBox + MsgBox Mod4 festgestellt: Um Mod4 wieder zu lsen, drcke beide Mod4-Tasten gleichzeitig! + IsMod4Locked = 1 + if UseMod4Light + KeyboardLED(1, "on") + } + } +return + +EbeneAktualisieren() { + global + PriorDeadKey := DeadKey + PriorCompKey := CompKey + DeadKey := "" + CompKey := "" + Modstate := IsMod4Pressed() . IsMod3Pressed() . IsShiftPressed() + Ebene7 := 0 + Ebene8 := 0 + if (Modstate = "000") ; Ebene 1: Ohne Mod + Ebene = 1 + else if (Modstate = "001") ; Ebene 2: Shift + Ebene = 2 + else if (Modstate = "010") ; Ebene 3: Mod3 + Ebene = 3 + else if (Modstate = "100") ; Ebene 4: Mod4 + Ebene = 4 + else if (Modstate = "011") ; Ebene 5: Shift+Mod3 + Ebene = 5 + else if (Modstate = "110") ; Ebene 6: Mod3+Mod4 + Ebene = 6 + else if (Modstate = "101") { ; Ebene 7: Shift+Mod4 impliziert Ebene 4 + Ebene = 4 + Ebene7 = 1 + } else if (Modstate = "111") { ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6 + Ebene = 6 + Ebene8 = 1 + } Ebene12 := ((Ebene = 1) or (Ebene = 2)) + NumLock := GetKeyState("NumLock", "T") + noCaps := 0 +} + +IsShiftPressed() +{ + global + if !(NoCaps and GetKeyState("Shift", "P") and (GetKeyState("Alt", "P") or GetKeyState("Strg", "P"))) { + if striktesMod2Lock + noCaps = 0 + if GetKeyState("Shift","P") + if isMod2Locked and !noCaps + return 0 + else return 1 + else if isMod2Locked and !noCaps + return 1 + else return 0 + } +} + +IsMod3Pressed() +{ + global + return (GetKeyState("VKBFSC02B","P") or GetKeyState("VK14SC03A","P")) +} + +IsMod4Pressed() +{ + global + if !(einHandNeo) or !(spacepressed) + if IsMod4Locked + return !(GetKeyState("<","P") or GetKeyState("SC138","P")) + else + return (GetKeyState("<","P") or GetKeyState("SC138","P")) + else + if IsMod4Locked + return !(GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("","P")) + else + return (GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("","P")) +} + + + diff --git a/windows/ahk-auslaufend/Source/Methods-Lights.ahk b/windows/ahk-auslaufend/Source/Methods-Lights.ahk new file mode 100644 index 0000000..861f4ae --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-Lights.ahk @@ -0,0 +1,108 @@ +/* + ------------------------------------------------------ + Methode KeyboardLED zur Steuerung der Keyboard-LEDs + (NumLock/CapsLock/ScrollLock-Lichter) + + Benutzungshinweise: Man benutze + KeyboardLED(LEDvalue,"Cmd"), wobei + Cmd = on/off/switch, + LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4, + bzw. eine beliebige Summe dieser Werte: + AlleAus=0, CapsLock+NumLock=6, etc. + + Der folgende Code wurde bernommen von: + http://www.autohotkey.com/forum/viewtopic.php?t=10532 + + Um eventuelle Wechselwirkungen mit dem bestehenden + Code (insb. der Unicode-Konvertierung) auszuschlieen, + sind auch alle (Hilfsmethoden) mit dem Postfix LED + versehen worden. + ------------------------------------------------------ +*/ + +KeyboardLED(LEDvalue, Cmd) { ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch + Static h_device + If !(h_device) { ; initialise + device=\Device\KeyBoardClass0 + SetUnicodeStrLED(fn,device) + h_device:=NtCreateFileLED(fn,0+0x00000100+0x00000080+0x00100000,1,1,0x00000040+0x00000020,0) + } + VarSetCapacity(output_actual,4,0) + input_size=4 + VarSetCapacity(input,input_size,0) + If Cmd=switch ;switches every LED according to LEDvalue + KeyLED:=LEDvalue + If Cmd=on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate) + KeyLED:=LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T")) + If (Cmd=off) { ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate) + LEDvalue:=LEDvalue ^ 7 + KeyLED:=LEDvalue & (GetKeyState("ScrollLock","T") + 2*GetKeyState("NumLock","T") + 4*GetKeyState("CapsLock","T")) + } + ; EncodeIntegerLED(KeyLED,1,&input,2) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock + input := Chr(1) Chr(1) Chr(KeyLED) + input := Chr(1) + input = + ; ??? + success:=DllCall("DeviceIoControl" + , "uint", h_device + , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD + , 2 + , 0 ; METHOD_BUFFERED + , 0 ) ; FILE_ANY_ACCESS + , "uint", &input + , "uint", input_size + , "uint", 0 + , "uint", 0 + , "uint", &output_actual + , "uint", 0 ) +} + +CTL_CODE_LED(p_device_type,p_function,p_method,p_access ) { + Return,( p_device_type << 16 ) | ( p_access << 14 ) | ( p_function << 2 ) | p_method +} + +NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs){ + VarSetCapacity(fh,4,0) + VarSetCapacity(objattrib,24,0) + VarSetCapacity(io,8,0) + VarSetCapacity(pus,8) + uslen:=DllCall("lstrlenW","str",wfilename)*2 + InsertIntegerLED(uslen,pus,0,2) + InsertIntegerLED(uslen,pus,2,2) + InsertIntegerLED(&wfilename,pus,4) + InsertIntegerLED(24,objattrib,0) + InsertIntegerLED(&pus,objattrib,8) + status:=DllCall("ntdll\ZwCreateFile","str",fh,"UInt",desiredaccess,"str",objattrib,"str",io,"UInt",0,"UInt",fattribs + ,"UInt",sharemode,"UInt",createdist,"UInt",flags,"UInt",0,"UInt",0, "UInt") + return ExtractIntegerLED(fh) +} + +SetUnicodeStrLED(ByRef out, str_) { + VarSetCapacity(st1, 8, 0) + InsertIntegerLED(0x530025, st1) + VarSetCapacity(out, (StrLen(str_)+1)*2, 0) + DllCall("wsprintfW", "str", out, "str", st1, "str", str_, "Cdecl UInt") +} + +ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4) { +; pSource is a string (buffer) whose memory area contains a raw/binary integer at pOffset. +; The caller should pass true for pSigned to interpret the result as signed vs. unsigned. +; pSize is the size of PSource's integer in bytes (e.g. 4 bytes for a DWORD or Int). +; pSource must be ByRef to avoid corruption during the formal-to-actual copying process +; (since pSource might contain valid data beyond its first binary zero). + Loop %pSize% ; Build the integer by adding up its bytes. + result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1) + if (!pIsSigned OR pSize > 4 OR result < 0x80000000) + return result ; Signed vs. unsigned doesn't matter in these cases. + ; Otherwise, convert the value (now known to be 32-bit) to its signed counterpart: + return -(0xFFFFFFFF - result + 1) +} + +InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4) { +; The caller must ensure that pDest has sufficient capacity. To preserve any existing contents in pDest, +; only pSize number of bytes starting at pOffset are altered in it. + Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data. + DllCall("RtlFillMemory", "UInt", &pDest + pOffset + A_Index-1, "UInt", 1, "UChar", pInteger >> 8*(A_Index-1) & 0xFF) +} + + diff --git a/windows/ahk-auslaufend/Source/Methods-Other.ahk b/windows/ahk-auslaufend/Source/Methods-Other.ahk new file mode 100644 index 0000000..ab1d86b --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-Other.ahk @@ -0,0 +1,186 @@ +deadAsc(val1, val2, a) { + global + if !DeadSilence + OutputChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +deadUni(val1, val2, a) { + global + if !DeadSilence + SendUnicodeChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +undeadAsc(val) { + global + if DeadSilence + send % val + else + send % "{bs}" . val +} + +undeadUni(val){ + global + if !DeadSilence + send {bs} + SendUnicodeChar(val, "") +} + +CheckDeadAsc(d,val) { + global + if (PriorDeadKey == d) { + undeadAsc(val) + return 1 + } +} + +CheckDeadUni(d,val) { + global + if (PriorDeadKey == d) { + undeadUni(val) + return 1 + } +} + +CheckDeadAsc12(d,val1,val2) { + global + if (PriorDeadKey == d){ + if (Ebene = 1) and (val1 != "") { + undeadAsc(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadAsc(val2) + return 1 + } + } +} + +CheckDeadUni12(d,val1,val2) { + global + if(PriorDeadKey == d) { + if (Ebene = 1) and (val1 != "") { + undeadUni(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadUni(val2) + return 1 + } + } +} + +CheckCompUni(d,val) { + global + if (CompKey == d) { + PriorCompKey = + CompKey = + if !DeadCompose + send {bs} + isFurtherCompkey = 0 + SendUnicodeChar(val, "") + return 1 + } +} + +OutputChar(val1,val2) { + global + if (!CheckComp(val2)) + send % "{blind}" . val1 +} + +OutputChar12(val1,val2,val3,val4) { + global + if (Ebene = 1) + c := val1 + else c := val2 + if (Ebene = 1) + d := val3 + else d := val4 + if (!CheckComp(d)) + if GetKeyState("Shift","P") and isMod2Locked + send % "{blind}{Shift Up}" . c . "{Shift Down}" + 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 (PriorDeadKey = "comp") { + CompKey := "<" . d . ">" + PriorDeadKey := DeadKey = + CheckCompose() + TryThirdCompKey = 0 + return 1 + } else if TryFourthCompKey { + TryFourthCompKey = 0 + CompKey := ThreeCompKeys . " " . "<" . d . ">" + ThreeCompKeys = + CheckCompose() + if !(CompKey) { + send {left}{bs}{right} + return 1 + } 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 + TryThirdCompKey = 1 + return 1 + } +} + +CumulateDeadKey(a) { + if DeadKey = a5 + { if a = g1 + DeadKey = a5g1 + else if a = a1 + DeadKey = a5a1 + else if a = a2 + DeadKey = a5a2 + else if a = g1a2 + DeadKey = a5g1a2 + else if a = a1a2 + DeadKey = a5a1a2 + else if a = c1a2 + DeadKey = a5c1a2 + } else if DeadKey = g5 + { if a = g1 + DeadKey = g5g1 + else if a = a1 + DeadKey = g5a1 + else if a = a2 + DeadKey = g5a2 + else if a = g1a2 + DeadKey = g5g1a2 + else if a = a1a2 + DeadKey = g5a1a2 + else if a = c1a2 + DeadKey = g5c1a2 + } else if DeadKey = g1 + { if a = a5 + DeadKey = a5g1 + else if a = g5 + DeadKey = g5g1 + else if a = a2 + DeadKey = g1a2 + else if a = a5a2 + DeadKey = a5g1a2 + else if a = g5a2 + DeadKey = g5g1a2 + } +} + diff --git a/windows/ahk-auslaufend/Source/Methods-ScreenKeyboard.ahk b/windows/ahk-auslaufend/Source/Methods-ScreenKeyboard.ahk new file mode 100644 index 0000000..94c0cfc --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-ScreenKeyboard.ahk @@ -0,0 +1,158 @@ +/* + ------------------------------------------------------ + BildschirmTastatur + ------------------------------------------------------ +*/ + +guiErstellt = 0 +alwaysOnTop = 1 + +*F1:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch1 + else send {blind}{F1} +return + +*F2:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch2 + else send {blind}{F2} +return + +*F3:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch3 + else send {blind}{F3} +return + +*F4:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch4 + else send {blind}{F4} +return + +*F5:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch5 + else send {blind}{F5} +return + +*F6:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch6 + else send {blind}{F6} +return + +*F7:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Show + else send {blind}{F7} +return + +*F8:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto ToggleAlwaysOnTop + else send {blind}{F8} +return + +Switch1: + tImage := ResourceFolder . "\ebene1.png" + goto Switch +Return + +Switch2: + tImage := ResourceFolder . "\ebene2.png" + goto Switch +Return + +Switch3: + tImage := ResourceFolder . "\ebene3.png" + goto Switch +Return + +Switch4: + tImage := ResourceFolder . "\ebene4.png" + goto Switch +Return + +Switch5: + tImage := ResourceFolder . "\ebene5.png" + goto Switch +Return + +Switch6: + tImage := ResourceFolder . "\ebene6.png" + goto Switch +Return + +Switch: + if guiErstellt { + if (Image = tImage) + goto Close + else { + Image := tImage + SetTimer, Refresh + } + } else { + Image := tImage + goto Show + } +Return + +Show: + if guiErstellt { + goto Close + } else { + if (Image = "") { + Image := ResourceFolder . "\ebene1.png" + } + yPosition := A_ScreenHeight -270 + Gui,Color,FFFFFF + Gui,Add,Button,xm+5 gSwitch1,F1 + Gui,Add,Text,x+5,kleine Buchstaben + Gui,Add,Button,xm+5 gSwitch2,F2 + Gui,Add,Text,x+5,groe Buchstaben + Gui,Add,Button,xm+5 gSwitch3,F3 + Gui,Add,Text,x+5,Satz-/Sonderzeichen + Gui,Add,Button,xm+5 gSwitch4,F4 + Gui,Add,Text,x+5,Zahlen / Steuerung + Gui,Add,Button,xm+5 gSwitch5,F5 + Gui,Add,Text,x+5,Sprachen + Gui,Add,Button,xm+5 gSwitch6,F6 + Gui,Add,Text,x+5,Mathesymbole + Gui,Add,Button,xm+5 gShow,F7 + Gui,Add,Text,x+5,An / + Gui,Add,Text,y+3,Aus + Gui,Add,Button,x+10 y+-30 gShow,F8 + Gui,Add,Text,x+5,OnTop + Gui,Add,Picture,AltSubmit ys w729 h200 vPicture,%Image% + Gui,+AlwaysOnTop + Gui,Show,y%yposition% Autosize +; SetTimer,Refresh + guiErstellt = 1 + } +Return + +Close: + guiErstellt = 0 + Gui,Destroy +Return + +Refresh: + If (Image != OldImage) { + GuiControl,,Picture,%Image% + OldImage := Image + } +Return + +ToggleAlwaysOnTop: + if alwaysOnTop { + Gui, -AlwaysOnTop + alwaysOnTop = 0 + } else { + Gui, +AlwaysOnTop + alwaysOnTop = 1 + } +Return + + diff --git a/windows/ahk-auslaufend/Source/Methods-Unicode.ahk b/windows/ahk-auslaufend/Source/Methods-Unicode.ahk new file mode 100644 index 0000000..ac4ae79 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Methods-Unicode.ahk @@ -0,0 +1,34 @@ +/* + ------------------------------------------------------ + Methoden zum Senden von Unicode-Zeichen + ------------------------------------------------------ + +ber den GTK-Workaround: +Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html +Der Aufruf von SubStr(charCode,3) geht davon aus, dass alle charCodes in Hex mit fhrendem 0x angegeben sind. Die abenteuerliche ^+u-Konstruktion bentigt im brigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlertrchtig an dieser Stelle. Auerdem ein abschlieend gesendetes Space, sonst bleibt der eingetippte Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewnschte Zeichen verwandelt. +*/ + +SendUnicodeChar(charCode1, charCode2) { + global + if !(CheckComp(charCode2) and DeadCompose) + IfWinActive,ahk_class gdkWindowToplevel + { + StringLower,charCode1,charCode1 + send % "^+u" . SubStr(charCode1,3) . " " + } else { + VarSetCapacity(ki,28*2,0) + EncodeInteger(&ki+0,1) + EncodeInteger(&ki+6,charCode1) + EncodeInteger(&ki+8,4) + EncodeInteger(&ki+28,1) + EncodeInteger(&ki+34,charCode1) + EncodeInteger(&ki+36,4|2) + DllCall("SendInput","UInt",2,"UInt",&ki,"Int",28) + } +} + +EncodeInteger(ref,val) { + DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val) +} + + diff --git a/windows/ahk-auslaufend/Source/README.txt b/windows/ahk-auslaufend/Source/README.txt new file mode 100644 index 0000000..0e75707 --- /dev/null +++ b/windows/ahk-auslaufend/Source/README.txt @@ -0,0 +1,52 @@ +== Hinweise für Entwickler == + +=== AutoHotkey herunter laden === +Man sollte als erstes das Programm namens »AutoHotkey« (http://www.autohotkey.com/download/AutoHotkeyInstall.exe) herunterlanden. Es wird empfohlen, dieses Programm möglichst in dem vorgeschlagenen Standardverzeichnis zu installieren. +Wenn man jedoch über KEINE Administratorrechte verfügt, kann man das Programm beispielsweise auch in das Verzeichnis »Eigene Dateien/Neo« (oder in ein anderes Verzeichnis, für das man Schreibrechte hat) installieren. +In diesem Fall muss dann für eine Kompilierung des Skriptes noch die Datei Build-Update.bat lokal entsprechend angepasst werden (diese lokale Änderung der Build-Update.bat aber bitte nicht einchecken, da die allermeisten Entwickler Autohotkey im vorgeschlagenen Standardverzeichnis installiert haben!). + +=== Die ausführbare Datei aktualisieren === +Um die neo20.exe auf den neuesten Stand zu bringen, reicht (wenn Autohotkey im Standardverzeichnis installiert wurde) ein Doppelklick auf die Batch-Datei Build-Update.bat +Es ist empfehlenswert, diese Batch-Datei stets vor einem Commit auszuführen, damit die .exe-Datei immer auf dem aktuellsten Stand ist. + +=== Den Sourcecode bearbeiten === +Die Datei neo20.ahk sollte auf keinen Fall mehr direkt bearbeitet werden, da sie inzwischen automatisch generiert und regelmäßig überschrieben wird. + +Stattdessen müssen die Dateien/Module im Source-Unterverzeichnis bearbeitet werden, etwa: +Source\Keys-Neo.ahk +Source\Keys-Qwert-to-Neo.ahk +Source\Methods-Layers.ahk +Source\Methods-Lights.ahk + +Um die gemachten Änderungen zu testen, sollte die Datei Source\All.ahk verwendet werden, die alle Module einbindet und regulär durch einen Doppelklick mit dem AHK-Interpreter gestartet werden kann. + +Der große Vorteil dieser Methode liegt darin, dass sich die Zeilennummern eventueller Fehlermeldungen nicht mehr auf die große »vereinigte« AHK-Datei, sondern auf die tatsächlich relevanten Module beziehen, z. B. : +Error at line 64 in #include file "C:\...\autohotkey\Source\Methods-Lights.ahk" +Line Text: CTL_CODE_LED(p_device_type, p_function, p_method, p_access) +Error: Functions cannot contain functions. +The programm will exit. + +=== Links zur AHK/Autohotkey-Skriptsprache === +Eine kurze Einführung (Installation und Beispielskript) findet man etwa auf +http://www.kikizas.net/en/usbapps.ahk.html + +Eine alphabetische Liste aller erlaubten Kommandos findet man online unter +http://www.autohotkey.com/docs/commands.htm + +=== Coding-Style === +Der Programmcode sollte möglichst einheitlich formatiert werden, um mögliche Fehlerquellen auszuschließen und um optimale Lesbarkeit zu erreichen: + +== Zuweisungen mit ":=" == +AHK erlaubt mehrere Arten der Zuweisung. Um Missverständnissen vorzubeugen, möge ausschließlich die Zuweisung mittels ":=" Verwendung finden. Die Zuweisung mit einem "=" funktioniert zwar auch und erspart bei Zuweisung konstanter Zeichenfolgen auch die Anführungszeichen, sorgt aber spätestens bei Berechnungen für Verwirrung. + +== Funktionale If-Abfrage == +Abfragen mittels "if" können in AHK auf zwei unterschiedliche Arten erfolgen, die sich durch die Klammerung des Ausdrucks unterscheiden. Um auch hier Missverständnissen vorzubeugen, mögen sämtliche Abfragen in eine gemeinsame Klammer gefasst werden. + +== Möglichst auf %-Variablen verzichten == +Gibt es von einer Funktion oder Methode zwei Varianten, so ist die Variante vorzuziehen, bei der Variablen nicht mit %varname% escaped werden müssen (analog zur Zuweisung mit ":="), um Missverständnissen vorzubeugen. + +== Einrückung == +Einrückung einheitlich 2 Zeichen vor dem Beginn der Zeile, dazwischen einheitlich 1 Zeichen. Dient es der Lesbarkeit, z.B. die Abfragen einer "if"-Abfrage mit der darunter liegenden "else if"-Abfrage auszurichten, darf dies stattfinden. + +== Geschwungene Klammern == +Geschwungene Klammern zum Zusammenhalten eines Funktionsblocks oder If-Zweiges mögen dem Funktionsnamen bzw. if-Zweig folgen. Bei If-Abfragen möge "else" mit einem Leerzeichen Abstand an die schließende Klammer angehängt werden, woran dann gegebenenfalls die nächste öffnende Klammer mit einem Leerzeichen angehängt wird. \ No newline at end of file diff --git a/windows/ahk-auslaufend/Source/Warning.ahk b/windows/ahk-auslaufend/Source/Warning.ahk new file mode 100644 index 0000000..559ce26 --- /dev/null +++ b/windows/ahk-auslaufend/Source/Warning.ahk @@ -0,0 +1,45 @@ +/* +******************************************* +WICHTIGE WARNUNG: + +Dies ist inzwischen eine automatisch generierte +Datei! Sie wird regelmig berschrieben und +sollte deshalb nicht mehr direkt bearbeitet werden! + +Alle weiterfhrenden Informationen finden sich im Abschnitt +== Hinweise fr Entwickler == +in der Datei README.txt! + +Versionshinweise (SVN Keywords) fr diese Datei: +$LastChangedRevision$ +$LastChangedDate$ +$LastChangedBy$ +$HeadURL$ +******************************************* + + + + + + + + + + + + + + + + + + + + +******************************************* +Das war die letzte WARNUNG, ich hoffe nur, dass +Sie wirklich wissen, was Sie hier tun wollen ... +******************************************* +*/ + + diff --git a/windows/ahk-auslaufend/ebene1.png b/windows/ahk-auslaufend/ebene1.png new file mode 100644 index 0000000..78e659a Binary files /dev/null and b/windows/ahk-auslaufend/ebene1.png differ diff --git a/windows/ahk-auslaufend/ebene2.png b/windows/ahk-auslaufend/ebene2.png new file mode 100644 index 0000000..7efc523 Binary files /dev/null and b/windows/ahk-auslaufend/ebene2.png differ diff --git a/windows/ahk-auslaufend/ebene3.png b/windows/ahk-auslaufend/ebene3.png new file mode 100644 index 0000000..cf85e67 Binary files /dev/null and b/windows/ahk-auslaufend/ebene3.png differ diff --git a/windows/ahk-auslaufend/ebene4.png b/windows/ahk-auslaufend/ebene4.png new file mode 100644 index 0000000..6eca754 Binary files /dev/null and b/windows/ahk-auslaufend/ebene4.png differ diff --git a/windows/ahk-auslaufend/ebene5.png b/windows/ahk-auslaufend/ebene5.png new file mode 100644 index 0000000..62fddbe Binary files /dev/null and b/windows/ahk-auslaufend/ebene5.png differ diff --git a/windows/ahk-auslaufend/ebene6.png b/windows/ahk-auslaufend/ebene6.png new file mode 100644 index 0000000..b4ed615 Binary files /dev/null and b/windows/ahk-auslaufend/ebene6.png differ diff --git a/windows/ahk-auslaufend/neo.ico b/windows/ahk-auslaufend/neo.ico new file mode 100644 index 0000000..bf8f8be Binary files /dev/null and b/windows/ahk-auslaufend/neo.ico differ diff --git a/windows/ahk-auslaufend/neo20.ahk b/windows/ahk-auslaufend/neo20.ahk new file mode 100644 index 0000000..4646cc3 --- /dev/null +++ b/windows/ahk-auslaufend/neo20.ahk @@ -0,0 +1,5310 @@ +/* +******************************************* +WICHTIGE WARNUNG: + +Dies ist inzwischen eine automatisch generierte +Datei! Sie wird regelmig berschrieben und +sollte deshalb nicht mehr direkt bearbeitet werden! + +Alle weiterfhrenden Informationen finden sich im Abschnitt +== Hinweise fr Entwickler == +in der Datei README.txt! + +Versionshinweise (SVN Keywords) fr diese Datei: +$LastChangedRevision$ +$LastChangedDate$ +$LastChangedBy$ +$HeadURL$ +******************************************* + + + + + + + + + + + + + + + + + + + + +******************************************* +Das war die letzte WARNUNG, ich hoffe nur, dass +Sie wirklich wissen, was Sie hier tun wollen ... +******************************************* +*/ + + +/****************** +* Initialisierung * +******************* +*/ +DeadKey := "" +CompKey := "" +PriorDeadKey := "" +PriorCompKey := "" +Ebene12 = 0 +noCaps = 0 +isFurtherCompkey = 0 + +EbeneAktualisieren() +SetBatchLines -1 +SetCapsLockState Off +KeyboardLED(4, "off") +SetNumLockState Off +SetScrollLockState Off + +name=Neo 2.0 (%A_ScriptName%) ($Revision$) +enable=Aktiviere %name% +disable=Deaktiviere %name% +#usehook on +#singleinstance force +#LTrim ; Quelltext kann eingerckt werden +Process,Priority,,High +SendMode Input + +/**************** +* Verzeichnisse * +***************** +*/ +; Setzt den Pfad zu einem temporren Verzeichnis +EnvGet,WindowsEnvTempFolder,TEMP +ResourceFolder = %WindowsEnvTempFolder%\NEO2 +FileCreateDir,%ResourceFolder% + +; Setzt den Pfad zu den NEO-Anwendungsdateien +EnvGet,WindowsEnvAppDataFolder,APPDATA +ApplicationFolder = %WindowsEnvAppDataFolder%\NEO2 +FileCreateDir,%ApplicationFolder% +ini = %ApplicationFolder%\NEO2.ini + +/******************* +* Globale Schalter * +******************** +*/ +; Im folgenden gilt (soweit nicht anders angegeben) Ja = 1, Nein = 0: + +; Sollen die Bilder fr die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? +; (Nachteil: grssere Dateigrsse, Vorteil: Referenz fr Anfnger stets einfach verfgbar) +bildschirmTastaturEinbinden := 1 + +; Syntaxhinweis: IniRead, Variable, InputFilename, Section, Key [, DefaultValue] + +; Soll der Treiber im Einhandmodus betrieben werden? +IniRead,einHandNeo,%ini%,Global,einHandNeo,0 + +; Soll der Lernmodus aktiviert werden? +IniRead,lernModus,%ini%,Global,lernModus,0 + +; Soll mit einer MsgBox explizit auf das Ein- und Ausschalten des Mod4-Locks hingewiesen werden? +IniRead,zeigeLockBox,%ini%,Global,zeigeLockBox,1 + +; Soll aktivierter Mod4-Lock ber die Rollen-LED des Keybord angezeigt werden (analog zu CapsLock)? +IniRead,UseMod4Light,%ini%,Global,UseMod4Light,1 + +; Soll Lang-s auf s, s auf und auf Lang-s gelegt (bzw. vertauscht) werden? +IniRead,LangSTastatur,%ini%,Global,LangSTastatur,0 +If LangSTastatur + KeyboardLED(2,"on") + +; Sollen tote Tasten blind angezeigt werden? +IniRead,DeadSilence,%ini%,Global,DeadSilence,1 + +;Sollen Compose-Tasten blind angezeigt werden? +IniRead,DeadCompose,%ini%,Global,DeadCompose,1 + +;Soll der Mod2Lock auch auf die Akzente, die Ziffernreihe und das Numpad angewandt werden? +IniRead,striktesMod2Lock,%ini%,Global,striktesMod2Lock,0 + +/*********************** +* Recourcen-Verwaltung * +************************ +*/ +if (FileExist("ResourceFolder") <> false) { + ; Versuche, alle mglicherweise in die EXE eingebundenen Dateien zu extrahieren + FileInstall,neo.ico,%ResourceFolder%\neo.ico,1 + FileInstall,neo_disabled.ico,%ResourceFolder%\neo_disabled.ico,1 + iconBenutzen=1 + if (bildschirmTastaturEinbinden = 1) { + FileInstall,ebene1.png,%ResourceFolder%\ebene1.png,1 + FileInstall,ebene2.png,%ResourceFolder%\ebene2.png,1 + FileInstall,ebene3.png,%ResourceFolder%\ebene3.png,1 + FileInstall,ebene4.png,%ResourceFolder%\ebene4.png,1 + FileInstall,ebene5.png,%ResourceFolder%\ebene5.png,1 + FileInstall,ebene6.png,%ResourceFolder%\ebene6.png,1 + zeigeBildschirmTastatur = 1 + } +} + +; Benutze die Dateien auch dann, wenn sie eventuell im aktuellen Verzeichnis vorhanden sind +if (FileExist("ebene1.png")&&FileExist("ebene2.png")&&FileExist("ebene3.png")&&FileExist("ebene4.png")&&FileExist("ebene5.png")&&FileExist("ebene6.png")) + zeigeBildschirmTastatur = 1 +if (FileExist("neo.ico")&&FileExist("neo_disabled.ico")) + iconBenutzen=1 + +/******************************************* +* berprfung auf deutsches Tastaturlayout * +******************************************** +*/ +regread,inputlocale,HKEY_CURRENT_USER,Keyboard Layout\Preload,1 +regread,inputlocalealias,HKEY_CURRENT_USER,Keyboard Layout\Substitutes,%inputlocale% +if (inputlocalealias<>inputlocale=%inputlocalealias% and inputlocale<>00000407) { + suspend + regread,inputlocale,HKEY_LOCAL_MACHINE,SYSTEM\CurrentControlSet\Control\Keyboard Layouts\%inputlocale%,Layout Text + msgbox, 48, Warnung!, + ( + Nicht kompatibles Tastaturlayout: + `t%inputlocale% + `nDas deutsche QWERTZ muss als Standardlayout eingestellt + sein, damit %name% wie erwartet funktioniert. + `nndern Sie die Tastatureinstellung unter + `tSystemsteuerung + `t-> Regions- und Sprachoptionen + `t-> Sprachen + `t-> Details... `n + ) + exitapp +} + +/************************* +* Men des Systray-Icons * +************************** +*/ +if (iconBenutzen) + menu,tray,icon,%ResourceFolder%\neo.ico,,1 +menu,tray,nostandard +menu,tray,add,ffnen,open + menu,helpmenu,add,About,about + menu,helpmenu,add,Autohotkey-Hilfe,help + menu,helpmenu,add + menu,helpmenu,add,http://autohotkey.com/,autohotkey + menu,helpmenu,add,http://www.neo-layout.org/,neo +menu,tray,add,Hilfe,:helpmenu +menu,tray,add +menu,tray,add,%disable%,togglesuspend +menu,tray,add +menu,tray,add,Bearbeiten,edit +menu,tray,add,Neu Laden,reload +menu,tray,add +menu,tray,add,Nicht im Systray anzeigen,hide +menu,tray,add,%name% beenden,exitprogram +menu,tray,default,%disable% +menu,tray,tip,%name% + +/************************** +* lernModus Konfiguration * +* nur relevant wenn * +* lernModus = 1 * +* Strg+Komma schaltet um * +*************************** +*/ +; 0 = aus, 1 = an + +; die Nachfolgenden sind ntzlich um sich die Qwertz-Tasten abzugewhnen, da alle auf der 4. Ebene vorhanden. +lernModus_std_Return = 0 +lernModus_std_Backspace = 0 +lernModus_std_PgUp = 0 +lernModus_std_PgDn = 0 +lernModus_std_Einf = 0 +lernModus_std_Entf = 0 +lernModus_std_Pos0 = 0 +lernModus_std_Ende = 0 +lernModus_std_Hoch = 0 +lernModus_std_Runter = 0 +lernModus_std_Links = 0 +lernModus_std_Rechts = 0 +lernModus_std_ZahlenReihe = 0 + +; im folgenden kann man auch noch ein paar Tasten der 4. Ebene deaktivieren +; ntzlich um sich zu zwingen, richtig zu schreiben +lernModus_neo_Backspace = 0 +lernModus_neo_Entf = 1 + +/**************************** +* EinHandNeo * +* Umschalten mit Strg+Punkt * +***************************** +*/ +spacepressed := 0 +keypressed := 0 + +; Reihe 1 +gespiegelt_7 = neo_6 +gespiegelt_8 = neo_5 +gespiegelt_9 = neo_4 +gespiegelt_0 = neo_3 +gespiegelt_strich = neo_2 +gespiegelt_tot2 = neo_1 + +; Reihe 2 +gespiegelt_k = neo_w +gespiegelt_h = neo_c +gespiegelt_g = neo_l +gespiegelt_f = neo_v +gespiegelt_q = neo_x +gespiegelt_sz = neo_tab +gespiegelt_tot3 = neo_tot1 + +; Reihe 3 +gespiegelt_s = neo_o +gespiegelt_n = neo_e +gespiegelt_r = neo_a +gespiegelt_t = neo_i +gespiegelt_d = neo_u + +; Reihe 4 +gespiegelt_b = neo_z +gespiegelt_m = neo_p +gespiegelt_komma = neo_ +gespiegelt_punkt = neo_ +gespiegelt_j = neo_ + +/********************** +* Tastenkombinationen * +*********************** +*/ +;Blinde/Sichtbare Tote Tasten +*F9:: + if isMod4pressed() + DeadSilence := !DeadSilence + else send {blind}{F9} +return + +;Blinde/Sichtbare Compose +*F10:: + if isMod4pressed() + DeadCompose := !DeadCompose + else send {blind}{F10} +return + +;Lang-s-Tastatur: +*F11:: + if isMod4pressed() { + LangSTastatur := !LangSTastatur + if LangSTastatur + KeyboardLED(2,"on") + else KeyboardLED(2,"off") + } else send {blind}{F11} +return + +;Alle Modi und Locks in den Normalzustand versetzen, bzw. Skript neu laden: +*Esc:: + if isMod4pressed() + reload + else send {blind}{Esc} +return + +*pause:: +Suspend, Permit + if isShiftpressed() + goto togglesuspend + else send {blind}{pause} +return + +^,::lernModus := !lernModus + +^.::einHandNeo := !einHandNeo + +/***************** +* Menfunktionen * +****************** +*/ +togglesuspend: + if A_IsSuspended { + menu,tray,rename,%enable%,%disable% + menu,tray,tip,%name% + if (iconBenutzen) + menu,tray,icon,%ResourceFolder%\neo.ico,,1 + suspend,off ; Schaltet Suspend aus -> NEO + } else { + menu,tray,rename,%disable%, %enable% + menu,tray,tip,%name% : Deaktiviert + if (iconBenutzen) + menu,tray,icon, %ResourceFolder%\neo_disabled.ico,,1 + suspend,on ; Schaltet Suspend ein -> QWERTZ + } return + +help: + Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm +return + +about: + msgbox, 64, %name% Ergonomische Tastaturbelegung, + ( + %name% + `nDas Neo-Layout ersetzt das bliche deutsche + Tastaturlayout mit der Alternative Neo, + beschrieben auf http://neo-layout.org/. + `nDazu sind keine Administratorrechte ntig. + `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke + abgefangen und statt dessen eine bersetzung weitergeschickt. + `nDies geschieht transparent fr den Anwender, + es muss nichts installiert werden. + `nDie Zeichenbersetzung kann leicht ber das Icon im + Systemtray deaktiviert werden. `n + ) +return + +neo: + run http://neo-layout.org/ +return + +autohotkey: + run http://autohotkey.com/ +return + +open: + ListLines ; shows the Autohotkey window +return + +edit: + edit +return + +reload: + Reload +return + +hide: + menu, tray, noicon +return + +exitprogram: + exitapp +return + + +; LShift+RShift == CapsLock (simuliert) +; Es werden nur die beiden Tastenkombinationen abgefragt, +; daher kommen LShift und RShift ungehindert bis in die +; Applikation. Dies ist aber merkwrdig, da beide Shift- +; Tasten nun /modifier keys/ werden und, wie in der AHK- +; Hilfe beschrieben, eigentlich nicht mehr bis zur App +; durchkommen sollten. +; KeyboardLED(4,"switch") hatte ich zuerst genommen, aber +; das schaltet, oh Wunder, die LED nicht wieder aus. + +isMod2Locked = 0 +VKA1SC136 & VKA0SC02A:: ; RShift, dann LShift +VKA0SC02A & VKA1SC136:: ; LShift, dann RShift + if GetKeyState("VKA1SC136", "P") and GetKeyState("VKA0SC02A", "P") { + if isMod2Locked { + isMod2Locked = 0 + KeyboardLED(4, "off") + } else { + isMod2Locked = 1 + KeyBoardLED(4, "on") + } + } +return + +;Mod3-Tasten (Wichtig, sie werden sonst nicht verarbeitet!) +;Auf Mod3+Mod3 liegt zustzlich zu Mod3+Tab Compose +*VKBFSC02B:: ; # +*VK14SC03A:: ; CapsLock + if GetKeyState("VKBFSC02B", "P") and GetKeyState("VK14SC03A", "P") { + DeadKey := "comp" + CompKey := "" + } +return + +;Mod4+Mod4 == Mod4-Lock +; Im Gegensatz zu LShift+RShift werden die beiden Tasten +; _nicht_ zur Applikation weitergeleitet, und nur bei +; gleichzeitigem Drcken wird der Mod4-Lock aktiviert und +; angezeigt. + +IsMod4Locked := 0 +*VKA5SC138:: +*VKE2SC056:: + if GetKeyState("VKA5SC138", "P") and GetKeyState("VKE2SC056", "P") { + if IsMod4Locked { + if zeigeLockBox + MsgBox Mod4-Feststellung aufgebehoben! + IsMod4Locked = 0 + if UseMod4Light + KeyboardLED(1, "off") + } else { + if zeigeLockBox + MsgBox Mod4 festgestellt: Um Mod4 wieder zu lsen, drcke beide Mod4-Tasten gleichzeitig! + IsMod4Locked = 1 + if UseMod4Light + KeyboardLED(1, "on") + } + } +return + +EbeneAktualisieren() { + global + PriorDeadKey := DeadKey + PriorCompKey := CompKey + DeadKey := "" + CompKey := "" + Modstate := IsMod4Pressed() . IsMod3Pressed() . IsShiftPressed() + Ebene7 := 0 + Ebene8 := 0 + if (Modstate = "000") ; Ebene 1: Ohne Mod + Ebene = 1 + else if (Modstate = "001") ; Ebene 2: Shift + Ebene = 2 + else if (Modstate = "010") ; Ebene 3: Mod3 + Ebene = 3 + else if (Modstate = "100") ; Ebene 4: Mod4 + Ebene = 4 + else if (Modstate = "011") ; Ebene 5: Shift+Mod3 + Ebene = 5 + else if (Modstate = "110") ; Ebene 6: Mod3+Mod4 + Ebene = 6 + else if (Modstate = "101") { ; Ebene 7: Shift+Mod4 impliziert Ebene 4 + Ebene = 4 + Ebene7 = 1 + } else if (Modstate = "111") { ; Ebene 8: Shift+Mod3+Mod4 impliziert Ebene 6 + Ebene = 6 + Ebene8 = 1 + } Ebene12 := ((Ebene = 1) or (Ebene = 2)) + NumLock := GetKeyState("NumLock", "T") + noCaps := 0 +} + +IsShiftPressed() +{ + global + if !(NoCaps and GetKeyState("Shift", "P") and (GetKeyState("Alt", "P") or GetKeyState("Strg", "P"))) { + if striktesMod2Lock + noCaps = 0 + if GetKeyState("Shift","P") + if isMod2Locked and !noCaps + return 0 + else return 1 + else if isMod2Locked and !noCaps + return 1 + else return 0 + } +} + +IsMod3Pressed() +{ + global + return (GetKeyState("VKBFSC02B","P") or GetKeyState("VK14SC03A","P")) +} + +IsMod4Pressed() +{ + global + if !(einHandNeo) or !(spacepressed) + if IsMod4Locked + return !(GetKeyState("<","P") or GetKeyState("SC138","P")) + else + return (GetKeyState("<","P") or GetKeyState("SC138","P")) + else + if IsMod4Locked + return !(GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("","P")) + else + return (GetKeyState("<","P") or GetKeyState("SC138","P") or GetKeyState("","P")) +} + + + +/* + ------------------------------------------------------ + QWERTZ->Neo umwandlung + ------------------------------------------------------ +*/ + +; Reihe 1 +*VKDCSC029::goto neo_tot1 ; Zirkumflex +*VK31SC002::goto neo_1 +*VK32SC003::goto neo_2 +*VK33SC004::goto neo_3 +*VK34SC005::goto neo_4 +*VK35SC006::goto neo_5 +*VK36SC007::goto neo_6 +*VK37SC008:: + if !einHandNeo or !spacepressed + goto neo_7 + else { + keypressed := 1 + goto %gespiegelt_7% + } +*VK38SC009:: + if !einHandNeo or !spacepressed + goto neo_8 + else { + keypressed := 1 + goto %gespiegelt_8% + } +*VK39SC00A:: + if !einHandNeo or !spacepressed + goto neo_9 + else { + keypressed := 1 + goto %gespiegelt_9% + } +*VK30SC00B:: + if !einHandNeo or !spacepressed + goto neo_0 + else { + keypressed := 1 + goto %gespiegelt_0% + } +*VKDBSC00C:: ; + if !einHandNeo or !spacepressed + goto neo_strich + else { + keypressed := 1 + goto %gespiegelt_strich% + } +*VKDDSC00D::goto neo_tot2 ; Akut + +; Reihe 2 + +VK09SC00F::goto neo_tab +*VK51SC010:: ; q (x) + goto neo_x +*VK57SC011:: ; w (v) + goto neo_v +*VK45SC012:: ; e (l) + goto neo_l +*VK52SC013:: ; r (c) + goto neo_c +*VK54SC014:: ; t (w) + goto neo_w +*VK5ASC015:: ; z (k) + if !einHandNeo or !spacepressed + goto neo_k + else { + keypressed := 1 + goto %gespiegelt_k% + } +*VK55SC016:: ; u (h) + if !einHandNeo or !spacepressed + goto neo_h + else { + keypressed := 1 + goto %gespiegelt_h% + } +*VK49SC017:: ; i (g) + if !einHandNeo or !spacepressed + goto neo_g + else { + keypressed := 1 + goto %gespiegelt_g% + } +*VK4FSC018:: ; o (f) + if !einHandNeo or !spacepressed + goto neo_f + else { + keypressed := 1 + goto %gespiegelt_f% + } +*VK50SC019:: ; p (q) + if !einHandNeo or !spacepressed + goto neo_q + else { + keypressed := 1 + goto %gespiegelt_q% + } +*VKBASC01A:: ; () + if !einHandNeo or !spacepressed + goto neo_sz + else { + keypressed := 1 + goto %gespiegelt_sz% + } +*VKBBSC01B:: ; + (tot3) + if !einHandNeo or !spacepressed + goto neo_tot3 + else { + keypressed := 1 + goto %gespiegelt_tot3% + } + +; Reihe 3 +*VK41SC01E:: ; a (u) + goto neo_u +*VK53SC01F:: ; s (i) + goto neo_i +*VK44SC020:: ; d (a) + goto neo_a +*VK46SC021:: ; f (e) + goto neo_e +*VK47SC022:: ; g (o) + goto neo_o +*VK48SC023:: ; h (s) + if !einHandNeo or !spacepressed + goto neo_s + else { + keypressed := 1 + goto %gespiegelt_s% + } +*VK4ASC024:: ; j (n) + if !einHandNeo or !spacepressed + goto neo_n + else { + keypressed := 1 + goto %gespiegelt_n% + } +*VK4BSC025:: ; k (r) + if !einHandNeo or !spacepressed + goto neo_r + else { + keypressed := 1 + goto %gespiegelt_r% + } +*VK4CSC026:: ; l (t) + if !einHandNeo or !spacepressed + goto neo_t + else { + keypressed := 1 + goto %gespiegelt_t% + } +*VKC0SC027:: ; (d) + if !einHandNeo or !spacepressed + goto neo_d + else { + keypressed := 1 + goto %gespiegelt_d% + } +*VKDESC028:: ; (y) + goto neo_y + +; Reihe 4 +*VK59SC02C:: ; y () + goto neo_ +*VK58SC02D:: ; x () + goto neo_ +*VK43SC02E:: ; c () + goto neo_ +*VK56SC02F:: ; v (p) + goto neo_p +*VK42SC030:: ; b (z) + goto neo_z +*VK4ESC031:: ; n (b) + if !einHandNeo or !spacepressed + goto neo_b + else { + keypressed := 1 + goto %gespiegelt_b% + } +*VK4DSC032:: ; m (m) + if !einHandNeo or !spacepressed + goto neo_m + else { + keypressed := 1 + goto %gespiegelt_m% + } +*VKBCSC033:: ; , (,) + if !einHandNeo or !spacepressed + goto neo_komma + else { + keypressed := 1 + goto %gespiegelt_komma% + } +*VKBESC034:: ; . (.) + if !einHandNeo or !spacepressed + goto neo_punkt + else { + keypressed := 1 + goto %gespiegelt_punkt% + } +*VKBDSC035:: ; - (j) + if !einHandNeo or !spacepressed + goto neo_j + else { + keypressed := 1 + goto %gespiegelt_j% + } + +; Numpad +*VK90SC145::goto neo_NumLock +*VK6FSC135::goto neo_NumpadDiv +*VK6ASC037::goto neo_NumpadMult +*VK6DSC04A::goto neo_NumpadSub +*VK6BSC04E::goto neo_NumpadAdd +*VK0DSC11C::goto neo_NumpadEnter +*VK67SC047:: ; NumPad7 +*VK24SC047::goto neo_Numpad7 ; NumPadHome +*VK68SC048:: ; NumPad8 +*VK26SC048::goto neo_Numpad8 ; NumPadUp +*VK69SC049:: ; NumPad9 +*VK21SC049::goto neo_Numpad9 ; NumPadPgUp +*VK64SC04B:: ; NumPad4 +*VK25SC04B::goto neo_Numpad4 ; NumPadLeft +*VK65SC04C:: ; NumPad5 +*VK0CSC04C::goto neo_Numpad5 ; NumPadClear +*VK66SC04D:: ; NumPad6 +*VK27SC04D::goto neo_Numpad6 ; NumPadRight +*VK61SC04F:: ; NumPad1 +*VK23SC04F::goto neo_Numpad1 ; NumPadEnd +*VK62SC050:: ; NumPad2 +*VK28SC050::goto neo_Numpad2 ; NumPadDown +*VK63SC051:: ; NumPad3 +*VK22SC051::goto neo_Numpad3 ; NumPadPgDn +*VK60SC052:: ; NumPad0 +*VK2DSC052::goto neo_Numpad0 ; NumPadIns +*VK6ESC053:: ; NumPadDot +*VK2ESC053::goto neo_NumpadDot ; NumPadIns + + +neo_a: + EbeneAktualisieren() + if (((Ebene = 2) and !(CheckDeadUni("a5g1",0x1F02) + or CheckDeadUni("g5g1",0x1F03))) + or (Ebene12 and !(CheckDeadUni12("c1",0x00E2,0x00C2) + or CheckDeadUni12("c2",0x00E3,0x00C3) + or CheckDeadAsc12("c3","","") + or CheckDeadUni12("c4",0x01CE,0x01CD) + or CheckDeadUni12("c5",0x0103,0x0102) + or CheckDeadUni12("c6",0x0101,0x0100) + or CheckDeadUni12("g1",0x00E0,0x00C0) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0201,0x0200) + or CheckDeadUni12("a1",0x00E1,0x00C1) + or CheckDeadUni12("a2",0x0105,0x0104) + or CheckDeadUni12("a3",0x2C65,0x023A) + or CheckDeadUni12("a6",0x0227,0x0226)))) + OutputChar12("a","A","a","A") + else if (Ebene = 3) + OutputChar("{{}", "braceleft") + else if (Ebene = 4) + OutputChar("{Down}", "Down") + else if (Ebene = 5 and !(CheckDeadUni("c1",0x1FB6) + or CheckDeadUni("c5",0x1FB0) + or CheckDeadUni("c6",0x1FB1) + or CheckDeadUni("g1",0x1F70) + or CheckDeadUni("g5",0x1F01) + or CheckDeadUni("a1",0x03AC) + or CheckDeadUni("a2",0x1FB3) + or CheckDeadUni("a5",0x1F00))) + SendUnicodeChar(0x03B1, "Greek_alpha") ; alpha + else if (Ebene = 6) + SendUnicodeChar(0x2200, "U2200") ; fr alle +return + +neo_b: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x1E07,0x1E06) + or CheckDeadUni12("a6",0x1E03,0x1E02))) + OutputChar12("b","B","b","B") + else if (Ebene = 3) + if isMod2Locked + OutputChar("{Shift Up}{+}{Shift down}", "plus") + else OutputChar("{blind}{+}", "plus") + else if (Ebene = 4) + OutputChar(":", "colon") + else if (Ebene = 5) + SendUnicodeChar(0x03B2, "Greek_beta") ; beta + else if (Ebene = 6) + SendUnicodeChar(0x21D0, "U21D0") ; Doppelpfeil links +return + +neo_c: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0109,0x0108) + or CheckDeadUni12("c4",0x010D,0x010C) + or CheckDeadUni12("a1",0x0107,0x0106) + or CheckDeadUni12("a2",0x00E7,0x00E6) + or CheckDeadUni12("a6",0x010B,0x010A))) + OutputChar12("c","C","c","C") + else if (Ebene = 3) + OutputChar("]", "bracketright") + else if (Ebene = 4) and (!lernModus or lernModus_neo_Entf) + OutputChar("{Del}", "Delete") + else if (Ebene = 5) + SendUnicodeChar(0x03C7, "Greek_chi") ; chi + else if (Ebene = 6) + SendUnicodeChar(0x2102, "U2102") ; C (Komplexe Zahlen)] +return + +neo_d: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x1E13,0x1E12) + or CheckDeadUni( "c2",0x1D6D) + or CheckDeadUni12("c4",0x010F,0x010E) + or CheckDeadUni12("g3",0x1E0D,0x1E0C) + or CheckDeadUni12("a1",0x00F0,0x00D0) + or CheckDeadUni12("a2",0x1E11,0x1E10) + or CheckDeadUni12("a3",0x0111,0x0110) + or CheckDeadUni12("a6",0x1E0B,0x1E0A))) + OutputChar12("d","D","d","D") + else if (Ebene = 3) + OutputChar(":", "colon") + else if (Ebene = 4) + OutputChar("{NumpadDot}", "comma") + else if (Ebene = 5) + SendUnicodeChar(0x03B4, "Greek_delta") ; delta + else if (Ebene = 6) + SendUnicodeChar(0x0394, "Greek_DELTA") ; Delta +return + +neo_e: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00EA,0x00CA) + or CheckDeadUni12("c2",0x1EBD,0x1EBC) + or CheckDeadUni12("c4",0x011B,0x011A) + or CheckDeadUni12("c5",0x0115,0x0114) + or CheckDeadUni12("c6",0x0113,0x0112) + or CheckDeadUni12("g1",0x00E8,0x00C8) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0205,0x0204) + or CheckDeadUni12("a1",0x00E9,0x00C9) + or CheckDeadUni12("a2",0x0119,0x0118) + or CheckDeadUni12("a6",0x0117,0x0116))) + OutputChar12("e","E","e","E") + else if (Ebene = 3) + OutputChar("{}}", "braceright") + else if (Ebene = 4) + OutputChar("{Right}", "Right") + else if (Ebene = 5) + SendUnicodeChar(0x03B5, "Greek_epsilon") ; epsilon + else if (Ebene = 6) + SendUnicodeChar(0x2203, "U2203") ; es existiert +return + +neo_f: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E1F,0x1E1E))) + OutputChar12("f","F","f","F") + else if ((Ebene = 3) and !(CheckDeadUni("c1",0x2259) ; entspricht + or CheckDeadUni("c2",0x2245) ; ungefhr gleich + or CheckDeadUni("c3",0x2257) ; ring equal to + or CheckDeadUni("c4",0x225A) ; EQUIANGULAR TO + or CheckDeadUni("c6",0x2261) ; identisch + or CheckDeadUni("a3",0x2260))) ; ungleich + OutputChar("`=", "equal") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2079) + or CheckDeadUni("a3",0x2089))) + OutputChar("{Numpad9}", "KP_9") + else if (Ebene = 5) + SendUnicodeChar(0x03C6, "Greek_phi") ; phi + else if (Ebene = 6) + SendUnicodeChar(0x03A6, "Greek_PHI") ; Phi +return + +neo_g: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x011D,0x011C) + or CheckDeadUni12("c5",0x011F,0x011E) + or CheckDeadUni12("a2",0x0123,0x0122) + or CheckDeadUni12("a6",0x0121,0x0120))) + OutputChar12("g","G","g","G") + else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2265))) ; grer gleich + OutputChar(">", "greater") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2078) + or CheckDeadUni("a3",0x2088))) + OutputChar("{Numpad8}", "KP_8") + else if (Ebene = 5) + SendUnicodeChar(0x03B3, "Greek_gamma") ; gamma + else if (Ebene = 6) + SendUnicodeChar(0x0393, "Greek_GAMMA") ; Gamma +return + +neo_h: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0125,0x0124) + or CheckDeadUni12("a3",0x0127,0x0126) + or CheckDeadUni12("a6",0x1E23,0x1E22))) + OutputChar12("h","H","h","H") + else if ((Ebene = 3) and !(CheckDeadUni("a3",0x2264))) ; kleiner gleich + OutputChar("<", "less") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2077) + or CheckDeadUni("a3",0x2087))) + OutputChar("{Numpad7}", "KP_7") + else if (Ebene = 5) + SendUnicodeChar(0x03C8, "Greek_psi") ; psi + else if (Ebene = 6) + SendUnicodeChar(0x03A8, "Greek_PSI") ; Psi +return + +neo_i: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00EE,0x00CE) + or CheckDeadUni12("c2",0x0129,0x0128) + or CheckDeadUni12("c4",0x01D0,0x01CF) + or CheckDeadUni12("c5",0x012D,0x012C) + or CheckDeadUni12("c6",0x012B,0x012A) + or CheckDeadUni12("g1",0x00EC,0x00CC) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("g4",0x0209,0x0208) + or CheckDeadUni12("a1",0x00ED,0x00CD) + or CheckDeadUni12("a2",0x012F,0x012E) + or CheckDeadUni12("a3",0x0268,0x0197) + or CheckDeadUni12("a6",0x0131,0x0130))) + OutputChar12("i","I","i","I") + else if (Ebene = 3) + OutputChar("`/", "slash") + else if (Ebene = 4) + OutputChar("{Left}", "Left") + else if (Ebene = 5) + SendUnicodeChar(0x03B9, "Greek_iota") ; iota + else if (Ebene = 6) + SendUnicodeChar(0x222B, "integral") ; integral +return + +neo_j: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0135,0x0134) + or CheckDeadUni( "c4",0x01F0) + or CheckDeadUni12("a3",0x0249,0x0248))) + OutputChar12("j","J","j","J") + else if (Ebene = 3) + OutputChar("`;", "semicolon") + else if (Ebene = 4) + OutputChar("`;", "semicolon") + else if (Ebene = 5) + SendUnicodeChar(0x03B8, "Greek_theta") ; theta + else if (Ebene = 6) + SendUnicodeChar(0x221D, "variation") ; proportional +return + +neo_k: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a2",0x0137,0x0136) + or CheckDeadUni12("a6",0x1E33,0x1E32))) + OutputChar12("k","K","k","K") + else if (Ebene = 3) + OutputChar("{!}", "exclam") + else if (Ebene = 4) + OutputChar("", "exclamdown") + else if (Ebene = 5) + SendUnicodeChar(0x03F0, "U03F0") ; kappa symbol (varkappa) + else if (Ebene = 6) + SendUnicodeChar(0x221A, "radical") ; Wurzel +return + +neo_l: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c4",0x013E,0x013D) + or CheckDeadUni12("a1",0x013A,0x0139) + or CheckDeadUni12("a2",0x013C,0x013B) + or CheckDeadUni12("a3",0x0142,0x0141) + or CheckDeadUni12("a6",0x1E37,0x1E36))) + OutputChar12("l","L","l","L") + else if (Ebene = 3) + OutputChar("[", "bracketleft") + else if (Ebene = 4) + OutputChar("{Up}", "Up") + else if (Ebene = 5) + SendUnicodeChar(0x03BB, "Greek_lambda") ; lambda + else if (Ebene = 6) + SendUnicodeChar(0x039B, "Greek_LAMBDA") ; Lambda +return + +neo_m: + EbeneAktualisieren() + if (Ebene12 and !CheckDeadUni12("a6",0x1E41,0x1E40)) + OutputChar12("m","M","m","M") + else if (Ebene = 3) + OutputChar("`%", "percent") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B9) + or CheckDeadUni("a3",0x2081))) + OutputChar("{Numpad1}", "KP_1") + else if (Ebene = 5) + SendUnicodeChar(0x03BC, "Greek_mu") ; griechisch mu, micro wre 0x00B5 + else if (Ebene = 6) + SendUnicodeChar(0x21D4, "ifonlyif") ; doppelter Doppelpfeil (genau dann wenn) +return + +neo_n: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c2",0x00F1,0x00D1) + or CheckDeadUni12("c4",0x0148,0x0147) + or CheckDeadUni12("a1",0x0144,0x0143) + or CheckDeadUni12("a2",0x0146,0x0145) + or CheckDeadUni12("a6",0x1E45,0x1E44))) + OutputChar12("n","N","n","N") + else if (Ebene = 3) + OutputChar("(", "parenleft") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2074) + or CheckDeadUni("a3",0x2084))) + OutputChar("{Numpad4}", "KP_4") + else if (Ebene = 5) + SendUnicodeChar(0x03BD, "Greek_nu") ; nu + else if (Ebene = 6) + SendUnicodeChar(0x2115, "U2115") ; N (natrliche Zahlen) +return + +neo_o: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00F4,0x00D4) + or CheckDeadUni12("c2",0x00F5,0x00D5) + or CheckDeadUni12("c4",0x01D2,0x01D1) + or CheckDeadUni12("c5",0x014F,0x014E) + or CheckDeadUni12("c6",0x014D,0x014C) + or CheckDeadUni12("g1",0x00F2,0x00D2) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00F3,0x00D3) + or CheckDeadUni12("a2",0x01EB,0x01EA) + or CheckDeadUni12("a3",0x00F8,0x00D8) + or CheckDeadUni12("a4",0x0151,0x0150))) + OutputChar12("o","O","o","O") + else if (Ebene = 3) + OutputChar("*", "asterisk") + else if (Ebene = 4) + OutputChar("{End}", "End") + else if (Ebene = 5) + SendUnicodeChar(0x03BF, "Greek_omicron") ; omicron + else if (Ebene = 6) + SendUnicodeChar(0x2208, "elementof") ; element of +return + +neo_p: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E57,0x1E56))) + OutputChar12("p","P","p","P") + else if ((Ebene = 3) and !(CheckDeadUni("c2",0x2248))) + OutputChar("~", "asciitilde") + else if (Ebene = 4) + OutputChar("{Enter}", "Return") + else if (Ebene = 5) + SendUnicodeChar(0x03C0, "Greek_pi") ; pi + else if (Ebene = 6) + SendUnicodeChar(0x03A0, "Greek_PI") ; Pi +return + +neo_q: + EbeneAktualisieren() + if (Ebene12) + OutputChar12("q","Q","q","Q") + else if (Ebene = 3) + OutputChar("{&}", "ampersand") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x207A) + or CheckDeadUni("a3",0x208A))) + OutputChar("{NumPadAdd}", "KP_Add") + else if (Ebene = 5) + SendUnicodeChar(0x03D5, "U03D5") ; phi symbol (varphi) + else if (Ebene = 6) + SendUnicodeChar(0x211A, "U211A") ; Q (rationale Zahlen) +return + +neo_r: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c4",0x0159,0x0158) + or CheckDeadUni12("g3",0x1E5B,0x1E5A) + or CheckDeadUni12("a1",0x0155,0x0154) + or CheckDeadUni12("a2",0x0157,0x0156) + or CheckDeadUni12("a6",0x0E59,0x0E58))) + OutputChar12("r","R","r","R") + else if (Ebene = 3) + OutputChar(")", "parenright") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2075) + or CheckDeadUni("a3",0x2085))) + OutputChar("{Numpad5}", "KP_5") + else if (Ebene = 5) + SendUnicodeChar(0x03F1, "U03F1") ; rho symbol (varrho) + else if (Ebene = 6) + SendUnicodeChar(0x211D, "U221D") ; R (reelle Zahlen) +return + +neo_s: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x015B,0x015A) + or CheckDeadUni12("a2",0x015F,0x015E) + or CheckDeadUni12("a6",0x1E61,0x1E60) + or CheckDeadUni12("c1",0x015D,0x015C) + or CheckDeadUni12("c4",0x0161,0x0160) + or CheckDeadUni12("a6",0x1E63,0x1A62))) { + if (LangSTastatur and (Ebene = 1)) + SendUnicodeChar(0x017F, "17F") ; langes s + else OutputChar12("s","S","s","S") + } else if (Ebene = 3) + OutputChar("?", "question") + else if (Ebene = 4) + OutputChar("", "questiondown") + else if (Ebene = 5) + SendUnicodeChar(0x03C3, "Greek_sigma") ;sigma + else if (Ebene = 6) + SendUnicodeChar(0x03A3, "Greek_SIGMA") ;Sigma +return + +neo_t: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a2",0x0163,0x0162) + or CheckDeadUni12("a6",0x1E6B,0x1E6A) + or CheckDeadUni12("c4",0x0165,0x0164) + or CheckDeadUni( "g3",0x1E97))) + OutputChar12("t","T","t","T") + else if (Ebene = 3) + OutputChar("-", "minus") ; Bisstrich + else if (Ebene = 4) and !(CheckDeadUni("c1",0x2076) + or CheckDeadUni("c5",0x2086)) + OutputChar("{Numpad6}", "KP_6") + else if (Ebene = 5) + SendUnicodeChar(0x03C4, "Greek_tau") ; tau + else if (Ebene = 6) + SendUnicodeChar(0x2202, "partialderivative") ; partielle Ableitung +return + +neo_u: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x00FB,0x00DB) + or CheckDeadUni12("c2",0x0169,0x0168) + or CheckDeadUni12("c3",0x016F,0x016E) + or CheckDeadUni12("c4",0x01D4,0x01D3) + or CheckDeadUni12("c5",0x016D,0x016C) + or CheckDeadUni12("c6",0x016B,0x016A) + or CheckDeadUni12("g1",0x00F9,0x00D9) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00FA,0x00DA) + or CheckDeadUni12("a2",0x0173,0x0172) + or CheckDeadUni12("a4",0x0171,0x0170))) + OutputChar12("u","U","u","U") + else if (Ebene = 3) + OutputChar("\", "backslash") + else if (Ebene = 4) + OutputChar("{Home}", "Home") + else if (Ebene = 6) + SendUnicodeChar(0x222E, "U222E") ; contour integral +return + +neo_v: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a6",0x1E7F,0x1E7E))) + OutputChar12("v","V","v","V") + else if (Ebene = 3) + OutputChar("_","underscore") + else if (Ebene = 4) and (!lernModus or lernModus_neo_Backspace) + OutputChar("{Backspace}", "BackSpace") + else if (Ebene = 6) + SendUnicodeChar(0x2259, "U2259") ; estimates/entspricht +return + +neo_w: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0175,0x0174))) + OutputChar12("w","W","w","W") + else if (Ebene = 3) + OutputChar("{^}{space}", "asciicircum") ; Zirkumflex + else if (Ebene = 4) + OutputChar("{Insert}", "Insert") ; Einfg + else if (Ebene = 5) + SendUnicodeChar(0x03C9, "Greek_omega") ; omega + else if (Ebene = 6) + SendUnicodeChar(0x03A9, "Greek_OMEGA") ; Omega +return + +neo_x: + EbeneAktualisieren() + if Ebene12 + OutputChar12("x","X","x","X") + else if (Ebene = 3) + OutputChar("", "ellipsis") ; Ellipse horizontal + else if (Ebene = 4) + SendUnicodeChar(0x22EE, "U22EE") ; Ellipse vertikal + else if (Ebene = 5) + SendUnicodeChar(0x03BE, "Greek_xi") ; xi + else if (Ebene = 6) + SendUnicodeChar(0x039E, "Greek_XI") ; Xi +return + +neo_y: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c1",0x0177,0x0176) + or CheckDeadAsc12("g3","","") + or CheckDeadUni12("a1",0x00FD,0x00DD))) + OutputChar12("y","Y","y","Y") + else if (Ebene = 3) + OutputChar("@", "at") + else if (Ebene = 4) + OutputChar(".", "period") + else if (Ebene = 5) + SendUnicodeChar(0x03C5, "Greek_upsilon") ; upsilon + else if (Ebene = 6) + SendUnicodeChar(0x2207, "nabla") ; nabla +return + +neo_z: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x017A,0x0179) + or CheckDeadUni12("a6",0x017C,0x017B) + or CheckDeadUni12("c4",0x017E,0x017D))) + OutputChar12("z","Z","z","Z") + else if (Ebene = 3) + OutputChar("``{space}", "grave") ; untot + else if (Ebene = 4) + send {Ctrl down}z{Ctrl up} + else if (Ebene = 5) + SendUnicodeChar(0x03B6, "Greek_zeta") ; zeta + else if (Ebene = 6) + SendUnicodeChar(0x2124, "U2124") ; Z (ganze Zahlen) +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x01DF,0x01DE))) + OutputChar12("","","adiaeresis","Adiaeresis") + else if (Ebene = 3) + OutputChar("|", "bar") + else if (Ebene = 4) + OutputChar("{PgDn}", "Next") + else if (Ebene = 5) + SendUnicodeChar(0x03B7, "Greek_eta") ; eta + else if (Ebene = 6) + SendUnicodeChar(0x2135, "U2135") ; Kardinalzahlen, Aleph-Symbol +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("c6",0x022B,0x022A))) + OutputChar12("","","odiaeresis","Odiaeresis") + else if (Ebene = 3) + OutputChar("$", "dollar") + else if (Ebene = 4) + OutputChar("{Tab}", "Tab") + else if (Ebene = 6) + SendUnicodeChar(0x2111, "U2221") ; Fraktur I +return + +neo_: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni12("a1",0x01D8,0x01D7) + or CheckDeadUni12("g1",0x01DC,0x01DB) + or CheckDeadUni12("c4",0x01DA,0x01D9) + or CheckDeadUni12("c6",0x01D6,0x01D5))) + OutputChar12("","","udiaeresis","Udiaeresis") + else if (Ebene = 3) + if isMod2Locked + OutputChar("{Shift Up}{#}", "numbersign") + else OutputChar("{blind}{#}", "numbersign") + else if (Ebene = 4) + OutputChar("{Esc}", "Escape") + else if (Ebene = 6) + SendUnicodeChar(0x211C, "U221C") ; Fraktur R +return + +neo_sz: + EbeneAktualisieren() + if (Ebene = 1) + if LangSTastatur + OutputChar("s", "s") + else OutputChar("", "ssharp") + else if (Ebene = 2) + SendUnicodeChar(0x1E9E, "U1E9E") ; versal- + else if (Ebene = 3) + if LangSTastatur + OutputChar("", "ssharp") + else SendUnicodeChar(0x017F, "17F") ; langes s + else if (Ebene = 5) + SendUnicodeChar(0x03C2, "Greek_finalsmallsigma") ; varsigma + else if (Ebene = 6) + SendUnicodeChar(0x2218, "jot") ; Verknpfungsoperator +return + +neo_0: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2070) ; Hochgestellte 0 + or CheckDeadUni("a3",0x2080)) ; Tiefgestellte 0 + OutputChar12(0,"",0,"rightdoublequotemark") + else if (Ebene = 3) + OutputChar("", "rightsingleqoutemark") + else if (Ebene = 4) + OutputChar("{NumpadSub}", "KP_Minus") + else if (Ebene = 5) + SendUnicodeChar(0x2080, "U2080") + else if (Ebene = 6) + SendUnicodeChar(0x2205, "emptyset") ; leere Menge +return + +neo_1: + noCaps=1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x00B9) ; Hochgestellte 1 + or CheckDeadUni("a3",0x2081)) ; Tiefgestellte 1 + OutputChar12(1,"",1,"degree") + else if (Ebene = 3) + OutputChar("", "onesuperior") ; Hochgestellte 1 + else if (Ebene = 4) + OutputChar("", "U00BA") ; mnnlicher Ordinalindikator () + else if (Ebene = 5) + SendUnicodeChar(0x2081, "U2081") ; Tiefgestellte 1 + else if (Ebene = 6) + OutputChar("", "notsign") ; Nicht-Symbol +return + +neo_2: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x00B2) ; Hochgestellte 2 + or CheckDeadUni("a3",0x2082)) ; Tiefgestellte 2 + OutputChar12(2,"",2,"section") + else if (Ebene = 3) + OutputChar("", "twosuperior") ; Hochgestellte 2 + else if (Ebene = 4) + OutputChar("", "U00AA") ; weiblicher Ordinalindikator () + else if (Ebene = 5) + SendUnicodeChar(0x2082, "U2082") ; Tiefgestellte 2 + else if (Ebene = 6) + SendUnicodeChar(0x2228, "logicalor") ; Logisches Oder +return + +neo_3: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x00B3) ; Hochgestellte 3 + or CheckDeadUni("a3",0x2083)) ; Tiefgestellte 3 + OutputChar(3,3) + else if (Ebene = 2) + SendUnicodeChar(0x2113, "U2113") ; kleines l (Skript) + else if (Ebene = 3) + OutputChar("", "threesuperior") ; Hochgestellte 3 + else if (Ebene = 4) + SendUnicodeChar(0x2116, "numerosign") ; Numero + else if (Ebene = 5) + SendUnicodeChar(0x2083, "U2083") ; Tiefgestellte 3 + else if (Ebene = 6) + SendUnicodeChar(0x2227, "logicaland") ; Logisches Und +return + +neo_4: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2074) ; Hochgestellte 4 + or CheckDeadUni("a3",0x2084)) ; Tiefgestellte 4 + OutputChar(4,4) + else if (Ebene = 2) + OutputChar("", "guillemotright") + else if (Ebene = 3) + OutputChar("", "U230A") ; Single guillemot right + else if (Ebene = 4) + OutputChar("{PgUp}", "Prior") ; Bild auf + else if (Ebene = 5) + OutputChar("", "dagger") ; Kreuz + else if (Ebene = 6) + SendUnicodeChar(0x22A5, "uptack") ; Senkrecht +return + +neo_5: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2075) ; Hochgestellte 5 + or CheckDeadUni("a3",0x2085)) ; Tiefgestellte 5 + OutputChar(5,5) + else if (Ebene = 2) + OutputChar("", "guillemotleft") ; Double guillemot left + else if (Ebene = 3) + OutputChar("", "U2039") ; Single guillemot left + else if (Ebene = 5) + SendUnicodeChar(0x2640, "femalesymbol") + else if (Ebene = 6) + SendUnicodeChar(0x2221, "U2221") ; Winkel +return + +neo_6: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !(CheckDeadUni("c1",0x2076) ; Hochgestellte 6 + or CheckDeadUni("a3",0x2086)) ; Tiefgestellte 6 + OutputChar(6,6) + else if (Ebene = 2) + SendUnicodeChar(0x20AC, "EuroSign") + else if (Ebene = 3) + OutputChar("", "cent") + else if (Ebene = 4) + OutputChar("", "sterling") + else if (Ebene = 5) + SendUnicodeChar(0x2642, "malesymbol") + else if (Ebene = 6) + SendUnicodeChar(0x2225, "U2225") ; parallel +return + +neo_7: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2077) ; Hochgestellte 7 + or CheckDeadUni("a3",0x2087)) ; Tiefgestellte 7 + OutputChar12(7,"$",7,"dollar") + else if (Ebene = 3) + OutputChar("", "yen") + else if (Ebene = 4) + OutputChar("", "currency") + else if (Ebene = 5) + SendUnicodeChar(0x03BA, "Greek_kappa") ; greek small letter kappa + else if (Ebene = 6) + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil +return + +neo_8: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2078) ; Hochgestellte 8 + or CheckDeadUni("a3",0x2088)) ; Tiefgestellte 8 + OutputChar12(8,"",8,"doublelowquotemark") + else if (Ebene = 3) + OutputChar("", "singlelowquotemark") + else if (Ebene = 4) + OutputChar("{NumpadDiv}", "KP_Divide") + else if (Ebene = 5) + SendUnicodeChar(0x27E8, "U27E8") ; bra (ffnende spitze Klammer) + else if (Ebene = 6) + SendUnicodeChar(0x221E, "infinity") +return + +neo_9: + noCaps = 1 + EbeneAktualisieren() + if Ebene12 and !(CheckDeadUni("c1",0x2079) ; Hochgestellte 9 + or CheckDeadUni("a3",0x2089)) ; Tiefgestellte 9 + OutputChar12(9,"",9,"leftdoublequotemark") + else if (Ebene = 3) + OutputChar("", "leftsinglequotemark") + else if (Ebene = 4) + OutputChar("{NumpadMult}", "KP_Multiply") + else if (Ebene = 5) + SendUnicodeChar(0x27E9, "U27E9") ; ket (schlieende spitze Klammer) + else if (Ebene = 6) + SendUnicodeChar(0x2226, "U2226") ; nicht parallel +return + +neo_punkt: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar(".", "period") + else if (Ebene = 2) + SendUnicodeChar(0x2023, "") ; Dreieckiges Aufzhlungszeichen + else if (Ebene = 3) + OutputChar("'", "apostrophe") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B3) + or CheckDeadUni("t4",0x2083))) + OutputChar("{Numpad3}", "KP_3") + else if (Ebene = 5) + SendUnicodeChar(0x03D1, "U03D1") ; theta symbol (vartheta) + else if (Ebene = 6) + SendUnicodeChar(0x0398, "Greek_THETA") ; Theta +return + +neo_komma: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar(",", "comma") + else if (Ebene = 2) + OutputChar("", "enfilledcircbullet") ; Bullet + else if (Ebene = 3) + OutputChar(Chr(34), "quotedbl") + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x00B2) + or CheckDeadUni("c5",0x2082))) + OutputChar("{Numpad2}", "KP_2") + else if (Ebene = 5) + SendUnicodeChar(0x03C1, "Greek_rho") ; rho + else if (Ebene = 6) + SendUnicodeChar(0x21D2, "implies") ; Doppelpfeil rechts +return + +neo_strich: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("-", "minus") ; Bindestrich-Minus + else if (Ebene = 2) + SendUnicodeChar(0x2013, "endash") ; Gedankenstrich + else if (Ebene = 3) + SendUnicodeChar(0x2014, "emdash") ; Englischer Gedankenstrich (Geviertstrich) + else if (Ebene = 5) + SendUnicodeChar(0x2011, "U2011") ; geschtzter Bindestrich (Bindestrich ohne Zeilenumbruch) + else if (Ebene = 6) + SendUnicodeChar(0x00AD, "hyphen") ; weicher Bindestrich +return + +*space:: + if einHandNeo + spacepressed := 1 + else goto neo_SpaceUp +return + +*space up:: + if einHandNeo + if keypressed { + keypressed := 0 + spacepressed := 0 + } else goto neo_SpaceUp + return + +neo_SpaceUp: + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("a3",0x2010) ; Echter Bindestrich + OutputChar("{Space}", "Space") + else if (Ebene = 2) or (Ebene = 3) + Send {blind}{Space} + else if ((Ebene = 4) and !(CheckDeadUni("c1",0x2070) + or CheckDeadUni("a3",0x2080))) + OutputChar("{Numpad0}", "KP_0") + else if (Ebene = 5) + SendUnicodeChar(0x00A0, "U00A0") ; geschtztes Leerzeichen + else if (Ebene = 6) + SendUnicodeChar(0x202F, "U202F") ; schmales geschtztes Leerzeichen + DeadKey := "" + CompKey := "" + spacepressed := 0 + keypressed := 0 +return + +*Enter:: + EbeneAktualisieren() + if !lernModus or lernModus_std_Return { + if (Ebene = 4) + send {blind}{NumpadEnter} + else send {blind}{Enter} + DeadKey := "" + CompKey := "" + } return + +*Backspace:: + if !lernModus or lernModus_std_Backspace { + send {Blind}{Backspace} + DeadKey := "" + CompKey := "" + } return + +*Del:: + if !lernModus or lernModus_std_Entf + send {Blind}{Del} +return + +*Ins:: + if !lernModus or lernModus_std_Einf + send {Blind}{Ins} +return + +neo_tab: + EbeneAktualisieren() + if IsMod3Pressed() { ; Compose! + DeadKey := "comp" + CompKey := "" + } else { + OutputChar("{Tab}", "Tab") + DeadKey := "" + CompKey := "" + } return + +*Home:: + if !lernModus or lernModus_std_Pos1 { + send {Blind}{Home} + DeadKey := "" + CompKey := "" + } return + +*End:: + if !lernModus or lernModus_std_Ende { + send {Blind}{End} + DeadKey := "" + CompKey := "" + } return + +*PgUp:: + if !lernModus or lernModus_std_PgUp { + send {Blind}{PgUp} + DeadKey := "" + CompKey := "" + } return + +*PgDn:: + if !lernModus or lernModus_std_PgDn { + send {Blind}{PgDn} + DeadKey := "" + CompKey := "" + } return + +*Up:: + if !lernModus or lernModus_std_Hoch { + send {Blind}{Up} + DeadKey := "" + CompKey := "" + } return + +*Down:: + if !lernModus or lernModus_std_Runter { + send {Blind}{Down} + DeadKey := "" + CompKey := "" + } return + +*Left:: + if !lernModus or lernModus_std_Links { + send {Blind}{Left} + DeadKey := "" + CompKey := "" + } return + +*Right:: + if !lernModus or lernModus_std_Rechts { + send {Blind}{Right} + DeadKey := "" + CompKey := "" + } return + +neo_Numpad0: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad0}", "KP_0") + else if (Ebene = 2) + SendUnicodeChar(0x2423, "U2423") ; space sign + else if (Ebene = 3) + SendUnicodeChar(0x0025, "percent") ; Prozent + else if (Ebene = 4) + send {blind}{NumpadIns} + else if (Ebene = 5) + OutputChar("", "U2030") ; Promille + else if (Ebene = 6) + SendUnicodeChar(0x25A1, "U25A1") ; white square +return + +neo_Numpad1: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad1}", "KP_1") + else if (Ebene = 2) + SendUnicodeChar(0x2666, "diamond") ; Karo + else if (Ebene = 3) + SendUnicodeChar(0x2194, "U2194") ; Links-Rechts-Pfeil + else if (Ebene = 4) + send {blind}{NumpadEnd} + else if (Ebene = 5) + SendUnicodeChar(0x2264, "lessthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230A, "downstile") ;linke Untergrenze +return + +neo_Numpad2: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad2}", "KP_2") + else if (Ebene = 2) + SendUnicodeChar(0x2265, "heart") + else if (Ebene = 3) + SendUnicodeChar(0x2192, "downarrow") + else if (Ebene = 4) + send {blind}{NumpadDown} + else if (Ebene = 5) + SendUnicodeChar(0x222A, "union") ; Vereinigung + else if (Ebene = 6) + SendUnicodeChar(0x22C3, "U22C3") ; n-ary union +return + +neo_Numpad3: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad3}", "KP_3") + else if (Ebene = 2) + SendUnicodeChar(0x2660, "U2660") ; Pik + else if (Ebene = 3) + SendUnicodeChar(0x21CC, "U21CC") ; Harpune + else if (Ebene = 4) + send {blind}{NumpadPgDn} + else if (Ebene = 5) + SendUnicodeChar(0x2265, "greaterthanequal") + else if (Ebene = 6) + SendUnicodeChar(0x230B, "U230B") ; rechte Untergrenze +return + +neo_Numpad4: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad4}", "KP_4") + else if (Ebene = 2) + SendUnicodeChar(0x2663, "club") ; schwarzes Kreuz + else if (Ebene = 3) + SendUnicodeChar(0x2190, "leftarrow") ; Linkspfeil + else if (Ebene = 4) + send {blind}{NumpadLeft} + else if (Ebene = 5) + SendUnicodeChar(0x2282, "includein") ; Teilmenge + else if (Ebene = 6) + SendUnicodeChar(0x2286, "U2286") ; Teilmenge-gleich +return + +neo_Numpad5: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad5}", "KP_5") + else if (Ebene = 2) + SendUnicodeChar(0x20AC, "EuroSign") ; Euro + else if (Ebene = 3) + SendUnicodeChar(0x00A6, "brokenbar") + else if (Ebene = 4) + send {blind}{NumPadClear} ; begin + else if (Ebene = 5) + SendUnicodeChar(0x22B6, "U22B6") ; original of + else if (Ebene = 6) + SendUnicodeChar(0x22B7, "U22B7") ; image of +return + +neo_Numpad6: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad6}", "KP_6") + else if (Ebene = 3) + SendUnicodeChar(0x2192, "rightarrow") ; Rechtspfeil + else if (Ebene = 4) + send {blind}{NumpadRight} + else if (Ebene = 5) + SendUnicodeChar(0x2283, "includes") ; Obermenge + else if (Ebene = 6) + SendUnicodeChar(0x2287, "U2287") ; Obermenge-gleich +return + +neo_Numpad7: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad7}", "KP_7") + else if (Ebene = 2) + SendUnicodeChar(0x2714, "U2714") ; check mark + else if (Ebene = 3) + SendUnicodeChar(0x2195, "U2195") ; Hoch-Runter-Pfeil + else if (Ebene = 4) + send {blind}{NumpadHome} + else if (Ebene = 5) + SendUnicodeChar(0x226A, "U226A") ; much less + else if (Ebene = 6) + SendUnicodeChar(0x2308, "upstile") ; linke Obergrenze +return + +neo_Numpad8: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad8}", "KP_8") + else if (Ebene = 2) + SendUnicodeChar(0x2718, "U2718") ; ballot x + else if (Ebene = 3) + SendUnicodeChar(0x2191, "uparrow") ; Hochpfeil + else if (Ebene = 4) + send {blind}{NumpadUp} + else if (Ebene = 5) + SendUnicodeChar(0x2229, "intersection") ; Durchschnitt + else if (Ebene = 6) + SendUnicodeChar(0x22C2, "U22C2") ; n-ary intersection +return + +neo_Numpad9: + EbeneAktualisieren() + if (Ebene = 1) + OutputChar("{Numpad9}", "KP_9") + else if (Ebene = 2) + SendUnicodeChar(0x2020, "dagger") ; Kreuz + else if (Ebene = 3) + SendUnicodeChar(0x20D7, "U20D7") ; Vektor + else if (Ebene = 4) + send {blind}{NumpadPgUp} + else if (Ebene = 5) + SendUnicodeChar(0x226B, "U226B") ; much greater + else if (Ebene = 6) + SendUnicodeChar(0x2309, "U2309") ; rechte Obergrenze +return + +neo_NumLock: + EbeneAktualisieren() + if Ebene12 + OutputChar("{Tab}", "Tab") + else if (Ebene = 3) + OutputChar("`=", "equal") + else if (Ebene = 4) + SendUnicodeChar(0x2260, "notequal") ; Ungleich zu + else if (Ebene = 5) + SendUnicodeChar(0x2248, "approxeq") ; Fast gleich + else if (Ebene = 6) + SendUnicodeChar(0x2261, "identical") +return + +neo_NumpadDiv: + EbeneAktualisieren() + if Ebene12 + OutputChar("{NumpadDiv}", "KP_Divide") + else if (Ebene = 3) + OutputChar("", "division") + else if (Ebene = 4) + SendUnicodeChar(0x2300, "U2300") ; diameter + else if (Ebene = 5) + SendUnicodeChar(0x2223, "U2223") ; divides + else if (Ebene = 6) + SendUnicodeChar(0x2044, "U2044") ; fraction slash +return + +neo_NumpadMult: + EbeneAktualisieren() + if Ebene12 + send {blind}{NumpadMult} + else if (Ebene = 3) + SendUnicodeChar(0x22C5, "U22C5") ; multiplication dot + else if (Ebene = 4) + SendUnicodeChar(0x2299, "U2299") ; circled dot + else if (Ebene = 5) + OutputChar("", "multiply") + else if (Ebene = 6) + SendUnicodeChar(0x2297, "U2297") ; circled times +return + +neo_NumpadSub: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni("c1",0x207B) + or CheckDeadUni("a3",0x208B))) + send {blind}{NumpadSub} + else if (Ebene = 3) + SendUnicodeChar(0x2212, "U2212") ; Echtes Minus + else if (Ebene = 4) + SendUnicodeChar(0x2296, "U2296") ; circled minus + else if (Ebene = 5) + SendUnicodeChar(0x2216, "U2216") ; set minus + else if (Ebene = 6) + SendUnicodeChar(0x2238, "U2238") ; dot minus +return + +neo_NumpadAdd: + EbeneAktualisieren() + if (Ebene12 and !(CheckDeadUni("c1",0x207A) + or CheckDeadUni("a3",0x208A))) + send {blind}{NumpadAdd} + else if (Ebene = 3) + OutputChar("", "plusminus") + else if (Ebene = 4) + SendUnicodeChar(0x2295, "U2295") ; circled plus + else if (Ebene = 5) + SendUnicodeChar(0x2213, "U2213") ; minus-plus + else if (Ebene = 6) + SendUnicodeChar(0x2214, "U2214") ; dot plus +return + +neo_NumpadEnter: + send {blind}{NumpadEnter} +return + +neo_NumpadDot: + EbeneAktualisieren() + if (Ebene = 1) + send {blind}{NumpadDot} + else if (Ebene = 2) + send {blind}. + else if (Ebene = 3) + send `, + else if (Ebene = 4) + send {blind}{NumpadDel} + else if (Ebene = 5) + SendUnicodeChar(0x2032, "minutes") + else if (Ebene = 6) + SendUnicodeChar(0x2033, "seconds") +return + +neo_tot1: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("c1",0x0302) ; Zirkumflex, tot + + deadUni(0x02C6, "dead_circumflex", "c1") + + else if (Ebene = 2) and !CheckDeadUni("c2",0x0303) ; Tilde, tot + + deadUni(0x02DC, "dead_tilde", "c2") + + else if (Ebene = 3) and !CheckDeadUni("c3",0x030A) ; Ring, tot + + deadUni(0x02DA, "dead_breve", "c3") + + else if (Ebene = 4) and !CheckDeadUni("c4",0x030C) ; Caron, tot + + deadUni(0x02C7, "dead_caron", "c4") + + else if (Ebene = 5) and !CheckDeadUni("c5",0x0306) ; Brevis, tot + + deadUni(0x02D8, "dead_breve", "c5") + + else if (Ebene = 6) and !CheckDeadUni("c6",0x0304) ; Makron, tot + + deadAsc("", "dead_macron", "c6") +return + +neo_tot2: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("g1",0x0300) ; Gravis, tot + + deadAsc("``{space}", "dead_grave", "g1") + + else if (Ebene = 3) and !CheckDeadUni("g3",0x0308) ; Direse, tot + + deadUni(0x00A8, "dead_diaeresis", "g3") + + else if (Ebene = 4) and !CheckDeadUni("g4",0x030F) ; Doppelgravis, tot + + deadUni(0x02F5, "dead_doublegrave", "g4") + + else if (Ebene = 5) and !CheckDeadUni("g5",0x0485) ; Spiritus asper, tot + + deadUni(0x1FFE, "U1FFE", "g5") +return + +neo_tot3: + noCaps = 1 + EbeneAktualisieren() + if (Ebene = 1) and !CheckDeadUni("a1",0x0301) ; Akut, tot + + deadAsc("{}{space}", "dead_acute", "a1") + + else if (Ebene = 2) and !CheckDeadUni("a2",0x0327) ; Cedille, tot + + deadAsc("", "dead_cedilla", "a2") + + else if (Ebene = 3) and !CheckDeadUni("a3",0x0337) ; Strich, tot + + deadUni(0x002F, "dead_stroke", "a3") + + else if (Ebene = 4) and !CheckDeadUni("a4",0x0338) ; Doppelakut, tot + + deadUni(0x02DD, "dead_doubleacute", "a4") + + else if (Ebene = 5) and !CheckDeadUni("a5",0x0486) ; Spiritus lenis, tot + + deadUni(0x1FBF, "U1FBF", "a5") + + else if (Ebene = 6) and !CheckDeadUni("a6",0x0307) ; Punkt darber, tot + + deadUni(0x02D9, "dead_abovedot", "a6") +return + +/* + ------------------------------------------------------ + Methode KeyboardLED zur Steuerung der Keyboard-LEDs + (NumLock/CapsLock/ScrollLock-Lichter) + + Benutzungshinweise: Man benutze + KeyboardLED(LEDvalue,"Cmd"), wobei + Cmd = on/off/switch, + LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4, + bzw. eine beliebige Summe dieser Werte: + AlleAus=0, CapsLock+NumLock=6, etc. + + Der folgende Code wurde bernommen von: + http://www.autohotkey.com/forum/viewtopic.php?t=10532 + + Um eventuelle Wechselwirkungen mit dem bestehenden + Code (insb. der Unicode-Konvertierung) auszuschlieen, + sind auch alle (Hilfsmethoden) mit dem Postfix LED + versehen worden. + ------------------------------------------------------ +*/ + +KeyboardLED(LEDvalue, Cmd) { ; LEDvalue: ScrollLock=1, NumLock=2, CapsLock=4 ; Cmd = on/off/switch + Static h_device + If !(h_device) { ; initialise + device=\Device\KeyBoardClass0 + SetUnicodeStrLED(fn,device) + h_device:=NtCreateFileLED(fn,0+0x00000100+0x00000080+0x00100000,1,1,0x00000040+0x00000020,0) + } + VarSetCapacity(output_actual,4,0) + input_size=4 + VarSetCapacity(input,input_size,0) + If Cmd=switch ;switches every LED according to LEDvalue + KeyLED:=LEDvalue + If Cmd=on ;forces all choosen LED's to ON (LEDvalue= 0 ->LED's according to keystate) + KeyLED:=LEDvalue | (GetKeyState("ScrollLock", "T") + 2*GetKeyState("NumLock", "T") + 4*GetKeyState("CapsLock", "T")) + If (Cmd=off) { ;forces all choosen LED's to OFF (LEDvalue= 0 ->LED's according to keystate) + LEDvalue:=LEDvalue ^ 7 + KeyLED:=LEDvalue & (GetKeyState("ScrollLock","T") + 2*GetKeyState("NumLock","T") + 4*GetKeyState("CapsLock","T")) + } + ; EncodeIntegerLED(KeyLED,1,&input,2) ;input bit pattern (KeyLED): bit 0 = scrolllock ;bit 1 = numlock ;bit 2 = capslock + input := Chr(1) Chr(1) Chr(KeyLED) + input := Chr(1) + input = + ; ??? + success:=DllCall("DeviceIoControl" + , "uint", h_device + , "uint", CTL_CODE_LED( 0x0000000b ; FILE_DEVICE_KEYBOARD + , 2 + , 0 ; METHOD_BUFFERED + , 0 ) ; FILE_ANY_ACCESS + , "uint", &input + , "uint", input_size + , "uint", 0 + , "uint", 0 + , "uint", &output_actual + , "uint", 0 ) +} + +CTL_CODE_LED(p_device_type,p_function,p_method,p_access ) { + Return,( p_device_type << 16 ) | ( p_access << 14 ) | ( p_function << 2 ) | p_method +} + +NtCreateFileLED(ByRef wfilename,desiredaccess,sharemode,createdist,flags,fattribs){ + VarSetCapacity(fh,4,0) + VarSetCapacity(objattrib,24,0) + VarSetCapacity(io,8,0) + VarSetCapacity(pus,8) + uslen:=DllCall("lstrlenW","str",wfilename)*2 + InsertIntegerLED(uslen,pus,0,2) + InsertIntegerLED(uslen,pus,2,2) + InsertIntegerLED(&wfilename,pus,4) + InsertIntegerLED(24,objattrib,0) + InsertIntegerLED(&pus,objattrib,8) + status:=DllCall("ntdll\ZwCreateFile","str",fh,"UInt",desiredaccess,"str",objattrib,"str",io,"UInt",0,"UInt",fattribs + ,"UInt",sharemode,"UInt",createdist,"UInt",flags,"UInt",0,"UInt",0, "UInt") + return ExtractIntegerLED(fh) +} + +SetUnicodeStrLED(ByRef out, str_) { + VarSetCapacity(st1, 8, 0) + InsertIntegerLED(0x530025, st1) + VarSetCapacity(out, (StrLen(str_)+1)*2, 0) + DllCall("wsprintfW", "str", out, "str", st1, "str", str_, "Cdecl UInt") +} + +ExtractIntegerLED(ByRef pSource, pOffset = 0, pIsSigned = false, pSize = 4) { +; pSource is a string (buffer) whose memory area contains a raw/binary integer at pOffset. +; The caller should pass true for pSigned to interpret the result as signed vs. unsigned. +; pSize is the size of PSource's integer in bytes (e.g. 4 bytes for a DWORD or Int). +; pSource must be ByRef to avoid corruption during the formal-to-actual copying process +; (since pSource might contain valid data beyond its first binary zero). + Loop %pSize% ; Build the integer by adding up its bytes. + result += *(&pSource + pOffset + A_Index-1) << 8*(A_Index-1) + if (!pIsSigned OR pSize > 4 OR result < 0x80000000) + return result ; Signed vs. unsigned doesn't matter in these cases. + ; Otherwise, convert the value (now known to be 32-bit) to its signed counterpart: + return -(0xFFFFFFFF - result + 1) +} + +InsertIntegerLED(pInteger, ByRef pDest, pOffset = 0, pSize = 4) { +; The caller must ensure that pDest has sufficient capacity. To preserve any existing contents in pDest, +; only pSize number of bytes starting at pOffset are altered in it. + Loop %pSize% ; Copy each byte in the integer into the structure as raw binary data. + DllCall("RtlFillMemory", "UInt", &pDest + pOffset + A_Index-1, "UInt", 1, "UChar", pInteger >> 8*(A_Index-1) & 0xFF) +} + + +deadAsc(val1, val2, a) { + global + if !DeadSilence + OutputChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +deadUni(val1, val2, a) { + global + if !DeadSilence + SendUnicodeChar(val1, val2) + else CheckComp(val2) + DeadKey := a +} + +undeadAsc(val) { + global + if DeadSilence + send % val + else + send % "{bs}" . val +} + +undeadUni(val){ + global + if !DeadSilence + send {bs} + SendUnicodeChar(val, "") +} + +CheckDeadAsc(d,val) { + global + if (PriorDeadKey == d) { + undeadAsc(val) + return 1 + } +} + +CheckDeadUni(d,val) { + global + if (PriorDeadKey == d) { + undeadUni(val) + return 1 + } +} + +CheckDeadAsc12(d,val1,val2) { + global + if (PriorDeadKey == d){ + if (Ebene = 1) and (val1 != "") { + undeadAsc(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadAsc(val2) + return 1 + } + } +} + +CheckDeadUni12(d,val1,val2) { + global + if(PriorDeadKey == d) { + if (Ebene = 1) and (val1 != "") { + undeadUni(val1) + return 1 + } else if (Ebene = 2) and (val2 != "") { + undeadUni(val2) + return 1 + } + } +} + +CheckCompUni(d,val) { + global + if (CompKey == d) { + PriorCompKey = + CompKey = + if !DeadCompose + send {bs} + isFurtherCompkey = 0 + SendUnicodeChar(val, "") + return 1 + } +} + +OutputChar(val1,val2) { + global + if !(CheckComp(val2) and DeadCompose) + send % "{blind}" . val1 +} + +OutputChar12(val1,val2,val3,val4) { + global + if (Ebene = 1) + c := val1 + else c := val2 + if (Ebene = 1) + d := val3 + else d := val4 + if !(CheckComp(d) and DeadCompose) + if GetKeyState("Shift","P") and isMod2Locked + send % "{blind}{Shift Up}" . c . "{Shift Down}" + 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 (PriorDeadKey = "comp") { + CompKey := "<" . d . ">" + PriorDeadKey := DeadKey = + CheckCompose() + TryThirdCompKey = 0 + return 1 + } else if TryFourthCompKey { + TryFourthCompKey = 0 + CompKey := ThreeCompKeys . " " . "<" . d . ">" + ThreeCompKeys = + CheckCompose() + if !(CompKey) { + send {left}{bs}{right} + return 1 + } 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 + TryThirdCompKey = 1 + return 1 + } +} + +CumulateDeadKey(a) { + if DeadKey = a5 + { if a = g1 + DeadKey = a5g1 + else if a = a1 + DeadKey = a5a1 + else if a = a2 + DeadKey = a5a2 + else if a = g1a2 + DeadKey = a5g1a2 + else if a = a1a2 + DeadKey = a5a1a2 + else if a = c1a2 + DeadKey = a5c1a2 + } else if DeadKey = g5 + { if a = g1 + DeadKey = g5g1 + else if a = a1 + DeadKey = g5a1 + else if a = a2 + DeadKey = g5a2 + else if a = g1a2 + DeadKey = g5g1a2 + else if a = a1a2 + DeadKey = g5a1a2 + else if a = c1a2 + DeadKey = g5c1a2 + } else if DeadKey = g1 + { if a = a5 + DeadKey = a5g1 + else if a = g5 + DeadKey = g5g1 + else if a = a2 + DeadKey = g1a2 + else if a = a5a2 + DeadKey = a5g1a2 + else if a = g5a2 + DeadKey = g5g1a2 + } +} + +CheckCompose() { +CheckCompUni(" ", 0x391) +CheckCompUni(" ", 0x392) +CheckCompUni(" ", 0x395) +CheckCompUni(" ", 0x396) +CheckCompUni(" ", 0x397) +CheckCompUni(" ", 0x399) +CheckCompUni(" ", 0x39A) +CheckCompUni(" ", 0x39C) +CheckCompUni(" ", 0x39D) +CheckCompUni(" ", 0x39F) +CheckCompUni("

", 0x3A1) +CheckCompUni(" ", 0x3A4) +CheckCompUni(" ", 0x3A5) +CheckCompUni(" ", 0x3A7) +CheckCompUni(" ", 0xFB00) +CheckCompUni(" ", 0xFB01) +CheckCompUni(" ", 0xFB02) +CheckCompUni(" ", 0xFB03) +CheckCompUni(" ", 0xFB04) +CheckCompUni("<17F> ", 0xFB05) +CheckCompUni(" ", 0xFB06) +CheckCompUni(" ", 0xE030) +CheckCompUni(" ", 0xE031) +CheckCompUni(" ", 0xE032) +CheckCompUni(" ", 0xE033) +CheckCompUni(" ", 0xE034) +CheckCompUni(" ", 0xE035) +CheckCompUni(" ", 0xE036) +CheckCompUni(" ", 0xE037) +CheckCompUni(" ", 0xE038) +CheckCompUni(" ", 0xE039) +CheckCompUni(" ", 0xE03A) +CheckCompUni(" ", 0xE03B) +CheckCompUni(" ", 0xE03C) +CheckCompUni(" ", 0xE03D) +CheckCompUni("<17F> ", 0xE03E) +CheckCompUni("<17F> <17F>", 0xE03F) +CheckCompUni("<17F> ", 0xE043) +CheckCompUni(" ", 0xE044) +CheckCompUni("<17F> ", 0xE045) +CheckCompUni(" ", 0xE04A) +CheckCompUni(" ", 0xE048) +CheckCompUni(" ", 0xE049) +CheckCompUni(" ", 0x132) +CheckCompUni(" ", 0x133) +CheckCompUni(" ", 0x1C4) +CheckCompUni(" ", 0x1C5) +CheckCompUni(" ", 0x1C6) +CheckCompUni(" ", 0x1C7) +CheckCompUni(" ", 0x1C8) +CheckCompUni(" ", 0x1C9) +CheckCompUni(" ", 0x1CA) +CheckCompUni(" ", 0x1CB) +CheckCompUni(" ", 0x1CC) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x18F) +CheckCompUni(" ", 0x13F) +CheckCompUni(" ", 0x140) +CheckCompUni("<2> ", 0x203C) +CheckCompUni(" <2>", 0x203C) +CheckCompUni(" ", 0x203C) +CheckCompUni(" ", 0x203C) +CheckCompUni("<2> ", 0x2047) +CheckCompUni(" <2>", 0x2047) +CheckCompUni(" ", 0x2047) +CheckCompUni(" ", 0x2047) +CheckCompUni(" ", 0x2048) +CheckCompUni(" ", 0x2049) +CheckCompUni("<1> ", 0x203D) +CheckCompUni("<1> ", 0x203D) +CheckCompUni(" ", 0x203D) +CheckCompUni(" ", 0x203D) +CheckCompUni("<1> ", 0x2E18) +CheckCompUni("<1> ", 0x2E18) +CheckCompUni(" ", 0x2E18) +CheckCompUni(" ", 0x2E18) +CheckCompUni(" ", 0x2021) +CheckCompUni(" ", 0x2025) +CheckCompUni(" ", 0x2D) +CheckCompUni(" <1> ", 0x2160) +CheckCompUni(" <2>", 0x2161) +CheckCompUni(" <3>", 0x2162) +CheckCompUni(" <4>", 0x2163) +CheckCompUni(" <5>", 0x2164) +CheckCompUni(" <6>", 0x2165) +CheckCompUni(" <7>", 0x2166) +CheckCompUni(" <8>", 0x2167) +CheckCompUni(" <9>", 0x2168) +CheckCompUni(" <1> <0>", 0x2169) +CheckCompUni(" <1> <1>", 0x216A) +CheckCompUni(" <1> <2>", 0x216B) +CheckCompUni(" ", 0x2160) +CheckCompUni(" ", 0x2161) +CheckCompUni(" ", 0x2162) +CheckCompUni(" ", 0x2163) +CheckCompUni(" ", 0x2164) +CheckCompUni(" ", 0x2165) +CheckCompUni(" ", 0x2166) +CheckCompUni(" ", 0x2167) +CheckCompUni(" ", 0x2168) +CheckCompUni(" ", 0x2169) +CheckCompUni(" ", 0x216A) +CheckCompUni(" ", 0x216B) +CheckCompUni(" <1> ", 0x2170) +CheckCompUni(" <2>", 0x2171) +CheckCompUni(" <3>", 0x2172) +CheckCompUni(" <4>", 0x2173) +CheckCompUni(" <5>", 0x2174) +CheckCompUni(" <6>", 0x2175) +CheckCompUni(" <7>", 0x2176) +CheckCompUni(" <8>", 0x2177) +CheckCompUni(" <9>", 0x2178) +CheckCompUni(" <1> <0>", 0x2179) +CheckCompUni(" <1> <1>", 0x217A) +CheckCompUni(" <1> <2>", 0x217B) +CheckCompUni(" ", 0x2170) +CheckCompUni(" ", 0x2171) +CheckCompUni(" ", 0x2172) +CheckCompUni(" ", 0x2173) +CheckCompUni(" ", 0x2174) +CheckCompUni(" ", 0x2175) +CheckCompUni(" ", 0x2176) +CheckCompUni(" ", 0x2177) +CheckCompUni(" ", 0x2178) +CheckCompUni(" ", 0x2179) +CheckCompUni(" ", 0x217A) +CheckCompUni(" ", 0x217B) +CheckCompUni(" <0>", 0x660) +CheckCompUni(" <1>", 0x661) +CheckCompUni(" <2>", 0x662) +CheckCompUni(" <3>", 0x663) +CheckCompUni(" <4>", 0x664) +CheckCompUni(" <5>", 0x665) +CheckCompUni(" <6>", 0x666) +CheckCompUni(" <7>", 0x667) +CheckCompUni(" <8>", 0x668) +CheckCompUni(" <9>", 0x669) +CheckCompUni(" ", 0x660) +CheckCompUni(" ", 0x661) +CheckCompUni(" ", 0x662) +CheckCompUni(" ", 0x663) +CheckCompUni(" ", 0x664) +CheckCompUni(" ", 0x665) +CheckCompUni(" ", 0x666) +CheckCompUni(" ", 0x667) +CheckCompUni(" ", 0x668) +CheckCompUni(" ", 0x669) +CheckCompUni("<1> <3>", 0x2153) +CheckCompUni("<2> <3>", 0x2154) +CheckCompUni("<1> <5>", 0x2155) +CheckCompUni("<2> <5>", 0x2156) +CheckCompUni("<3> <5>", 0x2157) +CheckCompUni("<4> <5>", 0x2158) +CheckCompUni("<1> <6>", 0x2159) +CheckCompUni("<5> <6>", 0x215A) +CheckCompUni("<1> <8>", 0x215B) +CheckCompUni("<3> <8>", 0x215C) +CheckCompUni("<5> <8>", 0x215D) +CheckCompUni("<7> <8>", 0x215E) +CheckCompUni("<1> ", 0x215F) +CheckCompUni("<1> ", 0x215F) +CheckCompUni(" ", 0x2153) +CheckCompUni(" ", 0x2154) +CheckCompUni(" ", 0x2155) +CheckCompUni(" ", 0x2156) +CheckCompUni(" ", 0x2157) +CheckCompUni(" ", 0x2158) +CheckCompUni(" ", 0x2159) +CheckCompUni(" ", 0x215A) +CheckCompUni(" ", 0x215B) +CheckCompUni(" ", 0x215C) +CheckCompUni(" ", 0x215D) +CheckCompUni(" ", 0x215E) +CheckCompUni(" ", 0x215F) +CheckCompUni(" ", 0x215F) +CheckCompUni(" ", 0xBC) +CheckCompUni(" ", 0xBD) +CheckCompUni(" ", 0xBE) +CheckCompUni("<3> ", 0x221B) +CheckCompUni(" <3>", 0x221B) +CheckCompUni(" ", 0x221B) +CheckCompUni(" ", 0x221B) +CheckCompUni("<4> ", 0x221C) +CheckCompUni(" <4>", 0x221C) +CheckCompUni(" ", 0x221C) +CheckCompUni(" ", 0x221C) +CheckCompUni(" <2>", 0x222C) +CheckCompUni("<2> ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" <3>", 0x222D) +CheckCompUni("<3> ", 0x222D) +CheckCompUni(" ", 0x222D) +CheckCompUni(" ", 0x222D) +CheckCompUni(" <4>", 0x2A0C) +CheckCompUni("<4> ", 0x2A0C) +CheckCompUni(" ", 0x2A0C) +CheckCompUni(" ", 0x2A0C) +CheckCompUni(" <2>", 0x222F) +CheckCompUni("<2> ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" <3>", 0x2230) +CheckCompUni("<3> ", 0x2230) +CheckCompUni(" ", 0x2230) +CheckCompUni(" ", 0x2230) +CheckCompUni(" ", 0x33D1) +CheckCompUni(" ", 0x33D2) +CheckCompUni(" ", 0x2308) +CheckCompUni(" ", 0x230A) +CheckCompUni(" ", 0x2309) +CheckCompUni(" ", 0x230B) +CheckCompUni(" ", 0x2234) +CheckCompUni(" ", 0x2235) +CheckCompUni(" ", 0x2245) +CheckCompUni(" ", 0x2245) +CheckCompUni(" ", 0x2248) +CheckCompUni(" ", 0x2265) +CheckCompUni(" ", 0x2265) +CheckCompUni(" ", 0x2264) +CheckCompUni(" ", 0x2264) +CheckCompUni(" ", 0x2257) +CheckCompUni(" ", 0x2257) +CheckCompUni(" ", 0xB1) +CheckCompUni(" ", 0x2213) +CheckCompUni(" ", 0x2213) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2285) +CheckCompUni("", 0x20D7) +CheckCompUni(" ", 0x20D7) +CheckCompUni(" ", 0x20D7) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x1D5D) +CheckCompUni(" ", 0x1D5E) +CheckCompUni(" ", 0x1D5F) +CheckCompUni(" ", 0x1D60) +CheckCompUni(" ", 0x1D61) +CheckCompUni(" ", 0x1DBF) +CheckCompUni(" ", 0x1D66) +CheckCompUni(" ", 0x1D66) +CheckCompUni(" ", 0x1D67) +CheckCompUni(" ", 0x1D67) +CheckCompUni(" ", 0x1D68) +CheckCompUni(" ", 0x1D68) +CheckCompUni(" ", 0x1D69) +CheckCompUni(" ", 0x1D69) +CheckCompUni(" ", 0x1D6A) +CheckCompUni(" ", 0x1D6A) +CheckCompUni(" ", 0x210A) +CheckCompUni(" ", 0x210B) +CheckCompUni(" ", 0x2110) +CheckCompUni(" ", 0x2112) +CheckCompUni(" ", 0x2113) +CheckCompUni(" ", 0x2113) +CheckCompUni("

", 0x2118) +CheckCompUni(" ", 0x211B) +CheckCompUni(" ", 0x212C) +CheckCompUni(" ", 0x212F) +CheckCompUni(" ", 0x2130) +CheckCompUni(" ", 0x2131) +CheckCompUni(" ", 0x2133) +CheckCompUni(" ", 0x2134) +CheckCompUni("

", 0x210E) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni("

", 0x210F) +CheckCompUni(" ", 0x2103) +CheckCompUni(" ", 0x2109) +CheckCompUni(" ", 0xB0) +CheckCompUni(" ", 0x2032) +CheckCompUni(" ", 0x2033) +CheckCompUni(" ", 0x3395) +CheckCompUni(" ", 0x3395) +CheckCompUni(" ", 0x3396) +CheckCompUni(" ", 0x3396) +CheckCompUni(" ", 0x3397) +CheckCompUni(" ", 0x3397) +CheckCompUni(" ", 0x3398) +CheckCompUni(" ", 0x3398) +CheckCompUni(" ", 0x3399) +CheckCompUni(" ", 0x339A) +CheckCompUni(" ", 0x339B) +CheckCompUni(" ", 0x339C) +CheckCompUni(" ", 0x339D) +CheckCompUni(" ", 0x339E) +CheckCompUni(" ", 0x338D) +CheckCompUni(" ", 0x338E) +CheckCompUni(" ", 0x338F) +CheckCompUni(" ", 0x3390) +CheckCompUni(" ", 0x3391) +CheckCompUni(" ", 0x3392) +CheckCompUni("<2> ", 0x339F) +CheckCompUni("<2> ", 0x33A0) +CheckCompUni("<2> ", 0x33A1) +CheckCompUni("<2> ", 0x33A2) +CheckCompUni(" ", 0x339F) +CheckCompUni(" ", 0x33A0) +CheckCompUni(" ", 0x33A1) +CheckCompUni(" ", 0x33A2) +CheckCompUni("<3> ", 0x33A3) +CheckCompUni("<3> ", 0x33A4) +CheckCompUni("<3> ", 0x33A5) +CheckCompUni("<3> ", 0x33A6) +CheckCompUni(" ", 0x33A3) +CheckCompUni(" ", 0x33A4) +CheckCompUni(" ", 0x33A5) +CheckCompUni(" ", 0x33A6) +CheckCompUni(" ", 0x33A7) +CheckCompUni(" <2> ", 0x33A8) +CheckCompUni(" ", 0x33A8) +CheckCompUni(" ", 0x33D6) +CheckCompUni(" ", 0x263A) +CheckCompUni(" ", 0x2639) +CheckCompUni(" ", 0x2122) +CheckCompUni(" ", 0x2105) +CheckCompUni(" ", 0x26A2) +CheckCompUni(" ", 0x26A3) +CheckCompUni(" ", 0x26A4) +CheckCompUni(" ", 0x26A5) +CheckCompUni(" ", 0x332) +CheckCompUni(" ", 0x27) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x5E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x7E) +CheckCompUni(" ", 0x40) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x5C5C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7C) +CheckCompUni(" ", 0x7B) +CheckCompUni(" ", 0x7B) +CheckCompUni(" ", 0x7D) +CheckCompUni(" ", 0x7D) +CheckCompUni(" ", 0x5B) +CheckCompUni(" ", 0x5D) +CheckCompUni(" ", 0xB8) +CheckCompUni(" ", 0xB8) +CheckCompUni(" ", 0x60) +CheckCompUni(" ", 0x60) +CheckCompUni(" ", 0x23) +CheckCompUni(" ", 0xC1) +CheckCompUni(" ", 0xC1) +CheckCompUni(" ", 0xE1) +CheckCompUni(" ", 0xE1) +CheckCompUni(" ", 0x102) +CheckCompUni(" ", 0x102) +CheckCompUni(" ", 0x103) +CheckCompUni(" ", 0x103) +CheckCompUni(" ", 0xC2) +CheckCompUni(" ", 0xE2) +CheckCompUni(" ", 0xC4) +CheckCompUni(" ", 0xE4) +CheckCompUni(" ", 0xC6) +CheckCompUni(" ", 0xE6) +CheckCompUni(" ", 0xC0) +CheckCompUni(" ", 0xE0) +CheckCompUni(" ", 0x100) +CheckCompUni(" ", 0x100) +CheckCompUni(" ", 0x101) +CheckCompUni(" ", 0x101) +CheckCompUni(" ", 0x104) +CheckCompUni(" ", 0x105) +CheckCompUni(" ", 0xC5) +CheckCompUni(" ", 0xE5) +CheckCompUni(" ", 0xC3) +CheckCompUni(" ", 0xE3) +CheckCompUni(" ", 0xA6) +CheckCompUni(" ", 0x10A) +CheckCompUni(" ", 0x10B) +CheckCompUni(" ", 0x106) +CheckCompUni(" ", 0x106) +CheckCompUni(" ", 0x107) +CheckCompUni(" ", 0x107) +CheckCompUni(" ", 0x10C) +CheckCompUni(" ", 0x10D) +CheckCompUni(" ", 0xC7) +CheckCompUni(" ", 0xE7) +CheckCompUni(" ", 0x108) +CheckCompUni(" ", 0x109) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0xA2) +CheckCompUni(" ", 0x20A1) +CheckCompUni(" ", 0x20A1) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0xA9) +CheckCompUni(" ", 0x20A2) +CheckCompUni(" ", 0xA4) +CheckCompUni(" ", 0xA4) +CheckCompUni(" ", 0x10E) +CheckCompUni(" ", 0x10F) +CheckCompUni(" ", 0xB0) +CheckCompUni(" ", 0xF7) +CheckCompUni(" ", 0xF7) +CheckCompUni(" ", 0x20AB) +CheckCompUni(" ", 0x201E) +CheckCompUni(" ", 0x201E) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x110) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x111) +CheckCompUni(" ", 0x116) +CheckCompUni(" ", 0x117) +CheckCompUni(" ", 0xC9) +CheckCompUni(" ", 0xC9) +CheckCompUni(" ", 0xE9) +CheckCompUni(" ", 0xE9) +CheckCompUni(" ", 0x11A) +CheckCompUni(" ", 0x11B) +CheckCompUni(" ", 0xCA) +CheckCompUni(" ", 0xEA) +CheckCompUni(" ", 0x20A0) +CheckCompUni(" ", 0xCB) +CheckCompUni(" ", 0xEB) +CheckCompUni(" ", 0xC8) +CheckCompUni(" ", 0xE8) +CheckCompUni(" ", 0x112) +CheckCompUni(" ", 0x112) +CheckCompUni(" ", 0x113) +CheckCompUni(" ", 0x113) +CheckCompUni(" ", 0x2014) +CheckCompUni(" ", 0x2013) +CheckCompUni(" ", 0x14A) +CheckCompUni(" ", 0x14B) +CheckCompUni(" ", 0x118) +CheckCompUni(" ", 0x119) +CheckCompUni(" ", 0xD0) +CheckCompUni(" ", 0xF0) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0x20AC) +CheckCompUni(" ", 0xA1) +CheckCompUni(" ", 0x20A3) +CheckCompUni(" ", 0x120) +CheckCompUni(" ", 0x121) +CheckCompUni(" ", 0x11E) +CheckCompUni(" ", 0x11E) +CheckCompUni(" ", 0x11F) +CheckCompUni(" ", 0x11F) +CheckCompUni(" ", 0x122) +CheckCompUni(" ", 0x123) +CheckCompUni(" ", 0x11C) +CheckCompUni(" ", 0x11D) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x385) +CheckCompUni(" ", 0x386) +CheckCompUni(" ", 0x386) +CheckCompUni(" ", 0x3AC) +CheckCompUni(" ", 0x3AC) +CheckCompUni(" ", 0x388) +CheckCompUni(" ", 0x388) +CheckCompUni(" ", 0x3AD) +CheckCompUni(" ", 0x3AD) +CheckCompUni(" ", 0x389) +CheckCompUni(" ", 0x389) +CheckCompUni(" ", 0x3AE) +CheckCompUni(" ", 0x3AE) +CheckCompUni(" ", 0x38A) +CheckCompUni(" ", 0x38A) +CheckCompUni(" ", 0x3AF) +CheckCompUni(" ", 0x3AF) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x390) +CheckCompUni(" ", 0x3AA) +CheckCompUni(" ", 0x3CA) +CheckCompUni(" ", 0x38F) +CheckCompUni(" ", 0x38F) +CheckCompUni(" ", 0x3CE) +CheckCompUni(" ", 0x3CE) +CheckCompUni(" ", 0x38C) +CheckCompUni(" ", 0x38C) +CheckCompUni(" ", 0x3CC) +CheckCompUni(" ", 0x3CC) +CheckCompUni(" ", 0x38E) +CheckCompUni(" ", 0x38E) +CheckCompUni(" ", 0x3CD) +CheckCompUni(" ", 0x3CD) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3B0) +CheckCompUni(" ", 0x3AB) +CheckCompUni(" ", 0x3CB) +CheckCompUni(" ", 0xAB) +CheckCompUni(" ", 0xBB) +CheckCompUni(" ", 0x124) +CheckCompUni(" ", 0x125) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x130) +CheckCompUni(" ", 0xCD) +CheckCompUni(" ", 0xCD) +CheckCompUni(" ", 0xED) +CheckCompUni(" ", 0xED) +CheckCompUni(" ", 0xCE) +CheckCompUni(" ", 0xEE) +CheckCompUni(" ", 0xCF) +CheckCompUni(" ", 0xEF) +CheckCompUni(" ", 0x131) +CheckCompUni(" ", 0xCC) +CheckCompUni(" ", 0xEC) +CheckCompUni(" ", 0x12A) +CheckCompUni(" ", 0x12A) +CheckCompUni(" ", 0x12B) +CheckCompUni(" ", 0x12B) +CheckCompUni(" ", 0x12E) +CheckCompUni(" ", 0x12F) +CheckCompUni(" ", 0x128) +CheckCompUni(" ", 0x129) +CheckCompUni(" ", 0x134) +CheckCompUni(" ", 0x135) +CheckCompUni(" ", 0x136) +CheckCompUni(" ", 0x137) +CheckCompUni(" ", 0x138) +CheckCompUni(" ", 0x139) +CheckCompUni(" ", 0x139) +CheckCompUni(" ", 0x13A) +CheckCompUni(" ", 0x13A) +CheckCompUni(" ", 0x13D) +CheckCompUni(" ", 0x13E) +CheckCompUni(" ", 0x13B) +CheckCompUni(" ", 0x13C) +CheckCompUni(" ", 0x201C) +CheckCompUni(" ", 0x201C) +CheckCompUni(" ", 0x2018) +CheckCompUni(" ", 0x2018) +CheckCompUni(" ", 0x20A4) +CheckCompUni(" ", 0x20A4) +CheckCompUni(" ", 0x141) +CheckCompUni(" ", 0x141) +CheckCompUni(" ", 0x142) +CheckCompUni(" ", 0x142) +CheckCompUni(" ", 0xBA) +CheckCompUni(" ", 0xBA) +CheckCompUni(" ", 0x20A5) +CheckCompUni(" ", 0x20A5) +CheckCompUni(" ", 0xB5) +CheckCompUni(" ", 0xD7) +CheckCompUni(" ", 0x266D) +CheckCompUni(" ", 0x266F) +CheckCompUni(" ", 0x143) +CheckCompUni(" ", 0x143) +CheckCompUni(" ", 0x144) +CheckCompUni(" ", 0x144) +CheckCompUni(" ", 0x20A6) +CheckCompUni(" ", 0x20A6) +CheckCompUni(" ", 0x147) +CheckCompUni(" ", 0x148) +CheckCompUni(" ", 0x145) +CheckCompUni(" ", 0x146) +CheckCompUni(" ", 0xA0) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0xAC) +CheckCompUni(" ", 0xAC) +CheckCompUni(" ", 0xD1) +CheckCompUni(" ", 0xF1) +CheckCompUni(" ", 0xD3) +CheckCompUni(" ", 0xD3) +CheckCompUni(" ", 0xF3) +CheckCompUni(" ", 0xF3) +CheckCompUni(" ", 0xD4) +CheckCompUni(" ", 0xF4) +CheckCompUni(" ", 0xD6) +CheckCompUni(" ", 0xF6) +CheckCompUni(" ", 0x150) +CheckCompUni(" ", 0x151) +CheckCompUni(" ", 0x152) +CheckCompUni(" ", 0x153) +CheckCompUni(" ", 0xD2) +CheckCompUni(" ", 0xF2) +CheckCompUni(" ", 0x14C) +CheckCompUni(" ", 0x14C) +CheckCompUni(" ", 0x14D) +CheckCompUni(" ", 0x14D) +CheckCompUni("<1> <2>", 0xBD) +CheckCompUni("<1> <4>", 0xBC) +CheckCompUni(" ", 0xB9) +CheckCompUni(" <1>", 0xB9) +CheckCompUni(" ", 0xD8) +CheckCompUni(" ", 0xD8) +CheckCompUni(" ", 0xAA) +CheckCompUni(" ", 0xAA) +CheckCompUni(" ", 0xF8) +CheckCompUni(" ", 0xF8) +CheckCompUni(" ", 0xD5) +CheckCompUni(" ", 0xF5) +CheckCompUni("

", 0xB6) +CheckCompUni("

", 0xB6) +CheckCompUni("

", 0xB6) +CheckCompUni(" ", 0xB7) +CheckCompUni("

", 0x20A7) +CheckCompUni(" ", 0xB1) +CheckCompUni(" ", 0x2008) +CheckCompUni(" ", 0xBF) +CheckCompUni(" ", 0x154) +CheckCompUni(" ", 0x154) +CheckCompUni(" ", 0x155) +CheckCompUni(" ", 0x155) +CheckCompUni(" ", 0x158) +CheckCompUni(" ", 0x159) +CheckCompUni(" ", 0x156) +CheckCompUni(" ", 0x157) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0xAE) +CheckCompUni(" ", 0x201D) +CheckCompUni(" ", 0x201D) +CheckCompUni(" ", 0x2019) +CheckCompUni(" ", 0x2019) +CheckCompUni(" ", 0x20A8) +CheckCompUni(" ", 0x15A) +CheckCompUni(" ", 0x15A) +CheckCompUni(" ", 0x15B) +CheckCompUni(" ", 0x15B) +CheckCompUni(" ", 0x160) +CheckCompUni(" ", 0x161) +CheckCompUni(" ", 0x15E) +CheckCompUni(" ", 0x15F) +CheckCompUni(" ", 0x15C) +CheckCompUni(" ", 0x15D) +CheckCompUni(" ", 0xA7) +CheckCompUni(" ", 0xA7) +CheckCompUni(" ", 0x201A) +CheckCompUni(" ", 0x201A) +CheckCompUni(" ", 0xDF) +CheckCompUni(" ", 0xA3) +CheckCompUni(" ", 0xA3) +CheckCompUni(" ", 0x164) +CheckCompUni(" ", 0x165) +CheckCompUni(" ", 0x162) +CheckCompUni(" ", 0x163) +CheckCompUni(" ", 0xDE) +CheckCompUni(" ", 0xFE) +CheckCompUni("<3> <4>", 0xBE) +CheckCompUni(" ", 0xB3) +CheckCompUni(" <3>", 0xB3) +CheckCompUni(" ", 0x2122) +CheckCompUni(" ", 0x166) +CheckCompUni(" ", 0x166) +CheckCompUni(" ", 0x167) +CheckCompUni(" ", 0x167) +CheckCompUni(" ", 0xB2) +CheckCompUni(" ", 0xB2) +CheckCompUni(" <2>", 0xB2) +CheckCompUni(" ", 0x114) +CheckCompUni(" ", 0x114) +CheckCompUni(" ", 0x115) +CheckCompUni(" ", 0x115) +CheckCompUni(" ", 0x12C) +CheckCompUni(" ", 0x12C) +CheckCompUni(" ", 0x12D) +CheckCompUni(" ", 0x12D) +CheckCompUni(" ", 0x14E) +CheckCompUni(" ", 0x14E) +CheckCompUni(" ", 0x14F) +CheckCompUni(" ", 0x14F) +CheckCompUni(" ", 0x174) +CheckCompUni(" ", 0x175) +CheckCompUni(" ", 0x176) +CheckCompUni(" ", 0x177) +CheckCompUni(" ", 0x17F) +CheckCompUni(" ", 0x17F) +CheckCompUni(" ", 0x180) +CheckCompUni(" ", 0x180) +CheckCompUni(" ", 0x197) +CheckCompUni(" ", 0x197) +CheckCompUni(" ", 0x1A0) +CheckCompUni(" ", 0x1A1) +CheckCompUni(" ", 0x1AF) +CheckCompUni(" ", 0x1B0) +CheckCompUni(" ", 0x1B5) +CheckCompUni(" ", 0x1B5) +CheckCompUni(" ", 0x1B6) +CheckCompUni(" ", 0x1B6) +CheckCompUni(" ", 0x1CD) +CheckCompUni(" ", 0x1CE) +CheckCompUni(" ", 0x1CF) +CheckCompUni(" ", 0x1D0) +CheckCompUni(" ", 0x1D1) +CheckCompUni(" ", 0x1D2) +CheckCompUni(" ", 0x1D3) +CheckCompUni(" ", 0x1D4) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D5) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D6) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D7) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D8) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1D9) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DA) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DB) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DC) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DE) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1DF) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E0) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E1) +CheckCompUni(" ", 0x1E2) +CheckCompUni(" ", 0x1E2) +CheckCompUni(" ", 0x1E3) +CheckCompUni(" ", 0x1E3) +CheckCompUni(" ", 0x1E4) +CheckCompUni(" ", 0x1E4) +CheckCompUni(" ", 0x1E5) +CheckCompUni(" ", 0x1E5) +CheckCompUni(" ", 0x1E6) +CheckCompUni(" ", 0x1E7) +CheckCompUni(" ", 0x1E8) +CheckCompUni(" ", 0x1E9) +CheckCompUni(" ", 0x1EA) +CheckCompUni(" ", 0x1EB) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1EC) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1ED) +CheckCompUni(" ", 0x1EE) +CheckCompUni(" ", 0x1EF) +CheckCompUni(" ", 0x1F0) +CheckCompUni(" ", 0x1F4) +CheckCompUni(" ", 0x1F4) +CheckCompUni(" ", 0x1F5) +CheckCompUni(" ", 0x1F5) +CheckCompUni(" ", 0x1F8) +CheckCompUni(" ", 0x1F9) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FA) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FB) +CheckCompUni(" ", 0x1FC) +CheckCompUni(" ", 0x1FC) +CheckCompUni(" ", 0x1FD) +CheckCompUni(" ", 0x1FD) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FE) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x1FF) +CheckCompUni(" ", 0x21E) +CheckCompUni(" ", 0x21F) +CheckCompUni(" ", 0x226) +CheckCompUni(" ", 0x227) +CheckCompUni(" ", 0x228) +CheckCompUni(" ", 0x229) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22A) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22B) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22C) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22D) +CheckCompUni(" ", 0x22E) +CheckCompUni(" ", 0x22F) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x230) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x231) +CheckCompUni(" ", 0x232) +CheckCompUni(" ", 0x232) +CheckCompUni(" ", 0x233) +CheckCompUni(" ", 0x233) +CheckCompUni(" ", 0x259) +CheckCompUni(" ", 0x268) +CheckCompUni(" ", 0x268) +CheckCompUni(" ", 0x2A1) +CheckCompUni(" ", 0x2A1) +CheckCompUni(" ", 0x2B0) +CheckCompUni(" ", 0x2B0) +CheckCompUni(" ", 0x2B1) +CheckCompUni(" ", 0x2B1) +CheckCompUni(" ", 0x2B2) +CheckCompUni(" ", 0x2B2) +CheckCompUni(" ", 0x2B3) +CheckCompUni(" ", 0x2B3) +CheckCompUni(" ", 0x2B4) +CheckCompUni(" ", 0x2B4) +CheckCompUni(" ", 0x2B5) +CheckCompUni(" ", 0x2B5) +CheckCompUni(" ", 0x2B6) +CheckCompUni(" ", 0x2B6) +CheckCompUni(" ", 0x2B7) +CheckCompUni(" ", 0x2B7) +CheckCompUni(" ", 0x2B8) +CheckCompUni(" ", 0x2B8) +CheckCompUni(" ", 0x2E0) +CheckCompUni(" ", 0x2E0) +CheckCompUni(" ", 0x2E1) +CheckCompUni(" ", 0x2E1) +CheckCompUni(" ", 0x2E2) +CheckCompUni(" ", 0x2E2) +CheckCompUni(" ", 0x2E3) +CheckCompUni(" ", 0x2E3) +CheckCompUni(" ", 0x2E4) +CheckCompUni(" ", 0x2E4) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x344) +CheckCompUni(" ", 0x3D3) +CheckCompUni(" ", 0x3D3) +CheckCompUni(" ", 0x3D4) +CheckCompUni(" ", 0x1E02) +CheckCompUni(" ", 0x1E03) +CheckCompUni(" ", 0x1E04) +CheckCompUni(" ", 0x1E05) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E08) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E09) +CheckCompUni(" ", 0x1E0A) +CheckCompUni(" ", 0x1E0B) +CheckCompUni(" ", 0x1E0C) +CheckCompUni(" ", 0x1E0D) +CheckCompUni(" ", 0x1E10) +CheckCompUni(" ", 0x1E11) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E14) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E15) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E16) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E17) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1C) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1D) +CheckCompUni(" ", 0x1E1E) +CheckCompUni(" ", 0x1E1F) +CheckCompUni(" ", 0x1E20) +CheckCompUni(" ", 0x1E20) +CheckCompUni(" ", 0x1E21) +CheckCompUni(" ", 0x1E21) +CheckCompUni(" ", 0x1E22) +CheckCompUni(" ", 0x1E23) +CheckCompUni(" ", 0x1E24) +CheckCompUni(" ", 0x1E25) +CheckCompUni(" ", 0x1E26) +CheckCompUni(" ", 0x1E27) +CheckCompUni(" ", 0x1E28) +CheckCompUni(" ", 0x1E29) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2E) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E2F) +CheckCompUni(" ", 0x1E30) +CheckCompUni(" ", 0x1E30) +CheckCompUni(" ", 0x1E31) +CheckCompUni(" ", 0x1E31) +CheckCompUni(" ", 0x1E32) +CheckCompUni(" ", 0x1E33) +CheckCompUni(" ", 0x1E36) +CheckCompUni(" ", 0x1E37) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E38) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E39) +CheckCompUni(" ", 0x1E3E) +CheckCompUni(" ", 0x1E3E) +CheckCompUni(" ", 0x1E3F) +CheckCompUni(" ", 0x1E3F) +CheckCompUni(" ", 0x1E40) +CheckCompUni(" ", 0x1E41) +CheckCompUni(" ", 0x1E42) +CheckCompUni(" ", 0x1E43) +CheckCompUni(" ", 0x1E44) +CheckCompUni(" ", 0x1E45) +CheckCompUni(" ", 0x1E46) +CheckCompUni(" ", 0x1E47) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4C) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4D) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4E) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E4F) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E50) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E51) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E52) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni(" ", 0x1E53) +CheckCompUni("

", 0x1E54) +CheckCompUni("

", 0x1E54) +CheckCompUni("

", 0x1E55) +CheckCompUni("

", 0x1E55) +CheckCompUni("

", 0x1E56) +CheckCompUni("

", 0x1E57) +CheckCompUni(" ", 0x1E58) +CheckCompUni(" ", 0x1E59) +CheckCompUni(" ", 0x1E5A) +CheckCompUni(" ", 0x1E5B) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5C) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E5D) +CheckCompUni(" ", 0x1E60) +CheckCompUni(" ", 0x1E61) +CheckCompUni(" ", 0x1E62) +CheckCompUni(" ", 0x1E63) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E64) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E65) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E66) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E67) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E68) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E69) +CheckCompUni(" ", 0x1E6A) +CheckCompUni(" ", 0x1E6B) +CheckCompUni(" ", 0x1E6C) +CheckCompUni(" ", 0x1E6D) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E78) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E79) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7A) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7B) +CheckCompUni(" ", 0x1E7C) +CheckCompUni(" ", 0x1E7D) +CheckCompUni(" ", 0x1E7E) +CheckCompUni(" ", 0x1E7F) +CheckCompUni(" ", 0x1E80) +CheckCompUni(" ", 0x1E81) +CheckCompUni(" ", 0x1E82) +CheckCompUni(" ", 0x1E82) +CheckCompUni(" ", 0x1E83) +CheckCompUni(" ", 0x1E83) +CheckCompUni(" ", 0x1E84) +CheckCompUni(" ", 0x1E85) +CheckCompUni(" ", 0x1E86) +CheckCompUni(" ", 0x1E87) +CheckCompUni(" ", 0x1E88) +CheckCompUni(" ", 0x1E89) +CheckCompUni(" ", 0x1E8A) +CheckCompUni(" ", 0x1E8B) +CheckCompUni(" ", 0x1E8C) +CheckCompUni(" ", 0x1E8D) +CheckCompUni(" ", 0x1E8E) +CheckCompUni(" ", 0x1E8F) +CheckCompUni(" ", 0x1E90) +CheckCompUni(" ", 0x1E91) +CheckCompUni(" ", 0x1E92) +CheckCompUni(" ", 0x1E93) +CheckCompUni(" ", 0x1E97) +CheckCompUni(" ", 0x1E98) +CheckCompUni(" ", 0x1E99) +CheckCompUni(" ", 0x1E9B) +CheckCompUni(" ", 0x1EA0) +CheckCompUni(" ", 0x1EA1) +CheckCompUni(" ", 0x1EA2) +CheckCompUni(" ", 0x1EA3) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA4) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA5) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA6) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA7) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA8) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EA9) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAA) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAB) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAC) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAD) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAE) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EAF) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB0) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB1) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB2) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB3) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB4) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB5) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB6) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB7) +CheckCompUni(" ", 0x1EB8) +CheckCompUni(" ", 0x1EB9) +CheckCompUni(" ", 0x1EBA) +CheckCompUni(" ", 0x1EBB) +CheckCompUni(" ", 0x1EBC) +CheckCompUni(" ", 0x1EBD) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBE) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EBF) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC0) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC1) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC2) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC3) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC4) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC5) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC6) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC7) +CheckCompUni(" ", 0x1EC8) +CheckCompUni(" ", 0x1EC9) +CheckCompUni(" ", 0x1ECA) +CheckCompUni(" ", 0x1ECB) +CheckCompUni(" ", 0x1ECC) +CheckCompUni(" ", 0x1ECD) +CheckCompUni(" ", 0x1ECE) +CheckCompUni(" ", 0x1ECF) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED0) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED1) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED2) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED3) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED4) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED5) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED6) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED7) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED8) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1ED9) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDA) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDB) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDC) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDD) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDE) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EDF) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE0) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE1) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE2) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE3) +CheckCompUni(" ", 0x1EE4) +CheckCompUni(" ", 0x1EE5) +CheckCompUni(" ", 0x1EE6) +CheckCompUni(" ", 0x1EE7) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE8) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EE9) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEA) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEB) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EEC) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EED) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEE) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EEF) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF0) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF1) +CheckCompUni(" ", 0x1EF2) +CheckCompUni(" ", 0x1EF3) +CheckCompUni(" ", 0x1EF4) +CheckCompUni(" ", 0x1EF5) +CheckCompUni(" ", 0x1EF6) +CheckCompUni(" ", 0x1EF7) +CheckCompUni(" ", 0x1EF8) +CheckCompUni(" ", 0x1EF9) +CheckCompUni(" ", 0x1F00) +CheckCompUni(" ", 0x1F01) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F02) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F03) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F04) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F05) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F06) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F07) +CheckCompUni(" ", 0x1F08) +CheckCompUni(" ", 0x1F09) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0A) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0B) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0C) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0D) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0E) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F0F) +CheckCompUni(" ", 0x1F10) +CheckCompUni(" ", 0x1F11) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F12) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F13) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F14) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F15) +CheckCompUni(" ", 0x1F18) +CheckCompUni(" ", 0x1F19) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1A) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1B) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1C) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F1D) +CheckCompUni(" ", 0x1F20) +CheckCompUni(" ", 0x1F21) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F22) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F23) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F24) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F25) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F26) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F27) +CheckCompUni(" ", 0x1F28) +CheckCompUni(" ", 0x1F29) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2A) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2B) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2C) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2D) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2E) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F2F) +CheckCompUni(" ", 0x1F30) +CheckCompUni(" ", 0x1F31) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F32) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F33) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F34) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F35) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F36) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F37) +CheckCompUni(" ", 0x1F38) +CheckCompUni(" ", 0x1F39) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3A) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3B) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3C) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3D) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3E) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F3F) +CheckCompUni(" ", 0x1F40) +CheckCompUni(" ", 0x1F41) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F42) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F43) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F44) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F45) +CheckCompUni(" ", 0x1F48) +CheckCompUni(" ", 0x1F49) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4A) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4B) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4C) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F4D) +CheckCompUni(" ", 0x1F50) +CheckCompUni(" ", 0x1F51) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F52) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F53) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F54) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F55) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F56) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F57) +CheckCompUni(" ", 0x1F59) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5B) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5D) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F5F) +CheckCompUni(" ", 0x1F60) +CheckCompUni(" ", 0x1F61) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F62) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F63) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F64) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F65) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F66) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F67) +CheckCompUni(" ", 0x1F68) +CheckCompUni(" ", 0x1F69) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6A) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6B) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6C) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6D) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6E) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F6F) +CheckCompUni(" ", 0x1F70) +CheckCompUni(" ", 0x1F72) +CheckCompUni(" ", 0x1F74) +CheckCompUni(" ", 0x1F76) +CheckCompUni(" ", 0x1F78) +CheckCompUni(" ", 0x1F7A) +CheckCompUni(" ", 0x1F7C) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F80) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F81) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F82) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F83) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F84) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F85) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F86) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F87) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F88) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F89) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8A) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8B) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8C) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8D) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8E) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F8F) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F90) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F91) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F92) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F93) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F94) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F95) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F96) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F97) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F98) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F99) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9A) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9B) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9C) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9D) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9E) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1F9F) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA0) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA1) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA2) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA3) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA4) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA5) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA6) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA7) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA8) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FA9) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAA) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAB) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAC) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAD) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAE) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FAF) +CheckCompUni(" ", 0x1FB0) +CheckCompUni(" ", 0x1FB0) +CheckCompUni(" ", 0x1FB1) +CheckCompUni(" ", 0x1FB1) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB2) +CheckCompUni(" ", 0x1FB3) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB4) +CheckCompUni(" ", 0x1FB6) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB7) +CheckCompUni(" ", 0x1FB8) +CheckCompUni(" ", 0x1FB8) +CheckCompUni(" ", 0x1FB9) +CheckCompUni(" ", 0x1FB9) +CheckCompUni(" ", 0x1FBA) +CheckCompUni(" ", 0x1FBC) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC1) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC2) +CheckCompUni(" ", 0x1FC3) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC4) +CheckCompUni(" ", 0x1FC6) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC7) +CheckCompUni(" ", 0x1FC8) +CheckCompUni(" ", 0x1FCA) +CheckCompUni(" ", 0x1FCC) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCD) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCE) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FCF) +CheckCompUni(" ", 0x1FD0) +CheckCompUni(" ", 0x1FD0) +CheckCompUni(" ", 0x1FD1) +CheckCompUni(" ", 0x1FD1) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD2) +CheckCompUni(" ", 0x1FD6) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD7) +CheckCompUni(" ", 0x1FD8) +CheckCompUni(" ", 0x1FD8) +CheckCompUni(" ", 0x1FD9) +CheckCompUni(" ", 0x1FD9) +CheckCompUni(" ", 0x1FDA) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDD) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDE) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FDF) +CheckCompUni(" ", 0x1FE0) +CheckCompUni(" ", 0x1FE0) +CheckCompUni(" ", 0x1FE1) +CheckCompUni(" ", 0x1FE1) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE2) +CheckCompUni(" ", 0x1FE4) +CheckCompUni(" ", 0x1FE5) +CheckCompUni(" ", 0x1FE6) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE7) +CheckCompUni(" ", 0x1FE8) +CheckCompUni(" ", 0x1FE8) +CheckCompUni(" ", 0x1FE9) +CheckCompUni(" ", 0x1FE9) +CheckCompUni(" ", 0x1FEA) +CheckCompUni(" ", 0x1FEC) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FED) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF2) +CheckCompUni(" ", 0x1FF3) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF4) +CheckCompUni(" ", 0x1FF6) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF7) +CheckCompUni(" ", 0x1FF8) +CheckCompUni(" ", 0x1FFA) +CheckCompUni(" ", 0x1FFC) +CheckCompUni(" ", 0x2030) +CheckCompUni(" ", 0x2039) +CheckCompUni(" ", 0x203A) +CheckCompUni(" ", 0x2070) +CheckCompUni(" <0>", 0x2070) +CheckCompUni(" ", 0x2071) +CheckCompUni(" ", 0x2071) +CheckCompUni(" ", 0x2074) +CheckCompUni(" <4>", 0x2074) +CheckCompUni(" ", 0x2075) +CheckCompUni(" <5>", 0x2075) +CheckCompUni(" ", 0x2076) +CheckCompUni(" <6>", 0x2076) +CheckCompUni(" ", 0x2077) +CheckCompUni(" <7>", 0x2077) +CheckCompUni(" ", 0x2078) +CheckCompUni(" <8>", 0x2078) +CheckCompUni(" ", 0x2079) +CheckCompUni(" <9>", 0x2079) +CheckCompUni(" ", 0x207A) +CheckCompUni(" ", 0x207A) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x207C) +CheckCompUni(" ", 0x207C) +CheckCompUni(" ", 0x207D) +CheckCompUni(" ", 0x207E) +CheckCompUni(" ", 0x207F) +CheckCompUni(" ", 0x207F) +CheckCompUni(" ", 0x2080) +CheckCompUni(" <0>", 0x2080) +CheckCompUni(" ", 0x2080) +CheckCompUni(" <0>", 0x2080) +CheckCompUni(" ", 0x2081) +CheckCompUni(" <1>", 0x2081) +CheckCompUni(" ", 0x2081) +CheckCompUni(" <1>", 0x2081) +CheckCompUni(" ", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" <2>", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" ", 0x2082) +CheckCompUni(" <2>", 0x2082) +CheckCompUni(" ", 0x2083) +CheckCompUni(" <3>", 0x2083) +CheckCompUni(" ", 0x2083) +CheckCompUni(" <3>", 0x2083) +CheckCompUni(" ", 0x2084) +CheckCompUni(" <4>", 0x2084) +CheckCompUni(" ", 0x2084) +CheckCompUni(" <4>", 0x2084) +CheckCompUni(" ", 0x2085) +CheckCompUni(" <5>", 0x2085) +CheckCompUni(" ", 0x2085) +CheckCompUni(" <5>", 0x2085) +CheckCompUni(" ", 0x2086) +CheckCompUni(" <6>", 0x2086) +CheckCompUni(" ", 0x2086) +CheckCompUni(" <6>", 0x2086) +CheckCompUni(" ", 0x2087) +CheckCompUni(" <7>", 0x2087) +CheckCompUni(" ", 0x2087) +CheckCompUni(" <7>", 0x2087) +CheckCompUni(" ", 0x2088) +CheckCompUni(" <8>", 0x2088) +CheckCompUni(" ", 0x2088) +CheckCompUni(" <8>", 0x2088) +CheckCompUni(" ", 0x2089) +CheckCompUni(" <9>", 0x2089) +CheckCompUni(" ", 0x2089) +CheckCompUni(" <9>", 0x2089) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208A) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208C) +CheckCompUni(" ", 0x208D) +CheckCompUni(" ", 0x208D) +CheckCompUni(" ", 0x208E) +CheckCompUni(" ", 0x208E) +CheckCompUni(" ", 0x2120) +CheckCompUni(" ", 0x219A) +CheckCompUni(" ", 0x219A) +CheckCompUni(" ", 0x219B) +CheckCompUni(" ", 0x219B) +CheckCompUni(" ", 0x21AE) +CheckCompUni(" ", 0x21AE) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x2244) +CheckCompUni(" ", 0x2247) +CheckCompUni(" ", 0x2249) +CheckCompUni(" ", 0x2262) +CheckCompUni(" ", 0x226D) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2274) +CheckCompUni(" ", 0x2275) +CheckCompUni(" ", 0x2278) +CheckCompUni(" ", 0x2279) +CheckCompUni(" ", 0x2280) +CheckCompUni(" ", 0x2281) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2288) +CheckCompUni(" ", 0x2289) +CheckCompUni(" ", 0x22AC) +CheckCompUni(" ", 0x22AD) +CheckCompUni(" ", 0x22AE) +CheckCompUni(" ", 0x22AF) +CheckCompUni(" ", 0x22E0) +CheckCompUni(" ", 0x22E1) +CheckCompUni(" ", 0x22E2) +CheckCompUni(" ", 0x22E3) +CheckCompUni(" ", 0x22EA) +CheckCompUni(" ", 0x22EB) +CheckCompUni(" ", 0x22EC) +CheckCompUni(" ", 0x22ED) +CheckCompUni(" ", 0x2460) +CheckCompUni(" <1> ", 0x2460) +CheckCompUni(" ", 0x2461) +CheckCompUni(" ", 0x2461) +CheckCompUni(" <2> ", 0x2461) +CheckCompUni(" ", 0x2462) +CheckCompUni(" <3> ", 0x2462) +CheckCompUni(" ", 0x2463) +CheckCompUni(" <4> ", 0x2463) +CheckCompUni(" ", 0x2464) +CheckCompUni(" <5> ", 0x2464) +CheckCompUni(" ", 0x2465) +CheckCompUni(" <6> ", 0x2465) +CheckCompUni(" ", 0x2466) +CheckCompUni(" <7> ", 0x2466) +CheckCompUni(" ", 0x2467) +CheckCompUni(" <8> ", 0x2467) +CheckCompUni(" ", 0x2468) +CheckCompUni(" <9> ", 0x2468) +CheckCompUni(" ", 0x2469) +CheckCompUni(" <0> ", 0x2469) +CheckCompUni(" <1> ", 0x2469) +CheckCompUni(" <1> <0> ", 0x2469) +CheckCompUni(" ", 0x246A) +CheckCompUni(" <1> ", 0x246A) +CheckCompUni(" <1> ", 0x246A) +CheckCompUni(" <1> <1> ", 0x246A) +CheckCompUni(" ", 0x246B) +CheckCompUni(" ", 0x246B) +CheckCompUni(" <2> ", 0x246B) +CheckCompUni(" <1> ", 0x246B) +CheckCompUni(" <1> ", 0x246B) +CheckCompUni(" <1> <2> ", 0x246B) +CheckCompUni(" ", 0x246C) +CheckCompUni(" <3> ", 0x246C) +CheckCompUni(" <1> ", 0x246C) +CheckCompUni(" <1> <3> ", 0x246C) +CheckCompUni(" ", 0x246D) +CheckCompUni(" <4> ", 0x246D) +CheckCompUni(" <1> ", 0x246D) +CheckCompUni(" <1> <4> ", 0x246D) +CheckCompUni(" ", 0x246E) +CheckCompUni(" <5> ", 0x246E) +CheckCompUni(" <1> ", 0x246E) +CheckCompUni(" <1> <5> ", 0x246E) +CheckCompUni(" ", 0x246F) +CheckCompUni(" <6> ", 0x246F) +CheckCompUni(" <1> ", 0x246F) +CheckCompUni(" <1> <6> ", 0x246F) +CheckCompUni(" ", 0x2470) +CheckCompUni(" <7> ", 0x2470) +CheckCompUni(" <1> ", 0x2470) +CheckCompUni(" <1> <7> ", 0x2470) +CheckCompUni(" ", 0x2471) +CheckCompUni(" <8> ", 0x2471) +CheckCompUni(" <1> ", 0x2471) +CheckCompUni(" <1> <8> ", 0x2471) +CheckCompUni(" ", 0x2472) +CheckCompUni(" <9> ", 0x2472) +CheckCompUni(" <1> ", 0x2472) +CheckCompUni(" <1> <9> ", 0x2472) +CheckCompUni(" ", 0x2473) +CheckCompUni(" <0> ", 0x2473) +CheckCompUni(" ", 0x2473) +CheckCompUni(" <0> ", 0x2473) +CheckCompUni(" <2> ", 0x2473) +CheckCompUni(" <2> <0> ", 0x2473) +CheckCompUni(" ", 0x24B6) +CheckCompUni(" ", 0x24B7) +CheckCompUni(" ", 0x24B8) +CheckCompUni(" ", 0x24B9) +CheckCompUni(" ", 0x24BA) +CheckCompUni(" ", 0x24BB) +CheckCompUni(" ", 0x24BC) +CheckCompUni(" ", 0x24BD) +CheckCompUni(" ", 0x24BE) +CheckCompUni(" ", 0x24BF) +CheckCompUni(" ", 0x24C0) +CheckCompUni(" ", 0x24C1) +CheckCompUni(" ", 0x24C2) +CheckCompUni(" ", 0x24C3) +CheckCompUni(" ", 0x24C4) +CheckCompUni("

", 0x24C5) +CheckCompUni(" ", 0x24C6) +CheckCompUni(" ", 0x24C7) +CheckCompUni(" ", 0x24C8) +CheckCompUni(" ", 0x24C9) +CheckCompUni(" ", 0x24CA) +CheckCompUni(" ", 0x24CB) +CheckCompUni(" ", 0x24CC) +CheckCompUni(" ", 0x24CD) +CheckCompUni(" ", 0x24CE) +CheckCompUni(" ", 0x24CF) +CheckCompUni(" ", 0x24D0) +CheckCompUni(" ", 0x24D1) +CheckCompUni(" ", 0x24D2) +CheckCompUni(" ", 0x24D3) +CheckCompUni(" ", 0x24D4) +CheckCompUni(" ", 0x24D5) +CheckCompUni(" ", 0x24D6) +CheckCompUni(" ", 0x24D7) +CheckCompUni(" ", 0x24D8) +CheckCompUni(" ", 0x24D9) +CheckCompUni(" ", 0x24DA) +CheckCompUni(" ", 0x24DB) +CheckCompUni(" ", 0x24DC) +CheckCompUni(" ", 0x24DD) +CheckCompUni(" ", 0x24DE) +CheckCompUni("

", 0x24DF) +CheckCompUni(" ", 0x24E0) +CheckCompUni(" ", 0x24E1) +CheckCompUni(" ", 0x24E2) +CheckCompUni(" ", 0x24E3) +CheckCompUni(" ", 0x24E4) +CheckCompUni(" ", 0x24E5) +CheckCompUni(" ", 0x24E6) +CheckCompUni(" ", 0x24E7) +CheckCompUni(" ", 0x24E8) +CheckCompUni(" ", 0x24E9) +CheckCompUni(" ", 0x24EA) +CheckCompUni(" <0> ", 0x24EA) +CheckCompUni(" ", 0x266E) +CheckCompUni(" ", 0x2ADC) +CheckCompUni(" ", 0x301D) +CheckCompUni(" ", 0x301E) +CheckCompUni(" ", 0x3251) +CheckCompUni(" <1> ", 0x3251) +CheckCompUni(" ", 0x3251) +CheckCompUni(" <1> ", 0x3251) +CheckCompUni(" <2> ", 0x3251) +CheckCompUni(" <2> <1> ", 0x3251) +CheckCompUni(" ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> ", 0x3252) +CheckCompUni(" <2> <2> ", 0x3252) +CheckCompUni(" ", 0x3253) +CheckCompUni(" <3> ", 0x3253) +CheckCompUni(" ", 0x3253) +CheckCompUni(" <3> ", 0x3253) +CheckCompUni(" <2> ", 0x3253) +CheckCompUni(" <2> <3> ", 0x3253) +CheckCompUni(" ", 0x3254) +CheckCompUni(" <4> ", 0x3254) +CheckCompUni(" ", 0x3254) +CheckCompUni(" <4> ", 0x3254) +CheckCompUni(" <2> ", 0x3254) +CheckCompUni(" <2> <4> ", 0x3254) +CheckCompUni(" ", 0x3255) +CheckCompUni(" <5> ", 0x3255) +CheckCompUni(" ", 0x3255) +CheckCompUni(" <5> ", 0x3255) +CheckCompUni(" <2> ", 0x3255) +CheckCompUni(" <2> <5> ", 0x3255) +CheckCompUni(" ", 0x3256) +CheckCompUni(" <6> ", 0x3256) +CheckCompUni(" ", 0x3256) +CheckCompUni(" <6> ", 0x3256) +CheckCompUni(" <2> ", 0x3256) +CheckCompUni(" <2> <6> ", 0x3256) +CheckCompUni(" ", 0x3257) +CheckCompUni(" <7> ", 0x3257) +CheckCompUni(" ", 0x3257) +CheckCompUni(" <7> ", 0x3257) +CheckCompUni(" <2> ", 0x3257) +CheckCompUni(" <2> <7> ", 0x3257) +CheckCompUni(" ", 0x3258) +CheckCompUni(" <8> ", 0x3258) +CheckCompUni(" ", 0x3258) +CheckCompUni(" <8> ", 0x3258) +CheckCompUni(" <2> ", 0x3258) +CheckCompUni(" <2> <8> ", 0x3258) +CheckCompUni(" ", 0x3259) +CheckCompUni(" <9> ", 0x3259) +CheckCompUni(" ", 0x3259) +CheckCompUni(" <9> ", 0x3259) +CheckCompUni(" <2> ", 0x3259) +CheckCompUni(" <2> <9> ", 0x3259) +CheckCompUni(" ", 0x325A) +CheckCompUni(" <0> ", 0x325A) +CheckCompUni(" <3> ", 0x325A) +CheckCompUni(" <3> <0> ", 0x325A) +CheckCompUni(" ", 0x325B) +CheckCompUni(" <1> ", 0x325B) +CheckCompUni(" <3> ", 0x325B) +CheckCompUni(" <3> <1> ", 0x325B) +CheckCompUni(" ", 0x325C) +CheckCompUni(" ", 0x325C) +CheckCompUni(" <2> ", 0x325C) +CheckCompUni(" <3> ", 0x325C) +CheckCompUni(" <3> ", 0x325C) +CheckCompUni(" <3> <2> ", 0x325C) +CheckCompUni(" ", 0x325D) +CheckCompUni(" <3> ", 0x325D) +CheckCompUni(" <3> ", 0x325D) +CheckCompUni(" <3> <3> ", 0x325D) +CheckCompUni(" ", 0x325E) +CheckCompUni(" <4> ", 0x325E) +CheckCompUni(" <3> ", 0x325E) +CheckCompUni(" <3> <4> ", 0x325E) +CheckCompUni(" ", 0x325F) +CheckCompUni(" <5> ", 0x325F) +CheckCompUni(" <3> ", 0x325F) +CheckCompUni(" <3> <5> ", 0x325F) +CheckCompUni(" ", 0x32B1) +CheckCompUni(" <6> ", 0x32B1) +CheckCompUni(" <3> ", 0x32B1) +CheckCompUni(" <3> <6> ", 0x32B1) +CheckCompUni(" ", 0x32B2) +CheckCompUni(" <7> ", 0x32B2) +CheckCompUni(" <3> ", 0x32B2) +CheckCompUni(" <3> <7> ", 0x32B2) +CheckCompUni(" ", 0x32B3) +CheckCompUni(" <8> ", 0x32B3) +CheckCompUni(" <3> ", 0x32B3) +CheckCompUni(" <3> <8> ", 0x32B3) +CheckCompUni(" ", 0x32B4) +CheckCompUni(" <9> ", 0x32B4) +CheckCompUni(" <3> ", 0x32B4) +CheckCompUni(" <3> <9> ", 0x32B4) +CheckCompUni(" ", 0x32B5) +CheckCompUni(" <0> ", 0x32B5) +CheckCompUni(" <4> ", 0x32B5) +CheckCompUni(" <4> <0> ", 0x32B5) +CheckCompUni(" ", 0x32B6) +CheckCompUni(" <1> ", 0x32B6) +CheckCompUni(" <4> ", 0x32B6) +CheckCompUni(" <4> <1> ", 0x32B6) +CheckCompUni(" ", 0x32B7) +CheckCompUni(" ", 0x32B7) +CheckCompUni(" <2> ", 0x32B7) +CheckCompUni(" <4> ", 0x32B7) +CheckCompUni(" <4> ", 0x32B7) +CheckCompUni(" <4> <2> ", 0x32B7) +CheckCompUni(" ", 0x32B8) +CheckCompUni(" <3> ", 0x32B8) +CheckCompUni(" <4> ", 0x32B8) +CheckCompUni(" <4> <3> ", 0x32B8) +CheckCompUni(" ", 0x32B9) +CheckCompUni(" <4> ", 0x32B9) +CheckCompUni(" <4> ", 0x32B9) +CheckCompUni(" <4> <4> ", 0x32B9) +CheckCompUni(" ", 0x32BA) +CheckCompUni(" <5> ", 0x32BA) +CheckCompUni(" <4> ", 0x32BA) +CheckCompUni(" <4> <5> ", 0x32BA) +CheckCompUni(" ", 0x32BB) +CheckCompUni(" <6> ", 0x32BB) +CheckCompUni(" <4> ", 0x32BB) +CheckCompUni(" <4> <6> ", 0x32BB) +CheckCompUni(" ", 0x32BC) +CheckCompUni(" <7> ", 0x32BC) +CheckCompUni(" <4> ", 0x32BC) +CheckCompUni(" <4> <7> ", 0x32BC) +CheckCompUni(" ", 0x32BD) +CheckCompUni(" <8> ", 0x32BD) +CheckCompUni(" <4> ", 0x32BD) +CheckCompUni(" <4> <8> ", 0x32BD) +CheckCompUni(" ", 0x32BE) +CheckCompUni(" <9> ", 0x32BE) +CheckCompUni(" <4> ", 0x32BE) +CheckCompUni(" <4> <9> ", 0x32BE) +CheckCompUni(" ", 0x32BF) +CheckCompUni(" <0> ", 0x32BF) +CheckCompUni(" <5> ", 0x32BF) +CheckCompUni(" <5> <0> ", 0x32BF) +CheckCompUni(" ", 0xDA) +CheckCompUni(" ", 0xDA) +CheckCompUni(" ", 0xFA) +CheckCompUni(" ", 0xFA) +CheckCompUni(" ", 0x16C) +CheckCompUni(" ", 0x16C) +CheckCompUni(" ", 0x16D) +CheckCompUni(" ", 0x16D) +CheckCompUni(" ", 0xDB) +CheckCompUni(" ", 0xFB) +CheckCompUni(" ", 0xDC) +CheckCompUni(" ", 0xFC) +CheckCompUni(" ", 0x170) +CheckCompUni(" ", 0x171) +CheckCompUni(" ", 0xD9) +CheckCompUni(" ", 0xF9) +CheckCompUni(" ", 0x16A) +CheckCompUni(" ", 0x16A) +CheckCompUni(" ", 0x16B) +CheckCompUni(" ", 0x16B) +CheckCompUni(" ", 0x172) +CheckCompUni(" ", 0x173) +CheckCompUni(" ", 0x16E) +CheckCompUni(" ", 0x16F) +CheckCompUni(" ", 0x168) +CheckCompUni(" ", 0x169) +CheckCompUni(" ", 0x20A9) +CheckCompUni(" ", 0x20A9) +CheckCompUni(" ", 0xDD) +CheckCompUni(" ", 0xDD) +CheckCompUni(" ", 0xFD) +CheckCompUni(" ", 0xFD) +CheckCompUni(" ", 0x178) +CheckCompUni(" ", 0xFF) +CheckCompUni(" ", 0xA5) +CheckCompUni(" ", 0xA5) +CheckCompUni(" ", 0x17B) +CheckCompUni(" ", 0x17C) +CheckCompUni(" ", 0x179) +CheckCompUni(" ", 0x179) +CheckCompUni(" ", 0x17A) +CheckCompUni(" ", 0x17A) +CheckCompUni(" ", 0x17D) +CheckCompUni(" ", 0x17E) +} +/* + ------------------------------------------------------ + Methoden zum Senden von Unicode-Zeichen + ------------------------------------------------------ + +ber den GTK-Workaround: +Dieser basiert auf http://www.autohotkey.com/forum/topic32947.html +Der Aufruf von SubStr(charCode,3) geht davon aus, dass alle charCodes in Hex mit fhrendem 0x angegeben sind. Die abenteuerliche ^+u-Konstruktion bentigt im brigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlertrchtig an dieser Stelle. Auerdem ein abschlieend gesendetes Space, sonst bleibt der eingetippte Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewnschte Zeichen verwandelt. +*/ + +SendUnicodeChar(charCode1, charCode2) { + global + if !(CheckComp(charCode2) and DeadCompose) + IfWinActive,ahk_class gdkWindowToplevel + { + StringLower,charCode1,charCode1 + send % "^+u" . SubStr(charCode1,3) . " " + } else { + VarSetCapacity(ki,28*2,0) + EncodeInteger(&ki+0,1) + EncodeInteger(&ki+6,charCode1) + EncodeInteger(&ki+8,4) + EncodeInteger(&ki+28,1) + EncodeInteger(&ki+34,charCode1) + EncodeInteger(&ki+36,4|2) + DllCall("SendInput","UInt",2,"UInt",&ki,"Int",28) + } +} + +EncodeInteger(ref,val) { + DllCall("ntdll\RtlFillMemoryUlong","Uint",ref,"Uint",4,"Uint",val) +} + + +/* + ------------------------------------------------------ + BildschirmTastatur + ------------------------------------------------------ +*/ + +guiErstellt = 0 +alwaysOnTop = 1 + +*F1:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch1 + else send {blind}{F1} +return + +*F2:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch2 + else send {blind}{F2} +return + +*F3:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch3 + else send {blind}{F3} +return + +*F4:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch4 + else send {blind}{F4} +return + +*F5:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch5 + else send {blind}{F5} +return + +*F6:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Switch6 + else send {blind}{F6} +return + +*F7:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto Show + else send {blind}{F7} +return + +*F8:: + if (isMod4Pressed()&&zeigeBildschirmTastatur) + goto ToggleAlwaysOnTop + else send {blind}{F8} +return + +Switch1: + tImage := ResourceFolder . "\ebene1.png" + goto Switch +Return + +Switch2: + tImage := ResourceFolder . "\ebene2.png" + goto Switch +Return + +Switch3: + tImage := ResourceFolder . "\ebene3.png" + goto Switch +Return + +Switch4: + tImage := ResourceFolder . "\ebene4.png" + goto Switch +Return + +Switch5: + tImage := ResourceFolder . "\ebene5.png" + goto Switch +Return + +Switch6: + tImage := ResourceFolder . "\ebene6.png" + goto Switch +Return + +Switch: + if guiErstellt { + if (Image = tImage) + goto Close + else { + Image := tImage + SetTimer, Refresh + } + } else { + Image := tImage + goto Show + } +Return + +Show: + if guiErstellt { + goto Close + } else { + if (Image = "") { + Image := ResourceFolder . "\ebene1.png" + } + yPosition := A_ScreenHeight -270 + Gui,Color,FFFFFF + Gui,Add,Button,xm+5 gSwitch1,F1 + Gui,Add,Text,x+5,kleine Buchstaben + Gui,Add,Button,xm+5 gSwitch2,F2 + Gui,Add,Text,x+5,groe Buchstaben + Gui,Add,Button,xm+5 gSwitch3,F3 + Gui,Add,Text,x+5,Satz-/Sonderzeichen + Gui,Add,Button,xm+5 gSwitch4,F4 + Gui,Add,Text,x+5,Zahlen / Steuerung + Gui,Add,Button,xm+5 gSwitch5,F5 + Gui,Add,Text,x+5,Sprachen + Gui,Add,Button,xm+5 gSwitch6,F6 + Gui,Add,Text,x+5,Mathesymbole + Gui,Add,Button,xm+5 gShow,F7 + Gui,Add,Text,x+5,An / + Gui,Add,Text,y+3,Aus + Gui,Add,Button,x+10 y+-30 gShow,F8 + Gui,Add,Text,x+5,OnTop + Gui,Add,Picture,AltSubmit ys w564 h200 vPicture,%Image% + Gui,+AlwaysOnTop + Gui,Show,y%yposition% Autosize +; SetTimer,Refresh + guiErstellt = 1 + } +Return + +Close: + guiErstellt = 0 + Gui,Destroy +Return + +Refresh: + If (Image != OldImage) { + GuiControl,,Picture,%Image% + OldImage := Image + } +Return + +ToggleAlwaysOnTop: + if alwaysOnTop { + Gui, -AlwaysOnTop + alwaysOnTop = 0 + } else { + Gui, +AlwaysOnTop + alwaysOnTop = 1 + } +Return + + + \ No newline at end of file diff --git a/windows/ahk-auslaufend/neo20.exe b/windows/ahk-auslaufend/neo20.exe new file mode 100644 index 0000000..a2e313d Binary files /dev/null and b/windows/ahk-auslaufend/neo20.exe differ diff --git a/windows/ahk-auslaufend/neo_disabled.ico b/windows/ahk-auslaufend/neo_disabled.ico new file mode 100644 index 0000000..1e2c2af Binary files /dev/null and b/windows/ahk-auslaufend/neo_disabled.ico differ -- cgit v1.2.3

", 0x3A1) +CheckCompUni(" ", 0x3A4) +CheckCompUni(" ", 0x3A5) +CheckCompUni(" ", 0x3A7) +CheckCompUni(" ", 0xFB00) +CheckCompUni(" ", 0xFB01) +CheckCompUni(" ", 0xFB02) +CheckCompUni(" ", 0xFB03) +CheckCompUni(" ", 0xFB04) +CheckCompUni("<17F> ", 0xFB05) +CheckCompUni(" ", 0xFB06) +CheckCompUni(" ", 0xE030) +CheckCompUni(" ", 0xE031) +CheckCompUni(" ", 0xE032) +CheckCompUni(" ", 0xE033) +CheckCompUni(" ", 0xE034) +CheckCompUni(" ", 0xE035) +CheckCompUni(" ", 0xE036) +CheckCompUni(" ", 0xE037) +CheckCompUni(" ", 0xE038) +CheckCompUni(" ", 0xE039) +CheckCompUni(" ", 0xE03A) +CheckCompUni(" ", 0xE03B) +CheckCompUni(" ", 0xE03C) +CheckCompUni(" ", 0xE03D) +CheckCompUni("<17F> ", 0xE03E) +CheckCompUni("<17F> <17F>", 0xE03F) +CheckCompUni("<17F> ", 0xE043) +CheckCompUni(" ", 0xE044) +CheckCompUni("<17F> ", 0xE045) +CheckCompUni(" ", 0xE04A) +CheckCompUni(" ", 0xE048) +CheckCompUni(" ", 0xE049) +CheckCompUni(" ", 0x132) +CheckCompUni(" ", 0x133) +CheckCompUni(" ", 0x1C4) +CheckCompUni(" ", 0x1C5) +CheckCompUni(" ", 0x1C6) +CheckCompUni(" ", 0x1C7) +CheckCompUni(" ", 0x1C8) +CheckCompUni(" ", 0x1C9) +CheckCompUni(" ", 0x1CA) +CheckCompUni(" ", 0x1CB) +CheckCompUni(" ", 0x1CC) +CheckCompUni(" ", 0x126) +CheckCompUni(" ", 0x127) +CheckCompUni(" ", 0x18F) +CheckCompUni(" ", 0x13F) +CheckCompUni(" ", 0x140) +CheckCompUni("<2> ", 0x203C) +CheckCompUni(" <2>", 0x203C) +CheckCompUni(" ", 0x203C) +CheckCompUni(" ", 0x203C) +CheckCompUni("<2> ", 0x2047) +CheckCompUni(" <2>", 0x2047) +CheckCompUni(" ", 0x2047) +CheckCompUni(" ", 0x2047) +CheckCompUni(" ", 0x2048) +CheckCompUni(" ", 0x2049) +CheckCompUni("<1> ", 0x203D) +CheckCompUni("<1> ", 0x203D) +CheckCompUni(" ", 0x203D) +CheckCompUni(" ", 0x203D) +CheckCompUni("<1> ", 0x2E18) +CheckCompUni("<1> ", 0x2E18) +CheckCompUni(" ", 0x2E18) +CheckCompUni(" ", 0x2E18) +CheckCompUni(" ", 0x2021) +CheckCompUni(" ", 0x2025) +CheckCompUni(" ", 0x2D) +CheckCompUni(" <1> ", 0x2160) +CheckCompUni(" <2>", 0x2161) +CheckCompUni(" <3>", 0x2162) +CheckCompUni(" <4>", 0x2163) +CheckCompUni(" <5>", 0x2164) +CheckCompUni(" <6>", 0x2165) +CheckCompUni(" <7>", 0x2166) +CheckCompUni(" <8>", 0x2167) +CheckCompUni(" <9>", 0x2168) +CheckCompUni(" <1> <0>", 0x2169) +CheckCompUni(" <1> <1>", 0x216A) +CheckCompUni(" <1> <2>", 0x216B) +CheckCompUni(" ", 0x2160) +CheckCompUni(" ", 0x2161) +CheckCompUni(" ", 0x2162) +CheckCompUni(" ", 0x2163) +CheckCompUni(" ", 0x2164) +CheckCompUni(" ", 0x2165) +CheckCompUni(" ", 0x2166) +CheckCompUni(" ", 0x2167) +CheckCompUni(" ", 0x2168) +CheckCompUni(" ", 0x2169) +CheckCompUni(" ", 0x216A) +CheckCompUni(" ", 0x216B) +CheckCompUni(" <1> ", 0x2170) +CheckCompUni(" <2>", 0x2171) +CheckCompUni(" <3>", 0x2172) +CheckCompUni(" <4>", 0x2173) +CheckCompUni(" <5>", 0x2174) +CheckCompUni(" <6>", 0x2175) +CheckCompUni(" <7>", 0x2176) +CheckCompUni(" <8>", 0x2177) +CheckCompUni(" <9>", 0x2178) +CheckCompUni(" <1> <0>", 0x2179) +CheckCompUni(" <1> <1>", 0x217A) +CheckCompUni(" <1> <2>", 0x217B) +CheckCompUni(" ", 0x2170) +CheckCompUni(" ", 0x2171) +CheckCompUni(" ", 0x2172) +CheckCompUni(" ", 0x2173) +CheckCompUni(" ", 0x2174) +CheckCompUni(" ", 0x2175) +CheckCompUni(" ", 0x2176) +CheckCompUni(" ", 0x2177) +CheckCompUni(" ", 0x2178) +CheckCompUni(" ", 0x2179) +CheckCompUni(" ", 0x217A) +CheckCompUni(" ", 0x217B) +CheckCompUni(" <0>", 0x660) +CheckCompUni(" <1>", 0x661) +CheckCompUni(" <2>", 0x662) +CheckCompUni(" <3>", 0x663) +CheckCompUni(" <4>", 0x664) +CheckCompUni(" <5>", 0x665) +CheckCompUni(" <6>", 0x666) +CheckCompUni(" <7>", 0x667) +CheckCompUni(" <8>", 0x668) +CheckCompUni(" <9>", 0x669) +CheckCompUni(" ", 0x660) +CheckCompUni(" ", 0x661) +CheckCompUni(" ", 0x662) +CheckCompUni(" ", 0x663) +CheckCompUni(" ", 0x664) +CheckCompUni(" ", 0x665) +CheckCompUni(" ", 0x666) +CheckCompUni(" ", 0x667) +CheckCompUni(" ", 0x668) +CheckCompUni(" ", 0x669) +CheckCompUni("<1> <3>", 0x2153) +CheckCompUni("<2> <3>", 0x2154) +CheckCompUni("<1> <5>", 0x2155) +CheckCompUni("<2> <5>", 0x2156) +CheckCompUni("<3> <5>", 0x2157) +CheckCompUni("<4> <5>", 0x2158) +CheckCompUni("<1> <6>", 0x2159) +CheckCompUni("<5> <6>", 0x215A) +CheckCompUni("<1> <8>", 0x215B) +CheckCompUni("<3> <8>", 0x215C) +CheckCompUni("<5> <8>", 0x215D) +CheckCompUni("<7> <8>", 0x215E) +CheckCompUni("<1> ", 0x215F) +CheckCompUni("<1> ", 0x215F) +CheckCompUni(" ", 0x2153) +CheckCompUni(" ", 0x2154) +CheckCompUni(" ", 0x2155) +CheckCompUni(" ", 0x2156) +CheckCompUni(" ", 0x2157) +CheckCompUni(" ", 0x2158) +CheckCompUni(" ", 0x2159) +CheckCompUni(" ", 0x215A) +CheckCompUni(" ", 0x215B) +CheckCompUni(" ", 0x215C) +CheckCompUni(" ", 0x215D) +CheckCompUni(" ", 0x215E) +CheckCompUni(" ", 0x215F) +CheckCompUni(" ", 0x215F) +CheckCompUni(" ", 0xBC) +CheckCompUni(" ", 0xBD) +CheckCompUni(" ", 0xBE) +CheckCompUni("<3> ", 0x221B) +CheckCompUni(" <3>", 0x221B) +CheckCompUni(" ", 0x221B) +CheckCompUni(" ", 0x221B) +CheckCompUni("<4> ", 0x221C) +CheckCompUni(" <4>", 0x221C) +CheckCompUni(" ", 0x221C) +CheckCompUni(" ", 0x221C) +CheckCompUni(" <2>", 0x222C) +CheckCompUni("<2> ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" ", 0x222C) +CheckCompUni(" <3>", 0x222D) +CheckCompUni("<3> ", 0x222D) +CheckCompUni(" ", 0x222D) +CheckCompUni(" ", 0x222D) +CheckCompUni(" <4>", 0x2A0C) +CheckCompUni("<4> ", 0x2A0C) +CheckCompUni(" ", 0x2A0C) +CheckCompUni(" ", 0x2A0C) +CheckCompUni(" <2>", 0x222F) +CheckCompUni("<2> ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" ", 0x222F) +CheckCompUni(" <3>", 0x2230) +CheckCompUni("<3> ", 0x2230) +CheckCompUni(" ", 0x2230) +CheckCompUni(" ", 0x2230) +CheckCompUni(" ", 0x33D1) +CheckCompUni(" ", 0x33D2) +CheckCompUni(" ", 0x2308) +CheckCompUni(" ", 0x230A) +CheckCompUni(" ", 0x2309) +CheckCompUni(" ", 0x230B) +CheckCompUni(" ", 0x2234) +CheckCompUni(" ", 0x2235) +CheckCompUni(" ", 0x2245) +CheckCompUni(" ", 0x2245) +CheckCompUni(" ", 0x2248) +CheckCompUni(" ", 0x2265) +CheckCompUni(" ", 0x2265) +CheckCompUni(" ", 0x2264) +CheckCompUni(" ", 0x2264) +CheckCompUni(" ", 0x2257) +CheckCompUni(" ", 0x2257) +CheckCompUni(" ", 0xB1) +CheckCompUni(" ", 0x2213) +CheckCompUni(" ", 0x2213) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2260) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2204) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x2209) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x220C) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2224) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2226) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x2241) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226E) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x226F) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2270) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2271) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2284) +CheckCompUni(" ", 0x2285) +CheckCompUni(" ", 0x2285) +CheckCompUni("", 0x20D7) +CheckCompUni(" ", 0x20D7) +CheckCompUni(" ", 0x20D7) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x207B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x208B) +CheckCompUni(" ", 0x1D5D) +CheckCompUni(" ", 0x1D5E) +CheckCompUni(" ", 0x1D5F) +CheckCompUni(" ", 0x1D60) +CheckCompUni(" ", 0x1D61) +CheckCompUni(" ", 0x1DBF) +CheckCompUni(" ", 0x1D66) +CheckCompUni(" ", 0x1D66) +CheckCompUni(" ", 0x1D67) +CheckCompUni(" ", 0x1D67) +CheckCompUni(" ", 0x1D68) +CheckCompUni(" ", 0x1D68) +CheckCompUni(" ", 0x1D69) +CheckCompUni(" ", 0x1D69) +CheckCompUni(" ", 0x1D6A) +CheckCompUni(" ", 0x1D6A) +CheckCompUni(" ", 0x210A) +CheckCompUni(" ", 0x210B) +CheckCompUni(" ", 0x2110) +CheckCompUni(" ", 0x2112) +CheckCompUni(" ", 0x2113) +CheckCompUni(" ", 0x2113) +CheckCompUni("