diff options
author | mösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2011-10-06 09:23:05 +0000 |
---|---|---|
committer | mösi <mösi@b9310e46-f624-0410-8ea1-cfbb3a30dc96> | 2011-10-06 09:23:05 +0000 |
commit | 988ba05fa816196b64572c71b026f63856b1f246 (patch) | |
tree | 2df9b0b556b6d245704aa8b2f0864619edfb637f /windows/neo-vars/src/source/compose-gen.ahk | |
parent | 77ebd4b08ea9b6e0119c6724fd1399f33b59107e (diff) |
• Das Skript ist jetzt mit dem neuen AutoHotkey_L Unicode kompatibel, aber nur mehr bedingt mit dem alten AHK oder dem AutoHotkey_L ANSI.
• Die Dynamische BST (M3+F3) reagiert jetzt nicht nur auf Compose, sondern auch auf Ebene 5/6.
git-svn-id: https://svn.neo-layout.org@2407 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to 'windows/neo-vars/src/source/compose-gen.ahk')
-rw-r--r-- | windows/neo-vars/src/source/compose-gen.ahk | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/windows/neo-vars/src/source/compose-gen.ahk b/windows/neo-vars/src/source/compose-gen.ahk index 75f8bfb..afadb9c 100644 --- a/windows/neo-vars/src/source/compose-gen.ahk +++ b/windows/neo-vars/src/source/compose-gen.ahk @@ -1799,7 +1799,17 @@ SetFormat, Integer, hex break
char := asc(SubStr(str,1,1))
str := SubStr(str,2)
- if (char < 0x80)
+ if (A_IsUnicode) {
+ if ((char < 0xDC00) or (char >= 0xE000))
+ result .= "U" . SubStr("000000" . Substr(char, 3), -5)
+ else {
+ ; unwrap surrogates
+ char2 := asc(Substr(str,1,1))
+ str := SubStr(str,2)
+ result .= "U" . SubStr("000000" . SubStr(((char & 0x3FF) << 12) + (char2 & 0x3FF), 3), -5)
+ }
+ }
+ else if (char < 0x80)
result .= "U" . SubStr("000000" . SubStr(char,3),-5)
else if (char < 0xC0) {
; error
|