-dkGreekAlphabet.item["1"] := "{u+00b9}" ; (¹) superscript 1
-dkGreekAlphabet.item["2"] := "{u+00b2}" ; (²) superscript 2
-dkGreekAlphabet.item["3"] := "{u+00b3}" ; (³) superscript 3
-dkGreekAlphabet.item["4"] := "{u+2074}" ; (⁴) superscript 4
-dkGreekAlphabet.item["5"] := "{u+2075}" ; (⁵) superscript 5
-dkGreekAlphabet.item["6"] := "{u+2076}" ; (⁶) superscript 6
-dkGreekAlphabet.item["7"] := "{u+2077}" ; (⁷) superscript 7
-dkGreekAlphabet.item["8"] := "{u+2078}" ; (⁸) superscript 8
-dkGreekAlphabet.item["9"] := "{u+2079}" ; (⁹) superscript 9
-dkGreekAlphabet.item["0"] := "{u+2070}" ; (⁰) superscript 0
-dkGreekAlphabet.item["-"] := "{u+207b}" ; (⁻) superscript -
-dkGreekAlphabet.item["="] := "{u+207c}" ; (⁼) superscript =
-dkGreekAlphabet.item["+"] := "{u+207a}" ; (⁺) superscript +
-dkGreekAlphabet.item["["] := "{u+207d}" ; (⁽) superscript (
-dkGreekAlphabet.item["]"] := "{u+207e}" ; (⁾) superscript )
-dkGreekAlphabet.item["!"] := "{u+2081}" ; (₁) subscript 1
-dkGreekAlphabet.item["@"] := "{u+2082}" ; (₂) subscript 2
-dkGreekAlphabet.item["#"] := "{u+2083}" ; (₃) subscript 3
-dkGreekAlphabet.item["$"] := "{u+2084}" ; (₄) subscript 4
-dkGreekAlphabet.item["%"] := "{u+2085}" ; (₅) subscript 5
-dkGreekAlphabet.item["^"] := "{u+2086}" ; (₆) subscript 6
-dkGreekAlphabet.item["&"] := "{u+2087}" ; (₇) subscript 7
-dkGreekAlphabet.item["*"] := "{u+2088}" ; (₈) subscript 8
-dkGreekAlphabet.item["("] := "{u+2089}" ; (₉) subscript 9
-dkGreekAlphabet.item[")"] := "{u+2080}" ; (₀) subscript 0
-dkGreekAlphabet.item[";"] := "{u+208b}" ; (₋) subscript -
-dkGreekAlphabet.item["'"] := "{u+208c}" ; (₌) subscript =
-dkGreekAlphabet.item[chr(34)] := "{u+208a}" ; (₊) subscript +
-dkGreekAlphabet.item["{"] := "{u+208d}" ; (₍) subscript (
-dkGreekAlphabet.item["}"] := "{u+208e}" ; (₎) subscript )
-dkGreekAlphabet.item["."] := "{u+00b5}" ; (µ) micro sign
-dkGreekAlphabet.item[chr(0x00df)] := "{u+03c2}" ; (ß -> ς) small final sigma
-dkGreekAlphabet.item[" "] := "{u+03bc}" ; (μ) small mu
-
-
-; Dead Key : Math Symbols
+
+
+; Dead Key : Superscript Characters (p)
+
+dkSuperscript := ComObjCreate("Scripting.Dictionary")
+dkSuperscript.item["1"] := "{u+00b9}" ; (¹) superscript 1
+dkSuperscript.item["2"] := "{u+00b2}" ; (²) superscript 2
+dkSuperscript.item["3"] := "{u+00b3}" ; (³) superscript 3
+dkSuperscript.item["4"] := "{u+2074}" ; (⁴) superscript 4
+dkSuperscript.item["5"] := "{u+2075}" ; (⁵) superscript 5
+dkSuperscript.item["6"] := "{u+2076}" ; (⁶) superscript 6
+dkSuperscript.item["7"] := "{u+2077}" ; (⁷) superscript 7
+dkSuperscript.item["8"] := "{u+2078}" ; (⁸) superscript 8
+dkSuperscript.item["9"] := "{u+2079}" ; (⁹) superscript 9
+dkSuperscript.item["0"] := "{u+2070}" ; (⁰) superscript 0
+dkSuperscript.item["n"] := "{u+207f}" ; (ⁿ) superscript n
+dkSuperscript.item["+"] := "{u+207a}" ; (⁺) superscript +
+dkSuperscript.item["-"] := "{u+207b}" ; (⁻) superscript -
+dkSuperscript.item["="] := "{u+207c}" ; (⁼) superscript =
+dkSuperscript.item["("] := "{u+207d}" ; (⁽) superscript (
+dkSuperscript.item[")"] := "{u+207e}" ; (⁾) superscript )
+
+
+; Dead Key : Subscript Characters (u)
+
+dkSubscript := ComObjCreate("Scripting.Dictionary")
+dkSubscript.item["1"] := "{u+2081}" ; (₁) subscript 1
+dkSubscript.item["2"] := "{u+2082}" ; (₂) subscript 2
+dkSubscript.item["3"] := "{u+2083}" ; (₃) subscript 3
+dkSubscript.item["4"] := "{u+2084}" ; (₄) subscript 4
+dkSubscript.item["5"] := "{u+2085}" ; (₅) subscript 5
+dkSubscript.item["6"] := "{u+2086}" ; (₆) subscript 6
+dkSubscript.item["7"] := "{u+2087}" ; (₇) subscript 7
+dkSubscript.item["8"] := "{u+2088}" ; (₈) subscript 8
+dkSubscript.item["9"] := "{u+2089}" ; (₉) subscript 9
+dkSubscript.item["0"] := "{u+2080}" ; (₀) subscript 0
+dkSubscript.item["n"] := "{u+2099}" ; (ₙ) subscript n
+dkSubscript.item["+"] := "{u+208a}" ; (₊) subscript +
+dkSubscript.item["-"] := "{u+208b}" ; (₋) subscript -
+dkSubscript.item["="] := "{u+208c}" ; (₌) subscript =
+dkSubscript.item["("] := "{u+208d}" ; (₍) subscript (
+dkSubscript.item[")"] := "{u+208e}" ; (₎) subscript )
+
+
+; Dead Key : Spacing Characters and Dashes
+
+dkSpace := ComObjCreate("Scripting.Dictionary")
+dkQuad := ComObjCreate("Scripting.Dictionary")
+dkSpace.item["2"] := "{u+2002}" ; en space
+dkSpace.item["3"] := "{u+2003}" ; em space
+dkSpace.item["1"] := "{u+2004}" ; three-per-em space
+dkSpace.item["4"] := "{u+2005}" ; four-per-em space
+dkSpace.item["5"] := "{u+2008}" ; punctuation space
+dkSpace.item["6"] := "{u+2006}" ; six-per-em space
+dkSpace.item["7"] := "{u+2009}" ; thin space
+dkSpace.item["8"] := "{u+200a}" ; hair space
+dkSpace.item["9"] := "{u+2007}" ; figure space
+dkSpace.item["0"] := "{u+200b}" ; zero-width space
+dkSpace.item[" "] := "{u+00a0}" ; non-breaking space
+dkSpace.item["."] := "{u+202f}" ; narrow no-break space
+dkMacronStroke.item["2"] := "{u+2013}" ; (–) en dash
+dkMacronStroke.item["3"] := "{u+2014}" ; (—) em dash
+dkMacronStroke.item["4"] := "{u+2015}" ; (―) horizontal bar
+dkMacronStroke.item["5"] := "{u+2010}" ; (‐) hyphen
+dkMacronStroke.item["9"] := "{u+2012}" ; (‒) figure dash
+dkMacronStroke.item["0"] := "{u+00ad}" ; () soft hyphen
+dkMacronStroke.item["-"] := "{u+2011}" ; (‑) non-breaking hyphen
+dkQuad.item["2"] := "{u+2000}" ; en quad
+dkQuad.item["3"] := "{u+2001}" ; em quad
+
+
+; Dead Key : Arrows and Pointers
+
+dkArrow := ComObjCreate("Scripting.Dictionary")
+dkArrow.item["1"] := "{u+2199}" ; (↙) south west arrow
+dkArrow.item["2"] := "{u+2193}" ; (↓) downwards arrow
+dkArrow.item["3"] := "{u+2198}" ; (↘) south east arrow
+dkArrow.item["4"] := "{u+2190}" ; (←) leftwards arrow
+dkArrow.item["5"] := "{u+2195}" ; (↕) up down arrow
+dkArrow.item["6"] := "{u+2192}" ; (→) rightwards arrow
+dkArrow.item["7"] := "{u+2196}" ; (↖) north west arrow
+dkArrow.item["8"] := "{u+2191}" ; (↑) upwards arrow
+dkArrow.item["9"] := "{u+2197}" ; (↗) north east arrow
+dkArrow.item["0"] := "{u+2194}" ; (↔) left right arrow
+dkDoubleAcute.item["1"] := "{u+21d9}" ; (⇙) south west double arrow
+dkDoubleAcute.item["2"] := "{u+21d3}" ; (⇓) downwards double arrow
+dkDoubleAcute.item["3"] := "{u+21d8}" ; (⇘) south east double arrow
+dkDoubleAcute.item["4"] := "{u+21d0}" ; (⇐) leftwards double arrow
+dkDoubleAcute.item["5"] := "{u+21d5}" ; (⇕) up down double arrow
+dkDoubleAcute.item["6"] := "{u+21d2}" ; (⇒) rightwards double arrow
+dkDoubleAcute.item["7"] := "{u+21d6}" ; (⇖) north west double arrow
+dkDoubleAcute.item["8"] := "{u+21d1}" ; (⇑) upwards double arrow
+dkDoubleAcute.item["9"] := "{u+21d7}" ; (⇗) north east double arrow
+dkDoubleAcute.item["0"] := "{u+21d4}" ; (⇔) left right double arrow
+dkHorn.item["2"] := "{u+25bc}" ; (▼) black down-pointing triangle
+dkHorn.item["@"] := "{u+25bd}" ; (▽) white down-pointing triangle
+dkHorn.item["4"] := "{u+25c0}" ; (◀) black left-pointing triangle
+dkHorn.item["$"] := "{u+25c1}" ; (◁) white left-pointing triangle
+dkHorn.item["6"] := "{u+25b6}" ; (▶) black right-pointing triangle
+dkHorn.item["^"] := "{u+25b7}" ; (▷) white right-pointing triangle
+dkHorn.item["8"] := "{u+25b2}" ; (▲) black up-pointing triangle
+dkHorn.item["*"] := "{u+25b3}" ; (△) white up-pointing triangle
+
+
+; Dead Key : Miscellaneous Symbols (s)
+
+dkSymbols := ComObjCreate("Scripting.Dictionary")
+dkSymbols.item["a"] := "{u+214d}" ; (⅍) aktieselskab
+dkSymbols.item["c"] := "{u+2105}" ; (℅) care of
+dkSymbols.item["d"] := "{u+22c4}" ; (⋄) diamond operator
+dkSymbols.item["e"] := "{u+212e}" ; (℮) estimated symbol
+dkSymbols.item["E"] := "{u+2709}" ; (✉) envelope
+dkSymbols.item["f"] := "{u+2640}" ; (♀) Venus symbol (female)
+dkSymbols.item["g"] := "{u+2740}" ; (❀) white florette
+dkSymbols.item["G"] := "{u+273f}" ; (✿) black florette
+dkSymbols.item["h"] := "{u+2766}" ; (❦) floral heart
+dkSymbols.item["H"] := "{u+2767}" ; (❧) rotated floral heart bullet
+dkSymbols.item["i"] := "{u+2300}" ; (⌀) diameter sign
+dkSymbols.item["l"] := "{u+2113}" ; (ℓ) script small l
+dkSymbols.item["L"] := "{u+2112}" ; (ℒ) Laplace transform
+dkSymbols.item["m"] := "{u+2642}" ; (♂) Mars symbol (male)
+dkSymbols.item["M"] := "{u+2120}" ; (℠) service mark
+dkSymbols.item["q"] := "{u+2126}" ; (Ω) ohm sign (backwards compatibility)
+dkSymbols.item["r"] := "{u+2619}" ; (☙) reversed rotated floral heart bullet
+dkSymbols.item["R"] := "{u+211e}" ; (℞) prescription take (Recipere)
+dkSymbols.item["t"] := "{u+2706}" ; (✆) telephone location sign
+dkSymbols.item["v"] := "{u+2713}" ; (✓) check mark
+dkSymbols.item["V"] := "{u+2714}" ; (✔) heavy check mark
+dkSymbols.item["w"] := "{u+26a0}" ; (⚠) warning sign
+dkSymbols.item["x"] := "{u+2717}" ; (✗) ballot x
+dkSymbols.item["X"] := "{u+2718}" ; (✘) heavy ballot x
+dkSymbols.item["2"] := "{u+266b}" ; (♫) beamed eighth notes
+dkSymbols.item["3"] := "{u+2042}" ; (⁂) asterism
+dkSymbols.item["5"] := "{u+2605}" ; (★) black star
+dkSymbols.item["%"] := "{u+2606}" ; (☆) white star
+dkSymbols.item["6"] := "{u+273d}" ; (✽) heavy teardrop-spoked asterisk
+dkSymbols.item["^"] := "{u+273b}" ; (✻) teardrop-spoked asterisk
+dkSymbols.item["8"] := "{u+266a}" ; (♪) eighth note
+dkSymbols.item[";"] := "{u+263a}" ; (☺) white smiling face
+dkSymbols.item[":"] := "{u+263b}" ; (☻) black smiling face
+dkSymbols.item["!"] := "{u+203c}" ; (‼) double exclamation mark
+dkSymbols.item["?"] := "{u+203d}" ; (‽) interrobang
+dkSymbols.item["\"] := "{u+205e}" ; (⁞) vertical four dots
+dkSymbols.item["|"] := "{u+00a6}" ; (¦) broken bar
+dkSymbols.item["."] := "{u+2e18}" ; (⸘) inverted interrobang
+dkSymbols.item["/"] := "{u+2e2e}" ; (⸮) reversed question mark
+
+
+; Dead Key : Playing Card Suit Symbols (S)
+
+dkPlayingCardSuit := ComObjCreate("Scripting.Dictionary")
+dkPlayingCardSuit.item["c"] := "{u+2663}" ; (♣) black club suit
+dkPlayingCardSuit.item["C"] := "{u+2667}" ; (♧) white club suit
+dkPlayingCardSuit.item["d"] := "{u+2666}" ; (♦) black diamond suit
+dkPlayingCardSuit.item["D"] := "{u+2662}" ; (♢) white diamond suit
+dkPlayingCardSuit.item["h"] := "{u+2665}" ; (♥) black heart suit
+dkPlayingCardSuit.item["H"] := "{u+2661}" ; (♡) white heart suit
+dkPlayingCardSuit.item["p"] := "{u+2660}" ; (♠) black spade suit
+dkPlayingCardSuit.item["P"] := "{u+2664}" ; (♤) white spade suit
+
+
+; Dead Key : Vulgar Fractions
+
+dkOne := ComObjCreate("Scripting.Dictionary")
+dkTwo := ComObjCreate("Scripting.Dictionary")
+dkThree := ComObjCreate("Scripting.Dictionary")
+dkFour := ComObjCreate("Scripting.Dictionary")
+dkFive := ComObjCreate("Scripting.Dictionary")
+dkSeven := ComObjCreate("Scripting.Dictionary")
+dkZero := ComObjCreate("Scripting.Dictionary")
+dkOne.item["2"] := "{u+00bd}" ; (½) vulgar fraction 1/2
+dkOne.item["3"] := "{u+2153}" ; (⅓) vulgar fraction 1/3
+dkTwo.item["3"] := "{u+2154}" ; (⅔) vulgar fraction 2/3
+dkOne.item["4"] := "{u+00bc}" ; (¼) vulgar fraction 1/4
+dkThree.item["4"] := "{u+00be}" ; (¾) vulgar fraction 3/4
+dkOne.item["5"] := "{u+2155}" ; (⅕) vulgar fraction 1/5
+dkTwo.item["5"] := "{u+2156}" ; (⅖) vulgar fraction 2/5
+dkThree.item["5"] := "{u+2157}" ; (⅗) vulgar fraction 3/5
+dkFour.item["5"] := "{u+2158}" ; (⅘) vulgar fraction 4/5
+dkOne.item["6"] := "{u+2159}" ; (⅙) vulgar fraction 1/6
+dkFive.item["6"] := "{u+215a}" ; (⅚) vulgar fraction 5/6
+dkOne.item["7"] := "{u+2150}" ; (⅐) vulgar fraction 1/7
+dkOne.item["8"] := "{u+215b}" ; (⅛) vulgar fraction 1/8
+dkThree.item["8"] := "{u+215c}" ; (⅜) vulgar fraction 3/8
+dkFive.item["8"] := "{u+215d}" ; (⅝) vulgar fraction 5/8
+dkSeven.item["8"] := "{u+215e}" ; (⅞) vulgar fraction 7/8
+dkOne.item["9"] := "{u+2151}" ; (⅑) vulgar fraction 1/9
+dkOne.item["0"] := "{u+2152}" ; (⅒) vulgar fraction 1/10
+dkZero.item["3"] := "{u+2189}" ; (↉) vulgar fraction 0/3
+
+
+; Dead Key : Math Symbols (m)