]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blobdiff - autohotkey-v1.1/UltimateKEYS.ahk
Add files via upload
[UltimateKEYS.git] / autohotkey-v1.1 / UltimateKEYS.ahk
index 3778c56926bef583175a8f66528119be461c948b..edda3f4d8ae3c9ce57c43c2720c8def182fca7e3 100644 (file)
@@ -1,4 +1,4 @@
-; UltimateKEYS.ahk - 2022-05-23
+; UltimateKEYS.ahk - 2022-11-04
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
@@ -180,6 +180,8 @@ cmpMacronStroke.item["o"] := "{u+014d}"  ; (ō) o with macron
 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["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
 cmpMacronStroke.item["r"] := "{u+024d}"  ; (ɍ) r with stroke
 cmpMacronStroke.item["R"] := "{u+024c}"  ; (Ɍ) R with stroke
 cmpMacronStroke.item["t"] := "{u+0167}"  ; (ŧ) t with stroke
@@ -196,24 +198,19 @@ cmpMacronStroke.item[" "] := "{u+00af}"  ; (¯) macron
 ; Compose :  Macron/Stroke (Additional) (_)
 
 cmpMacronStrokeAdd := ComObjCreate("Scripting.Dictionary")
 ; 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["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"] := "{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 := ComObjCreate("Scripting.Dictionary")
 cmpStroke.item["a"] := "{u+2c65}"  ; (ⱥ) a with stroke
@@ -227,6 +224,8 @@ cmpStroke.item["g"] := "{u+a7a1}"  ; (ꞡ) g with oblique 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["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
 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
@@ -278,7 +277,7 @@ cmpCedillaOgonek.item["."] := "{u+02db}"  ; (˛) ogonek
 cmpCedillaOgonek.item[" "] := "{u+00b8}"  ; (¸) cedilla
 
 
 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
 
 cmpBreveSpecial := ComObjCreate("Scripting.Dictionary")
 cmpBreveSpecial.item["a"] := "{u+0103}"  ; (ă) a with breve
@@ -293,8 +292,6 @@ cmpBreveSpecial.item["g"] := "{u+011f}"  ; (ğ) g with breve
 cmpBreveSpecial.item["G"] := "{u+011e}"  ; (Ğ) G with breve
 cmpBreveSpecial.item["i"] := "{u+012d}"  ; (ĭ) i with breve
 cmpBreveSpecial.item["I"] := "{u+012c}"  ; (Ĭ) I with breve
 cmpBreveSpecial.item["G"] := "{u+011e}"  ; (Ğ) G with breve
 cmpBreveSpecial.item["i"] := "{u+012d}"  ; (ĭ) i with breve
 cmpBreveSpecial.item["I"] := "{u+012c}"  ; (Ĭ) I with breve
-cmpBreveSpecial.item["n"] := "{u+014b}"  ; (ŋ) small letter eng(ma)
-cmpBreveSpecial.item["N"] := "{u+014a}"  ; (Ŋ) capital letter eng(ma)
 cmpBreveSpecial.item["o"] := "{u+014f}"  ; (ŏ) o with breve
 cmpBreveSpecial.item["O"] := "{u+014e}"  ; (Ŏ) O with breve
 cmpBreveSpecial.item["s"] := "{u+0219}"  ; (ș) s with comma below (Romanian)
 cmpBreveSpecial.item["o"] := "{u+014f}"  ; (ŏ) o with breve
 cmpBreveSpecial.item["O"] := "{u+014e}"  ; (Ŏ) O with breve
 cmpBreveSpecial.item["s"] := "{u+0219}"  ; (ș) s with comma below (Romanian)
@@ -366,14 +363,7 @@ cmpAcuteAccent.item["y"] := "{u+00fd}"  ; (ý) y with acute
 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["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 (")
 
 
 ; Compose :  Diaeresis (")
@@ -401,15 +391,13 @@ cmpDiaeresis.item["Y"] := "{u+0178}"  ; (Ÿ) Y with diaeresis
 cmpDiaeresis.item[" "] := "{u+00a8}"  ; (¨) 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 := 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
 
 
 cmpDoubleAcute.item[" "] := "{u+02dd}"  ; (˝) double acute accent
 
 
@@ -435,7 +423,7 @@ cmpGraveAccent.item["Y"] := "{u+1ef2}"  ; (Ỳ) Y with grave
 cmpGraveAccent.item[" "] := "{u+02cb}"  ; (ˋ) grave accent (modifier)
 
 
 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
 
 cmpDoubleGrave := ComObjCreate("Scripting.Dictionary")
 cmpDoubleGrave.item["a"] := "{u+0201}"  ; (ȁ) a with double grave
@@ -473,10 +461,10 @@ cmpTilde.item["v"] := "{u+1e7d}"  ; (ṽ) v with tilde
 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["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 := ComObjCreate("Scripting.Dictionary")
 cmpHook.item["b"] := "{u+0253}"  ; (ɓ) b with hook
@@ -491,12 +479,15 @@ cmpHook.item["g"] := "{u+0260}"  ; (ɠ) g 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["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["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["p"] := "{u+01a5}"  ; (ƥ) p with hook
 cmpHook.item["P"] := "{u+01a4}"  ; (Ƥ) P with hook
 cmpHook.item["q"] := "{u+024b}"  ; (ɋ) q with hook tail
@@ -505,6 +496,8 @@ cmpHook.item["r"] := "{u+027d}"  ; (ɽ) r with 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["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["v"] := "{u+028b}"  ; (ʋ) v with hook
 cmpHook.item["V"] := "{u+01b2}"  ; (Ʋ) V with hook
 cmpHook.item["w"] := "{u+2c73}"  ; (ⱳ) w with hook
@@ -513,50 +506,48 @@ cmpHook.item["y"] := "{u+01b4}"  ; (ƴ) y 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["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")
 
 
 ; 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
 
 cmpCurrency := ComObjCreate("Scripting.Dictionary")
 cmpCurrency.item["a"] := "{u+058f}"  ; (֏) Armenian dram
@@ -606,60 +597,60 @@ cmpCurrency.item[" "] := "{u+00a4}"  ; (¤) currency sign
 
 ; Compose :  Greek Alphabet (g)
 
 
 ; 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)
 
 
 ; Compose :  Superscript Characters (p)
@@ -675,6 +666,7 @@ cmpSuperscript.item["7"] := "{u+2077}"  ; (⁷) superscript 7
 cmpSuperscript.item["8"] := "{u+2078}"  ; (⁸) superscript 8
 cmpSuperscript.item["9"] := "{u+2079}"  ; (⁹) superscript 9
 cmpSuperscript.item["0"] := "{u+2070}"  ; (⁰) superscript 0
 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 -
 cmpSuperscript.item["n"] := "{u+207f}"  ; (ⁿ) superscript n
 cmpSuperscript.item["+"] := "{u+207a}"  ; (⁺) superscript +
 cmpSuperscript.item["-"] := "{u+207b}"  ; (⁻) superscript -
@@ -696,7 +688,29 @@ cmpSubscript.item["7"] := "{u+2087}"  ; (₇) subscript 7
 cmpSubscript.item["8"] := "{u+2088}"  ; (₈) subscript 8
 cmpSubscript.item["9"] := "{u+2089}"  ; (₉) subscript 9
 cmpSubscript.item["0"] := "{u+2080}"  ; (₀) subscript 0
 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["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 =
 cmpSubscript.item["+"] := "{u+208a}"  ; (₊) subscript +
 cmpSubscript.item["-"] := "{u+208b}"  ; (₋) subscript -
 cmpSubscript.item["="] := "{u+208c}"  ; (₌) subscript =
@@ -734,7 +748,14 @@ cmpQuad.item["3"] := "{u+2001}"  ; em quad
 ; Compose :  Arrows and Pointers
 
 cmpArrow := ComObjCreate("Scripting.Dictionary")
 ; 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
 cmpArrow.item["1"] := "{u+2199}"  ; (↙) south west arrow
 cmpArrow.item["2"] := "{u+2193}"  ; (↓) downwards arrow
 cmpArrow.item["3"] := "{u+2198}"  ; (↘) south east arrow
@@ -755,101 +776,33 @@ cmpDoubleAcute.item["7"] := "{u+21d6}"  ; (⇖) north west double 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
 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)
+; Compose :  Various Symbols (s)
 
 cmpSymbols := ComObjCreate("Scripting.Dictionary")
 cmpSymbols.item["a"] := "{u+214d}"  ; (⅍) aktieselskab
 
 cmpSymbols := ComObjCreate("Scripting.Dictionary")
 cmpSymbols.item["a"] := "{u+214d}"  ; (⅍) aktieselskab
+cmpSymbols.item["b"] := "{u+2e18}"  ; (⸘) inverted interrobang
 cmpSymbols.item["c"] := "{u+2105}"  ; (℅) care of
 cmpSymbols.item["d"] := "{u+22c4}"  ; (⋄) diamond operator
 cmpSymbols.item["e"] := "{u+212e}"  ; (℮) estimated symbol
 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["f"] := "{u+2640}"  ; (♀) female sign (Venus)
+cmpSymbols.item["h"] := "{u+2126}"  ; (Ω) ohm sign (backwards compatibility)
 cmpSymbols.item["i"] := "{u+2300}"  ; (⌀) diameter sign
 cmpSymbols.item["l"] := "{u+2113}"  ; (ℓ) script small l
 cmpSymbols.item["L"] := "{u+2112}"  ; (ℒ) Laplace transform
 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+2642}"  ; (♂) male sign (Mars)
 cmpSymbols.item["M"] := "{u+2120}"  ; (℠) service mark
 cmpSymbols.item["M"] := "{u+2120}"  ; (℠) service mark
-cmpSymbols.item["q"] := "{u+2126}"  ; (Ω) ohm sign (backwards compatibility)
-cmpSymbols.item["r"] := "{u+2619}"  ; (☙) reversed rotated floral heart bullet
+cmpSymbols.item["q"] := "{u+2e2e}"  ; (⸮) reversed question mark
+cmpSymbols.item["r"] := "{u+211e}"  ; (℞) prescription take (Recipere)
 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["V"] := "{u+2714}"  ; (✔) heavy 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["2"] := "{u+266b}"  ; (♫) beamed eighth notes
 cmpSymbols.item["3"] := "{u+2042}"  ; (⁂) asterism
 cmpSymbols.item["2"] := "{u+266b}"  ; (♫) beamed eighth notes
 cmpSymbols.item["3"] := "{u+2042}"  ; (⁂) asterism
-cmpSymbols.item["5"] := "{u+2605}"  ; (★) black star
-cmpSymbols.item["%"] := "{u+2606}"  ; (☆) white star
-cmpSymbols.item["6"] := "{u+273d}"  ; (✽) heavy teardrop-spoked asterisk
-cmpSymbols.item["^"] := "{u+273b}"  ; (✻) teardrop-spoked asterisk
 cmpSymbols.item["8"] := "{u+266a}"  ; (♪) eighth note
 cmpSymbols.item["8"] := "{u+266a}"  ; (♪) eighth note
-cmpSymbols.item[";"] := "{u+263a}"  ; (☺) white smiling face
-cmpSymbols.item[":"] := "{u+263b}"  ; (☻) black smiling face
 cmpSymbols.item["!"] := "{u+203c}"  ; (‼) double exclamation mark
 cmpSymbols.item["?"] := "{u+203d}"  ; (‽) interrobang
 cmpSymbols.item["\"] := "{u+205e}"  ; (⁞) vertical four dots
 cmpSymbols.item["|"] := "{u+00a6}"  ; (¦) broken bar
 cmpSymbols.item["!"] := "{u+203c}"  ; (‼) double exclamation mark
 cmpSymbols.item["?"] := "{u+203d}"  ; (‽) interrobang
 cmpSymbols.item["\"] := "{u+205e}"  ; (⁞) vertical four dots
 cmpSymbols.item["|"] := "{u+00a6}"  ; (¦) broken bar
-cmpSymbols.item["."] := "{u+2e18}"  ; (⸘) inverted interrobang
-cmpSymbols.item["/"] := "{u+2e2e}"  ; (⸮) reversed question mark
-
-
-; 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
-
-
-; Compose :  Vulgar Fractions
-
-cmpOne := ComObjCreate("Scripting.Dictionary")
-cmpTwo := ComObjCreate("Scripting.Dictionary")
-cmpThree := ComObjCreate("Scripting.Dictionary")
-cmpFour := ComObjCreate("Scripting.Dictionary")
-cmpFive := ComObjCreate("Scripting.Dictionary")
-cmpSeven := ComObjCreate("Scripting.Dictionary")
-cmpZero := ComObjCreate("Scripting.Dictionary")
-cmpOne.item["2"] := "{u+00bd}"    ; (½) vulgar fraction 1/2
-cmpOne.item["3"] := "{u+2153}"    ; (⅓) vulgar fraction 1/3
-cmpTwo.item["3"] := "{u+2154}"    ; (⅔) vulgar fraction 2/3
-cmpOne.item["4"] := "{u+00bc}"    ; (¼) vulgar fraction 1/4
-cmpThree.item["4"] := "{u+00be}"  ; (¾) vulgar fraction 3/4
-cmpOne.item["5"] := "{u+2155}"    ; (⅕) vulgar fraction 1/5
-cmpTwo.item["5"] := "{u+2156}"    ; (⅖) vulgar fraction 2/5
-cmpThree.item["5"] := "{u+2157}"  ; (⅗) vulgar fraction 3/5
-cmpFour.item["5"] := "{u+2158}"   ; (⅘) vulgar fraction 4/5
-cmpOne.item["6"] := "{u+2159}"    ; (⅙) vulgar fraction 1/6
-cmpFive.item["6"] := "{u+215a}"   ; (⅚) vulgar fraction 5/6
-cmpOne.item["7"] := "{u+2150}"    ; (⅐) vulgar fraction 1/7
-cmpOne.item["8"] := "{u+215b}"    ; (⅛) vulgar fraction 1/8
-cmpThree.item["8"] := "{u+215c}"  ; (⅜) vulgar fraction 3/8
-cmpFive.item["8"] := "{u+215d}"   ; (⅝) vulgar fraction 5/8
-cmpSeven.item["8"] := "{u+215e}"  ; (⅞) vulgar fraction 7/8
-cmpOne.item["9"] := "{u+2151}"    ; (⅑) vulgar fraction 1/9
-cmpOne.item["0"] := "{u+2152}"    ; (⅒) vulgar fraction 1/10
-cmpZero.item["3"] := "{u+2189}"   ; (↉) vulgar fraction 0/3
 
 
 ; Compose :  Math Symbols (m)
 
 
 ; Compose :  Math Symbols (m)
@@ -919,97 +872,130 @@ cmpSmallD := ComObjCreate("Scripting.Dictionary")
 cmpCapitalD := ComObjCreate("Scripting.Dictionary")
 cmpSmallI := ComObjCreate("Scripting.Dictionary")
 cmpCapitalI := ComObjCreate("Scripting.Dictionary")
 cmpCapitalD := ComObjCreate("Scripting.Dictionary")
 cmpSmallI := ComObjCreate("Scripting.Dictionary")
 cmpCapitalI := ComObjCreate("Scripting.Dictionary")
+cmpSmallN := ComObjCreate("Scripting.Dictionary")
+cmpCapitalN := ComObjCreate("Scripting.Dictionary")
 cmpCapitalO := ComObjCreate("Scripting.Dictionary")
 cmpCapitalO := ComObjCreate("Scripting.Dictionary")
+cmpCapitalS := ComObjCreate("Scripting.Dictionary")
 cmpCapitalT := 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
+cmpSmallN.item["g"] := "{u+014b}"     ; (ŋ) small letter eng(ma)
+cmpCapitalN.item["G"] := "{u+014a}"   ; (Ŋ) capital letter eng(ma)
+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
 
 
 
 ; Compose :  General/Math Symbols
 
-cmpSmallN := ComObjCreate("Scripting.Dictionary")
-cmpCapitalN := ComObjCreate("Scripting.Dictionary")
-cmpSmallP := ComObjCreate("Scripting.Dictionary")
+cmpDigitEight := ComObjCreate("Scripting.Dictionary")
 cmpCapitalP := ComObjCreate("Scripting.Dictionary")
 cmpSmallR := ComObjCreate("Scripting.Dictionary")
 cmpCapitalP := ComObjCreate("Scripting.Dictionary")
 cmpSmallR := ComObjCreate("Scripting.Dictionary")
+cmpSemicolon := ComObjCreate("Scripting.Dictionary")
 cmpAsterisk := ComObjCreate("Scripting.Dictionary")
 cmpExclam := ComObjCreate("Scripting.Dictionary")
 cmpQuestion := ComObjCreate("Scripting.Dictionary")
 cmpParenLeft := 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")
 cmpPercent := ComObjCreate("Scripting.Dictionary")
-cmpEight := ComObjCreate("Scripting.Dictionary")
 cmpLessThan := ComObjCreate("Scripting.Dictionary")
 cmpGreaterThan := 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
+cmpDigitEight.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
+cmpSemicolon.item["b"] := "{u+2022}"     ; (•) bullet
+cmpSemicolon.item[";"] := "{u+2022}"     ; (•) bullet
+cmpSemicolon.item["t"] := "{u+2023}"     ; (‣) triangular bullet
+cmpSemicolon.item["h"] := "{u+2043}"     ; (⁃) hyphen bullet
+cmpSemicolon.item["w"] := "{u+25e6}"     ; (◦) white bullet
+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
+
+
+; Compose :  Vulgar Fractions
+
+cmpDigitOne := ComObjCreate("Scripting.Dictionary")
+cmpDigitTwo := ComObjCreate("Scripting.Dictionary")
+cmpDigitThree := ComObjCreate("Scripting.Dictionary")
+cmpDigitFour := ComObjCreate("Scripting.Dictionary")
+cmpDigitFive := ComObjCreate("Scripting.Dictionary")
+cmpDigitSeven := ComObjCreate("Scripting.Dictionary")
+cmpDigitZero := ComObjCreate("Scripting.Dictionary")
+cmpDigitOne.item["2"] := "{u+00bd}"    ; (½) vulgar fraction 1/2
+cmpDigitOne.item["3"] := "{u+2153}"    ; (⅓) vulgar fraction 1/3
+cmpDigitTwo.item["3"] := "{u+2154}"    ; (⅔) vulgar fraction 2/3
+cmpDigitOne.item["4"] := "{u+00bc}"    ; (¼) vulgar fraction 1/4
+cmpDigitThree.item["4"] := "{u+00be}"  ; (¾) vulgar fraction 3/4
+cmpDigitOne.item["5"] := "{u+2155}"    ; (⅕) vulgar fraction 1/5
+cmpDigitTwo.item["5"] := "{u+2156}"    ; (⅖) vulgar fraction 2/5
+cmpDigitThree.item["5"] := "{u+2157}"  ; (⅗) vulgar fraction 3/5
+cmpDigitFour.item["5"] := "{u+2158}"   ; (⅘) vulgar fraction 4/5
+cmpDigitOne.item["6"] := "{u+2159}"    ; (⅙) vulgar fraction 1/6
+cmpDigitFive.item["6"] := "{u+215a}"   ; (⅚) vulgar fraction 5/6
+cmpDigitOne.item["7"] := "{u+2150}"    ; (⅐) vulgar fraction 1/7
+cmpDigitOne.item["8"] := "{u+215b}"    ; (⅛) vulgar fraction 1/8
+cmpDigitThree.item["8"] := "{u+215c}"  ; (⅜) vulgar fraction 3/8
+cmpDigitFive.item["8"] := "{u+215d}"   ; (⅝) vulgar fraction 5/8
+cmpDigitSeven.item["8"] := "{u+215e}"  ; (⅞) vulgar fraction 7/8
+cmpDigitOne.item["9"] := "{u+2151}"    ; (⅑) vulgar fraction 1/9
+cmpDigitOne.item["0"] := "{u+2152}"    ; (⅒) vulgar fraction 1/10
+cmpDigitZero.item["3"] := "{u+2189}"   ; (↉) vulgar fraction 0/3
 
 
 ; Compose :  Quotation Marks
 
 
 
 ; Compose :  Quotation Marks
 
+cmpBracketLeft := ComObjCreate("Scripting.Dictionary")
 cmpBracketRight := ComObjCreate("Scripting.Dictionary")
 cmpCedillaOgonek.item[chr(34)] := "{u+201e}"  ; („) double low-9 quotation mark
 cmpDiaeresis.item[","] := "{u+201e}"          ; („) double low-9 quotation mark
 cmpBracketRight := ComObjCreate("Scripting.Dictionary")
 cmpCedillaOgonek.item[chr(34)] := "{u+201e}"  ; („) double low-9 quotation mark
 cmpDiaeresis.item[","] := "{u+201e}"          ; („) double low-9 quotation mark
@@ -1035,27 +1021,280 @@ cmpGreaterThan.item["'"] := "{u+203a}"        ; (›) right-pointing single angl
 cmpAcuteAccent.item[">"] := "{u+203a}"        ; (›) right-pointing single angle quotation mark
 
 
 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")
+cmpCapitalC := 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[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
 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
+
+
+; Compose :  Miscellaneous Symbols and Dingbats
+
+cmpDigitSix := ComObjCreate("Scripting.Dictionary")
+
+cmpDigitOne.item["a"] := "{u+2600}"  ; (☀) black sun with rays
+cmpDigitOne.item["b"] := "{u+2601}"  ; (☁) cloud
+cmpDigitOne.item["c"] := "{u+2602}"  ; (☂) umbrella
+cmpDigitOne.item["d"] := "{u+2603}"  ; (☃) snowman
+cmpDigitOne.item["e"] := "{u+2604}"  ; (☄) comet
+cmpDigitOne.item["f"] := "{u+2605}"  ; (★) black star
+cmpDigitOne.item["g"] := "{u+2606}"  ; (☆) white star
+cmpDigitOne.item["h"] := "{u+260e}"  ; (☎) black telephone
+cmpDigitOne.item["i"] := "{u+260f}"  ; (☏) white telephone
+cmpDigitOne.item["j"] := "{u+2610}"  ; (☐) ballot box
+cmpDigitOne.item["k"] := "{u+2611}"  ; (☑) ballot box with check
+cmpDigitOne.item["l"] := "{u+2612}"  ; (☒) ballot box with x
+cmpDigitOne.item["m"] := "{u+2619}"  ; (☙) reversed rotated floral heart bullet
+cmpDigitOne.item["n"] := "{u+261a}"  ; (☚) black left-pointing index
+cmpDigitOne.item["o"] := "{u+261b}"  ; (☛) black right-pointing index
+cmpDigitOne.item["p"] := "{u+261c}"  ; (☜) white left-pointing index
+cmpDigitOne.item["q"] := "{u+261d}"  ; (☝) white up-pointing index
+cmpDigitOne.item["r"] := "{u+261e}"  ; (☞) white right-pointing index
+cmpDigitOne.item["s"] := "{u+261f}"  ; (☟) white down-pointing index
+cmpDigitOne.item["t"] := "{u+2620}"  ; (☠) skull and crossbones
+cmpDigitOne.item["u"] := "{u+2621}"  ; (☡) caution sign
+cmpDigitOne.item["v"] := "{u+2622}"  ; (☢) radioactive sign
+cmpDigitOne.item["w"] := "{u+2623}"  ; (☣) biohazard sign
+cmpDigitOne.item["x"] := "{u+2639}"  ; (☹) white frowning face
+cmpDigitOne.item["y"] := "{u+263a}"  ; (☺) white smiling face
+cmpDigitOne.item["z"] := "{u+263b}"  ; (☻) black smiling face
+
+cmpDigitTwo.item["a"] := "{u+263c}"  ; (☼) white sun with rays
+cmpDigitTwo.item["b"] := "{u+263d}"  ; (☽) first quarter moon
+cmpDigitTwo.item["c"] := "{u+263e}"  ; (☾) last quarter moon
+cmpDigitTwo.item["d"] := "{u+2640}"  ; (♀) female sign (Venus)
+cmpDigitTwo.item["e"] := "{u+2642}"  ; (♂) male sign (Mars)
+cmpDigitTwo.item["f"] := "{u+2668}"  ; (♨) hot springs
+cmpDigitTwo.item["g"] := "{u+2669}"  ; (♩) quarter note
+cmpDigitTwo.item["h"] := "{u+266a}"  ; (♪) eighth note
+cmpDigitTwo.item["i"] := "{u+266b}"  ; (♫) beamed eighth notes
+cmpDigitTwo.item["j"] := "{u+266c}"  ; (♬) beamed sixteenth notes
+cmpDigitTwo.item["k"] := "{u+266d}"  ; (♭) music flat sign
+cmpDigitTwo.item["l"] := "{u+266e}"  ; (♮) music natural sign
+cmpDigitTwo.item["m"] := "{u+266f}"  ; (♯) music sharp sign
+cmpDigitTwo.item["n"] := "{u+2672}"  ; (♲) universal recycling symbol
+cmpDigitTwo.item["o"] := "{u+267a}"  ; (♺) recycling symbol for generic materials
+cmpDigitTwo.item["p"] := "{u+267b}"  ; (♻) black universal recycling symbol
+cmpDigitTwo.item["q"] := "{u+267f}"  ; (♿) wheelchair symbol
+cmpDigitTwo.item["r"] := "{u+2690}"  ; (⚐) white flag
+cmpDigitTwo.item["s"] := "{u+2691}"  ; (⚑) black flag
+cmpDigitTwo.item["t"] := "{u+26a0}"  ; (⚠) warning sign
+cmpDigitTwo.item["u"] := "{u+26a1}"  ; (⚡) high voltage sign
+cmpDigitTwo.item["v"] := "{u+26d4}"  ; (⛔) no entry
+
+cmpDigitThree.item["a"] := "{u+2701}"  ; (✁) upper blade scissors
+cmpDigitThree.item["b"] := "{u+2702}"  ; (✂) black scissors
+cmpDigitThree.item["c"] := "{u+2703}"  ; (✃) lower blade scissors
+cmpDigitThree.item["d"] := "{u+2704}"  ; (✄) white scissors
+cmpDigitThree.item["e"] := "{u+2706}"  ; (✆) telephone location sign
+cmpDigitThree.item["f"] := "{u+2707}"  ; (✇) tape drive
+cmpDigitThree.item["g"] := "{u+2708}"  ; (✈) airplane
+cmpDigitThree.item["h"] := "{u+2709}"  ; (✉) envelope
+cmpDigitThree.item["i"] := "{u+270a}"  ; (✊) raised fist
+cmpDigitThree.item["j"] := "{u+270b}"  ; (✋) raised hand
+cmpDigitThree.item["k"] := "{u+270c}"  ; (✌) victory hand
+cmpDigitThree.item["l"] := "{u+270d}"  ; (✍) writing hand
+cmpDigitThree.item["m"] := "{u+270e}"  ; (✎) lower right pencil
+cmpDigitThree.item["n"] := "{u+270f}"  ; (✏) pencil
+cmpDigitThree.item["o"] := "{u+2710}"  ; (✐) upper right pencil
+cmpDigitThree.item["p"] := "{u+2711}"  ; (✑) white nib
+cmpDigitThree.item["q"] := "{u+2712}"  ; (✒) black nib
+cmpDigitThree.item["r"] := "{u+2713}"  ; (✓) check mark
+cmpDigitThree.item["s"] := "{u+2714}"  ; (✔) heavy check mark
+cmpDigitThree.item["t"] := "{u+2715}"  ; (✕) multiplication x
+cmpDigitThree.item["u"] := "{u+2716}"  ; (✖) heavy multiplication x
+cmpDigitThree.item["v"] := "{u+2717}"  ; (✗) ballot x
+cmpDigitThree.item["w"] := "{u+2718}"  ; (✘) heavy ballot x
+cmpDigitThree.item["x"] := "{u+2719}"  ; (✙) outlined Greek cross
+cmpDigitThree.item["y"] := "{u+271a}"  ; (✚) heavy Greek cross
+cmpDigitThree.item["z"] := "{u+271b}"  ; (✛) open centre cross
+
+cmpDigitFour.item["a"] := "{u+271c}"  ; (✜) heavy open centre cross
+cmpDigitFour.item["b"] := "{u+271d}"  ; (✝) Latin cross
+cmpDigitFour.item["c"] := "{u+271e}"  ; (✞) shadowed white Latin cross
+cmpDigitFour.item["d"] := "{u+271f}"  ; (✟) outlined Latin cross
+cmpDigitFour.item["e"] := "{u+2720}"  ; (✠) Maltese cross
+cmpDigitFour.item["f"] := "{u+2721}"  ; (✡) star of David
+cmpDigitFour.item["g"] := "{u+2722}"  ; (✢) four teardrop-spoked asterisk
+cmpDigitFour.item["h"] := "{u+2723}"  ; (✣) four balloon-spoked asterisk
+cmpDigitFour.item["i"] := "{u+2724}"  ; (✤) heavy four balloon-spoked asterisk
+cmpDigitFour.item["j"] := "{u+2725}"  ; (✥) four club-spoked asterisk
+cmpDigitFour.item["k"] := "{u+2726}"  ; (✦) black four-pointed star
+cmpDigitFour.item["l"] := "{u+2727}"  ; (✧) white four-pointed star
+cmpDigitFour.item["m"] := "{u+2729}"  ; (✩) stress outlined white star
+cmpDigitFour.item["n"] := "{u+272a}"  ; (✪) circled white star
+cmpDigitFour.item["o"] := "{u+272b}"  ; (✫) open centre black star
+cmpDigitFour.item["p"] := "{u+272c}"  ; (✬) black centre white star
+cmpDigitFour.item["q"] := "{u+272d}"  ; (✭) outlined black star
+cmpDigitFour.item["r"] := "{u+272e}"  ; (✮) heavy outlined black star
+cmpDigitFour.item["s"] := "{u+272f}"  ; (✯) pinwheel star
+cmpDigitFour.item["t"] := "{u+2730}"  ; (✰) shadowed white star
+cmpDigitFour.item["u"] := "{u+2731}"  ; (✱) heavy asterisk
+cmpDigitFour.item["v"] := "{u+2732}"  ; (✲) open centre asterisk
+cmpDigitFour.item["w"] := "{u+2733}"  ; (✳) eight-spoked asterisk
+cmpDigitFour.item["x"] := "{u+2734}"  ; (✴) eight-pointed black star
+cmpDigitFour.item["y"] := "{u+2735}"  ; (✵) eight-pointed pinwheel star
+cmpDigitFour.item["z"] := "{u+2736}"  ; (✶) six-pointed black star
+
+cmpDigitFive.item["a"] := "{u+2737}"  ; (✷) eight-pointed rectilinear black star
+cmpDigitFive.item["b"] := "{u+2738}"  ; (✸) heavy eight-pointed rectilinear black star
+cmpDigitFive.item["c"] := "{u+2739}"  ; (✹) twelve pointed black star
+cmpDigitFive.item["d"] := "{u+273a}"  ; (✺) sixteen-pointed asterisk
+cmpDigitFive.item["e"] := "{u+273b}"  ; (✻) teardrop-spoked asterisk
+cmpDigitFive.item["f"] := "{u+273c}"  ; (✼) open centre teardrop-spoked asterisk
+cmpDigitFive.item["g"] := "{u+273d}"  ; (✽) heavy teardrop-spoked asterisk
+cmpDigitFive.item["h"] := "{u+273e}"  ; (✾) six-petalled black and white florette
+cmpDigitFive.item["i"] := "{u+273f}"  ; (✿) black florette
+cmpDigitFive.item["j"] := "{u+2740}"  ; (❀) white florette
+cmpDigitFive.item["k"] := "{u+2741}"  ; (❁) eight-petalled outlined black florette
+cmpDigitFive.item["l"] := "{u+2742}"  ; (❂) circled open centre eight-pointed star
+cmpDigitFive.item["m"] := "{u+2743}"  ; (❃) heavy teardrop-spoked pinwheel asterisk
+cmpDigitFive.item["n"] := "{u+2744}"  ; (❄) snowflake
+cmpDigitFive.item["o"] := "{u+2745}"  ; (❅) tight trifoliate snowflake
+cmpDigitFive.item["p"] := "{u+2746}"  ; (❆) heavy chevron snowflake
+cmpDigitFive.item["q"] := "{u+2747}"  ; (❇) sparkle
+cmpDigitFive.item["r"] := "{u+2748}"  ; (❈) heavy sparkle
+cmpDigitFive.item["s"] := "{u+2749}"  ; (❉) balloon-spoked asterisk
+cmpDigitFive.item["t"] := "{u+274a}"  ; (❊) eight teardrop-spoked propeller asterisk
+cmpDigitFive.item["u"] := "{u+274b}"  ; (❋) heavy eight teardrop-spoked propeller asterisk
+cmpDigitFive.item["v"] := "{u+274d}"  ; (❍) shadowed white circle
+cmpDigitFive.item["w"] := "{u+274f}"  ; (❏) lower right drop-shadowed white square
+cmpDigitFive.item["x"] := "{u+2750}"  ; (❐) upper right drop-shadowed white square
+cmpDigitFive.item["y"] := "{u+2751}"  ; (❑) lower right shadowed white square
+cmpDigitFive.item["z"] := "{u+2752}"  ; (❒) upper right shadowed white square
+
+cmpDigitSix.item["a"] := "{u+2756}"  ; (❖) black diamond minus white x
+cmpDigitSix.item["b"] := "{u+2758}"  ; (❘) light vertical bar
+cmpDigitSix.item["c"] := "{u+2759}"  ; (❙) medium vertical bar
+cmpDigitSix.item["d"] := "{u+275a}"  ; (❚) heavy vertical bar
+cmpDigitSix.item["e"] := "{u+275b}"  ; (❛) heavy single turned comma quotation mark ornament
+cmpDigitSix.item["f"] := "{u+275c}"  ; (❜) heavy single comma quotation mark ornament
+cmpDigitSix.item["g"] := "{u+275d}"  ; (❝) heavy double turned comma quotation mark ornament
+cmpDigitSix.item["h"] := "{u+275e}"  ; (❞) heavy double comma quotation mark ornament
+cmpDigitSix.item["i"] := "{u+275f}"  ; (❟) heavy low single comma quotation mark ornament
+cmpDigitSix.item["j"] := "{u+2760}"  ; (❠) heavy low double comma quotation mark ornament
+cmpDigitSix.item["k"] := "{u+2761}"  ; (❡) curved stem paragraph sign ornament
+cmpDigitSix.item["l"] := "{u+2762}"  ; (❢) heavy exclamation mark ornament
+cmpDigitSix.item["m"] := "{u+2763}"  ; (❣) heavy heart exclamation mark ornament
+cmpDigitSix.item["n"] := "{u+2764}"  ; (❤) heavy black heart
+cmpDigitSix.item["o"] := "{u+2765}"  ; (❥) rotated heavy black heart bullet
+cmpDigitSix.item["p"] := "{u+2766}"  ; (❦) floral heart
+cmpDigitSix.item["q"] := "{u+2767}"  ; (❧) rotated floral heart bullet
+
+cmpDigitSeven.item["a"] := "{u+2794}"  ; (➔) heavy wide-headed rightwards arrow
+cmpDigitSeven.item["b"] := "{u+2798}"  ; (➘) heavy south east arrow
+cmpDigitSeven.item["c"] := "{u+2799}"  ; (➙) heavy rightwards arrow
+cmpDigitSeven.item["d"] := "{u+279a}"  ; (➚) heavy north east arrow
+cmpDigitSeven.item["e"] := "{u+279b}"  ; (➛) drafting point rightwards arrow
+cmpDigitSeven.item["f"] := "{u+279c}"  ; (➜) heavy round-tipped rightwards arrow
+cmpDigitSeven.item["g"] := "{u+279d}"  ; (➝) triangle-headed rightwards arrow
+cmpDigitSeven.item["h"] := "{u+279e}"  ; (➞) heavy triangle-headed rightwards arrow
+cmpDigitSeven.item["i"] := "{u+279f}"  ; (➟) dashed triangle-headed rightwards arrow
+cmpDigitSeven.item["j"] := "{u+27a0}"  ; (➠) heavy dashed triangle-headed rightwards arrow
+cmpDigitSeven.item["k"] := "{u+27a1}"  ; (➡) black rightwards arrow
+cmpDigitSeven.item["l"] := "{u+27a2}"  ; (➢) 3d top-lighted rightwards arrowhead
+cmpDigitSeven.item["m"] := "{u+27a3}"  ; (➣) 3d bottom-lighted rightwards arrowhead
+cmpDigitSeven.item["n"] := "{u+27a4}"  ; (➤) black rightwards arrowhead
+cmpDigitSeven.item["o"] := "{u+27a5}"  ; (➥) heavy black curved downwards and rightwards arrow
+cmpDigitSeven.item["p"] := "{u+27a6}"  ; (➦) heavy black curved upwards and rightwards arrow
+cmpDigitSeven.item["q"] := "{u+27a7}"  ; (➧) squat black rightwards arrow
+cmpDigitSeven.item["r"] := "{u+27a8}"  ; (➨) heavy concave-pointed black rightwards arrow
+cmpDigitSeven.item["s"] := "{u+27a9}"  ; (➩) right-shaded white rightwards arrow
+cmpDigitSeven.item["t"] := "{u+27aa}"  ; (➪) left-shaded white rightwards arrow
+cmpDigitSeven.item["u"] := "{u+27ab}"  ; (➫) back-tilted shadowed white rightwards arrow
+cmpDigitSeven.item["v"] := "{u+27ac}"  ; (➬) front-tilted shadowed white rightwards arrow
+cmpDigitSeven.item["w"] := "{u+27ad}"  ; (➭) heavy lower right-shadowed white rightwards arrow
+cmpDigitSeven.item["x"] := "{u+27ae}"  ; (➮) heavy upper right-shadowed white rightwards arrow
+cmpDigitSeven.item["y"] := "{u+27af}"  ; (➯) notched lower right-shadowed white rightwards arrow
+cmpDigitSeven.item["z"] := "{u+27b1}"  ; (➱) notched upper right-shadowed white rightwards arrow
+
+cmpDigitEight.item["a"] := "{u+27b2}"  ; (➲) circled heavy white rightwards arrow
+cmpDigitEight.item["b"] := "{u+27b3}"  ; (➳) white-feathered rightwards arrow
+cmpDigitEight.item["c"] := "{u+27b4}"  ; (➴) black-feathered south east arrow
+cmpDigitEight.item["d"] := "{u+27b5}"  ; (➵) black-feathered rightwards arrow
+cmpDigitEight.item["e"] := "{u+27b6}"  ; (➶) black-feathered north east arrow
+cmpDigitEight.item["f"] := "{u+27b7}"  ; (➷) heavy black-feathered south east arrow
+cmpDigitEight.item["g"] := "{u+27b8}"  ; (➸) heavy black-feathered rightwards arrow
+cmpDigitEight.item["h"] := "{u+27b9}"  ; (➹) heavy black-feathered north east arrow
+cmpDigitEight.item["i"] := "{u+27ba}"  ; (➺) teardrop-barbed rightwards arrow
+cmpDigitEight.item["j"] := "{u+27bb}"  ; (➻) heavy teardrop-shanked rightwards arrow
+cmpDigitEight.item["k"] := "{u+27bc}"  ; (➼) wedge-tailed rightwards arrow
+cmpDigitEight.item["l"] := "{u+27bd}"  ; (➽) heavy wedge-tailed rightwards arrow
+cmpDigitEight.item["m"] := "{u+27be}"  ; (➾) open-outlined rightwards arrow
+cmpDigitEight.item["n"] := "{u+27c1}"  ; (⟁) white triangle containing small white triangle
+
+
+; Compose :  Chess Symbols (C)
+
+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)
+
+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 :  Dingbat Negative Circled Digits (n)
+
+cmpSmallN.item["1"] := "{u+2776}"  ; (❶) dingbat negative circled digit 1
+cmpSmallN.item["2"] := "{u+2777}"  ; (❷) dingbat negative circled digit 2
+cmpSmallN.item["3"] := "{u+2778}"  ; (❸) dingbat negative circled digit 3
+cmpSmallN.item["4"] := "{u+2779}"  ; (❹) dingbat negative circled digit 4
+cmpSmallN.item["5"] := "{u+277a}"  ; (❺) dingbat negative circled digit 5
+cmpSmallN.item["6"] := "{u+277b}"  ; (❻) dingbat negative circled digit 6
+cmpSmallN.item["7"] := "{u+277c}"  ; (❼) dingbat negative circled digit 7
+cmpSmallN.item["8"] := "{u+277d}"  ; (❽) dingbat negative circled digit 8
+cmpSmallN.item["9"] := "{u+277e}"  ; (❾) dingbat negative circled digit 9
+cmpSmallN.item["0"] := "{u+277f}"  ; (❿) dingbat negative circled digit 10
 
 
 ; Configuration :  'Right Alt' and 'Right Alt + Shift' on US QWERTY
 
 
 ; Configuration :  'Right Alt' and 'Right Alt + Shift' on US QWERTY
@@ -1411,26 +1650,26 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send {u+00db}  ; (Û) U with circumflex
   return
 
     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
   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
 
   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
   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
   if GetKeyState("CapsLock", "T")
     Send {u+00f5}  ; (õ) o with tilde
   else
@@ -1443,10 +1682,10 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!1::Send {u+00a1}   ; (¡) inverted exclamation mark
 >!+1::Send {u+00b9}  ; (¹) superscript 1
 
 >!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
 
 >!+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
 >!+3::Send {u+00b3}  ; (³) superscript 3
 
 >!4::Send {u+00a3}   ; (£) pound sign
@@ -1455,14 +1694,8 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!5::Send {u+20ac}   ; (€) euro sign
 >!+5::Send {u+00a2}  ; (¢) cent sign (dollar)
 
 >!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+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
 
 >!9::Send {u+201c}   ; (“) left double quotation mark
 >!+9::Send {u+2018}  ; (‘) left single quotation mark
@@ -1470,6 +1703,12 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!0::Send {u+201d}   ; (”) right double quotation mark
 >!+0::Send {u+2019}  ; (’) right 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+00ab}   ; («) left-pointing double angle quotation mark
 >!{::Send {u+2039}   ; (‹) left-pointing single angle quotation mark
 
@@ -1479,11 +1718,11 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
 >!;::Send {u+00b0}   ; (°) degree sign
 >!+;::Send {u+00b7}  ; (·) middle dot
 
 >!;::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 {u+00bf}   ; (¿) inverted question mark
 >!?::Send {u+2026}   ; (…) horizontal ellipsis
@@ -1533,14 +1772,14 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send % cmpTilde.item[keyB]
   else if (keyA == "h")
     Send % cmpHook.item[keyB]
     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")
   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")
   else if (keyA == "p")
     Send % cmpSuperscript.item[keyB]
   else if (keyA == "u")
@@ -1551,26 +1790,8 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send % cmpQuad.item[keyB]
   else if (keyA == "a")
     Send % cmpArrow.item[keyB]
     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 == "s")
     Send % cmpSymbols.item[keyB]
-  else if (keyA == "S")
-    Send % cmpPlayingCardSuit.item[keyB]
-  else if (keyA == "1")
-    Send % cmpOne.item[keyB]
-  else if (keyA == "2")
-    Send % cmpTwo.item[keyB]
-  else if (keyA == "3")
-    Send % cmpThree.item[keyB]
-  else if (keyA == "4")
-    Send % cmpFour.item[keyB]
-  else if (keyA == "5")
-    Send % cmpFive.item[keyB]
-  else if (keyA == "7")
-    Send % cmpSeven.item[keyB]
-  else if (keyA == "0")
-    Send % cmpZero.item[keyB]
   else if (keyA == "m")
     Send % cmpMathSymbols.item[keyB]
   else if (keyA == "A")
   else if (keyA == "m")
     Send % cmpMathSymbols.item[keyB]
   else if (keyA == "A")
@@ -1583,20 +1804,22 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send % cmpSmallI.item[keyB]
   else if (keyA == "I")
     Send % cmpCapitalI.item[keyB]
     Send % cmpSmallI.item[keyB]
   else if (keyA == "I")
     Send % cmpCapitalI.item[keyB]
-  else if (keyA == "O")
-    Send % cmpCapitalO.item[keyB]
-  else if (keyA == "T")
-    Send % cmpCapitalT.item[keyB]
   else if (keyA == "n")
     Send % cmpSmallN.item[keyB]
   else if (keyA == "N")
     Send % cmpCapitalN.item[keyB]
   else if (keyA == "n")
     Send % cmpSmallN.item[keyB]
   else if (keyA == "N")
     Send % cmpCapitalN.item[keyB]
-  else if (keyA == "p")
-    Send % cmpSmallP.item[keyB]
+  else if (keyA == "O")
+    Send % cmpCapitalO.item[keyB]
+  else if (keyA == "S")
+    Send % cmpCapitalS.item[keyB]
+  else if (keyA == "T")
+    Send % cmpCapitalT.item[keyB]
   else if (keyA == "P")
     Send % cmpCapitalP.item[keyB]
   else if (keyA == "r")
     Send % cmpSmallR.item[keyB]
   else if (keyA == "P")
     Send % cmpCapitalP.item[keyB]
   else if (keyA == "r")
     Send % cmpSmallR.item[keyB]
+  else if (keyA == ";")
+    Send % cmpSemicolon.item[keyB]
   else if (keyA == "*")
     Send % cmpAsterisk.item[keyB]
   else if (keyA == "!")
   else if (keyA == "*")
     Send % cmpAsterisk.item[keyB]
   else if (keyA == "!")
@@ -1605,20 +1828,44 @@ cmpCapitalU.item["``"] := "{u+01db}"      ; (Ǜ) U with diaeresis and grave
     Send % cmpQuestion.item[keyB]
   else if (keyA == "(")
     Send % cmpParenLeft.item[keyB]
     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")
   else if (keyA == "%")
     Send % cmpPercent.item[keyB]
   else if (keyA == "8")
-    Send % cmpEight.item[keyB]
+    Send % cmpDigitEight.item[keyB]
   else if (keyA == "<")
     Send % cmpLessThan.item[keyB]
   else if (keyA == ">")
     Send % cmpGreaterThan.item[keyB]
   else if (keyA == "<")
     Send % cmpLessThan.item[keyB]
   else if (keyA == ">")
     Send % cmpGreaterThan.item[keyB]
+  else if (keyA == "1")
+    Send % cmpDigitOne.item[keyB]
+  else if (keyA == "2")
+    Send % cmpDigitTwo.item[keyB]
+  else if (keyA == "3")
+    Send % cmpDigitThree.item[keyB]
+  else if (keyA == "4")
+    Send % cmpDigitFour.item[keyB]
+  else if (keyA == "5")
+    Send % cmpDigitFive.item[keyB]
+  else if (keyA == "7")
+    Send % cmpDigitSeven.item[keyB]
+  else if (keyA == "0")
+    Send % cmpDigitZero.item[keyB]
   else if (keyA == "[")
     Send % cmpBracketLeft.item[keyB]
   else if (keyA == "]")
     Send % cmpBracketRight.item[keyB]
   else if (keyA == "[")
     Send % cmpBracketLeft.item[keyB]
   else if (keyA == "]")
     Send % cmpBracketRight.item[keyB]
-  else if (keyA == "U")
-    Send % cmpCapitalU.item[keyB]
+  else if (keyA == "C")
+    Send % cmpCapitalC.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]
+  else if (keyA == "6")
+    Send % cmpDigitSix.item[keyB]
 
   keyA := ""  ; avoids leaking content via debug properties
   keyB := ""  ; avoids leaking content via debug properties
 
   keyA := ""  ; avoids leaking content via debug properties
   keyB := ""  ; avoids leaking content via debug properties