From 6d0b9db7e1dfa23ee0204b0a57847c4126e2500a Mon Sep 17 00:00:00 2001 From: dennis Date: Sat, 10 Jan 2009 16:33:14 +0000 Subject: =?UTF-8?q?Der=20=C2=BBalte=C2=AB=20AHK-Treiber=20ist=20als=20?= =?UTF-8?q?=C2=BBdeprecated=C2=AB=20einzustufen.=20Der=20Namenswechsel=20d?= =?UTF-8?q?es=20Verzeichnis=20soll=20dies=20wiederspielen=20und=20eventuel?= =?UTF-8?q?le=20=C2=BBGewohnheitsfehler=C2=AB=20vermeiden.?= 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 möglich zu sein, dies mit "Bordmitteln" zu erreichen, es gibt hierfür 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 â€șïŹ…â€č 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), â€șïŹâ€č, â€șïŹƒâ€č(♫Fi), â€șïŹ€â€č, â€șïŹ†â€č, â€șïŹ…â€č. +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 für 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-Schaltfläche: BASIC-Quelltext einfügen, diese Datei auswählen. +Rem Skript ausführen (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 ausführen. +'Korrektur von ein paar ungelösten Problemen: +'Letzte Zeile der Ausgabedatei durch "}" ersetzen. +'Folgende Zeile abändern: +'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 für 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 dürfen 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 eingerückt werden +Process,Priority,,High +SendMode Input + +/**************** +* Verzeichnisse * +***************** +*/ +; Setzt den Pfad zu einem temporären 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 für die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? +; (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar) +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 möglicherweise 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 + +/******************************************* +* Überprüfung 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. + `nÄndern 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 nützlich um sich die Qwertz-Tasten abzugewöhnen, 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 +; nützlich 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 + +/***************** +* Menüfunktionen * +****************** +*/ +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 nötig. + `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke + abgefangen und statt dessen eine Übersetzung weitergeschickt. + `nDies geschieht transparent für den Anwender, + es muss nichts installiert werden. + `nDie Zeichenübersetzung 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) ; Diärese, 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 darüber, 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") ; für 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) ; ungefähr 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))) ; größer 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 wäre 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 (natürliche 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") ; Verknüpfungsoperator +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") ; männlicher 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 (schließende 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 Aufzählungszeichen + 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") ; geschützter 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") ; geschütztes Leerzeichen + else if (Ebene = 6) + SendUnicodeChar(0x202F, "U202F") ; schmales geschütztes 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 merkwürdig, 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 zusätzlich 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 Drücken 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 lösen, drücke 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) auszuschließen, + 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 prüft, ob das eben geschriebene Zeichen eine gültige Coko +;fortsetzen KÖNNTE – falls ja, wird 1 zurückgegeben (die Eingabe soll blind erfolgen), +;andernfalls wird 0 zurückgegeben (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,große 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 führendem „0x“ angegeben sind. Die abenteuerliche „^+u“-Konstruktion benötigt im Übrigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlerträchtig an dieser Stelle. Außerdem ein abschließend gesendetes Space, sonst bleibt der „eingetippte“ Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewünschte 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 regelmäßig überschrieben und +sollte deshalb nicht mehr direkt bearbeitet werden! + +Alle weiterführenden Informationen finden sich im Abschnitt +== Hinweise für Entwickler == +in der Datei README.txt! + +Versionshinweise (SVN Keywords) für 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 regelmäßig überschrieben und +sollte deshalb nicht mehr direkt bearbeitet werden! + +Alle weiterführenden Informationen finden sich im Abschnitt +== Hinweise für Entwickler == +in der Datei README.txt! + +Versionshinweise (SVN Keywords) für 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 eingerückt werden +Process,Priority,,High +SendMode Input + +/**************** +* Verzeichnisse * +***************** +*/ +; Setzt den Pfad zu einem temporären 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 für die Bildschirmtastatur in die compilierte EXE-Datei miteingebunden werden? +; (Nachteil: grössere Dateigrösse, Vorteil: Referenz für Anfänger stets einfach verfügbar) +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 möglicherweise 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 + +/******************************************* +* Überprüfung 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. + `nÄndern 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 nützlich um sich die Qwertz-Tasten abzugewöhnen, 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 +; nützlich 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 + +/***************** +* Menüfunktionen * +****************** +*/ +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 nötig. + `nWenn Autohotkey aktiviert ist, werden alle Tastendrucke + abgefangen und statt dessen eine Übersetzung weitergeschickt. + `nDies geschieht transparent für den Anwender, + es muss nichts installiert werden. + `nDie Zeichenübersetzung 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 merkwürdig, 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 zusätzlich 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 Drücken 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 lösen, drücke 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") ; für 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) ; ungefähr 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))) ; größer 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 wäre 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 (natürliche 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") ; Verknüpfungsoperator +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") ; männlicher 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 (schließende 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 Aufzählungszeichen + 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") ; geschützter 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") ; geschütztes Leerzeichen + else if (Ebene = 6) + SendUnicodeChar(0x202F, "U202F") ; schmales geschütztes 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) ; Diärese, 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 darüber, 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) auszuschließen, + 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 prüft, ob das eben geschriebene Zeichen eine gültige Coko +;fortsetzen KÖNNTE – falls ja, wird 1 zurückgegeben (die Eingabe soll blind erfolgen), +;andernfalls wird 0 zurückgegeben (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 führendem „0x“ angegeben sind. Die abenteuerliche „^+u“-Konstruktion benötigt im Übrigen den Hex-Wert in Kleinschrift, was derzeit nicht bei den Zeichendefinitionen umgesetzt ist, daher zentral und weniger fehlerträchtig an dieser Stelle. Außerdem ein abschließend gesendetes Space, sonst bleibt der „eingetippte“ Unicode-Wert noch kurz sichtbar stehen, bevor er sich GTK-sei-dank in das gewünschte 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,große 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("