-; UltimateKEYS.ahk - 2022-05-23
+; UltimateKEYS.ahk - 2022-10-22
; Website : www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
cmpMacronStroke.item["O"] := "{u+014c}" ; (Ō) O with macron
cmpMacronStroke.item["p"] := "{u+1d7d}" ; (ᵽ) p with stroke
cmpMacronStroke.item["P"] := "{u+2c63}" ; (Ᵽ) P with stroke
+cmpMacronStroke.item["q"] := "{u+01ed}" ; (ǭ) o with ogonek and macron
+cmpMacronStroke.item["Q"] := "{u+01ec}" ; (Ǭ) O with ogonek and macron
cmpMacronStroke.item["r"] := "{u+024d}" ; (ɍ) r with stroke
cmpMacronStroke.item["R"] := "{u+024c}" ; (Ɍ) R with stroke
cmpMacronStroke.item["t"] := "{u+0167}" ; (ŧ) t with stroke
; Compose : Macron/Stroke (Additional) (_)
cmpMacronStrokeAdd := ComObjCreate("Scripting.Dictionary")
-cmpMacronStrokeAdd.item["a"] := "{u+01e3}" ; (ǣ) ae with macron
-cmpMacronStrokeAdd.item["A"] := "{u+01e2}" ; (Ǣ) AE with macron
cmpMacronStrokeAdd.item["g"] := "{u+1e21}" ; (ḡ) g with macron
cmpMacronStrokeAdd.item["G"] := "{u+1e20}" ; (Ḡ) G with macron
cmpMacronStrokeAdd.item["i"] := "{u+0268}" ; (ɨ) i with stroke
cmpMacronStrokeAdd.item["I"] := "{u+0197}" ; (Ɨ) I with stroke
cmpMacronStrokeAdd.item["l"] := "{u+019a}" ; (ƚ) l with bar
cmpMacronStrokeAdd.item["L"] := "{u+023d}" ; (Ƚ) L with bar
-cmpMacronStrokeAdd.item["o"] := "{u+01ed}" ; (ǭ) o with ogonek and macron
-cmpMacronStrokeAdd.item["O"] := "{u+01ec}" ; (Ǭ) O with ogonek and macron
cmpMacronStrokeAdd.item["u"] := "{u+0289}" ; (ʉ) u with bar
cmpMacronStrokeAdd.item["U"] := "{u+0244}" ; (Ʉ) U with bar
cmpMacronStrokeAdd.item["y"] := "{u+024f}" ; (ɏ) y with stroke
cmpMacronStrokeAdd.item["Y"] := "{u+024e}" ; (Ɏ) Y with stroke
-cmpMacronStrokeAdd.item[" "] := "{u+00af}" ; (¯) macron
-; Compose : Stroke (/)
+; Compose : Oblique/Diagonal Stroke (/)
cmpStroke := ComObjCreate("Scripting.Dictionary")
cmpStroke.item["a"] := "{u+2c65}" ; (ⱥ) a with stroke
cmpStroke.item["G"] := "{u+a7a0}" ; (Ꞡ) G with oblique stroke
cmpStroke.item["k"] := "{u+a7a3}" ; (ꞣ) k with oblique stroke
cmpStroke.item["K"] := "{u+a7a2}" ; (Ꞣ) K with oblique stroke
+cmpStroke.item["l"] := "{u+0142}" ; (ł) l with stroke
+cmpStroke.item["L"] := "{u+0141}" ; (Ł) L with stroke
cmpStroke.item["n"] := "{u+a7a5}" ; (ꞥ) n with oblique stroke
cmpStroke.item["N"] := "{u+a7a4}" ; (Ꞥ) N with oblique stroke
cmpStroke.item["o"] := "{u+00f8}" ; (ø) o with stroke
cmpCedillaOgonek.item[" "] := "{u+00b8}" ; (¸) cedilla
-; Compose : Breve/Special (b)
+; Compose : Breve and Special Letters (b)
cmpBreveSpecial := ComObjCreate("Scripting.Dictionary")
cmpBreveSpecial.item["a"] := "{u+0103}" ; (ă) a with breve
cmpAcuteAccent.item["Y"] := "{u+00dd}" ; (Ý) Y with acute
cmpAcuteAccent.item["z"] := "{u+017a}" ; (ź) z with acute
cmpAcuteAccent.item["Z"] := "{u+0179}" ; (Ź) Z with acute
-cmpAcuteAccent.item["b"] := "{u+01fb}" ; (ǻ) a with ring above and acute
-cmpAcuteAccent.item["B"] := "{u+01fa}" ; (Ǻ) A with ring above and acute
-cmpAcuteAccent.item["d"] := "{u+1e09}" ; (ḉ) c with cedilla and acute
-cmpAcuteAccent.item["D"] := "{u+1e08}" ; (Ḉ) C with cedilla and acute
-cmpAcuteAccent.item["f"] := "{u+01fd}" ; (ǽ) ae with acute
-cmpAcuteAccent.item["F"] := "{u+01fc}" ; (Ǽ) AE with acute
-cmpAcuteAccent.item["q"] := "{u+01ff}" ; (ǿ) o with stroke and acute
-cmpAcuteAccent.item["Q"] := "{u+01fe}" ; (Ǿ) O with stroke and acute
+cmpAcuteAccent.item[" "] := "{u+00b4}" ; (´) acute accent
; Compose : Diaeresis (")
cmpDiaeresis.item[" "] := "{u+00a8}" ; (¨) diaeresis
-; Compose : Double Acute Accent and Special Letters (=)
+; Compose : Double Acute Accent (=)
cmpDoubleAcute := ComObjCreate("Scripting.Dictionary")
cmpDoubleAcute.item["o"] := "{u+0151}" ; (ő) o with double acute
cmpDoubleAcute.item["O"] := "{u+0150}" ; (Ő) O with double acute
cmpDoubleAcute.item["u"] := "{u+0171}" ; (ű) u with double acute
cmpDoubleAcute.item["U"] := "{u+0170}" ; (Ű) U with double acute
-cmpDoubleAcute.item["h"] := "{u+a727}" ; (ꜧ) small letter heng
-cmpDoubleAcute.item["H"] := "{u+a726}" ; (Ꜧ) capital letter heng
cmpDoubleAcute.item[" "] := "{u+02dd}" ; (˝) double acute accent
cmpGraveAccent.item[" "] := "{u+02cb}" ; (ˋ) grave accent (modifier)
-; Compose : Double Grave (G)
+; Compose : Double Grave Accent (G)
cmpDoubleGrave := ComObjCreate("Scripting.Dictionary")
cmpDoubleGrave.item["a"] := "{u+0201}" ; (ȁ) a with double grave
cmpTilde.item["V"] := "{u+1e7c}" ; (Ṽ) V with tilde
cmpTilde.item["y"] := "{u+1ef9}" ; (ỹ) y with tilde
cmpTilde.item["Y"] := "{u+1ef8}" ; (Ỹ) Y with tilde
-cmpTilde.item[" "] := "{u+02dc}" ; (˜) tilde
+cmpTilde.item[" "] := "{u+02dc}" ; (˜) small tilde
-; Compose : Hook and Latin Greek Letters (h)
+; Compose : Hook and Horn (h)
cmpHook := ComObjCreate("Scripting.Dictionary")
cmpHook.item["b"] := "{u+0253}" ; (ɓ) b with hook
cmpHook.item["G"] := "{u+0193}" ; (Ɠ) G with hook
cmpHook.item["h"] := "{u+0266}" ; (ɦ) h with hook
cmpHook.item["H"] := "{u+a7aa}" ; (Ɦ) H with hook
+cmpHook.item["j"] := "{u+0267}" ; (ɧ) small letter heng with hook
cmpHook.item["k"] := "{u+0199}" ; (ƙ) k with hook
cmpHook.item["K"] := "{u+0198}" ; (Ƙ) K with hook
cmpHook.item["m"] := "{u+0271}" ; (ɱ) m with hook
cmpHook.item["M"] := "{u+2c6e}" ; (Ɱ) M with hook
cmpHook.item["n"] := "{u+0272}" ; (ɲ) n with left hook
cmpHook.item["N"] := "{u+019d}" ; (Ɲ) N with left hook
+cmpHook.item["o"] := "{u+01a1}" ; (ơ) o with horn
+cmpHook.item["O"] := "{u+01a0}" ; (Ơ) O with horn
cmpHook.item["p"] := "{u+01a5}" ; (ƥ) p with hook
cmpHook.item["P"] := "{u+01a4}" ; (Ƥ) P with hook
cmpHook.item["q"] := "{u+024b}" ; (ɋ) q with hook tail
cmpHook.item["R"] := "{u+2c64}" ; (Ɽ) R with tail
cmpHook.item["t"] := "{u+01ad}" ; (ƭ) t with hook
cmpHook.item["T"] := "{u+01ac}" ; (Ƭ) T with hook
+cmpHook.item["u"] := "{u+01b0}" ; (ư) u with horn
+cmpHook.item["U"] := "{u+01af}" ; (Ư) U with horn
cmpHook.item["v"] := "{u+028b}" ; (ʋ) v with hook
cmpHook.item["V"] := "{u+01b2}" ; (Ʋ) V with hook
cmpHook.item["w"] := "{u+2c73}" ; (ⱳ) w with hook
cmpHook.item["Y"] := "{u+01b3}" ; (Ƴ) Y with hook
cmpHook.item["z"] := "{u+0225}" ; (ȥ) z with hook
cmpHook.item["Z"] := "{u+0224}" ; (Ȥ) Z with hook
-cmpHook.item["a"] := "{u+0251}" ; (ɑ) latin small letter alpha
-cmpHook.item["A"] := "{u+2c6d}" ; (Ɑ) latin capital letter alpha
-cmpHook.item["e"] := "{u+025b}" ; (ɛ) small open e (latin small epsilon)
-cmpHook.item["E"] := "{u+0190}" ; (Ɛ) capital open E (latin capital epsilon)
-cmpHook.item["i"] := "{u+0269}" ; (ɩ) latin small letter iota
-cmpHook.item["I"] := "{u+0196}" ; (Ɩ) latin capital letter iota
-cmpHook.item["j"] := "{u+0263}" ; (ɣ) latin small gamma
-cmpHook.item["J"] := "{u+0194}" ; (Ɣ) latin capital gamma
-cmpHook.item["o"] := "{u+0254}" ; (ɔ) small open o
-cmpHook.item["O"] := "{u+0186}" ; (Ɔ) capital open O
-cmpHook.item["s"] := "{u+0283}" ; (ʃ) small letter esh
-cmpHook.item["S"] := "{u+01a9}" ; (Ʃ) capital letter esh
-cmpHook.item["u"] := "{u+028a}" ; (ʊ) latin small letter upsilon
-cmpHook.item["U"] := "{u+01b1}" ; (Ʊ) latin capital letter upsilon
-
-
-; Compose : Horn and Special Letters (H)
-
-cmpHorn := ComObjCreate("Scripting.Dictionary")
-cmpHorn.item["o"] := "{u+01a1}" ; (ơ) o with horn
-cmpHorn.item["O"] := "{u+01a0}" ; (Ơ) O with horn
-cmpHorn.item["u"] := "{u+01b0}" ; (ư) u with horn
-cmpHorn.item["U"] := "{u+01af}" ; (Ư) U with horn
-cmpHorn.item["g"] := "{u+ab36}" ; (ꬶ) cross-tailed g
-cmpHorn.item["h"] := "{u+0267}" ; (ɧ) small letter heng with hook
-cmpHorn.item["k"] := "{u+0138}" ; (ĸ) small letter kra
-cmpHorn.item["s"] := "{u+017f}" ; (ſ) small long s
-cmpHorn.item["S"] := "{u+1e9b}" ; (ẛ) small long s with dot above
+
+
+; Compose : Latin Greek Letters and Variations (l)
+
+cmpLatinGreek := ComObjCreate("Scripting.Dictionary")
+cmpLatinGreek.item["a"] := "{u+0251}" ; (ɑ) Latin small letter alpha
+cmpLatinGreek.item["A"] := "{u+2c6d}" ; (Ɑ) Latin capital letter alpha
+cmpLatinGreek.item["c"] := "{u+ab36}" ; (ꬶ) small letter script g with crossed-tail
+cmpLatinGreek.item["e"] := "{u+025b}" ; (ɛ) small letter open e (Latin small epsilon)
+cmpLatinGreek.item["E"] := "{u+0190}" ; (Ɛ) capital letter open E (Latin capital epsilon)
+cmpLatinGreek.item["f"] := "{u+017f}" ; (ſ) small letter long s
+cmpLatinGreek.item["F"] := "{u+1e9b}" ; (ẛ) long s with dot above
+cmpLatinGreek.item["g"] := "{u+0263}" ; (ɣ) Latin small letter gamma
+cmpLatinGreek.item["G"] := "{u+0194}" ; (Ɣ) Latin capital letter gamma
+cmpLatinGreek.item["h"] := "{u+a727}" ; (ꜧ) small letter heng
+cmpLatinGreek.item["H"] := "{u+a726}" ; (Ꜧ) capital letter heng
+cmpLatinGreek.item["i"] := "{u+0269}" ; (ɩ) Latin small letter iota
+cmpLatinGreek.item["I"] := "{u+0196}" ; (Ɩ) Latin capital letter iota
+cmpLatinGreek.item["k"] := "{u+0138}" ; (ĸ) small letter kra
+cmpLatinGreek.item["o"] := "{u+0254}" ; (ɔ) small letter open o
+cmpLatinGreek.item["O"] := "{u+0186}" ; (Ɔ) capital letter open O
+cmpLatinGreek.item["s"] := "{u+0283}" ; (ʃ) small letter esh
+cmpLatinGreek.item["S"] := "{u+01a9}" ; (Ʃ) capital letter esh
+cmpLatinGreek.item["u"] := "{u+028a}" ; (ʊ) Latin small letter upsilon
+cmpLatinGreek.item["U"] := "{u+01b1}" ; (Ʊ) Latin capital letter upsilon
; Compose : Turned Letters (t)
cmpTurned := ComObjCreate("Scripting.Dictionary")
-cmpTurned.item["a"] := "{u+0250}" ; (ɐ) small turned a
-cmpTurned.item["A"] := "{u+2c6f}" ; (Ɐ) capital turned A
-cmpTurned.item["e"] := "{u+01dd}" ; (ǝ) small turned e
-cmpTurned.item["E"] := "{u+018e}" ; (Ǝ) capital reversed E
-cmpTurned.item["q"] := "{u+0252}" ; (ɒ) latin small letter turned alpha
-cmpTurned.item["Q"] := "{u+2c70}" ; (Ɒ) latin capital letter turned alpha
-cmpTurned.item["v"] := "{u+028c}" ; (ʌ) latin small letter turned v
-cmpTurned.item["V"] := "{u+0245}" ; (Ʌ) latin capital letter turned V
+cmpTurned.item["a"] := "{u+0250}" ; (ɐ) Latin small letter turned a
+cmpTurned.item["A"] := "{u+2c6f}" ; (Ɐ) Latin capital letter turned A
+cmpTurned.item["e"] := "{u+01dd}" ; (ǝ) Latin small letter turned e
+cmpTurned.item["E"] := "{u+018e}" ; (Ǝ) Latin capital letter reversed E
+cmpTurned.item["q"] := "{u+0252}" ; (ɒ) Latin small letter turned alpha
+cmpTurned.item["Q"] := "{u+2c70}" ; (Ɒ) Latin capital letter turned alpha
+cmpTurned.item["v"] := "{u+028c}" ; (ʌ) Latin small letter turned v
+cmpTurned.item["V"] := "{u+0245}" ; (Ʌ) Latin capital letter turned V
+cmpTurned.item["y"] := "{u+028e}" ; (ʎ) Latin small letter turned y
-; Compose : Currency ($)
+; Compose : Currency Symbols ($)
cmpCurrency := ComObjCreate("Scripting.Dictionary")
cmpCurrency.item["a"] := "{u+058f}" ; (֏) Armenian dram
; Compose : Greek Alphabet (g)
-cmpGreekAlphabet := ComObjCreate("Scripting.Dictionary")
-cmpGreekAlphabet.item["a"] := "{u+03b1}" ; (α) small alpha
-cmpGreekAlphabet.item["A"] := "{u+0391}" ; (Α) capital alpha
-cmpGreekAlphabet.item["b"] := "{u+03b2}" ; (β) small beta
-cmpGreekAlphabet.item["B"] := "{u+0392}" ; (Β) capital beta
-cmpGreekAlphabet.item["v"] := "{u+03b2}" ; (β) small beta
-cmpGreekAlphabet.item["V"] := "{u+0392}" ; (Β) capital beta
-cmpGreekAlphabet.item["g"] := "{u+03b3}" ; (γ) small gamma
-cmpGreekAlphabet.item["G"] := "{u+0393}" ; (Γ) capital gamma
-cmpGreekAlphabet.item["d"] := "{u+03b4}" ; (δ) small delta
-cmpGreekAlphabet.item["D"] := "{u+0394}" ; (Δ) capital delta
-cmpGreekAlphabet.item["e"] := "{u+03b5}" ; (ε) small epsilon
-cmpGreekAlphabet.item["E"] := "{u+0395}" ; (Ε) capital epsilon
-cmpGreekAlphabet.item["z"] := "{u+03b6}" ; (ζ) small zeta
-cmpGreekAlphabet.item["Z"] := "{u+0396}" ; (Ζ) capital zeta
-cmpGreekAlphabet.item["h"] := "{u+03b7}" ; (η) small eta
-cmpGreekAlphabet.item["H"] := "{u+0397}" ; (Η) capital eta
-cmpGreekAlphabet.item["j"] := "{u+03b8}" ; (θ) small theta
-cmpGreekAlphabet.item["J"] := "{u+0398}" ; (Θ) capital theta
-cmpGreekAlphabet.item["i"] := "{u+03b9}" ; (ι) small iota
-cmpGreekAlphabet.item["I"] := "{u+0399}" ; (Ι) capital iota
-cmpGreekAlphabet.item["k"] := "{u+03ba}" ; (κ) small kappa
-cmpGreekAlphabet.item["K"] := "{u+039a}" ; (Κ) capital kappa
-cmpGreekAlphabet.item["l"] := "{u+03bb}" ; (λ) small lambda
-cmpGreekAlphabet.item["L"] := "{u+039b}" ; (Λ) capital lambda
-cmpGreekAlphabet.item["m"] := "{u+03bc}" ; (μ) small mu
-cmpGreekAlphabet.item["M"] := "{u+039c}" ; (Μ) capital mu
-cmpGreekAlphabet.item["n"] := "{u+03bd}" ; (ν) small nu
-cmpGreekAlphabet.item["N"] := "{u+039d}" ; (Ν) capital nu
-cmpGreekAlphabet.item["x"] := "{u+03be}" ; (ξ) small xi
-cmpGreekAlphabet.item["X"] := "{u+039e}" ; (Ξ) capital xi
-cmpGreekAlphabet.item["o"] := "{u+03bf}" ; (ο) small omicron
-cmpGreekAlphabet.item["O"] := "{u+039f}" ; (Ο) capital omicron
-cmpGreekAlphabet.item["p"] := "{u+03c0}" ; (π) small pi
-cmpGreekAlphabet.item["P"] := "{u+03a0}" ; (Π) capital pi
-cmpGreekAlphabet.item["r"] := "{u+03c1}" ; (ρ) small rho
-cmpGreekAlphabet.item["R"] := "{u+03a1}" ; (Ρ) capital rho
-cmpGreekAlphabet.item["s"] := "{u+03c3}" ; (σ) small sigma
-cmpGreekAlphabet.item["S"] := "{u+03a3}" ; (Σ) capital sigma
-cmpGreekAlphabet.item[","] := "{u+03c2}" ; (ς) small final sigma
-cmpGreekAlphabet.item["t"] := "{u+03c4}" ; (τ) small tau
-cmpGreekAlphabet.item["T"] := "{u+03a4}" ; (Τ) capital tau
-cmpGreekAlphabet.item["u"] := "{u+03c5}" ; (υ) small upsilon
-cmpGreekAlphabet.item["U"] := "{u+03a5}" ; (Υ) capital upsilon
-cmpGreekAlphabet.item["y"] := "{u+03c5}" ; (υ) small upsilon
-cmpGreekAlphabet.item["Y"] := "{u+03a5}" ; (Υ) capital upsilon
-cmpGreekAlphabet.item["f"] := "{u+03c6}" ; (φ) small phi
-cmpGreekAlphabet.item["F"] := "{u+03a6}" ; (Φ) capital phi
-cmpGreekAlphabet.item["c"] := "{u+03c7}" ; (χ) small chi
-cmpGreekAlphabet.item["C"] := "{u+03a7}" ; (Χ) capital chi
-cmpGreekAlphabet.item["w"] := "{u+03c8}" ; (ψ) small psi
-cmpGreekAlphabet.item["W"] := "{u+03a8}" ; (Ψ) capital psi
-cmpGreekAlphabet.item["q"] := "{u+03c9}" ; (ω) small omega
-cmpGreekAlphabet.item["Q"] := "{u+03a9}" ; (Ω) capital omega
+cmpGreek := ComObjCreate("Scripting.Dictionary")
+cmpGreek.item["a"] := "{u+03b1}" ; (α) Greek small alpha
+cmpGreek.item["A"] := "{u+0391}" ; (Α) Greek capital alpha
+cmpGreek.item["b"] := "{u+03b2}" ; (β) Greek small beta
+cmpGreek.item["B"] := "{u+0392}" ; (Β) Greek capital beta
+cmpGreek.item["v"] := "{u+03b2}" ; (β) Greek small beta
+cmpGreek.item["V"] := "{u+0392}" ; (Β) Greek capital beta
+cmpGreek.item["g"] := "{u+03b3}" ; (γ) Greek small gamma
+cmpGreek.item["G"] := "{u+0393}" ; (Γ) Greek capital gamma
+cmpGreek.item["d"] := "{u+03b4}" ; (δ) Greek small delta
+cmpGreek.item["D"] := "{u+0394}" ; (Δ) Greek capital delta
+cmpGreek.item["e"] := "{u+03b5}" ; (ε) Greek small epsilon
+cmpGreek.item["E"] := "{u+0395}" ; (Ε) Greek capital epsilon
+cmpGreek.item["z"] := "{u+03b6}" ; (ζ) Greek small zeta
+cmpGreek.item["Z"] := "{u+0396}" ; (Ζ) Greek capital zeta
+cmpGreek.item["h"] := "{u+03b7}" ; (η) Greek small eta
+cmpGreek.item["H"] := "{u+0397}" ; (Η) Greek capital eta
+cmpGreek.item["j"] := "{u+03b8}" ; (θ) Greek small theta
+cmpGreek.item["J"] := "{u+0398}" ; (Θ) Greek capital theta
+cmpGreek.item["i"] := "{u+03b9}" ; (ι) Greek small iota
+cmpGreek.item["I"] := "{u+0399}" ; (Ι) Greek capital iota
+cmpGreek.item["k"] := "{u+03ba}" ; (κ) Greek small kappa
+cmpGreek.item["K"] := "{u+039a}" ; (Κ) Greek capital kappa
+cmpGreek.item["l"] := "{u+03bb}" ; (λ) Greek small lambda
+cmpGreek.item["L"] := "{u+039b}" ; (Λ) Greek capital lambda
+cmpGreek.item["m"] := "{u+03bc}" ; (μ) Greek small mu
+cmpGreek.item["M"] := "{u+039c}" ; (Μ) Greek capital mu
+cmpGreek.item["n"] := "{u+03bd}" ; (ν) Greek small nu
+cmpGreek.item["N"] := "{u+039d}" ; (Ν) Greek capital nu
+cmpGreek.item["x"] := "{u+03be}" ; (ξ) Greek small xi
+cmpGreek.item["X"] := "{u+039e}" ; (Ξ) Greek capital xi
+cmpGreek.item["o"] := "{u+03bf}" ; (ο) Greek small omicron
+cmpGreek.item["O"] := "{u+039f}" ; (Ο) Greek capital omicron
+cmpGreek.item["p"] := "{u+03c0}" ; (π) Greek small pi
+cmpGreek.item["P"] := "{u+03a0}" ; (Π) Greek capital pi
+cmpGreek.item["r"] := "{u+03c1}" ; (ρ) Greek small rho
+cmpGreek.item["R"] := "{u+03a1}" ; (Ρ) Greek capital rho
+cmpGreek.item["s"] := "{u+03c3}" ; (σ) Greek small sigma
+cmpGreek.item["S"] := "{u+03a3}" ; (Σ) Greek capital sigma
+cmpGreek.item[","] := "{u+03c2}" ; (ς) Greek small final sigma
+cmpGreek.item["t"] := "{u+03c4}" ; (τ) Greek small tau
+cmpGreek.item["T"] := "{u+03a4}" ; (Τ) Greek capital tau
+cmpGreek.item["u"] := "{u+03c5}" ; (υ) Greek small upsilon
+cmpGreek.item["U"] := "{u+03a5}" ; (Υ) Greek capital upsilon
+cmpGreek.item["y"] := "{u+03c5}" ; (υ) Greek small upsilon
+cmpGreek.item["Y"] := "{u+03a5}" ; (Υ) Greek capital upsilon
+cmpGreek.item["f"] := "{u+03c6}" ; (φ) Greek small phi
+cmpGreek.item["F"] := "{u+03a6}" ; (Φ) Greek capital phi
+cmpGreek.item["c"] := "{u+03c7}" ; (χ) Greek small chi
+cmpGreek.item["C"] := "{u+03a7}" ; (Χ) Greek capital chi
+cmpGreek.item["w"] := "{u+03c8}" ; (ψ) Greek small psi
+cmpGreek.item["W"] := "{u+03a8}" ; (Ψ) Greek capital psi
+cmpGreek.item["q"] := "{u+03c9}" ; (ω) Greek small omega
+cmpGreek.item["Q"] := "{u+03a9}" ; (Ω) Greek capital omega
; Compose : Superscript Characters (p)
cmpSuperscript.item["8"] := "{u+2078}" ; (⁸) superscript 8
cmpSuperscript.item["9"] := "{u+2079}" ; (⁹) superscript 9
cmpSuperscript.item["0"] := "{u+2070}" ; (⁰) superscript 0
+cmpSuperscript.item["i"] := "{u+2071}" ; (ⁱ) superscript i
cmpSuperscript.item["n"] := "{u+207f}" ; (ⁿ) superscript n
cmpSuperscript.item["+"] := "{u+207a}" ; (⁺) superscript +
cmpSuperscript.item["-"] := "{u+207b}" ; (⁻) superscript -
cmpSubscript.item["8"] := "{u+2088}" ; (₈) subscript 8
cmpSubscript.item["9"] := "{u+2089}" ; (₉) subscript 9
cmpSubscript.item["0"] := "{u+2080}" ; (₀) subscript 0
+cmpSubscript.item["a"] := "{u+2090}" ; (ₐ) subscript a
+cmpSubscript.item["b"] := "{u+1d66}" ; (ᵦ) subscript beta
+cmpSubscript.item["c"] := "{u+1d6a}" ; (ᵪ) subscript chi
+cmpSubscript.item["e"] := "{u+2091}" ; (ₑ) subscript e
+cmpSubscript.item["E"] := "{u+2094}" ; (ₔ) subscript schwa
+cmpSubscript.item["f"] := "{u+1d69}" ; (ᵩ) subscript phi
+cmpSubscript.item["g"] := "{u+1d67}" ; (ᵧ) subscript gamma
+cmpSubscript.item["h"] := "{u+2095}" ; (ₕ) subscript h
+cmpSubscript.item["i"] := "{u+1d62}" ; (ᵢ) subscript i
+cmpSubscript.item["j"] := "{u+2c7c}" ; (ⱼ) subscript j
+cmpSubscript.item["k"] := "{u+2096}" ; (ₖ) subscript k
+cmpSubscript.item["l"] := "{u+2097}" ; (ₗ) subscript l
+cmpSubscript.item["m"] := "{u+2098}" ; (ₘ) subscript m
cmpSubscript.item["n"] := "{u+2099}" ; (ₙ) subscript n
+cmpSubscript.item["o"] := "{u+2092}" ; (ₒ) subscript o
+cmpSubscript.item["p"] := "{u+209a}" ; (ₚ) subscript p
+cmpSubscript.item["r"] := "{u+1d63}" ; (ᵣ) subscript r
+cmpSubscript.item["R"] := "{u+1d68}" ; (ᵨ) subscript rho
+cmpSubscript.item["s"] := "{u+209b}" ; (ₛ) subscript s
+cmpSubscript.item["t"] := "{u+209c}" ; (ₜ) subscript t
+cmpSubscript.item["u"] := "{u+1d64}" ; (ᵤ) subscript u
+cmpSubscript.item["v"] := "{u+1d65}" ; (ᵥ) subscript v
+cmpSubscript.item["x"] := "{u+2093}" ; (ₓ) subscript x
cmpSubscript.item["+"] := "{u+208a}" ; (₊) subscript +
cmpSubscript.item["-"] := "{u+208b}" ; (₋) subscript -
cmpSubscript.item["="] := "{u+208c}" ; (₌) subscript =
; Compose : Arrows and Pointers
cmpArrow := ComObjCreate("Scripting.Dictionary")
-cmpPlus := ComObjCreate("Scripting.Dictionary")
+cmpArrow.item["w"] := "{u+25b2}" ; (▲) black up-pointing triangle
+cmpArrow.item["a"] := "{u+25c0}" ; (◀) black left-pointing triangle
+cmpArrow.item["s"] := "{u+25bc}" ; (▼) black down-pointing triangle
+cmpArrow.item["d"] := "{u+25b6}" ; (▶) black right-pointing triangle
+cmpArrow.item["i"] := "{u+25b3}" ; (△) white up-pointing triangle
+cmpArrow.item["j"] := "{u+25c1}" ; (◁) white left-pointing triangle
+cmpArrow.item["k"] := "{u+25bd}" ; (▽) white down-pointing triangle
+cmpArrow.item["l"] := "{u+25b7}" ; (▷) white right-pointing triangle
cmpArrow.item["1"] := "{u+2199}" ; (↙) south west arrow
cmpArrow.item["2"] := "{u+2193}" ; (↓) downwards arrow
cmpArrow.item["3"] := "{u+2198}" ; (↘) south east arrow
cmpDoubleAcute.item["8"] := "{u+21d1}" ; (⇑) upwards double arrow
cmpDoubleAcute.item["9"] := "{u+21d7}" ; (⇗) north east double arrow
cmpDoubleAcute.item["0"] := "{u+21d4}" ; (⇔) left right double arrow
-cmpPlus.item["2"] := "{u+25bc}" ; (▼) black down-pointing triangle
-cmpPlus.item["@"] := "{u+25bd}" ; (▽) white down-pointing triangle
-cmpPlus.item["4"] := "{u+25c0}" ; (◀) black left-pointing triangle
-cmpPlus.item["$"] := "{u+25c1}" ; (◁) white left-pointing triangle
-cmpPlus.item["6"] := "{u+25b6}" ; (▶) black right-pointing triangle
-cmpPlus.item["^"] := "{u+25b7}" ; (▷) white right-pointing triangle
-cmpPlus.item["8"] := "{u+25b2}" ; (▲) black up-pointing triangle
-cmpPlus.item["*"] := "{u+25b3}" ; (△) white up-pointing triangle
; Compose : Miscellaneous Symbols (s)
cmpSymbols.item["c"] := "{u+2105}" ; (℅) care of
cmpSymbols.item["d"] := "{u+22c4}" ; (⋄) diamond operator
cmpSymbols.item["e"] := "{u+212e}" ; (℮) estimated symbol
-cmpSymbols.item["E"] := "{u+2709}" ; (✉) envelope
cmpSymbols.item["f"] := "{u+2640}" ; (♀) Venus symbol (female)
-cmpSymbols.item["g"] := "{u+2740}" ; (❀) white florette
-cmpSymbols.item["G"] := "{u+273f}" ; (✿) black florette
-cmpSymbols.item["h"] := "{u+2766}" ; (❦) floral heart
-cmpSymbols.item["H"] := "{u+2767}" ; (❧) rotated floral heart bullet
cmpSymbols.item["i"] := "{u+2300}" ; (⌀) diameter sign
cmpSymbols.item["l"] := "{u+2113}" ; (ℓ) script small l
cmpSymbols.item["L"] := "{u+2112}" ; (ℒ) Laplace transform
cmpSymbols.item["m"] := "{u+2642}" ; (♂) Mars symbol (male)
cmpSymbols.item["M"] := "{u+2120}" ; (℠) service mark
+cmpSymbols.item["n"] := "{u+2709}" ; (✉) envelope
cmpSymbols.item["q"] := "{u+2126}" ; (Ω) ohm sign (backwards compatibility)
-cmpSymbols.item["r"] := "{u+2619}" ; (☙) reversed rotated floral heart bullet
+cmpSymbols.item["r"] := "{u+211e}" ; (℞) prescription take (Recipere)
cmpSymbols.item["R"] := "{u+211e}" ; (℞) prescription take (Recipere)
cmpSymbols.item["t"] := "{u+2706}" ; (✆) telephone location sign
cmpSymbols.item["v"] := "{u+2713}" ; (✓) check mark
cmpSymbols.item["w"] := "{u+26a0}" ; (⚠) warning sign
cmpSymbols.item["x"] := "{u+2717}" ; (✗) ballot x
cmpSymbols.item["X"] := "{u+2718}" ; (✘) heavy ballot x
+cmpSymbols.item["y"] := "{u+2713}" ; (✓) check mark
+cmpSymbols.item["Y"] := "{u+2714}" ; (✔) heavy check mark
cmpSymbols.item["2"] := "{u+266b}" ; (♫) beamed eighth notes
cmpSymbols.item["3"] := "{u+2042}" ; (⁂) asterism
cmpSymbols.item["5"] := "{u+2605}" ; (★) black star
cmpSymbols.item["/"] := "{u+2e2e}" ; (⸮) reversed question mark
+; Compose : Florette and Floral Heart Symbols (f)
+
+cmpFlorette := ComObjCreate("Scripting.Dictionary")
+cmpFlorette.item["r"] := "{u+2619}" ; (☙) reversed rotated floral heart bullet
+cmpFlorette.item["6"] := "{u+273e}" ; (✾) six petalled black and white florette
+cmpFlorette.item["b"] := "{u+273f}" ; (✿) black florette
+cmpFlorette.item["w"] := "{u+2740}" ; (❀) white florette
+cmpFlorette.item["8"] := "{u+2741}" ; (❁) eight petalled outlined black florette
+cmpFlorette.item["f"] := "{u+2766}" ; (❦) floral heart
+cmpFlorette.item["h"] := "{u+2767}" ; (❧) rotated floral heart bullet
+
+
+; Compose : Chess Symbols (C)
+
+cmpCapitalC := ComObjCreate("Scripting.Dictionary")
+cmpCapitalC.item["k"] := "{u+2654}" ; (♔) white chess king
+cmpCapitalC.item["q"] := "{u+2655}" ; (♕) white chess queen
+cmpCapitalC.item["r"] := "{u+2656}" ; (♖) white chess rook
+cmpCapitalC.item["b"] := "{u+2657}" ; (♗) white chess bishop
+cmpCapitalC.item["n"] := "{u+2658}" ; (♘) white chess knight
+cmpCapitalC.item["p"] := "{u+2659}" ; (♙) white chess pawn
+cmpCapitalC.item["K"] := "{u+265a}" ; (♚) black chess king
+cmpCapitalC.item["Q"] := "{u+265b}" ; (♛) black chess queen
+cmpCapitalC.item["R"] := "{u+265c}" ; (♜) black chess rook
+cmpCapitalC.item["B"] := "{u+265d}" ; (♝) black chess bishop
+cmpCapitalC.item["N"] := "{u+265e}" ; (♞) black chess knight
+cmpCapitalC.item["P"] := "{u+265f}" ; (♟) black chess pawn
+
+
; Compose : Playing Card Suit Symbols (S)
-cmpPlayingCardSuit := ComObjCreate("Scripting.Dictionary")
-cmpPlayingCardSuit.item["c"] := "{u+2663}" ; (♣) black club suit
-cmpPlayingCardSuit.item["C"] := "{u+2667}" ; (♧) white club suit
-cmpPlayingCardSuit.item["d"] := "{u+2666}" ; (♦) black diamond suit
-cmpPlayingCardSuit.item["D"] := "{u+2662}" ; (♢) white diamond suit
-cmpPlayingCardSuit.item["h"] := "{u+2665}" ; (♥) black heart suit
-cmpPlayingCardSuit.item["H"] := "{u+2661}" ; (♡) white heart suit
-cmpPlayingCardSuit.item["p"] := "{u+2660}" ; (♠) black spade suit
-cmpPlayingCardSuit.item["P"] := "{u+2664}" ; (♤) white spade suit
+cmpCapitalS := ComObjCreate("Scripting.Dictionary")
+cmpCapitalS.item["c"] := "{u+2663}" ; (♣) black club suit
+cmpCapitalS.item["C"] := "{u+2667}" ; (♧) white club suit
+cmpCapitalS.item["d"] := "{u+2666}" ; (♦) black diamond suit
+cmpCapitalS.item["D"] := "{u+2662}" ; (♢) white diamond suit
+cmpCapitalS.item["h"] := "{u+2665}" ; (♥) black heart suit
+cmpCapitalS.item["H"] := "{u+2661}" ; (♡) white heart suit
+cmpCapitalS.item["p"] := "{u+2660}" ; (♠) black spade suit
+cmpCapitalS.item["P"] := "{u+2664}" ; (♤) white spade suit
; Compose : Vulgar Fractions
cmpCapitalI := ComObjCreate("Scripting.Dictionary")
cmpCapitalO := ComObjCreate("Scripting.Dictionary")
cmpCapitalT := ComObjCreate("Scripting.Dictionary")
-cmpArrow.item["e"] := "{u+00e6}" ; (æ) letter ae
-cmpCapitalA.item["E"] := "{u+00c6}" ; (Æ) letter AE
-cmpSmallD.item["h"] := "{u+00f0}" ; (ð) small letter eth
-cmpCapitalD.item["H"] := "{u+00d0}" ; (Ð) capital letter eth
-cmpSmallI.item["j"] := "{u+0133}" ; (ij) ligature ij
-cmpCapitalI.item["J"] := "{u+0132}" ; (IJ) ligature IJ
-cmpRingAbove.item["e"] := "{u+0153}" ; (œ) ligature oe
-cmpCapitalO.item["E"] := "{u+0152}" ; (Œ) ligature OE
-cmpSymbols.item["s"] := "{u+00df}" ; (ß) small sharp s (Eszett)
-cmpPlayingCardSuit.item["S"] := "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
-cmpTurned.item["h"] := "{u+00fe}" ; (þ) small letter thorn
-cmpCapitalT.item["H"] := "{u+00de}" ; (Þ) capital letter thorn
+cmpArrow.item["e"] := "{u+00e6}" ; (æ) letter ae
+cmpCapitalA.item["E"] := "{u+00c6}" ; (Æ) letter AE
+cmpSmallD.item["h"] := "{u+00f0}" ; (ð) small letter eth
+cmpCapitalD.item["H"] := "{u+00d0}" ; (Ð) capital letter eth
+cmpSmallI.item["j"] := "{u+0133}" ; (ij) ligature ij
+cmpCapitalI.item["J"] := "{u+0132}" ; (IJ) ligature IJ
+cmpRingAbove.item["e"] := "{u+0153}" ; (œ) ligature oe
+cmpCapitalO.item["E"] := "{u+0152}" ; (Œ) ligature OE
+cmpSymbols.item["s"] := "{u+00df}" ; (ß) small sharp s (Eszett)
+cmpCapitalS.item["S"] := "{u+1e9e}" ; (ẞ) capital sharp S (capital Eszett)
+cmpTurned.item["h"] := "{u+00fe}" ; (þ) small letter thorn
+cmpCapitalT.item["H"] := "{u+00de}" ; (Þ) capital letter thorn
; Compose : General/Math Symbols
+cmpEight := ComObjCreate("Scripting.Dictionary")
cmpSmallN := ComObjCreate("Scripting.Dictionary")
cmpCapitalN := ComObjCreate("Scripting.Dictionary")
-cmpSmallP := ComObjCreate("Scripting.Dictionary")
cmpCapitalP := ComObjCreate("Scripting.Dictionary")
cmpSmallR := ComObjCreate("Scripting.Dictionary")
cmpAsterisk := ComObjCreate("Scripting.Dictionary")
cmpExclam := ComObjCreate("Scripting.Dictionary")
cmpQuestion := ComObjCreate("Scripting.Dictionary")
cmpParenLeft := ComObjCreate("Scripting.Dictionary")
+cmpPlus := ComObjCreate("Scripting.Dictionary")
cmpPercent := ComObjCreate("Scripting.Dictionary")
-cmpEight := ComObjCreate("Scripting.Dictionary")
cmpLessThan := ComObjCreate("Scripting.Dictionary")
cmpGreaterThan := ComObjCreate("Scripting.Dictionary")
cmpBracketLeft := ComObjCreate("Scripting.Dictionary")
-cmpInvertedBreve.item["b"] := "{u+2022}" ; (•) bullet
-cmpInvertedBreve.item["t"] := "{u+2023}" ; (‣) triangular bullet
-cmpInvertedBreve.item["h"] := "{u+2043}" ; (⁃) hyphen bullet
-cmpInvertedBreve.item["w"] := "{u+25e6}" ; (◦) white bullet
-cmpSmallD.item["d"] := "{u+2020}" ; (†) dagger
-cmpCapitalD.item["D"] := "{u+2021}" ; (‡) double dagger
-cmpMathSymbols.item["i"] := "{u+00b5}" ; (µ) micro sign
-cmpSmallN.item["o"] := "{u+2116}" ; (№) numero sign
-cmpCapitalN.item["o"] := "{u+2116}" ; (№) numero sign
-cmpRingAbove.item["x"] := "{u+00a4}" ; (¤) currency sign
-cmpSmallP.item["p"] := "{u+00b6}" ; (¶) pilcrow sign
-cmpCapitalP.item["P"] := "{u+00b6}" ; (¶) pilcrow sign
-cmpSmallR.item["2"] := "{u+221a}" ; (√) square root
-cmpSmallR.item["3"] := "{u+221b}" ; (∛) cube root
-cmpSmallR.item["4"] := "{u+221c}" ; (∜) fourth root
-cmpSymbols.item["o"] := "{u+00a7}" ; (§) section sign
-cmpPlayingCardSuit.item["o"] := "{u+00a7}" ; (§) section sign
-cmpTurned.item["m"] := "{u+2122}" ; (™) trademark symbol
-cmpAcuteAccent.item["1"] := "{u+2032}" ; (′) prime
-cmpAcuteAccent.item["2"] := "{u+2033}" ; (″) double prime
-cmpAcuteAccent.item["3"] := "{u+2034}" ; (‴) triple prime
-cmpAcuteAccent.item["4"] := "{u+2057}" ; (⁗) quadruple prime
-cmpAsterisk.item["*"] := "{u+00d7}" ; (×) multiplication sign
-cmpStroke.item["/"] := "{u+00f7}" ; (÷) division sign
-cmpAsterisk.item["o"] := "{u+00b0}" ; (°) degree sign
-cmpRingAbove.item["*"] := "{u+00b0}" ; (°) degree sign
-cmpDotAbove.item["."] := "{u+00b7}" ; (·) middle dot
-cmpDotAbove.item[" "] := "{u+00b7}" ; (·) middle dot
-cmpDotAbove.item["3"] := "{u+2026}" ; (…) horizontal ellipsis
-cmpArrow.item["-"] := "{u+00aa}" ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
-cmpRingAbove.item["-"] := "{u+00ba}" ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
-cmpExclam.item["!"] := "{u+00a1}" ; (¡) inverted exclamation mark
-cmpQuestion.item["?"] := "{u+00bf}" ; (¿) inverted question mark
-cmpRingAbove.item["c"] := "{u+00a9}" ; (©) copyright sign
-cmpParenLeft.item["c"] := "{u+00a9}" ; (©) copyright sign
-cmpRingAbove.item["p"] := "{u+2117}" ; (℗) sound recording copyright
-cmpParenLeft.item["p"] := "{u+2117}" ; (℗) sound recording copyright
-cmpRingAbove.item["r"] := "{u+00ae}" ; (®) registered sign
-cmpParenLeft.item["r"] := "{u+00ae}" ; (®) registered sign
-cmpPlus.item["-"] := "{u+00b1}" ; (±) plus-minus sign
-cmpPercent.item["%"] := "{u+2030}" ; (‰) per mille sign
-cmpPercent.item["3"] := "{u+2030}" ; (‰) per mille sign
-cmpPercent.item["4"] := "{u+2031}" ; (‱) per ten thousand sign
-cmpEight.item["8"] := "{u+221e}" ; (∞) infinity symbol
-cmpExclam.item["="] := "{u+2260}" ; (≠) not equal to
-cmpDoubleAcute.item["/"] := "{u+2260}" ; (≠) not equal to
-cmpStroke.item["="] := "{u+2260}" ; (≠) not equal to
-cmpLessThan.item["="] := "{u+2264}" ; (≤) less-than or equal to
-cmpGreaterThan.item["="] := "{u+2265}" ; (≥) greater-than or equal to
-cmpLessThan.item["+"] := "{u+2a7d}" ; (⩽) less-than or slanted equal to
-cmpGreaterThan.item["+"] := "{u+2a7e}" ; (⩾) greater-than or slanted equal to
-cmpTilde.item["~"] := "{u+2248}" ; (≈) almost equal to
-cmpBracketLeft.item["]"] := "{u+2610}" ; (☐) ballot box
-cmpBracketLeft.item["v"] := "{u+2611}" ; (☑) ballot box with check
-cmpBracketLeft.item["x"] := "{u+2612}" ; (☒) ballot box with x
+cmpSmallD.item["d"] := "{u+2020}" ; (†) dagger
+cmpCapitalD.item["D"] := "{u+2021}" ; (‡) double dagger
+cmpSmallI.item["i"] := "{u+221e}" ; (∞) infinity symbol
+cmpEight.item["8"] := "{u+221e}" ; (∞) infinity symbol
+cmpMathSymbols.item["i"] := "{u+00b5}" ; (µ) micro sign
+cmpSmallN.item["o"] := "{u+2116}" ; (№) numero sign
+cmpCapitalN.item["o"] := "{u+2116}" ; (№) numero sign
+cmpRingAbove.item["x"] := "{u+00a4}" ; (¤) currency sign
+cmpSuperscript.item["p"] := "{u+00b6}" ; (¶) pilcrow sign
+cmpCapitalP.item["P"] := "{u+00b6}" ; (¶) pilcrow sign
+cmpSmallR.item["2"] := "{u+221a}" ; (√) square root
+cmpSmallR.item["3"] := "{u+221b}" ; (∛) cube root
+cmpSmallR.item["4"] := "{u+221c}" ; (∜) fourth root
+cmpSymbols.item["o"] := "{u+00a7}" ; (§) section sign
+cmpCapitalS.item["o"] := "{u+00a7}" ; (§) section sign
+cmpTurned.item["m"] := "{u+2122}" ; (™) trademark symbol
+cmpAcuteAccent.item["1"] := "{u+2032}" ; (′) prime
+cmpAcuteAccent.item["2"] := "{u+2033}" ; (″) double prime
+cmpAcuteAccent.item["3"] := "{u+2034}" ; (‴) triple prime
+cmpAcuteAccent.item["4"] := "{u+2057}" ; (⁗) quadruple prime
+cmpAsterisk.item["*"] := "{u+00d7}" ; (×) multiplication sign
+cmpStroke.item["/"] := "{u+00f7}" ; (÷) division sign
+cmpAsterisk.item["o"] := "{u+00b0}" ; (°) degree sign
+cmpRingAbove.item["*"] := "{u+00b0}" ; (°) degree sign
+cmpDotAbove.item["."] := "{u+00b7}" ; (·) middle dot
+cmpDotAbove.item[" "] := "{u+00b7}" ; (·) middle dot
+cmpDotAbove.item["3"] := "{u+2026}" ; (…) horizontal ellipsis
+cmpArrow.item["-"] := "{u+00aa}" ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
+cmpRingAbove.item["-"] := "{u+00ba}" ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
+cmpExclam.item["!"] := "{u+00a1}" ; (¡) inverted exclamation mark
+cmpQuestion.item["?"] := "{u+00bf}" ; (¿) inverted question mark
+cmpRingAbove.item["c"] := "{u+00a9}" ; (©) copyright sign
+cmpParenLeft.item["c"] := "{u+00a9}" ; (©) copyright sign
+cmpRingAbove.item["p"] := "{u+2117}" ; (℗) sound recording copyright
+cmpParenLeft.item["p"] := "{u+2117}" ; (℗) sound recording copyright
+cmpRingAbove.item["r"] := "{u+00ae}" ; (®) registered sign
+cmpParenLeft.item["r"] := "{u+00ae}" ; (®) registered sign
+cmpPlus.item["-"] := "{u+00b1}" ; (±) plus-minus sign
+cmpMacronStroke.item["+"] := "{u+2213}" ; (∓) minus-or-plus sign
+cmpPercent.item["%"] := "{u+2030}" ; (‰) per mille sign
+cmpPercent.item["3"] := "{u+2030}" ; (‰) per mille sign
+cmpPercent.item["4"] := "{u+2031}" ; (‱) per ten thousand sign
+cmpExclam.item["="] := "{u+2260}" ; (≠) not equal to
+cmpLessThan.item[">"] := "{u+2260}" ; (≠) not equal to
+cmpLessThan.item["="] := "{u+2264}" ; (≤) less-than or equal to
+cmpGreaterThan.item["="] := "{u+2265}" ; (≥) greater-than or equal to
+cmpLessThan.item["+"] := "{u+2a7d}" ; (⩽) less-than or slanted equal to
+cmpGreaterThan.item["+"] := "{u+2a7e}" ; (⩾) greater-than or slanted equal to
+cmpTilde.item["~"] := "{u+2248}" ; (≈) almost equal to
+cmpBracketLeft.item["]"] := "{u+2610}" ; (☐) ballot box
+cmpBracketLeft.item["v"] := "{u+2611}" ; (☑) ballot box with check
+cmpBracketLeft.item["y"] := "{u+2611}" ; (☑) ballot box with check
+cmpBracketLeft.item["x"] := "{u+2612}" ; (☒) ballot box with x
+
+
+; Compose : Bullets and Arrowheads (;)
+
+cmpSemicolon := ComObjCreate("Scripting.Dictionary")
+cmpSemicolon.item["a"] := "{u+27a4}" ; (➤) black rightwards arrowhead
+cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet
+cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet
+cmpSemicolon.item["d"] := "{u+27a5}" ; (➥) heavy black curved downwards and rightwards arrow
+cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon.item["-"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon.item["p"] := "{u+27a8}" ; (➨) heavy concave-pointed black rightwards arrow
+cmpSemicolon.item["q"] := "{u+27a7}" ; (➧) squat black rightwards arrow
+cmpSemicolon.item["r"] := "{u+27a1}" ; (➡) black rightwards arrow
+cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet
+cmpSemicolon.item["u"] := "{u+27a6}" ; (➦) heavy black curved upwards and rightwards arrow
+cmpSemicolon.item["w"] := "{u+25e6}" ; (◦) white bullet
+cmpSemicolon.item["3"] := "{u+27a2}" ; (➢) 3d top-lighted rightwards arrowhead
+cmpSemicolon.item["#"] := "{u+27a3}" ; (➣) 3d bottom-lighted rightwards arrowhead
; Compose : Quotation Marks
cmpAcuteAccent.item[">"] := "{u+203a}" ; (›) right-pointing single angle quotation mark
-; Compose : Letters with Two Accents
+; Compose : Letters with Two Diacritical Marks
-cmpCapitalU := ComObjCreate("Scripting.Dictionary")
+cmpSmallE := ComObjCreate("Scripting.Dictionary")
+cmpCapitalE := ComObjCreate("Scripting.Dictionary")
+cmpCapitalV := ComObjCreate("Scripting.Dictionary")
cmpArrow.item[chr(34)] := "{u+01df}" ; (ǟ) a with diaeresis and macron
cmpCapitalA.item[chr(34)] := "{u+01de}" ; (Ǟ) A with diaeresis and macron
cmpArrow.item["."] := "{u+01e1}" ; (ǡ) a with dot above and macron
cmpCapitalA.item["."] := "{u+01e0}" ; (Ǡ) A with dot above and macron
+cmpArrow.item["'"] := "{u+01fb}" ; (ǻ) a with ring above and acute
+cmpCapitalA.item["'"] := "{u+01fa}" ; (Ǻ) A with ring above and acute
+cmpCircumflex.item["'"] := "{u+1e09}" ; (ḉ) c with cedilla and acute
+cmpCapitalC.item["'"] := "{u+1e08}" ; (Ḉ) C with cedilla and acute
+cmpSmallE.item["-"] := "{u+01e3}" ; (ǣ) ae with macron
+cmpCapitalE.item["-"] := "{u+01e2}" ; (Ǣ) AE with macron
+cmpSmallE.item["'"] := "{u+01fd}" ; (ǽ) ae with acute
+cmpCapitalE.item["'"] := "{u+01fc}" ; (Ǽ) AE with acute
+cmpRingAbove.item[","] := "{u+01ed}" ; (ǭ) o with ogonek and macron
+cmpCapitalO.item[","] := "{u+01ec}" ; (Ǭ) O with ogonek and macron
+cmpRingAbove.item["'"] := "{u+01ff}" ; (ǿ) o with stroke and acute
+cmpCapitalO.item["'"] := "{u+01fe}" ; (Ǿ) O with stroke and acute
cmpRingAbove.item[chr(34)] := "{u+022b}" ; (ȫ) o with diaeresis and macron
cmpCapitalO.item[chr(34)] := "{u+022a}" ; (Ȫ) O with diaeresis and macron
cmpRingAbove.item["~"] := "{u+022d}" ; (ȭ) o with tilde and macron
cmpCapitalO.item["~"] := "{u+022c}" ; (Ȭ) O with tilde and macron
cmpRingAbove.item["."] := "{u+0231}" ; (ȱ) o with dot above and macron
cmpCapitalO.item["."] := "{u+0230}" ; (Ȱ) O with dot above and macron
-cmpSubscript.item["-"] := "{u+01d6}" ; (ǖ) u with diaeresis and macron
-cmpCapitalU.item["-"] := "{u+01d5}" ; (Ǖ) U with diaeresis and macron
-cmpSubscript.item["'"] := "{u+01d8}" ; (ǘ) u with diaeresis and acute
-cmpCapitalU.item["'"] := "{u+01d7}" ; (Ǘ) U with diaeresis and acute
-cmpSubscript.item["v"] := "{u+01da}" ; (ǚ) u with diaeresis and caron
-cmpCapitalU.item["v"] := "{u+01d9}" ; (Ǚ) U with diaeresis and caron
-cmpSubscript.item["``"] := "{u+01dc}" ; (ǜ) u with diaeresis and grave
-cmpCapitalU.item["``"] := "{u+01db}" ; (Ǜ) U with diaeresis and grave
+cmpCaron.item["-"] := "{u+01d6}" ; (ǖ) u with diaeresis and macron
+cmpCapitalV.item["-"] := "{u+01d5}" ; (Ǖ) U with diaeresis and macron
+cmpCaron.item["'"] := "{u+01d8}" ; (ǘ) u with diaeresis and acute
+cmpCapitalV.item["'"] := "{u+01d7}" ; (Ǘ) U with diaeresis and acute
+cmpCaron.item["v"] := "{u+01da}" ; (ǚ) u with diaeresis and caron
+cmpCapitalV.item["v"] := "{u+01d9}" ; (Ǚ) U with diaeresis and caron
+cmpCaron.item["``"] := "{u+01dc}" ; (ǜ) u with diaeresis and grave
+cmpCapitalV.item["``"] := "{u+01db}" ; (Ǜ) U with diaeresis and grave
; Configuration : 'Right Alt' and 'Right Alt + Shift' on US QWERTY
Send {u+00db} ; (Û) U with circumflex
return
->!-::
+>!6::
if GetKeyState("CapsLock", "T")
Send {u+00c3} ; (Ã) A with tilde
else
Send {u+00e3} ; (ã) a with tilde
return
->!_::
+>!+6::
if GetKeyState("CapsLock", "T")
Send {u+00e3} ; (ã) a with tilde
else
Send {u+00c3} ; (Ã) A with tilde
return
->!=::
+>!7::
if GetKeyState("CapsLock", "T")
Send {u+00d5} ; (Õ) O with tilde
else
Send {u+00f5} ; (õ) o with tilde
return
->!+=::
+>!+7::
if GetKeyState("CapsLock", "T")
Send {u+00f5} ; (õ) o with tilde
else
>!1::Send {u+00a1} ; (¡) inverted exclamation mark
>!+1::Send {u+00b9} ; (¹) superscript 1
->!2::Send {u+2013} ; (–) en dash
+>!2::Send {u+2264} ; (≤) less-than or equal to
>!+2::Send {u+00b2} ; (²) superscript 2
->!3::Send {u+2014} ; (—) em dash
+>!3::Send {u+2265} ; (≥) greater-than or equal to
>!+3::Send {u+00b3} ; (³) superscript 3
>!4::Send {u+00a3} ; (£) pound sign
>!5::Send {u+20ac} ; (€) euro sign
>!+5::Send {u+00a2} ; (¢) cent sign (dollar)
->!6::Send {u+2264} ; (≤) less-than or equal to
->!+6::Send {u+2260} ; (≠) not equal to
-
->!7::Send {u+2265} ; (≥) greater-than or equal to
->!+7::Send {u+2248} ; (≈) almost equal to
-
>!8::Send {u+201e} ; („) double low-9 quotation mark
->!+8::Send {u+201a} ; (‚) single low-9 quotation mark
+>!+8::Send {u+00a7} ; (§) section sign
>!9::Send {u+201c} ; (“) left double quotation mark
>!+9::Send {u+2018} ; (‘) left single quotation mark
>!0::Send {u+201d} ; (”) right double quotation mark
>!+0::Send {u+2019} ; (’) right single quotation mark
+>!-::Send {u+2013} ; (–) en dash
+>!_::Send {u+2014} ; (—) em dash
+
+>!=::Send {u+00d7} ; (×) multiplication sign
+>!+=::Send {u+00f7} ; (÷) division sign
+
>![::Send {u+00ab} ; («) left-pointing double angle quotation mark
>!{::Send {u+2039} ; (‹) left-pointing single angle quotation mark
>!;::Send {u+00b0} ; (°) degree sign
>!+;::Send {u+00b7} ; (·) middle dot
->!'::Send {u+00d7} ; (×) multiplication sign
->!"::Send {u+00f7} ; (÷) division sign
+>!'::Send {u+2020} ; (†) dagger
+>!"::Send {u+2021} ; (‡) double dagger
->!\::Send {u+00a7} ; (§) section sign
->!|::Send {u+2030} ; (‰) per mille sign
+>!\::Send {u+2002} ; en space
+>!|::Send {u+2003} ; em space
>!/::Send {u+00bf} ; (¿) inverted question mark
>!?::Send {u+2026} ; (…) horizontal ellipsis
Send % cmpTilde.item[keyB]
else if (keyA == "h")
Send % cmpHook.item[keyB]
- else if (keyA == "H")
- Send % cmpHorn.item[keyB]
+ else if (keyA == "l")
+ Send % cmpLatinGreek.item[keyB]
else if (keyA == "t")
Send % cmpTurned.item[keyB]
else if (keyA == "$")
Send % cmpCurrency.item[keyB]
else if (keyA == "g")
- Send % cmpGreekAlphabet.item[keyB]
+ Send % cmpGreek.item[keyB]
else if (keyA == "p")
Send % cmpSuperscript.item[keyB]
else if (keyA == "u")
Send % cmpQuad.item[keyB]
else if (keyA == "a")
Send % cmpArrow.item[keyB]
- else if (keyA == "+")
- Send % cmpPlus.item[keyB]
else if (keyA == "s")
Send % cmpSymbols.item[keyB]
+ else if (keyA == "f")
+ Send % cmpFlorette.item[keyB]
+ else if (keyA == "C")
+ Send % cmpCapitalC.item[keyB]
else if (keyA == "S")
- Send % cmpPlayingCardSuit.item[keyB]
+ Send % cmpCapitalS.item[keyB]
else if (keyA == "1")
Send % cmpOne.item[keyB]
else if (keyA == "2")
Send % cmpSmallN.item[keyB]
else if (keyA == "N")
Send % cmpCapitalN.item[keyB]
- else if (keyA == "p")
- Send % cmpSmallP.item[keyB]
else if (keyA == "P")
Send % cmpCapitalP.item[keyB]
else if (keyA == "r")
Send % cmpQuestion.item[keyB]
else if (keyA == "(")
Send % cmpParenLeft.item[keyB]
+ else if (keyA == "+")
+ Send % cmpPlus.item[keyB]
else if (keyA == "%")
Send % cmpPercent.item[keyB]
else if (keyA == "8")
Send % cmpGreaterThan.item[keyB]
else if (keyA == "[")
Send % cmpBracketLeft.item[keyB]
+ else if (keyA == ";")
+ Send % cmpSemicolon.item[keyB]
else if (keyA == "]")
Send % cmpBracketRight.item[keyB]
- else if (keyA == "U")
- Send % cmpCapitalU.item[keyB]
+ else if (keyA == "e")
+ Send % cmpSmallE.item[keyB]
+ else if (keyA == "E")
+ Send % cmpCapitalE.item[keyB]
+ else if (keyA == "V")
+ Send % cmpCapitalV.item[keyB]
keyA := "" ; avoids leaking content via debug properties
keyB := "" ; avoids leaking content via debug properties