Skip to content

Instantly share code, notes, and snippets.

@kana-sama
Created April 26, 2017 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kana-sama/173127fd0fd5049089091586f2448433 to your computer and use it in GitHub Desktop.
Save kana-sama/173127fd0fd5049089091586f2448433 to your computer and use it in GitHub Desktop.
Vim-like digraphs support for browser
// ==UserScript==
// @name Digraphs
// @namespace https://kolesnichenkods.github.io
// @version 0.2
// @description Vim-like digraphs support in the browser
// @author Daniil Kolesnichenko
// @match *://*/*
// @grant none
// @require https://code.jquery.com/jquery-latest.js
// @require https://raw.githubusercontent.com/timdown/rangyinputs/master/rangyinputs-jquery.js
// ==/UserScript==
(function() {
'use strict';
const DEBUG = true,
debug = (...args) => {
if (DEBUG) console.info(...args);
}
const digraphs = {
"SP": "\u0020",
"Nb": "\u0023",
"DO": "\u0024",
"At": "\u0040",
"<(": "\u005b",
"//": "\u005c",
")>": "\u005d",
"'>": "\u005e",
"'!": "\u0060",
"(!": "\u007b",
"!!": "\u007c",
"!)": "\u007d",
"'?": "\u007e",
"NS": "\u00a0",
"!I": "\u00a1",
"Ct": "\u00a2",
"Pd": "\u00a3",
"Cu": "\u00a4",
"Ye": "\u00a5",
"BB": "\u00a6",
"SE": "\u00a7",
"':": "\u00a8",
"Co": "\u00a9",
"-a": "\u00aa",
"<<": "\u00ab",
"NO": "\u00ac",
"--": "\u00ad",
"Rg": "\u00ae",
"'m": "\u00af",
"DG": "\u00b0",
"+-": "\u00b1",
"2S": "\u00b2",
"3S": "\u00b3",
"''": "\u00b4",
"My": "\u00b5",
"PI": "\u00b6",
".M": "\u00b7",
"',": "\u00b8",
"1S": "\u00b9",
"-o": "\u00ba",
">>": "\u00bb",
"14": "\u00bc",
"12": "\u00bd",
"34": "\u00be",
"?I": "\u00bf",
"A!": "\u00c0",
"A'": "\u00c1",
"A>": "\u00c2",
"A?": "\u00c3",
"A:": "\u00c4",
"AA": "\u00c5",
"AE": "\u00c6",
"C,": "\u00c7",
"E!": "\u00c8",
"E'": "\u00c9",
"E>": "\u00ca",
"E:": "\u00cb",
"I!": "\u00cc",
"I'": "\u00cd",
"I>": "\u00ce",
"I:": "\u00cf",
"D-": "\u00d0",
"N?": "\u00d1",
"O!": "\u00d2",
"O'": "\u00d3",
"O>": "\u00d4",
"O?": "\u00d5",
"O:": "\u00d6",
"*X": "\u00d7",
"O/": "\u00d8",
"U!": "\u00d9",
"U'": "\u00da",
"U>": "\u00db",
"U:": "\u00dc",
"Y'": "\u00dd",
"TH": "\u00de",
"ss": "\u00df",
"a!": "\u00e0",
"a'": "\u00e1",
"a>": "\u00e2",
"a?": "\u00e3",
"a:": "\u00e4",
"aa": "\u00e5",
"ae": "\u00e6",
"c,": "\u00e7",
"e!": "\u00e8",
"e'": "\u00e9",
"e>": "\u00ea",
"e:": "\u00eb",
"i!": "\u00ec",
"i'": "\u00ed",
"i>": "\u00ee",
"i:": "\u00ef",
"d-": "\u00f0",
"n?": "\u00f1",
"o!": "\u00f2",
"o'": "\u00f3",
"o>": "\u00f4",
"o?": "\u00f5",
"o:": "\u00f6",
"-:": "\u00f7",
"o/": "\u00f8",
"u!": "\u00f9",
"u'": "\u00fa",
"u>": "\u00fb",
"u:": "\u00fc",
"y'": "\u00fd",
"th": "\u00fe",
"y:": "\u00ff",
"A-": "\u0100",
"a-": "\u0101",
"A(": "\u0102",
"a(": "\u0103",
"A;": "\u0104",
"a;": "\u0105",
"C'": "\u0106",
"c'": "\u0107",
"C>": "\u0108",
"c>": "\u0109",
"C.": "\u010a",
"c.": "\u010b",
"C<": "\u010c",
"c<": "\u010d",
"D<": "\u010e",
"d<": "\u010f",
"D/": "\u0110",
"d/": "\u0111",
"E-": "\u0112",
"e-": "\u0113",
"E(": "\u0114",
"e(": "\u0115",
"E.": "\u0116",
"e.": "\u0117",
"E;": "\u0118",
"e;": "\u0119",
"E<": "\u011a",
"e<": "\u011b",
"G>": "\u011c",
"g>": "\u011d",
"G(": "\u011e",
"g(": "\u011f",
"G.": "\u0120",
"g.": "\u0121",
"G,": "\u0122",
"g,": "\u0123",
"H>": "\u0124",
"h>": "\u0125",
"H/": "\u0126",
"h/": "\u0127",
"I?": "\u0128",
"i?": "\u0129",
"I-": "\u012a",
"i-": "\u012b",
"I(": "\u012c",
"i(": "\u012d",
"I;": "\u012e",
"i;": "\u012f",
"I.": "\u0130",
"i.": "\u0131",
"IJ": "\u0132",
"ij": "\u0133",
"J>": "\u0134",
"j>": "\u0135",
"K,": "\u0136",
"k,": "\u0137",
"kk": "\u0138",
"L'": "\u0139",
"l'": "\u013a",
"L,": "\u013b",
"l,": "\u013c",
"L<": "\u013d",
"l<": "\u013e",
"L.": "\u013f",
"l.": "\u0140",
"L/": "\u0141",
"l/": "\u0142",
"N'": "\u0143",
"n'": "\u0144",
"N,": "\u0145",
"n,": "\u0146",
"N<": "\u0147",
"n<": "\u0148",
"'n": "\u0149",
"NG": "\u014a",
"ng": "\u014b",
"O-": "\u014c",
"o-": "\u014d",
"O(": "\u014e",
"o(": "\u014f",
"O\"": "\u0150",
"o\"": "\u0151",
"OE": "\u0152",
"oe": "\u0153",
"R'": "\u0154",
"r'": "\u0155",
"R,": "\u0156",
"r,": "\u0157",
"R<": "\u0158",
"r<": "\u0159",
"S'": "\u015a",
"s'": "\u015b",
"S>": "\u015c",
"s>": "\u015d",
"S,": "\u015e",
"s,": "\u015f",
"S<": "\u0160",
"s<": "\u0161",
"T,": "\u0162",
"t,": "\u0163",
"T<": "\u0164",
"t<": "\u0165",
"T/": "\u0166",
"t/": "\u0167",
"U?": "\u0168",
"u?": "\u0169",
"U-": "\u016a",
"u-": "\u016b",
"U(": "\u016c",
"u(": "\u016d",
"U0": "\u016e",
"u0": "\u016f",
"U\"": "\u0170",
"u\"": "\u0171",
"U;": "\u0172",
"u;": "\u0173",
"W>": "\u0174",
"w>": "\u0175",
"Y>": "\u0176",
"y>": "\u0177",
"Y:": "\u0178",
"Z'": "\u0179",
"z'": "\u017a",
"Z.": "\u017b",
"z.": "\u017c",
"Z<": "\u017d",
"z<": "\u017e",
"O9": "\u01a0",
"o9": "\u01a1",
"OI": "\u01a2",
"oi": "\u01a3",
"yr": "\u01a6",
"U9": "\u01af",
"u9": "\u01b0",
"Z/": "\u01b5",
"z/": "\u01b6",
"ED": "\u01b7",
"A<": "\u01cd",
"a<": "\u01ce",
"I<": "\u01cf",
"i<": "\u01d0",
"O<": "\u01d1",
"o<": "\u01d2",
"U<": "\u01d3",
"u<": "\u01d4",
"U:-": "\u01d5",
"u:-": "\u01d6",
"U:'": "\u01d7",
"u:'": "\u01d8",
"U:<": "\u01d9",
"u:<": "\u01da",
"U:!": "\u01db",
"u:!": "\u01dc",
"A1": "\u01de",
"a1": "\u01df",
"A7": "\u01e0",
"a7": "\u01e1",
"A3": "\u01e2",
"a3": "\u01e3",
"G/": "\u01e4",
"g/": "\u01e5",
"G<": "\u01e6",
"g<": "\u01e7",
"K<": "\u01e8",
"k<": "\u01e9",
"O;": "\u01ea",
"o;": "\u01eb",
"O1": "\u01ec",
"o1": "\u01ed",
"EZ": "\u01ee",
"ez": "\u01ef",
"j<": "\u01f0",
"G'": "\u01f4",
"g'": "\u01f5",
"AA'": "\u01fa",
"aa'": "\u01fb",
"AE'": "\u01fc",
"ae'": "\u01fd",
"O/'": "\u01fe",
"o/'": "\u01ff",
";S": "\u02bf",
"'<": "\u02c7",
"'(": "\u02d8",
"'.": "\u02d9",
"'0": "\u02da",
"';": "\u02db",
"'\"": "\u02dd",
"A%": "\u0386",
"E%": "\u0388",
"Y%": "\u0389",
"I%": "\u038a",
"O%": "\u038c",
"U%": "\u038e",
"W%": "\u038f",
"i3": "\u0390",
"A*": "\u0391",
"B*": "\u0392",
"G*": "\u0393",
"D*": "\u0394",
"E*": "\u0395",
"Z*": "\u0396",
"Y*": "\u0397",
"H*": "\u0398",
"I*": "\u0399",
"K*": "\u039a",
"L*": "\u039b",
"M*": "\u039c",
"N*": "\u039d",
"C*": "\u039e",
"O*": "\u039f",
"P*": "\u03a0",
"R*": "\u03a1",
"S*": "\u03a3",
"T*": "\u03a4",
"U*": "\u03a5",
"F*": "\u03a6",
"X*": "\u03a7",
"Q*": "\u03a8",
"W*": "\u03a9",
"J*": "\u03aa",
"V*": "\u03ab",
"a%": "\u03ac",
"e%": "\u03ad",
"y%": "\u03ae",
"i%": "\u03af",
"u3": "\u03b0",
"a*": "\u03b1",
"b*": "\u03b2",
"g*": "\u03b3",
"d*": "\u03b4",
"e*": "\u03b5",
"z*": "\u03b6",
"y*": "\u03b7",
"h*": "\u03b8",
"i*": "\u03b9",
"k*": "\u03ba",
"l*": "\u03bb",
"m*": "\u03bc",
"n*": "\u03bd",
"c*": "\u03be",
"o*": "\u03bf",
"p*": "\u03c0",
"r*": "\u03c1",
"*s": "\u03c2",
"s*": "\u03c3",
"t*": "\u03c4",
"u*": "\u03c5",
"f*": "\u03c6",
"x*": "\u03c7",
"q*": "\u03c8",
"w*": "\u03c9",
"j*": "\u03ca",
"v*": "\u03cb",
"o%": "\u03cc",
"u%": "\u03cd",
"w%": "\u03ce",
"'G": "\u03d8",
",G": "\u03d9",
"T3": "\u03da",
"t3": "\u03db",
"M3": "\u03dc",
"m3": "\u03dd",
"K3": "\u03de",
"k3": "\u03df",
"P3": "\u03e0",
"p3": "\u03e1",
"'%": "\u03f4",
"j3": "\u03f5",
"IO": "\u0401",
"D%": "\u0402",
"G%": "\u0403",
"IE": "\u0404",
"DS": "\u0405",
"II": "\u0406",
"YI": "\u0407",
"J%": "\u0408",
"LJ": "\u0409",
"NJ": "\u040a",
"Ts": "\u040b",
"KJ": "\u040c",
"V%": "\u040e",
"DZ": "\u040f",
"A=": "\u0410",
"B=": "\u0411",
"V=": "\u0412",
"G=": "\u0413",
"D=": "\u0414",
"E=": "\u0415",
"Z%": "\u0416",
"Z=": "\u0417",
"I=": "\u0418",
"J=": "\u0419",
"K=": "\u041a",
"L=": "\u041b",
"M=": "\u041c",
"N=": "\u041d",
"O=": "\u041e",
"P=": "\u041f",
"R=": "\u0420",
"S=": "\u0421",
"T=": "\u0422",
"U=": "\u0423",
"F=": "\u0424",
"H=": "\u0425",
"C=": "\u0426",
"C%": "\u0427",
"S%": "\u0428",
"Sc": "\u0429",
"=\"": "\u042a",
"Y=": "\u042b",
"%\"": "\u042c",
"JE": "\u042d",
"JU": "\u042e",
"JA": "\u042f",
"a=": "\u0430",
"b=": "\u0431",
"v=": "\u0432",
"g=": "\u0433",
"d=": "\u0434",
"e=": "\u0435",
"z%": "\u0436",
"z=": "\u0437",
"i=": "\u0438",
"j=": "\u0439",
"k=": "\u043a",
"l=": "\u043b",
"m=": "\u043c",
"n=": "\u043d",
"o=": "\u043e",
"p=": "\u043f",
"r=": "\u0440",
"s=": "\u0441",
"t=": "\u0442",
"u=": "\u0443",
"f=": "\u0444",
"h=": "\u0445",
"c=": "\u0446",
"c%": "\u0447",
"s%": "\u0448",
"sc": "\u0449",
"='": "\u044a",
"y=": "\u044b",
"%'": "\u044c",
"je": "\u044d",
"ju": "\u044e",
"ja": "\u044f",
"io": "\u0451",
"d%": "\u0452",
"g%": "\u0453",
"ie": "\u0454",
"ds": "\u0455",
"ii": "\u0456",
"yi": "\u0457",
"j%": "\u0458",
"lj": "\u0459",
"nj": "\u045a",
"ts": "\u045b",
"kj": "\u045c",
"v%": "\u045e",
"dz": "\u045f",
"Y3": "\u0462",
"y3": "\u0463",
"O3": "\u046a",
"o3": "\u046b",
"F3": "\u0472",
"f3": "\u0473",
"V3": "\u0474",
"v3": "\u0475",
"C3": "\u0480",
"c3": "\u0481",
"G3": "\u0490",
"g3": "\u0491",
"A+": "\u05d0",
"B+": "\u05d1",
"G+": "\u05d2",
"D+": "\u05d3",
"H+": "\u05d4",
"W+": "\u05d5",
"Z+": "\u05d6",
"X+": "\u05d7",
"Tj": "\u05d8",
"J+": "\u05d9",
"K%": "\u05da",
"K+": "\u05db",
"L+": "\u05dc",
"M%": "\u05dd",
"M+": "\u05de",
"N%": "\u05df",
"N+": "\u05e0",
"S+": "\u05e1",
"E+": "\u05e2",
"P%": "\u05e3",
"P+": "\u05e4",
"Zj": "\u05e5",
"ZJ": "\u05e6",
"Q+": "\u05e7",
"R+": "\u05e8",
"Sh": "\u05e9",
"T+": "\u05ea",
",+": "\u060c",
";+": "\u061b",
"?+": "\u061f",
"H'": "\u0621",
"aM": "\u0622",
"aH": "\u0623",
"wH": "\u0624",
"ah": "\u0625",
"yH": "\u0626",
"a+": "\u0627",
"b+": "\u0628",
"tm": "\u0629",
"t+": "\u062a",
"tk": "\u062b",
"g+": "\u062c",
"hk": "\u062d",
"x+": "\u062e",
"d+": "\u062f",
"dk": "\u0630",
"r+": "\u0631",
"z+": "\u0632",
"s+": "\u0633",
"sn": "\u0634",
"c+": "\u0635",
"dd": "\u0636",
"tj": "\u0637",
"zH": "\u0638",
"e+": "\u0639",
"i+": "\u063a",
"++": "\u0640",
"f+": "\u0641",
"q+": "\u0642",
"k+": "\u0643",
"l+": "\u0644",
"m+": "\u0645",
"n+": "\u0646",
"h+": "\u0647",
"w+": "\u0648",
"j+": "\u0649",
"y+": "\u064a",
":+": "\u064b",
"\"+": "\u064c",
"=+": "\u064d",
"/+": "\u064e",
"'+": "\u064f",
"1+": "\u0650",
"3+": "\u0651",
"0+": "\u0652",
"aS": "\u0670",
"p+": "\u067e",
"v+": "\u06a4",
"gf": "\u06af",
"0a": "\u06f0",
"1a": "\u06f1",
"2a": "\u06f2",
"3a": "\u06f3",
"4a": "\u06f4",
"5a": "\u06f5",
"6a": "\u06f6",
"7a": "\u06f7",
"8a": "\u06f8",
"9a": "\u06f9",
"A-0": "\u1e00",
"a-0": "\u1e01",
"B.": "\u1e02",
"b.": "\u1e03",
"B-.": "\u1e04",
"b-.": "\u1e05",
"B_": "\u1e06",
"b_": "\u1e07",
"C,'": "\u1e08",
"c,'": "\u1e09",
"D.": "\u1e0a",
"d.": "\u1e0b",
"D-.": "\u1e0c",
"d-.": "\u1e0d",
"D_": "\u1e0e",
"d_": "\u1e0f",
"D,": "\u1e10",
"d,": "\u1e11",
"D->": "\u1e12",
"d->": "\u1e13",
"E-!": "\u1e14",
"e-!": "\u1e15",
"E-'": "\u1e16",
"e-'": "\u1e17",
"E->": "\u1e18",
"e->": "\u1e19",
"E-?": "\u1e1a",
"e-?": "\u1e1b",
"E,(": "\u1e1c",
"e,(": "\u1e1d",
"F.": "\u1e1e",
"f.": "\u1e1f",
"G-": "\u1e20",
"g-": "\u1e21",
"H.": "\u1e22",
"h.": "\u1e23",
"H-.": "\u1e24",
"h-.": "\u1e25",
"H:": "\u1e26",
"h:": "\u1e27",
"H,": "\u1e28",
"h,": "\u1e29",
"H-(": "\u1e2a",
"h-(": "\u1e2b",
"I-?": "\u1e2c",
"i-?": "\u1e2d",
"I:'": "\u1e2e",
"i:'": "\u1e2f",
"K'": "\u1e30",
"k'": "\u1e31",
"K-.": "\u1e32",
"k-.": "\u1e33",
"K_": "\u1e34",
"k_": "\u1e35",
"L-.": "\u1e36",
"l-.": "\u1e37",
"L--.": "\u1e38",
"l--.": "\u1e39",
"L_": "\u1e3a",
"l_": "\u1e3b",
"L->": "\u1e3c",
"l->": "\u1e3d",
"M'": "\u1e3e",
"m'": "\u1e3f",
"M.": "\u1e40",
"m.": "\u1e41",
"M-.": "\u1e42",
"m-.": "\u1e43",
"N.": "\u1e44",
"n.": "\u1e45",
"N-.": "\u1e46",
"n-.": "\u1e47",
"N_": "\u1e48",
"n_": "\u1e49",
"N->": "\u1e4a",
"N->": "\u1e4b",
"O?'": "\u1e4c",
"o?'": "\u1e4d",
"O?:": "\u1e4e",
"o?:": "\u1e4f",
"O-!": "\u1e50",
"o-!": "\u1e51",
"O-'": "\u1e52",
"o-'": "\u1e53",
"P'": "\u1e54",
"p'": "\u1e55",
"P.": "\u1e56",
"p.": "\u1e57",
"R.": "\u1e58",
"r.": "\u1e59",
"R-.": "\u1e5a",
"r-.": "\u1e5b",
"R--.": "\u1e5c",
"r--.": "\u1e5d",
"R_": "\u1e5e",
"r_": "\u1e5f",
"S.": "\u1e60",
"s.": "\u1e61",
"S-.": "\u1e62",
"s-.": "\u1e63",
"S'.": "\u1e64",
"s'.": "\u1e65",
"S<.": "\u1e66",
"s<.": "\u1e67",
"S.-.": "\u1e68",
"S.-.": "\u1e69",
"T.": "\u1e6a",
"t.": "\u1e6b",
"T-.": "\u1e6c",
"t-.": "\u1e6d",
"T_": "\u1e6e",
"t_": "\u1e6f",
"T->": "\u1e70",
"t->": "\u1e71",
"U--:": "\u1e72",
"u--:": "\u1e73",
"U-?": "\u1e74",
"u-?": "\u1e75",
"U->": "\u1e76",
"u->": "\u1e77",
"U?'": "\u1e78",
"u?'": "\u1e79",
"U-:": "\u1e7a",
"u-:": "\u1e7b",
"V?": "\u1e7c",
"v?": "\u1e7d",
"V-.": "\u1e7e",
"v-.": "\u1e7f",
"W!": "\u1e80",
"w!": "\u1e81",
"W'": "\u1e82",
"w'": "\u1e83",
"W:": "\u1e84",
"w:": "\u1e85",
"W.": "\u1e86",
"w.": "\u1e87",
"W-.": "\u1e88",
"w-.": "\u1e89",
"X.": "\u1e8a",
"x.": "\u1e8b",
"X:": "\u1e8c",
"x:": "\u1e8d",
"Y.": "\u1e8e",
"y.": "\u1e8f",
"Z>": "\u1e90",
"z>": "\u1e91",
"Z-.": "\u1e92",
"z-.": "\u1e93",
"Z_": "\u1e94",
"z_": "\u1e95",
"h_": "\u1e96",
"t:": "\u1e97",
"w0": "\u1e98",
"y0": "\u1e99",
"A-.": "\u1ea0",
"a-.": "\u1ea1",
"A2": "\u1ea2",
"a2": "\u1ea3",
"A>'": "\u1ea4",
"a>'": "\u1ea5",
"A>!": "\u1ea6",
"a>!": "\u1ea7",
"A>2": "\u1ea8",
"a>2": "\u1ea9",
"A>?": "\u1eaa",
"a>?": "\u1eab",
"A>-.": "\u1eac",
"a>-.": "\u1ead",
"A('": "\u1eae",
"a('": "\u1eaf",
"A(!": "\u1eb0",
"a(!": "\u1eb1",
"A(2": "\u1eb2",
"a(2": "\u1eb3",
"A(?": "\u1eb4",
"a(?": "\u1eb5",
"A(-.": "\u1eb6",
"a(-.": "\u1eb7",
"E-.": "\u1eb8",
"e-.": "\u1eb9",
"E2": "\u1eba",
"e2": "\u1ebb",
"E?": "\u1ebc",
"e?": "\u1ebd",
"E>'": "\u1ebe",
"e>'": "\u1ebf",
"E>!": "\u1ec0",
"e>!": "\u1ec1",
"E>2": "\u1ec2",
"e>2": "\u1ec3",
"E>?": "\u1ec4",
"e>?": "\u1ec5",
"E>-.": "\u1ec6",
"e>-.": "\u1ec7",
"I2": "\u1ec8",
"i2": "\u1ec9",
"I-.": "\u1eca",
"i-.": "\u1ecb",
"O-.": "\u1ecc",
"o-.": "\u1ecd",
"O2": "\u1ece",
"o2": "\u1ecf",
"O>'": "\u1ed0",
"o>'": "\u1ed1",
"O>!": "\u1ed2",
"o>!": "\u1ed3",
"O>2": "\u1ed4",
"o>2": "\u1ed5",
"O>?": "\u1ed6",
"o>?": "\u1ed7",
"O>-.": "\u1ed8",
"o>-.": "\u1ed9",
"O9'": "\u1eda",
"o9'": "\u1edb",
"O9!": "\u1edc",
"o9!": "\u1edd",
"O92": "\u1ede",
"o92": "\u1edf",
"O9?": "\u1ee0",
"o9?": "\u1ee1",
"O9-.": "\u1ee2",
"o9-.": "\u1ee3",
"U-.": "\u1ee4",
"u-.": "\u1ee5",
"U2": "\u1ee6",
"u2": "\u1ee7",
"U9'": "\u1ee8",
"u9'": "\u1ee9",
"U9!": "\u1eea",
"u9!": "\u1eeb",
"U92": "\u1eec",
"u92": "\u1eed",
"U9?": "\u1eee",
"u9?": "\u1eef",
"U9-.": "\u1ef0",
"u9-.": "\u1ef1",
"Y!": "\u1ef2",
"y!": "\u1ef3",
"Y-.": "\u1ef4",
"y-.": "\u1ef5",
"Y2": "\u1ef6",
"y2": "\u1ef7",
"Y?": "\u1ef8",
"y?": "\u1ef9",
";'": "\u1f00",
",'": "\u1f01",
";!": "\u1f02",
",!": "\u1f03",
"?;": "\u1f04",
"?,": "\u1f05",
"!:": "\u1f06",
"?:": "\u1f07",
"1N": "\u2002",
"1M": "\u2003",
"3M": "\u2004",
"4M": "\u2005",
"6M": "\u2006",
"1T": "\u2009",
"1H": "\u200a",
"-1": "\u2010",
"-N": "\u2013",
"-M": "\u2014",
"-3": "\u2015",
"!2": "\u2016",
"=2": "\u2017",
"'6": "\u2018",
"'9": "\u2019",
".9": "\u201a",
"9'": "\u201b",
"\"6": "\u201c",
"\"9": "\u201d",
":9": "\u201e",
"9\"": "\u201f",
"/-": "\u2020",
"/=": "\u2021",
"..": "\u2025",
"%0": "\u2030",
"1'": "\u2032",
"2'": "\u2033",
"3'": "\u2034",
"1\"": "\u2035",
"2\"": "\u2036",
"3\"": "\u2037",
"Ca": "\u2038",
"<1": "\u2039",
">1": "\u203a",
":X": "\u203b",
"!*2": "\u203c",
"'-": "\u203e",
"/f": "\u2044",
"0S": "\u2070",
"4S": "\u2074",
"5S": "\u2075",
"6S": "\u2076",
"7S": "\u2077",
"8S": "\u2078",
"9S": "\u2079",
"+S": "\u207a",
"-S": "\u207b",
"=S": "\u207c",
"(S": "\u207d",
")S": "\u207e",
"nS": "\u207f",
"0s": "\u2080",
"1s": "\u2081",
"2s": "\u2082",
"3s": "\u2083",
"4s": "\u2084",
"5s": "\u2085",
"6s": "\u2086",
"7s": "\u2087",
"8s": "\u2088",
"9s": "\u2089",
"+s": "\u208a",
"-s": "\u208b",
"=s": "\u208c",
"(s": "\u208d",
")s": "\u208e",
"Li": "\u20a4",
"Pt": "\u20a7",
"W=": "\u20a9",
"oC": "\u2103",
"co": "\u2105",
"oF": "\u2109",
"N0": "\u2116",
"PO": "\u2117",
"Rx": "\u211e",
"SM": "\u2120",
"TM": "\u2122",
"Om": "\u2126",
"AO": "\u212b",
"13": "\u2153",
"23": "\u2154",
"15": "\u2155",
"25": "\u2156",
"35": "\u2157",
"45": "\u2158",
"16": "\u2159",
"56": "\u215a",
"18": "\u215b",
"38": "\u215c",
"58": "\u215d",
"78": "\u215e",
"1R": "\u2160",
"2R": "\u2161",
"3R": "\u2162",
"4R": "\u2163",
"5R": "\u2164",
"6R": "\u2165",
"7R": "\u2166",
"8R": "\u2167",
"9R": "\u2168",
"aR": "\u2169",
"bR": "\u216a",
"cR": "\u216b",
"50R": "\u216c",
"100R": "\u216d",
"500R": "\u216e",
"1000R": "\u216f",
"1r": "\u2170",
"2r": "\u2171",
"3r": "\u2172",
"4r": "\u2173",
"5r": "\u2174",
"6r": "\u2175",
"7r": "\u2176",
"8r": "\u2177",
"9r": "\u2178",
"ar": "\u2179",
"br": "\u217a",
"cr": "\u217b",
"50r": "\u217c",
"100r": "\u217d",
"500r": "\u217e",
"1000r": "\u217f",
"1000RCD": "\u2180",
"5000R": "\u2181",
"10000R": "\u2182",
"<-": "\u2190",
"-!": "\u2191",
"->": "\u2192",
"-v": "\u2193",
"<>": "\u2194",
"UD": "\u2195",
"<!!": "\u2196",
"//>": "\u2197",
"!!>": "\u2198",
"<//": "\u2199",
"<=": "\u21d0",
"=>": "\u21d2",
"==": "\u21d4",
"FA": "\u2200",
"dP": "\u2202",
"TE": "\u2203",
"/0": "\u2205",
"DE": "\u2206",
"NB": "\u2207",
"(-": "\u2208",
"-)": "\u220b",
"*P": "\u220f",
"+Z": "\u2211",
"-2": "\u2212",
"-+": "\u2213",
"*-": "\u2217",
"Ob": "\u2218",
"Sb": "\u2219",
"RT": "\u221a",
"0(": "\u221d",
"00": "\u221e",
"-L": "\u221f",
"-V": "\u2220",
"PP": "\u2225",
"AN": "\u2227",
"OR": "\u2228",
"(U": "\u2229",
")U": "\u222a",
"In": "\u222b",
"DI": "\u222c",
"Io": "\u222e",
".:": "\u2234",
":.": "\u2235",
":R": "\u2236",
"::": "\u2237",
"?1": "\u223c",
"CG": "\u223e",
"?-": "\u2243",
"?=": "\u2245",
"?2": "\u2248",
"=?": "\u224c",
"HI": "\u2253",
"!=": "\u2260",
"=3": "\u2261",
"=<": "\u2264",
">=": "\u2265",
"<*": "\u226a",
"*>": "\u226b",
"!<": "\u226e",
"!>": "\u226f",
"(C": "\u2282",
")C": "\u2283",
"(_": "\u2286",
")_": "\u2287",
"0.": "\u2299",
"02": "\u229a",
"-T": "\u22a5",
".P": "\u22c5",
":3": "\u22ee",
".3": "\u22ef",
"Eh": "\u2302",
"<7": "\u2308",
">7": "\u2309",
"7<": "\u230a",
"7>": "\u230b",
"NI": "\u2310",
"(A": "\u2312",
"TR": "\u2315",
"Iu": "\u2320",
"Il": "\u2321",
"</": "\u2329",
"/>": "\u232a",
"Vs": "\u2423",
"1h": "\u2440",
"3h": "\u2441",
"2h": "\u2442",
"4h": "\u2443",
"1j": "\u2446",
"2j": "\u2447",
"3j": "\u2448",
"4j": "\u2449",
"1-o": "\u2460",
"2-o": "\u2461",
"3-o": "\u2462",
"4-o": "\u2463",
"5-o": "\u2464",
"6-o": "\u2465",
"7-o": "\u2466",
"8-o": "\u2467",
"9-o": "\u2468",
"10-o": "\u2469",
"11-o": "\u246a",
"12-o": "\u246b",
"13-o": "\u246c",
"14-o": "\u246d",
"15-o": "\u246e",
"16-o": "\u246f",
"17-o": "\u2470",
"18-o": "\u2471",
"19-o": "\u2472",
"20-o": "\u2473",
"(1)": "\u2474",
"(2)": "\u2475",
"(3)": "\u2476",
"(4)": "\u2477",
"(5)": "\u2478",
"(6)": "\u2479",
"(7)": "\u247a",
"(8)": "\u247b",
"(9)": "\u247c",
"(10)": "\u247d",
"(11)": "\u247e",
"(12)": "\u247f",
"(13)": "\u2480",
"(14)": "\u2481",
"(15)": "\u2482",
"(16)": "\u2483",
"(17)": "\u2484",
"(18)": "\u2485",
"(19)": "\u2486",
"(20)": "\u2487",
"1.": "\u2488",
"2.": "\u2489",
"3.": "\u248a",
"4.": "\u248b",
"5.": "\u248c",
"6.": "\u248d",
"7.": "\u248e",
"8.": "\u248f",
"9.": "\u2490",
"10.": "\u2491",
"11.": "\u2492",
"12.": "\u2493",
"13.": "\u2494",
"14.": "\u2495",
"15.": "\u2496",
"16.": "\u2497",
"17.": "\u2498",
"18.": "\u2499",
"19.": "\u249a",
"20.": "\u249b",
"(a)": "\u249c",
"(b)": "\u249d",
"(c)": "\u249e",
"(d)": "\u249f",
"(e)": "\u24a0",
"(f)": "\u24a1",
"(g)": "\u24a2",
"(h)": "\u24a3",
"(i)": "\u24a4",
"(j)": "\u24a5",
"(k)": "\u24a6",
"(l)": "\u24a7",
"(m)": "\u24a8",
"(n)": "\u24a9",
"(o)": "\u24aa",
"(p)": "\u24ab",
"(q)": "\u24ac",
"(r)": "\u24ad",
"(s)": "\u24ae",
"(t)": "\u24af",
"(u)": "\u24b0",
"(v)": "\u24b1",
"(w)": "\u24b2",
"(x)": "\u24b3",
"(y)": "\u24b4",
"(z)": "\u24b5",
"A-o": "\u24b6",
"B-o": "\u24b7",
"C-o": "\u24b8",
"D-o": "\u24b9",
"E-o": "\u24ba",
"F-o": "\u24bb",
"G-o": "\u24bc",
"H-o": "\u24bd",
"I-o": "\u24be",
"J-o": "\u24bf",
"K-o": "\u24c0",
"L-o": "\u24c1",
"M-o": "\u24c2",
"N-o": "\u24c3",
"O-o": "\u24c4",
"P-o": "\u24c5",
"Q-o": "\u24c6",
"R-o": "\u24c7",
"S-o": "\u24c8",
"T-o": "\u24c9",
"U-o": "\u24ca",
"V-o": "\u24cb",
"W-o": "\u24cc",
"X-o": "\u24cd",
"Y-o": "\u24ce",
"Z-o": "\u24cf",
"a-o": "\u24d0",
"b-o": "\u24d1",
"c-o": "\u24d2",
"d-o": "\u24d3",
"e-o": "\u24d4",
"f-o": "\u24d5",
"g-o": "\u24d6",
"h-o": "\u24d7",
"i-o": "\u24d8",
"j-o": "\u24d9",
"k-o": "\u24da",
"l-o": "\u24db",
"m-o": "\u24dc",
"n-o": "\u24dd",
"o-o": "\u24de",
"p-o": "\u24df",
"q-o": "\u24e0",
"r-o": "\u24e1",
"s-o": "\u24e2",
"t-o": "\u24e3",
"u-o": "\u24e4",
"v-o": "\u24e5",
"w-o": "\u24e6",
"x-o": "\u24e7",
"y-o": "\u24e8",
"z-o": "\u24e9",
"0-o": "\u24ea",
"hh": "\u2500",
"HH": "\u2501",
"vv": "\u2502",
"VV": "\u2503",
"3-": "\u2504",
"3_": "\u2505",
"3!": "\u2506",
"3/": "\u2507",
"4-": "\u2508",
"4_": "\u2509",
"4!": "\u250a",
"4/": "\u250b",
"dr": "\u250c",
"dR": "\u250d",
"Dr": "\u250e",
"DR": "\u250f",
"dl": "\u2510",
"dL": "\u2511",
"Dl": "\u2512",
"LD": "\u2513",
"ur": "\u2514",
"uR": "\u2515",
"Ur": "\u2516",
"UR": "\u2517",
"ul": "\u2518",
"uL": "\u2519",
"Ul": "\u251a",
"UL": "\u251b",
"vr": "\u251c",
"vR": "\u251d",
"Udr": "\u251e",
"uDr": "\u251f",
"Vr": "\u2520",
"UdR": "\u2521",
"uDR": "\u2522",
"VR": "\u2523",
"vl": "\u2524",
"vL": "\u2525",
"Udl": "\u2526",
"uDl": "\u2527",
"Vl": "\u2528",
"UdL": "\u2529",
"uDL": "\u252a",
"VL": "\u252b",
"dh": "\u252c",
"dLr": "\u252d",
"dlR": "\u252e",
"dH": "\u252f",
"Dh": "\u2530",
"DLr": "\u2531",
"DlR": "\u2532",
"DH": "\u2533",
"uh": "\u2534",
"uLr": "\u2535",
"ulR": "\u2536",
"uH": "\u2537",
"Uh": "\u2538",
"ULr": "\u2539",
"UlR": "\u253a",
"UH": "\u253b",
"vh": "\u253c",
"vLr": "\u253d",
"vlR": "\u253e",
"vH": "\u253f",
"Udh": "\u2540",
"uDh": "\u2541",
"Vh": "\u2542",
"UdLr": "\u2543",
"UdlR": "\u2544",
"uDLr": "\u2545",
"uDlR": "\u2546",
"UdH": "\u2547",
"uDH": "\u2548",
"VLr": "\u2549",
"VlR": "\u254a",
"VH": "\u254b",
"FD": "\u2571",
"BD": "\u2572",
"TB": "\u2580",
"LB": "\u2584",
"FB": "\u2588",
"lB": "\u258c",
"RB": "\u2590",
".S": "\u2591",
":S": "\u2592",
"?S": "\u2593",
"fS": "\u25a0",
"OS": "\u25a1",
"RO": "\u25a2",
"Rr": "\u25a3",
"RF": "\u25a4",
"RY": "\u25a5",
"RH": "\u25a6",
"RZ": "\u25a7",
"RK": "\u25a8",
"RX": "\u25a9",
"sB": "\u25aa",
"SR": "\u25ac",
"Or": "\u25ad",
"UT": "\u25b2",
"uT": "\u25b3",
"PR": "\u25b6",
"Tr": "\u25b7",
"Dt": "\u25bc",
"dT": "\u25bd",
"PL": "\u25c0",
"Tl": "\u25c1",
"Db": "\u25c6",
"Dw": "\u25c7",
"LZ": "\u25ca",
"0m": "\u25cb",
"0o": "\u25ce",
"0M": "\u25cf",
"0L": "\u25d0",
"0R": "\u25d1",
"Sn": "\u25d8",
"Ic": "\u25d9",
"Fd": "\u25e2",
"Bd": "\u25e3",
"*2": "\u2605",
"*1": "\u2606",
"TEL": "\u260e",
"tel": "\u260f",
"<H": "\u261c",
">H": "\u261e",
"0u": "\u263a",
"0U": "\u263b",
"SU": "\u263c",
"Fm": "\u2640",
"Ml": "\u2642",
"cS": "\u2660",
"cH": "\u2661",
"cD": "\u2662",
"cC": "\u2663",
"cS-": "\u2664",
"cH-": "\u2665",
"cD-": "\u2666",
"cC-": "\u2667",
"Md": "\u2669",
"M8": "\u266a",
"M2": "\u266b",
"M16": "\u266c",
"Mb": "\u266d",
"Mx": "\u266e",
"MX": "\u266f",
"OK": "\u2713",
"XX": "\u2717",
"-X": "\u2720",
"IS": "\u3000",
",_": "\u3001",
"._": "\u3002",
"+\"": "\u3003",
"+_": "\u3004",
"*_": "\u3005",
";_": "\u3006",
"0_": "\u3007",
"<+": "\u300a",
">+": "\u300b",
"<'": "\u300c",
">'": "\u300d",
"<\"": "\u300e",
">\"": "\u300f",
"(\"": "\u3010",
")\"": "\u3011",
"=T": "\u3012",
"=_": "\u3013",
"('": "\u3014",
")'": "\u3015",
"(I": "\u3016",
")I": "\u3017",
"-?": "\u301c",
"=T:)": "\u3020",
"A5": "\u3041",
"a5": "\u3042",
"I5": "\u3043",
"i5": "\u3044",
"U5": "\u3045",
"u5": "\u3046",
"E5": "\u3047",
"e5": "\u3048",
"O5": "\u3049",
"o5": "\u304a",
"ka": "\u304b",
"ga": "\u304c",
"ki": "\u304d",
"gi": "\u304e",
"ku": "\u304f",
"gu": "\u3050",
"ke": "\u3051",
"ge": "\u3052",
"ko": "\u3053",
"go": "\u3054",
"sa": "\u3055",
"za": "\u3056",
"si": "\u3057",
"zi": "\u3058",
"su": "\u3059",
"zu": "\u305a",
"se": "\u305b",
"ze": "\u305c",
"so": "\u305d",
"zo": "\u305e",
"ta": "\u305f",
"da": "\u3060",
"ti": "\u3061",
"di": "\u3062",
"tU": "\u3063",
"tu": "\u3064",
"du": "\u3065",
"te": "\u3066",
"de": "\u3067",
"to": "\u3068",
"do": "\u3069",
"na": "\u306a",
"ni": "\u306b",
"nu": "\u306c",
"ne": "\u306d",
"no": "\u306e",
"ha": "\u306f",
"ba": "\u3070",
"pa": "\u3071",
"hi": "\u3072",
"bi": "\u3073",
"pi": "\u3074",
"hu": "\u3075",
"bu": "\u3076",
"pu": "\u3077",
"he": "\u3078",
"be": "\u3079",
"pe": "\u307a",
"ho": "\u307b",
"bo": "\u307c",
"po": "\u307d",
"ma": "\u307e",
"mi": "\u307f",
"mu": "\u3080",
"me": "\u3081",
"mo": "\u3082",
"yA": "\u3083",
"ya": "\u3084",
"yU": "\u3085",
"yu": "\u3086",
"yO": "\u3087",
"yo": "\u3088",
"ra": "\u3089",
"ri": "\u308a",
"ru": "\u308b",
"re": "\u308c",
"ro": "\u308d",
"wA": "\u308e",
"wa": "\u308f",
"wi": "\u3090",
"we": "\u3091",
"wo": "\u3092",
"n5": "\u3093",
"vu": "\u3094",
"\"5": "\u309b",
"05": "\u309c",
"*5": "\u309d",
"+5": "\u309e",
"a6": "\u30a1",
"A6": "\u30a2",
"i6": "\u30a3",
"I6": "\u30a4",
"u6": "\u30a5",
"U6": "\u30a6",
"e6": "\u30a7",
"E6": "\u30a8",
"o6": "\u30a9",
"O6": "\u30aa",
"Ka": "\u30ab",
"Ga": "\u30ac",
"Ki": "\u30ad",
"Gi": "\u30ae",
"Ku": "\u30af",
"Gu": "\u30b0",
"Ke": "\u30b1",
"Ge": "\u30b2",
"Ko": "\u30b3",
"Go": "\u30b4",
"Sa": "\u30b5",
"Za": "\u30b6",
"Si": "\u30b7",
"Zi": "\u30b8",
"Su": "\u30b9",
"Zu": "\u30ba",
"Se": "\u30bb",
"Ze": "\u30bc",
"So": "\u30bd",
"Zo": "\u30be",
"Ta": "\u30bf",
"Da": "\u30c0",
"Ti": "\u30c1",
"Di": "\u30c2",
"TU": "\u30c3",
"Tu": "\u30c4",
"Du": "\u30c5",
"Te": "\u30c6",
"De": "\u30c7",
"To": "\u30c8",
"Do": "\u30c9",
"Na": "\u30ca",
"Ni": "\u30cb",
"Nu": "\u30cc",
"Ne": "\u30cd",
"No": "\u30ce",
"Ha": "\u30cf",
"Ba": "\u30d0",
"Pa": "\u30d1",
"Hi": "\u30d2",
"Bi": "\u30d3",
"Pi": "\u30d4",
"Hu": "\u30d5",
"Bu": "\u30d6",
"Pu": "\u30d7",
"He": "\u30d8",
"Be": "\u30d9",
"Pe": "\u30da",
"Ho": "\u30db",
"Bo": "\u30dc",
"Po": "\u30dd",
"Ma": "\u30de",
"Mi": "\u30df",
"Mu": "\u30e0",
"Me": "\u30e1",
"Mo": "\u30e2",
"YA": "\u30e3",
"Ya": "\u30e4",
"YU": "\u30e5",
"Yu": "\u30e6",
"YO": "\u30e7",
"Yo": "\u30e8",
"Ra": "\u30e9",
"Ri": "\u30ea",
"Ru": "\u30eb",
"Re": "\u30ec",
"Ro": "\u30ed",
"WA": "\u30ee",
"Wa": "\u30ef",
"Wi": "\u30f0",
"We": "\u30f1",
"Wo": "\u30f2",
"N6": "\u30f3",
"Vu": "\u30f4",
"KA": "\u30f5",
"KE": "\u30f6",
"Va": "\u30f7",
"Vi": "\u30f8",
"Ve": "\u30f9",
"Vo": "\u30fa",
".6": "\u30fb",
"-6": "\u30fc",
"*6": "\u30fd",
"+6": "\u30fe",
"b4": "\u3105",
"p4": "\u3106",
"m4": "\u3107",
"f4": "\u3108",
"d4": "\u3109",
"t4": "\u310a",
"n4": "\u310b",
"l4": "\u310c",
"g4": "\u310d",
"k4": "\u310e",
"h4": "\u310f",
"j4": "\u3110",
"q4": "\u3111",
"x4": "\u3112",
"zh": "\u3113",
"ch": "\u3114",
"sh": "\u3115",
"r4": "\u3116",
"z4": "\u3117",
"c4": "\u3118",
"s4": "\u3119",
"a4": "\u311a",
"o4": "\u311b",
"e4": "\u311c",
"eh4": "\u311d",
"ai": "\u311e",
"ei": "\u311f",
"au": "\u3120",
"ou": "\u3121",
"an": "\u3122",
"en": "\u3123",
"aN": "\u3124",
"eN": "\u3125",
"er": "\u3126",
"i4": "\u3127",
"u4": "\u3128",
"iu": "\u3129",
"v4": "\u312a",
"nG": "\u312b",
"gn": "\u312c",
"(JU)": "\u321c",
"1c": "\u3220",
"2c": "\u3221",
"3c": "\u3222",
"4c": "\u3223",
"5c": "\u3224",
"6c": "\u3225",
"7c": "\u3226",
"8c": "\u3227",
"9c": "\u3228",
"10c": "\u3229",
"KSC": "\u327f",
"ff": "\ufb00",
"fi": "\ufb01",
"fl": "\ufb02",
"ffi": "\ufb03",
"ffl": "\ufb04",
"ft": "\ufb05",
"st": "\ufb06",
"3+;": "\ufe7d",
"aM.": "\ufe82",
"aH.": "\ufe84",
"a+-": "\ufe8d",
"a+.": "\ufe8e",
"b+-": "\ufe8f",
"b+,": "\ufe90",
"b+;": "\ufe91",
"b+.": "\ufe92",
"tm-": "\ufe93",
"tm.": "\ufe94",
"t+-": "\ufe95",
"t+,": "\ufe96",
"t+;": "\ufe97",
"t+.": "\ufe98",
"tk-": "\ufe99",
"tk,": "\ufe9a",
"tk;": "\ufe9b",
"tk.": "\ufe9c",
"g+-": "\ufe9d",
"g+,": "\ufe9e",
"g+;": "\ufe9f",
"g+.": "\ufea0",
"hk-": "\ufea1",
"hk,": "\ufea2",
"hk;": "\ufea3",
"hk.": "\ufea4",
"x+-": "\ufea5",
"x+,": "\ufea6",
"x+;": "\ufea7",
"x+.": "\ufea8",
"d+-": "\ufea9",
"d+.": "\ufeaa",
"dk-": "\ufeab",
"dk.": "\ufeac",
"r+-": "\ufead",
"r+.": "\ufeae",
"z+-": "\ufeaf",
"z+.": "\ufeb0",
"s+-": "\ufeb1",
"s+,": "\ufeb2",
"s+;": "\ufeb3",
"s+.": "\ufeb4",
"sn-": "\ufeb5",
"sn,": "\ufeb6",
"sn;": "\ufeb7",
"sn.": "\ufeb8",
"c+-": "\ufeb9",
"c+,": "\ufeba",
"c+;": "\ufebb",
"c+.": "\ufebc",
"dd-": "\ufebd",
"dd,": "\ufebe",
"dd;": "\ufebf",
"dd.": "\ufec0",
"tj-": "\ufec1",
"tj,": "\ufec2",
"tj;": "\ufec3",
"tj.": "\ufec4",
"zH-": "\ufec5",
"zH,": "\ufec6",
"zH;": "\ufec7",
"zH.": "\ufec8",
"e+-": "\ufec9",
"e+,": "\ufeca",
"e+;": "\ufecb",
"e+.": "\ufecc",
"i+-": "\ufecd",
"i+,": "\ufece",
"i+;": "\ufecf",
"i+.": "\ufed0",
"f+-": "\ufed1",
"f+,": "\ufed2",
"f+;": "\ufed3",
"f+.": "\ufed4",
"q+-": "\ufed5",
"q+,": "\ufed6",
"q+;": "\ufed7",
"q+.": "\ufed8",
"k+-": "\ufed9",
"k+,": "\ufeda",
"k+;": "\ufedb",
"k+.": "\ufedc",
"l+-": "\ufedd",
"l+,": "\ufede",
"l+;": "\ufedf",
"l+.": "\ufee0",
"m+-": "\ufee1",
"m+,": "\ufee2",
"m+;": "\ufee3",
"m+.": "\ufee4",
"n+-": "\ufee5",
"n+,": "\ufee6",
"n+;": "\ufee7",
"n+.": "\ufee8",
"h+-": "\ufee9",
"h+,": "\ufeea",
"h+;": "\ufeeb",
"h+.": "\ufeec",
"w+-": "\ufeed",
"w+.": "\ufeee",
"j+-": "\ufeef",
"j+.": "\ufef0",
"y+-": "\ufef1",
"y+,": "\ufef2",
"y+;": "\ufef3",
"y+.": "\ufef4",
"lM-": "\ufef5",
"lM.": "\ufef6",
"lH-": "\ufef7",
"lH.": "\ufef8",
"lh-": "\ufef9",
"lh.": "\ufefa",
"la-": "\ufefb",
"la.": "\ufefc",
"NU": "\u0000",
"SH": "\u0001",
"SX": "\u0002",
"EX": "\u0003",
"ET": "\u0004",
"EQ": "\u0005",
"AK": "\u0006",
"BL": "\u0007",
"BS": "\u0008",
"HT": "\u0009",
"LF": "\u000a",
"VT": "\u000b",
"FF": "\u000c",
"CR": "\u000d",
"SO": "\u000e",
"SI": "\u000f",
"DL": "\u0010",
"D1": "\u0011",
"D2": "\u0012",
"D3": "\u0013",
"D4": "\u0014",
"NK": "\u0015",
"SY": "\u0016",
"EB": "\u0017",
"CN": "\u0018",
"EM": "\u0019",
"SB": "\u001a",
"EC": "\u001b",
"FS": "\u001c",
"GS": "\u001d",
"RS": "\u001e",
"US": "\u001f",
"DT": "\u007f",
"PA": "\u0080",
"HO": "\u0081",
"BH": "\u0082",
"NH": "\u0083",
"IN": "\u0084",
"NL": "\u0085",
"SA": "\u0086",
"ES": "\u0087",
"HS": "\u0088",
"HJ": "\u0089",
"VS": "\u008a",
"PD": "\u008b",
"PU": "\u008c",
"RI": "\u008d",
"S2": "\u008e",
"S3": "\u008f",
"DC": "\u0090",
"P1": "\u0091",
"P2": "\u0092",
"TS": "\u0093",
"CC": "\u0094",
"MW": "\u0095",
"SG": "\u0096",
"EG": "\u0097",
"SS": "\u0098",
"GC": "\u0099",
"SC": "\u009a",
"CI": "\u009b",
"ST": "\u009c",
"OC": "\u009d",
"PM": "\u009e",
"AC": "\u009f",
" ": "\ue000",
"/c": "\ue001",
"UA": "\ue002",
"UB": "\ue003",
"\"3": "\ue004",
"\"1": "\ue005",
"\"!": "\ue006",
"\"'": "\ue007",
"\">": "\ue008",
"\"?": "\ue009",
"\"-": "\ue00a",
"\"(": "\ue00b",
"\".": "\ue00c",
"\":": "\ue00d",
"\"0": "\ue00e",
"\"\"": "\ue00f",
"\"<": "\ue010",
"\",": "\ue011",
"\";": "\ue012",
"\"_": "\ue013",
"\"=": "\ue014",
"\"/": "\ue015",
"\"i": "\ue016",
"\"d": "\ue017",
"\"p": "\ue018",
";;": "\ue019",
",,": "\ue01a",
"b3": "\ue01b",
"Ci": "\ue01c",
"f(": "\ue01d",
"ed": "\ue01e",
"am": "\ue01f",
"pm": "\ue020",
"Tel": "\ue021",
"a+:": "\ue022",
"Fl": "\ue023",
"GF": "\ue024",
">V": "\ue025",
"!*": "\ue026",
"?*": "\ue027",
"J<": "\ue028",
"=)": "¯\\_(ツ)_/¯",
};
function getSelectionText() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
function insertAtCursor(el, chr) {
if (el.selectionStart || el.selectionStart === '0') {
var startPos = el.selectionStart;
var endPos = el.selectionEnd;
el.value = el.value.substring(0, startPos) +
chr +
el.value.substring(endPos, el.value.length);
el.selectionEnd = el.selectionStart = startPos + chr.length;
} else {
el.value += chr;
}
}
function pasteHtmlAtCaret(html) {
var sel, range;
if (window.getSelection) {
// IE9 and non-IE
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
// Range.createContextualFragment() would be useful here but is
// only relatively recently standardized and is not supported in
// some browsers (IE9, for one)
var el = document.createElement("div");
el.innerHTML = html;
var frag = document.createDocumentFragment(),
node, lastNode;
while ((node = el.firstChild)) {
lastNode = frag.appendChild(node);
}
range.insertNode(frag);
// Preserve the selection
if (lastNode) {
range = range.cloneRange();
range.setStartAfter(lastNode);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
}
}
} else if (document.selection && document.selection.type != "Control") {
// IE < 9
document.selection.createRange().pasteHTML(html);
}
}
function getChar(code) {
const char = digraphs[code];
if (char === undefined || char === null) return code;
return char;
}
$(window).on('keypress', (e) => {
if (e.key === " " && e.ctrlKey) {
debug('ctrl+space was pressed')
const selected = getSelectionText();
const activeElement = document.activeElement;
if (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA') {
$(activeElement).replaceSelectedText(getChar(selected));
} else {
pasteHtmlAtCaret(getChar(selected));
}
}
});
debug('digraphs userscript loaded')
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment