Back to index

nux  3.0.0
TextEntryComposeSeqs.h
Go to the documentation of this file.
00001 /*
00002 * Copyright 2010 Inalogic® Inc.
00003 *
00004 * This program is free software: you can redistribute it and/or modify it
00005 * under the terms of the GNU Lesser General Public License, as
00006 * published by the  Free Software Foundation; either version 2.1 or 3.0
00007 * of the License.
00008 *
00009 * This program is distributed in the hope that it will be useful, but
00010 * WITHOUT ANY WARRANTY; without even the implied warranties of
00011 * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
00012 * PURPOSE.  See the applicable version of the GNU Lesser General Public
00013 * License for more details.
00014 *
00015 * You should have received a copy of both the GNU Lesser General Public
00016 * License along with this program. If not, see <http://www.gnu.org/licenses/>
00017 *
00018 * Authored by: Brandon Schaefer <brandontschaefer@gmail.com>
00019 *              Jay Taoko <jaytaoko@inalogic.com>
00020 *
00021 */
00022 
00023 
00024 static const std::string nux_compose_seqs_compact[] = {
00025 "  ", "::", " ",           //nobreakspace # NO-BREAK SPACE
00026 "!!", "::", "¡",           //exclamdown # INVERTED EXCLAMATION MARK
00027 "|c", "c|", "c/", "/c", "::", "¢",              //CENT SIGN
00028 "L-", "-L", "::", "£",            //POUND SIGN
00029 "ox", "xo", "::", "¤",            //currency # CURRENCY SIGN
00030 "Y=", "=Y", "::", "¥",            //yen # YEN SIGN
00031 "!^", "::", "¦",           //brokenbar # BROKEN BAR
00032 "so", "os", "::", "§",            //section # SECTION SIGN
00033 "oc", "oC", "Oc", "OC", "::", "©",              //copyright # COPYRIGHT SIGN
00034 "^_a", "::", "ª",          //FEMININE ORDINAL INDICATOR
00035 "<<", "::", "«",           //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
00036 ",-", "-,", "::", "¬",            //NOT SIGN
00037 "or", "oR", "Or", "OR", "::", "®",              //registered # REGISTERED SIGN
00038 "oo", "::", "°",           //degree # DEGREE SIGN
00039 "+-", "::", "±",           //plusminus # PLUS-MINUS SIGN
00040 "^2", "::", "²",           //SUPERSCRIPT TWO
00041 "^3", "::", "³",           //SUPERSCRIPT THREE
00042 "mu", "::", "µ",           //MICRO SIGN
00043 "p!", "P!", "PP", "::", "¶",             //paragraph # PILCROW SIGN
00044 "..", "::", "·",           //MIDDLE DOT
00045 ", ", " ,", "::", "¸",            //cedilla # CEDILLA
00046 "^1", "::", "¹",           //SUPERSCRIPT ONE
00047 "^_o", "::", "º",          //MASCULINE ORDINAL INDICATOR
00048 ">>", "::", "»",           //guillemotright # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
00049 "14", "::", "¼",           //VULGAR FRACTION ONE QUARTER
00050 "12", "::", "½",           //VULGAR FRACTION ONE HALF
00051 "34", "::", "¾",           //VULGAR FRACTION THREE QUARTERS
00052 "??", "::", "¿",           //questiondown # INVERTED QUESTION MARK
00053 "`A", "::", "À",           //LATIN CAPITAL LETTER A WITH GRAVE
00054 "'A", "::", "Á",           //LATIN CAPITAL LETTER A WITH ACUTE
00055 "^A", "::", "Â",           //LATIN CAPITAL LETTER A WITH CIRCUMFLEX
00056 "~A", "::", "Ã",           //LATIN CAPITAL LETTER A WITH TILDE
00057 "\"A", "::", "Ä",          //LATIN CAPITAL LETTER A WITH DIAERESIS
00058 "oA", "::", "Å",           //LATIN CAPITAL LETTER A WITH RING ABOVE
00059 "AE", "::", "Æ",           //AE # LATIN CAPITAL LETTER AE
00060 ",C", "::", "Ç",           //LATIN CAPITAL LETTER C WITH CEDILLA
00061 "`E", "::", "È",           //LATIN CAPITAL LETTER E WITH GRAVE
00062 "'E", "::", "É",           //LATIN CAPITAL LETTER E WITH ACUTE
00063 "^E", "::", "Ê",           //LATIN CAPITAL LETTER E WITH CIRCUMFLEX
00064 "\"E", "::", "Ë",          //LATIN CAPITAL LETTER E WITH DIAERESIS
00065 "`I", "::", "Ì",           //LATIN CAPITAL LETTER I WITH GRAVE
00066 "'I", "::", "Í",           //LATIN CAPITAL LETTER I WITH ACUTE
00067 "^I", "::", "Î",           //LATIN CAPITAL LETTER I WITH CIRCUMFLEX
00068 "\"I", "::", "Ï",          //LATIN CAPITAL LETTER I WITH DIAERESIS
00069 "DH", "::", "Ð",           //LATIN CAPITAL LETTER ETH
00070 "~N", "::", "Ñ",           //LATIN CAPITAL LETTER N WITH TILDE
00071 "`O", "::", "Ò",           //LATIN CAPITAL LETTER O WITH GRAVE
00072 "'O", "::", "Ó",           //LATIN CAPITAL LETTER O WITH ACUTE
00073 "^O", "::", "Ô",           //LATIN CAPITAL LETTER O WITH CIRCUMFLEX
00074 "~O", "::", "Õ",           //LATIN CAPITAL LETTER O WITH TILDE
00075 "\"O", "::", "Ö",          //LATIN CAPITAL LETTER O WITH DIAERESIS
00076 "xx", "::", "×",           //MULTIPLICATION SIGN
00077 "/O", "::", "Ø",           //LATIN CAPITAL LETTER O WITH STROKE
00078 "`U", "::", "Ù",           //LATIN CAPITAL LETTER U WITH GRAVE
00079 "'U", "::", "Ú",           //LATIN CAPITAL LETTER U WITH ACUTE
00080 "^U", "::", "Û",           //LATIN CAPITAL LETTER U WITH CIRCUMFLEX
00081 "\"U", "::", "Ü",          //LATIN CAPITAL LETTER U WITH DIAERESIS
00082 "'Y", "::", "Ý",           //LATIN CAPITAL LETTER Y WITH ACUTE
00083 "TH", "::", "Þ",           //LATIN CAPITAL LETTER THORN
00084 "ss", "::", "ß",           //ssharp # LATIN SMALL LETTER SHARP S
00085 "`a", "::", "à",           //LATIN SMALL LETTER A WITH GRAVE
00086 "'a", "::", "á",           //LATIN SMALL LETTER A WITH ACUTE
00087 "^a", "::", "â",           //LATIN SMALL LETTER A WITH CIRCUMFLEX
00088 "~a", "::", "ã",           //LATIN SMALL LETTER A WITH TILDE
00089 "\"a", "::", "ä",          //LATIN SMALL LETTER A WITH DIAERESIS
00090 "oa", "::", "å",           //LATIN SMALL LETTER A WITH RING ABOVE
00091 "ae", "::", "æ",           //ae # LATIN SMALL LETTER AE
00092 ",c", "::", "ç",           //LATIN SMALL LETTER C WITH CEDILLA
00093 "`e", "::", "è",           //LATIN SMALL LETTER E WITH GRAVE
00094 "'e", "::", "é",           //LATIN SMALL LETTER E WITH ACUTE
00095 "^e", "::", "ê",           //LATIN SMALL LETTER E WITH CIRCUMFLEX
00096 "\"e", "::", "ë",          //LATIN SMALL LETTER E WITH DIAERESIS
00097 "`i", "::", "ì",           //LATIN SMALL LETTER I WITH GRAVE
00098 "'i", "::", "í",           //LATIN SMALL LETTER I WITH ACUTE
00099 "^i", "::", "î",           //LATIN SMALL LETTER I WITH CIRCUMFLEX
00100 "\"i", "::", "ï",          //LATIN SMALL LETTER I WITH DIAERESIS
00101 "dh", "::", "ð",           //LATIN SMALL LETTER ETH
00102 "~n", "::", "ñ",           //LATIN SMALL LETTER N WITH TILDE
00103 "`o", "::", "ò",           //LATIN SMALL LETTER O WITH GRAVE
00104 "'o", "::", "ó",           //LATIN SMALL LETTER O WITH ACUTE
00105 "^o", "::", "ô",           //LATIN SMALL LETTER O WITH CIRCUMFLEX
00106 "~o", "::", "õ",           //LATIN SMALL LETTER O WITH TILDE
00107 "\"o", "::", "ö",          //LATIN SMALL LETTER O WITH DIAERESIS
00108 ":-", "-:", "::", "÷",            //DIVISION SIGN
00109 "/o", "::", "ø",           //LATIN SMALL LETTER O WITH STROKE
00110 "`u", "::", "ù",           //LATIN SMALL LETTER U WITH GRAVE
00111 "'u", "::", "ú",           //LATIN SMALL LETTER U WITH ACUTE
00112 "^u", "::", "û",           //LATIN SMALL LETTER U WITH CIRCUMFLEX
00113 "\"u", "::", "ü",          //LATIN SMALL LETTER U WITH DIAERESIS
00114 "'y", "::", "ý",           //LATIN SMALL LETTER Y WITH ACUTE
00115 "th", "::", "þ",           //LATIN SMALL LETTER THORN
00116 "\"y", "::", "ÿ",          //LATIN SMALL LETTER Y WITH DIAERESIS
00117 "_A", "::", "Ā",           //LATIN CAPITAL LETTER A WITH MACRON
00118 "_a", "::", "ā",           //LATIN SMALL LETTER A WITH MACRON
00119 "UA", "bA", "::", "Ă",            //LATIN CAPITAL LETTER A WITH BREVE
00120 "Ua", "ba", "::", "ă",            //LATIN SMALL LETTER A WITH BREVE
00121 ";A", "::", "Ą",           //LATIN CAPITAL LETTER A WITH OGONEK
00122 ";a", "::", "ą",           //LATIN SMALL LETTER A WITH OGONEK
00123 "'C", "::", "Ć",           //LATIN CAPITAL LETTER C WITH ACUTE
00124 "'c", "::", "ć",           //LATIN SMALL LETTER C WITH ACUTE
00125 "^C", "::", "Ĉ",           //LATIN CAPITAL LETTER C WITH CIRCUMFLEX
00126 "^c", "::", "ĉ",           //LATIN SMALL LETTER C WITH CIRCUMFLEX
00127 "cC", "::", "Č",           //LATIN CAPITAL LETTER C WITH CARON
00128 "cc", "::", "č",           //LATIN SMALL LETTER C WITH CARON
00129 "cD", "::", "Ď",           //LATIN CAPITAL LETTER D WITH CARON
00130 "cd", "::", "ď",           //LATIN SMALL LETTER D WITH CARON
00131 "-D", "/D", "::", "Đ",            //Dstroke # LATIN CAPITAL LETTER D WITH STROKE
00132 "-d", "/d", "::", "đ",            //dstroke # LATIN SMALL LETTER D WITH STROKE
00133 "_E", "::", "Ē",           //LATIN CAPITAL LETTER E WITH MACRON
00134 "_e", "::", "ē",           //LATIN SMALL LETTER E WITH MACRON
00135 "UE", "bE", "::", "Ĕ",            //LATIN CAPITAL LETTER E WITH BREVE
00136 "Ue", "be", "::", "ĕ",            //LATIN SMALL LETTER E WITH BREVE
00137 ";E", "::", "Ę",           //LATIN CAPITAL LETTER E WITH OGONEK
00138 ";e", "::", "ę",           //LATIN SMALL LETTER E WITH OGONEK
00139 "cE", "::", "Ě",           //LATIN CAPITAL LETTER E WITH CARON
00140 "ce", "::", "ě",           //LATIN SMALL LETTER E WITH CARON
00141 "^G", "::", "Ĝ",           //LATIN CAPITAL LETTER G WITH CIRCUMFLEX
00142 "^g", "::", "ĝ",           //LATIN SMALL LETTER G WITH CIRCUMFLEX
00143 "UG", "bG", "::", "Ğ",            //LATIN CAPITAL LETTER G WITH BREVE
00144 "Ug", "bg", "::", "ğ",            //LATIN SMALL LETTER G WITH BREVE
00145 ",G", "::", "Ģ",           //LATIN CAPITAL LETTER G WITH CEDILLA
00146 ",g", "::", "ģ",           //LATIN SMALL LETTER G WITH CEDILLA
00147 "^H", "::", "Ĥ",           //LATIN CAPITAL LETTER H WITH CIRCUMFLEX
00148 "^h", "::", "ĥ",           //LATIN SMALL LETTER H WITH CIRCUMFLEX
00149 "/H", "::", "Ħ",           //LATIN CAPITAL LETTER H WITH STROKE
00150 "/h", "::", "ħ",           //LATIN SMALL LETTER H WITH STROKE
00151 "~I", "::", "Ĩ",           //LATIN CAPITAL LETTER I WITH TILDE
00152 "~i", "::", "ĩ",           //LATIN SMALL LETTER I WITH TILDE
00153 "_I", "::", "Ī",           //LATIN CAPITAL LETTER I WITH MACRON
00154 "_i", "::", "ī",           //LATIN SMALL LETTER I WITH MACRON
00155 "UI", "bI", "::", "Ĭ",            //LATIN CAPITAL LETTER I WITH BREVE
00156 "Ui", "bi", "::", "ĭ",            //LATIN SMALL LETTER I WITH BREVE
00157 ";I", "::", "Į",           //LATIN CAPITAL LETTER I WITH OGONEK
00158 ";i", "::", "į",           //LATIN SMALL LETTER I WITH OGONEK
00159 "i.", "::", "ı",           //LATIN SMALL LETTER DOTLESS I
00160 "^J", "::", "Ĵ",           //LATIN CAPITAL LETTER J WITH CIRCUMFLEX
00161 "^j", "::", "ĵ",           //LATIN SMALL LETTER J WITH CIRCUMFLEX
00162 ",K", "::", "Ķ",           //LATIN CAPITAL LETTER K WITH CEDILLA
00163 ",k", "::", "ķ",           //LATIN SMALL LETTER K WITH CEDILLA
00164 "kk", "::", "ĸ",           //LATIN SMALL LETTER KRA
00165 "'L", "::", "Ĺ",           //LATIN CAPITAL LETTER L WITH ACUTE
00166 "'l", "::", "ĺ",           //LATIN SMALL LETTER L WITH ACUTE
00167 ",L", "::", "Ļ",           //LATIN CAPITAL LETTER L WITH CEDILLA
00168 ",l", "::", "ļ",           //LATIN SMALL LETTER L WITH CEDILLA
00169 "cL", "::", "Ľ",           //LATIN CAPITAL LETTER L WITH CARON
00170 "cl", "::", "ľ",           //LATIN SMALL LETTER L WITH CARON
00171 "/L", "::", "Ł",           //LATIN CAPITAL LETTER L WITH STROKE
00172 "/l", "::", "ł",           //LATIN SMALL LETTER L WITH STROKE
00173 "'N", "::", "Ń",           //LATIN CAPITAL LETTER N WITH ACUTE
00174 "'n", "::", "ń",           //LATIN SMALL LETTER N WITH ACUTE
00175 ",N", "::", "Ņ",           //LATIN CAPITAL LETTER N WITH CEDILLA
00176 ",n", "::", "ņ",           //LATIN SMALL LETTER N WITH CEDILLA
00177 "cN", "::", "Ň",           //LATIN CAPITAL LETTER N WITH CARON
00178 "cn", "::", "ň",           //LATIN SMALL LETTER N WITH CARON
00179 "NG", "::", "Ŋ",           //LATIN CAPITAL LETTER ENG
00180 "ng", "::", "ŋ",           //LATIN SMALL LETTER ENG
00181 "_O", "::", "Ō",           //LATIN CAPITAL LETTER O WITH MACRON
00182 "_o", "::", "ō",           //LATIN SMALL LETTER O WITH MACRON
00183 "UO", "bO", "::", "Ŏ",            //LATIN CAPITAL LETTER O WITH BREVE
00184 "Uo", "bo", "::", "ŏ",            //LATIN SMALL LETTER O WITH BREVE
00185 "=O", "::", "Ő",           //LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
00186 "=o", "::", "ő",           //LATIN SMALL LETTER O WITH DOUBLE ACUTE
00187 "OE", "::", "Œ",           //OE # LATIN CAPITAL LIGATURE OE
00188 "oe", "::", "œ",           //oe # LATIN SMALL LIGATURE OE
00189 "'R", "::", "Ŕ",           //LATIN CAPITAL LETTER R WITH ACUTE
00190 "'r", "::", "ŕ",           //LATIN SMALL LETTER R WITH ACUTE
00191 ",R", "::", "Ŗ",           //LATIN CAPITAL LETTER R WITH CEDILLA
00192 ",r", "::", "ŗ",           //LATIN SMALL LETTER R WITH CEDILLA
00193 "cR", "::", "Ř",           //LATIN CAPITAL LETTER R WITH CARON
00194 "cr", "::", "ř",           //LATIN SMALL LETTER R WITH CARON
00195 "'S", "::", "Ś",           //LATIN CAPITAL LETTER S WITH ACUTE
00196 "'s", "::", "ś",           //LATIN SMALL LETTER S WITH ACUTE
00197 "^S", "::", "Ŝ",           //LATIN CAPITAL LETTER S WITH CIRCUMFLEX
00198 "^s", "::", "ŝ",           //LATIN SMALL LETTER S WITH CIRCUMFLEX
00199 ",S", "::", "Ş",           //LATIN CAPITAL LETTER S WITH CEDILLA
00200 ",s", "::", "ş",           //LATIN SMALL LETTER S WITH CEDILLA
00201 "cS", "::", "Š",           //LATIN CAPITAL LETTER S WITH CARON
00202 "cs", "::", "š",           //LATIN SMALL LETTER S WITH CARON
00203 ",T", "::", "Ţ",           //LATIN CAPITAL LETTER T WITH CEDILLA
00204 ",t", "::", "ţ",           //LATIN SMALL LETTER T WITH CEDILLA
00205 "cT", "::", "Ť",           //LATIN CAPITAL LETTER T WITH CARON
00206 "ct", "::", "ť",           //LATIN SMALL LETTER T WITH CARON
00207 "/T", "::", "Ŧ",           //LATIN CAPITAL LETTER T WITH STROKE
00208 "/t", "::", "ŧ",           //LATIN SMALL LETTER T WITH STROKE
00209 "~U", "::", "Ũ",           //LATIN CAPITAL LETTER U WITH TILDE
00210 "~u", "::", "ũ",           //LATIN SMALL LETTER U WITH TILDE
00211 "_U", "::", "Ū",           //LATIN CAPITAL LETTER U WITH MACRON
00212 "_u", "::", "ū",           //LATIN SMALL LETTER U WITH MACRON
00213 "UU", "bU", "::", "Ŭ",            //LATIN CAPITAL LETTER U WITH BREVE
00214 "Uu", "bu", "::", "ŭ",            //LATIN SMALL LETTER U WITH BREVE
00215 "oU", "::", "Ů",           //LATIN CAPITAL LETTER U WITH RING ABOVE
00216 "ou", "::", "ů",           //LATIN SMALL LETTER U WITH RING ABOVE
00217 "=U", "::", "Ű",           //LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
00218 "=u", "::", "ű",           //LATIN SMALL LETTER U WITH DOUBLE ACUTE
00219 ";U", "::", "Ų",           //LATIN CAPITAL LETTER U WITH OGONEK
00220 ";u", "::", "ų",           //LATIN SMALL LETTER U WITH OGONEK
00221 "^W", "::", "Ŵ",           //LATIN CAPITAL LETTER W WITH CIRCUMFLEX
00222 "^w", "::", "ŵ",           //LATIN SMALL LETTER W WITH CIRCUMFLEX
00223 "^Y", "::", "Ŷ",           //LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
00224 "^y", "::", "ŷ",           //LATIN SMALL LETTER Y WITH CIRCUMFLEX
00225 "\"Y", "::", "Ÿ",          //LATIN CAPITAL LETTER Y WITH DIAERESIS
00226 "'Z", "::", "Ź",           //LATIN CAPITAL LETTER Z WITH ACUTE
00227 "'z", "::", "ź",           //LATIN SMALL LETTER Z WITH ACUTE
00228 "cZ", "::", "Ž",           //LATIN CAPITAL LETTER Z WITH CARON
00229 "cz", "::", "ž",           //LATIN SMALL LETTER Z WITH CARON
00230 "fs", "fS", "::", "ſ",            //LATIN SMALL LETTER LONG S
00231 "/b", "::", "ƀ",           //LATIN SMALL LETTER B WITH STROKE
00232 "/I", "::", "Ɨ",           //LATIN CAPITAL LETTER I WITH STROKE
00233 "/Z", "::", "Ƶ",           //LATIN CAPITAL LETTER Z WITH STROKE
00234 "/z", "::", "ƶ",           //LATIN SMALL LETTER Z WITH STROKE
00235 "cA", "::", "Ǎ",           //LATIN CAPITAL LETTER A WITH CARON
00236 "ca", "::", "ǎ",           //LATIN SMALL LETTER A WITH CARON
00237 "cI", "::", "Ǐ",           //LATIN CAPITAL LETTER I WITH CARON
00238 "ci", "::", "ǐ",           //LATIN SMALL LETTER I WITH CARON
00239 "cO", "::", "Ǒ",           //LATIN CAPITAL LETTER O WITH CARON
00240 "co", "::", "ǒ",           //LATIN SMALL LETTER O WITH CARON
00241 "cU", "::", "Ǔ",           //LATIN CAPITAL LETTER U WITH CARON
00242 "cu", "::", "ǔ",           //LATIN SMALL LETTER U WITH CARON
00243 "/G", "::", "Ǥ",           //LATIN CAPITAL LETTER G WITH STROKE
00244 "/g", "::", "ǥ",           //LATIN SMALL LETTER G WITH STROKE
00245 "cG", "::", "Ǧ",           //LATIN CAPITAL LETTER G WITH CARON
00246 "cg", "::", "ǧ",           //LATIN SMALL LETTER G WITH CARON
00247 "cK", "::", "Ǩ",           //LATIN CAPITAL LETTER K WITH CARON
00248 "ck", "::", "ǩ",           //LATIN SMALL LETTER K WITH CARON
00249 ";O", "::", "Ǫ",           //LATIN CAPITAL LETTER O WITH OGONEK
00250 ";o", "::", "ǫ",           //LATIN SMALL LETTER O WITH OGONEK
00251 "cj", "::", "ǰ",           //LATIN SMALL LETTER J WITH CARON
00252 "'G", "::", "Ǵ",           //LATIN CAPITAL LETTER G WITH ACUTE
00253 "'g", "::", "ǵ",           //LATIN SMALL LETTER G WITH ACUTE
00254 "`N", "::", "Ǹ",           //LATIN CAPITAL LETTER N WITH GRAVE
00255 "`n", "::", "ǹ",           //LATIN SMALL LETTER N WITH GRAVE
00256 "cH", "::", "Ȟ",           //LATIN CAPITAL LETTER H WITH CARON
00257 "ch", "::", "ȟ",           //LATIN SMALL LETTER H WITH CARON
00258 ",E", "::", "Ȩ",           //LATIN CAPITAL LETTER E WITH CEDILLA
00259 ",e", "::", "ȩ",           //LATIN SMALL LETTER E WITH CEDILLA
00260 "_Y", "::", "Ȳ",           //LATIN CAPITAL LETTER Y WITH MACRON
00261 "_y", "::", "ȳ",           //LATIN SMALL LETTER Y WITH MACRON
00262 "ee", "::", "ə",           //LATIN SMALL LETTER SCHWA
00263 "/i", "::", "ɨ",           //LATIN SMALL LETTER I WITH STROKE
00264 ",D", "::", "Ḑ",          //LATIN CAPITAL LETTER D WITH CEDILLA
00265 ",d", "::", "ḑ",          //LATIN SMALL LETTER D WITH CEDILLA
00266 "_G", "::", "Ḡ",          //LATIN CAPITAL LETTER G WITH MACRON
00267 "_g", "::", "ḡ",          //LATIN SMALL LETTER G WITH MACRON
00268 "\"H", "::", "Ḧ",         //LATIN CAPITAL LETTER H WITH DIAERESIS
00269 "\"h", "::", "ḧ",         //LATIN SMALL LETTER H WITH DIAERESIS
00270 ",H", "::", "Ḩ",          //LATIN CAPITAL LETTER H WITH CEDILLA
00271 ",h", "::", "ḩ",          //LATIN SMALL LETTER H WITH CEDILLA
00272 "'K", "::", "Ḱ",          //LATIN CAPITAL LETTER K WITH ACUTE
00273 "'k", "::", "ḱ",          //LATIN SMALL LETTER K WITH ACUTE
00274 "'M", "::", "Ḿ",          //LATIN CAPITAL LETTER M WITH ACUTE
00275 "'m", "::", "ḿ",          //LATIN SMALL LETTER M WITH ACUTE
00276 "'P", "::", "Ṕ",          //LATIN CAPITAL LETTER P WITH ACUTE
00277 "'p", "::", "ṕ",          //LATIN SMALL LETTER P WITH ACUTE
00278 "~V", "::", "Ṽ",          //LATIN CAPITAL LETTER V WITH TILDE
00279 "~v", "::", "ṽ",          //LATIN SMALL LETTER V WITH TILDE
00280 "`W", "::", "Ẁ",          //LATIN CAPITAL LETTER W WITH GRAVE
00281 "`w", "::", "ẁ",          //LATIN SMALL LETTER W WITH GRAVE
00282 "'W", "::", "Ẃ",          //LATIN CAPITAL LETTER W WITH ACUTE
00283 "'w", "::", "ẃ",          //LATIN SMALL LETTER W WITH ACUTE
00284 "\"W", "::", "Ẅ",         //LATIN CAPITAL LETTER W WITH DIAERESIS
00285 "\"w", "::", "ẅ",         //LATIN SMALL LETTER W WITH DIAERESIS
00286 "\"X", "::", "Ẍ",         //LATIN CAPITAL LETTER X WITH DIAERESIS
00287 "\"x", "::", "ẍ",         //LATIN SMALL LETTER X WITH DIAERESIS
00288 "^Z", "::", "Ẑ",          //LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
00289 "^z", "::", "ẑ",          //LATIN SMALL LETTER Z WITH CIRCUMFLEX
00290 "\"t", "::", "ẗ",         //LATIN SMALL LETTER T WITH DIAERESIS
00291 "ow", "::", "ẘ",          //LATIN SMALL LETTER W WITH RING ABOVE
00292 "oy", "::", "ẙ",          //LATIN SMALL LETTER Y WITH RING ABOVE
00293 "~E", "::", "Ẽ",          //LATIN CAPITAL LETTER E WITH TILDE
00294 "~e", "::", "ẽ",          //LATIN SMALL LETTER E WITH TILDE
00295 "`Y", "::", "Ỳ",          //LATIN CAPITAL LETTER Y WITH GRAVE
00296 "`y", "::", "ỳ",          //LATIN SMALL LETTER Y WITH GRAVE
00297 "~Y", "::", "Ỹ",          //LATIN CAPITAL LETTER Y WITH TILDE
00298 "~y", "::", "ỹ",          //LATIN SMALL LETTER Y WITH TILDE
00299 " .", "::", " ",          //PUNCTUATION SPACE
00300 "--.", "::", "–",         //EN DASH
00301 "---", "::", "—",         //EM DASH
00302 "<'", "'<", "::", "‘",    //LEFT SINGLE QUOTATION MARK
00303 ">'", "'>", "::", "’",    //RIGHT SINGLE QUOTATION MARK
00304 ",'", "',", "::", "‚",    //SINGLE LOW-9 QUOTATION MARK
00305 "<\"", "\"<", "::", "“",    //LEFT DOUBLE QUOTATION MARK
00306 ">\"", "\">", "::", "”",    //RIGHT DOUBLE QUOTATION MARK
00307 ",\"", "\",", "::", "„",    //DOUBLE LOW-9 QUOTATION MARK
00308 "\%o", "::", "‰",         //PER MILLE SIGN
00309 ".<", "::", "‹",          //SINGLE LEFT-POINTING ANGLE QUOTATION MARK
00310 ".>", "::", "›",          //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
00311 "^0", "::", "⁰",          //SUPERSCRIPT ZERO
00312 "^_i", "::", "ⁱ",         //SUPERSCRIPT LATIN SMALL LETTER I
00313 "^4", "::", "⁴",          //SUPERSCRIPT FOUR
00314 "^5", "::", "⁵",          //SUPERSCRIPT FIVE
00315 "^6", "::", "⁶",          //SUPERSCRIPT SIX
00316 "^7", "::", "⁷",          //SUPERSCRIPT SEVEN
00317 "^8", "::", "⁸",          //SUPERSCRIPT EIGHT
00318 "^9", "::", "⁹",          //SUPERSCRIPT NINE
00319 "^+", "::", "⁺",          //SUPERSCRIPT PLUS SIGN
00320 "^=", "::", "⁼",          //SUPERSCRIPT EQUALS SIGN
00321 "^(", "::", "⁽",          //SUPERSCRIPT LEFT PARENTHESIS
00322 "^)", "::", "⁾",          //SUPERSCRIPT RIGHT PARENTHESIS
00323 "^_n", "::", "ⁿ",         //SUPERSCRIPT LATIN SMALL LETTER N
00324 "_0", "::", "₀",          //SUBSCRIPT ZERO
00325 "_1", "::", "₁",          //SUBSCRIPT ONE
00326 "_2", "::", "₂",          //SUBSCRIPT TWO
00327 "_3", "::", "₃",          //SUBSCRIPT THREE
00328 "_4", "::", "₄",          //SUBSCRIPT FOUR
00329 "_5", "::", "₅",          //SUBSCRIPT FIVE
00330 "_6", "::", "₆",          //SUBSCRIPT SIX
00331 "_7", "::", "₇",          //SUBSCRIPT SEVEN
00332 "_8", "::", "₈",          //SUBSCRIPT EIGHT
00333 "_9", "::", "₉",          //SUBSCRIPT NINE
00334 "_+", "::", "₊",          //SUBSCRIPT PLUS SIGN
00335 "_=", "::", "₌",          //SUBSCRIPT EQUALS SIGN
00336 "_(", "::", "₍",          //SUBSCRIPT LEFT PARENTHESIS
00337 "_)", "::", "₎",          //SUBSCRIPT RIGHT PARENTHESIS
00338 "CE", "::", "₠",          //EURO-CURRENCY SIGN
00339 "C/", "/C", "::", "₡",           //COLON SIGN
00340 "Cr", "::", "₢",          //CRUZEIRO SIGN
00341 "Fr", "::", "₣",          //FRENCH FRANC SIGN
00342 "L=", "=L", "::", "₤",           //LIRA SIGN
00343 "m/", "/m", "::", "₥",           //MILL SIGN
00344 "N=", "=N", "::", "₦",           //NAIRA SIGN
00345 "Pt", "::", "₧",          //PESETA SIGN
00346 "Rs", "::", "₨",          //RUPEE SIGN
00347 "W=", "=W", "::", "₩",           //WON SIGN
00348 "d-", "::", "₫",          //DONG SIGN
00349 "C=", "=C", "c=", "=c", "E=", "=E", "::", "€",        //EuroSign # EURO SIGN
00350 "^TM", "::", "™",         //TRADE MARK SIGN
00351 "\"\\", "::", "〝",      //REVERSED DOUBLE PRIME QUOTATION MARK
00352 "\"/", "::", "〞",       //DOUBLE PRIME QUOTATION MARK
00353 "\0"              //NULL so we know when to end
00354 };
00355 
00356 /* 
00357  * These are a mapping between dead keys and its composition sequence
00358  * All NULL chars dont match anything as of yet. To be filled in later
00359  */
00360 static const char dead_keys_map[20] = {
00361 '`',    //XK_dead_grave
00362 '\'',   //XK_dead_acute
00363 '^',    //XK_dead_circumflex
00364 '~',    //XK_dead_tilde
00365 '_',    //XK_dead_macron
00366 'b',    //XK_dead_breve
00367 '\0',   //XK_dead_abovedot
00368 '"',    //XK_dead_diaeresis
00369 'o',    //XK_dead_abovering
00370 '=',    //XK_dead_doubleacute
00371 'c',    //XK_dead_caron
00372 ',',    //XK_dead_cedilla 
00373 ';',    //XK_dead_ogonek
00374 '\0',   //XK_dead_iota
00375 '\0',   //XK_dead_voiced_sound
00376 '\0',   //XK_dead_semivoiced_sound
00377 '\0',   //XK_dead_belowdot
00378 '\0',   //XK_dead_hook
00379 '\0',   //XK_dead_horn
00380 '\\'    //XK_dead_stroke
00381 };