2022-04-30 11:30:36 +00:00
|
|
|
|
use regex::{Captures, RegexBuilder};
|
2021-03-25 18:23:21 +00:00
|
|
|
|
use std::borrow::Cow;
|
|
|
|
|
|
|
|
|
|
fn hex_char_decode(c: u8) -> u8 {
|
|
|
|
|
match c {
|
|
|
|
|
b'a'..=b'f' => c - b'a' + 10,
|
|
|
|
|
b'A'..=b'F' => c - b'A' + 10,
|
|
|
|
|
b'0'..=b'9' => c - b'0',
|
2022-04-30 11:30:36 +00:00
|
|
|
|
_ => panic!("Invalid hex character passed: {}", c),
|
2021-03-25 18:23:21 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn hex_to_bytes(hex: &[u8]) -> Vec<u8> {
|
|
|
|
|
let mut capacity = hex.len() / 2;
|
|
|
|
|
if capacity % 2 != 0 {
|
|
|
|
|
capacity += 1;
|
|
|
|
|
}
|
|
|
|
|
let mut result = Vec::with_capacity(capacity);
|
|
|
|
|
for chars in hex.chunks(2) {
|
|
|
|
|
let (left, right) = if chars.len() == 1 {
|
|
|
|
|
(b'0', chars[0])
|
|
|
|
|
} else {
|
|
|
|
|
(chars[0], chars[1])
|
|
|
|
|
};
|
|
|
|
|
result.push(hex_char_decode(left) << 4 | hex_char_decode(right));
|
|
|
|
|
}
|
|
|
|
|
result
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn unescape<'t>(text: &'t str) -> Cow<'t, str> {
|
|
|
|
|
let regex = RegexBuilder::new("&([a-z0-9_\\-]+|#(?:x[0-9a-f]+|[0-9]+));?")
|
|
|
|
|
.case_insensitive(true)
|
|
|
|
|
.build()
|
|
|
|
|
.unwrap();
|
|
|
|
|
regex.replace_all(text, |caps: &Captures| {
|
|
|
|
|
let data = caps[1].to_ascii_lowercase();
|
|
|
|
|
if data.starts_with("#x") {
|
|
|
|
|
if let Ok(result) = String::from_utf8(hex_to_bytes(data[2..].as_bytes())) {
|
|
|
|
|
result
|
|
|
|
|
} else {
|
|
|
|
|
caps[0].to_string()
|
|
|
|
|
}
|
|
|
|
|
} else if data.starts_with("#") {
|
|
|
|
|
if let Ok(result) = String::from_utf8(vec![data[1..].parse().unwrap()]) {
|
|
|
|
|
result
|
|
|
|
|
} else {
|
|
|
|
|
caps[0].to_string()
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// stolen from https://dev.w3.org/html5/html-author/charref
|
|
|
|
|
match data.as_str() {
|
|
|
|
|
"Tab" => "\t",
|
|
|
|
|
"NewLine" => "\n",
|
|
|
|
|
"excl" => "!",
|
|
|
|
|
"quot" | "QUOT" => "\"",
|
|
|
|
|
"num" => "#",
|
|
|
|
|
"dollar" => "$",
|
|
|
|
|
"percnt" => "%",
|
|
|
|
|
"amp" | "AMP" => "&",
|
|
|
|
|
"apos" => "'",
|
|
|
|
|
"lpar" => "(",
|
|
|
|
|
"rpar" => ")",
|
|
|
|
|
"ast" | "midast" => "*",
|
|
|
|
|
"plus" => "+",
|
|
|
|
|
"comma" => ",",
|
|
|
|
|
"period" => ".",
|
|
|
|
|
"sol" => "/",
|
|
|
|
|
"colon" => ":",
|
|
|
|
|
"semi" => ";",
|
|
|
|
|
"lt" | "LT" => "<",
|
|
|
|
|
"equals" => "=",
|
|
|
|
|
"gt" | "GT" => ">",
|
|
|
|
|
"quest" => "?",
|
|
|
|
|
"commat" => "@",
|
|
|
|
|
"lsqb" | "lbrack" => "[",
|
|
|
|
|
"bsol" => "\\",
|
|
|
|
|
"rsqb" | "rbrack" => "]",
|
|
|
|
|
"Hat" => "^",
|
|
|
|
|
"lowbar" => "_",
|
|
|
|
|
"grave" | "DiacriticalGrave" => "`",
|
|
|
|
|
"lcub" | "lbrace" => "{",
|
|
|
|
|
"verbar" | "vert" | "VerticalLine" => "|",
|
|
|
|
|
"rcub" | "rbrace" => "}",
|
|
|
|
|
"nbsp" | "NonBreakingSpace" => " ",
|
|
|
|
|
"iexcl" => "¡",
|
|
|
|
|
"cent" => "¢",
|
|
|
|
|
"pound" => "£",
|
|
|
|
|
"curren" => "¤",
|
|
|
|
|
"yen" => "¥",
|
|
|
|
|
"brvbar" => "¦",
|
|
|
|
|
"sect" => "§",
|
|
|
|
|
"Dot" | "die" | "DoubleDot" | "uml" => "¨",
|
|
|
|
|
"copy" | "COPY" => "©",
|
|
|
|
|
"ordf" => "ª",
|
|
|
|
|
"laquo" => "«",
|
|
|
|
|
"not" => "¬",
|
|
|
|
|
"shy" => "",
|
|
|
|
|
"reg" | "circledR" | "REG" => "®",
|
|
|
|
|
"macr" | "OverBar" | "strns" => "¯",
|
|
|
|
|
"deg" => "°",
|
|
|
|
|
"plusmn" | "pm" | "PlusMinus" => "±",
|
|
|
|
|
"sup2" => "²",
|
|
|
|
|
"sup3" => "³",
|
|
|
|
|
"acute" | "DiacriticalAcute" => "´",
|
|
|
|
|
"micro" => "µ",
|
|
|
|
|
"para" => "¶",
|
|
|
|
|
"middot" | "centerdot" | "CenterDot" => "·",
|
|
|
|
|
"cedil" | "Cedilla" => "¸",
|
|
|
|
|
"sup1" => "¹",
|
|
|
|
|
"ordm" => "º",
|
|
|
|
|
"raquo" => "»",
|
|
|
|
|
"frac14" => "¼",
|
|
|
|
|
"frac12" | "half" => "½",
|
|
|
|
|
"frac34" => "¾",
|
|
|
|
|
"iquest" => "¿",
|
|
|
|
|
"Agrave" => "À",
|
|
|
|
|
"Aacute" => "Á",
|
|
|
|
|
"Acirc" => "Â",
|
|
|
|
|
"Atilde" => "Ã",
|
|
|
|
|
"Auml" => "Ä",
|
|
|
|
|
"Aring" => "Å",
|
|
|
|
|
"AElig" => "Æ",
|
|
|
|
|
"Ccedil" => "Ç",
|
|
|
|
|
"Egrave" => "È",
|
|
|
|
|
"Eacute" => "É",
|
|
|
|
|
"Ecirc" => "Ê",
|
|
|
|
|
"Euml" => "Ë",
|
|
|
|
|
"Igrave" => "Ì",
|
|
|
|
|
"Iacute" => "Í",
|
|
|
|
|
"Icirc" => "Î",
|
|
|
|
|
"Iuml" => "Ï",
|
|
|
|
|
"ETH" => "Ð",
|
|
|
|
|
"Ntilde" => "Ñ",
|
|
|
|
|
"Ograve" => "Ò",
|
|
|
|
|
"Oacute" => "Ó",
|
|
|
|
|
"Ocirc" => "Ô",
|
|
|
|
|
"Otilde" => "Õ",
|
|
|
|
|
"Ouml" => "Ö",
|
|
|
|
|
"times" => "×",
|
|
|
|
|
"Oslash" => "Ø",
|
|
|
|
|
"Ugrave" => "Ù",
|
|
|
|
|
"Uacute" => "Ú",
|
|
|
|
|
"Ucirc" => "Û",
|
|
|
|
|
"Uuml" => "Ü",
|
|
|
|
|
"Yacute" => "Ý",
|
|
|
|
|
"THORN" => "Þ",
|
|
|
|
|
"szlig" => "ß",
|
|
|
|
|
"agrave" => "à",
|
|
|
|
|
"aacute" => "á",
|
|
|
|
|
"acirc" => "â",
|
|
|
|
|
"atilde" => "ã",
|
|
|
|
|
"auml" => "ä",
|
|
|
|
|
"aring" => "å",
|
|
|
|
|
"aelig" => "æ",
|
|
|
|
|
"ccedil" => "ç",
|
|
|
|
|
"egrave" => "è",
|
|
|
|
|
"eacute" => "é",
|
|
|
|
|
"ecirc" => "ê",
|
|
|
|
|
"euml" => "ë",
|
|
|
|
|
"igrave" => "ì",
|
|
|
|
|
"iacute" => "í",
|
|
|
|
|
"icirc" => "î",
|
|
|
|
|
"iuml" => "ï",
|
|
|
|
|
"eth" => "ð",
|
|
|
|
|
"ntilde" => "ñ",
|
|
|
|
|
"ograve" => "ò",
|
|
|
|
|
"oacute" => "ó",
|
|
|
|
|
"ocirc" => "ô",
|
|
|
|
|
"otilde" => "õ",
|
|
|
|
|
"ouml" => "ö",
|
|
|
|
|
"divide" | "div" => "÷",
|
|
|
|
|
"oslash" => "ø",
|
|
|
|
|
"ugrave" => "ù",
|
|
|
|
|
"uacute" => "ú",
|
|
|
|
|
"ucirc" => "û",
|
|
|
|
|
"uuml" => "ü",
|
|
|
|
|
"yacute" => "ý",
|
|
|
|
|
"thorn" => "þ",
|
|
|
|
|
"yuml" => "ÿ",
|
|
|
|
|
"Amacr" => "Ā",
|
|
|
|
|
"amacr" => "ā",
|
|
|
|
|
"Abreve" => "Ă",
|
|
|
|
|
"abreve" => "ă",
|
|
|
|
|
"Aogon" => "Ą",
|
|
|
|
|
"aogon" => "ą",
|
|
|
|
|
"Cacute" => "Ć",
|
|
|
|
|
"cacute" => "ć",
|
|
|
|
|
"Ccirc" => "Ĉ",
|
|
|
|
|
"ccirc" => "ĉ",
|
|
|
|
|
"Cdot" => "Ċ",
|
|
|
|
|
"cdot" => "ċ",
|
|
|
|
|
"Ccaron" => "Č",
|
|
|
|
|
"ccaron" => "č",
|
|
|
|
|
"Dcaron" => "Ď",
|
|
|
|
|
"dcaron" => "ď",
|
|
|
|
|
"Dstrok" => "Đ",
|
|
|
|
|
"dstrok" => "đ",
|
|
|
|
|
"Emacr" => "Ē",
|
|
|
|
|
"emacr" => "ē",
|
|
|
|
|
"Edot" => "Ė",
|
|
|
|
|
"edot" => "ė",
|
|
|
|
|
"Eogon" => "Ę",
|
|
|
|
|
"eogon" => "ę",
|
|
|
|
|
"Ecaron" => "Ě",
|
|
|
|
|
"ecaron" => "ě",
|
|
|
|
|
"Gcirc" => "Ĝ",
|
|
|
|
|
"gcirc" => "ĝ",
|
|
|
|
|
"Gbreve" => "Ğ",
|
|
|
|
|
"gbreve" => "ğ",
|
|
|
|
|
"Gdot" => "Ġ",
|
|
|
|
|
"gdot" => "ġ",
|
|
|
|
|
"Gcedil" => "Ģ",
|
|
|
|
|
"Hcirc" => "Ĥ",
|
|
|
|
|
"hcirc" => "ĥ",
|
|
|
|
|
"Hstrok" => "Ħ",
|
|
|
|
|
"hstrok" => "ħ",
|
|
|
|
|
"Itilde" => "Ĩ",
|
|
|
|
|
"itilde" => "ĩ",
|
|
|
|
|
"Imacr" => "Ī",
|
|
|
|
|
"imacr" => "ī",
|
|
|
|
|
"Iogon" => "Į",
|
|
|
|
|
"iogon" => "į",
|
|
|
|
|
"Idot" => "İ",
|
|
|
|
|
"imath" | "inodot" => "ı",
|
|
|
|
|
"IJlig" => "IJ",
|
|
|
|
|
"ijlig" => "ij",
|
|
|
|
|
"Jcirc" => "Ĵ",
|
|
|
|
|
"jcirc" => "ĵ",
|
|
|
|
|
"Kcedil" => "Ķ",
|
|
|
|
|
"kcedil" => "ķ",
|
|
|
|
|
"kgreen" => "ĸ",
|
|
|
|
|
"Lacute" => "Ĺ",
|
|
|
|
|
"lacute" => "ĺ",
|
|
|
|
|
"Lcedil" => "Ļ",
|
|
|
|
|
"lcedil" => "ļ",
|
|
|
|
|
"Lcaron" => "Ľ",
|
|
|
|
|
"lcaron" => "ľ",
|
|
|
|
|
"Lmidot" => "Ŀ",
|
|
|
|
|
"lmidot" => "ŀ",
|
|
|
|
|
"Lstrok" => "Ł",
|
|
|
|
|
"lstrok" => "ł",
|
|
|
|
|
"Nacute" => "Ń",
|
|
|
|
|
"nacute" => "ń",
|
|
|
|
|
"Ncedil" => "Ņ",
|
|
|
|
|
"ncedil" => "ņ",
|
|
|
|
|
"Ncaron" => "Ň",
|
|
|
|
|
"ncaron" => "ň",
|
|
|
|
|
"napos" => "ʼn",
|
|
|
|
|
"ENG" => "Ŋ",
|
|
|
|
|
"eng" => "ŋ",
|
|
|
|
|
"Omacr" => "Ō",
|
|
|
|
|
"omacr" => "ō",
|
|
|
|
|
"Odblac" => "Ő",
|
|
|
|
|
"odblac" => "ő",
|
|
|
|
|
"OElig" => "Œ",
|
|
|
|
|
"oelig" => "œ",
|
|
|
|
|
"Racute" => "Ŕ",
|
|
|
|
|
"racute" => "ŕ",
|
|
|
|
|
"Rcedil" => "Ŗ",
|
|
|
|
|
"rcedil" => "ŗ",
|
|
|
|
|
"Rcaron" => "Ř",
|
|
|
|
|
"rcaron" => "ř",
|
|
|
|
|
"Sacute" => "Ś",
|
|
|
|
|
"sacute" => "ś",
|
|
|
|
|
"Scirc" => "Ŝ",
|
|
|
|
|
"scirc" => "ŝ",
|
|
|
|
|
"Scedil" => "Ş",
|
|
|
|
|
"scedil" => "ş",
|
|
|
|
|
"Scaron" => "Š",
|
|
|
|
|
"scaron" => "š",
|
|
|
|
|
"Tcedil" => "Ţ",
|
|
|
|
|
"tcedil" => "ţ",
|
|
|
|
|
"Tcaron" => "Ť",
|
|
|
|
|
"tcaron" => "ť",
|
|
|
|
|
"Tstrok" => "Ŧ",
|
|
|
|
|
"tstrok" => "ŧ",
|
|
|
|
|
"Utilde" => "Ũ",
|
|
|
|
|
"utilde" => "ũ",
|
|
|
|
|
"Umacr" => "Ū",
|
|
|
|
|
"umacr" => "ū",
|
|
|
|
|
"Ubreve" => "Ŭ",
|
|
|
|
|
"ubreve" => "ŭ",
|
|
|
|
|
"Uring" => "Ů",
|
|
|
|
|
"uring" => "ů",
|
|
|
|
|
"Udblac" => "Ű",
|
|
|
|
|
"udblac" => "ű",
|
|
|
|
|
"Uogon" => "Ų",
|
|
|
|
|
"uogon" => "ų",
|
|
|
|
|
"Wcirc" => "Ŵ",
|
|
|
|
|
"wcirc" => "ŵ",
|
|
|
|
|
"Ycirc" => "Ŷ",
|
|
|
|
|
"ycirc" => "ŷ",
|
|
|
|
|
"Yuml" => "Ÿ",
|
|
|
|
|
"Zacute" => "Ź",
|
|
|
|
|
"zacute" => "ź",
|
|
|
|
|
"Zdot" => "Ż",
|
|
|
|
|
"zdot" => "ż",
|
|
|
|
|
"Zcaron" => "Ž",
|
|
|
|
|
"zcaron" => "ž",
|
|
|
|
|
"fnof" => "ƒ",
|
|
|
|
|
"imped" => "Ƶ",
|
|
|
|
|
"gacute" => "ǵ",
|
|
|
|
|
"jmath" => "ȷ",
|
|
|
|
|
"circ" => "ˆ",
|
|
|
|
|
"caron" | "Hacek" => "ˇ",
|
|
|
|
|
"breve" | "Breve" => "˘",
|
|
|
|
|
"dot" | "DiacriticalDot" => "˙",
|
|
|
|
|
"ring" => "˚",
|
|
|
|
|
"ogon" => "˛",
|
|
|
|
|
"tilde" | "DiacriticalTilde" => "˜",
|
|
|
|
|
"dblac" | "DiacriticalDoubleAcute" => "˝",
|
|
|
|
|
"DownBreve" => "̑",
|
|
|
|
|
"UnderBar" => "̲",
|
|
|
|
|
"Alpha" => "Α",
|
|
|
|
|
"Beta" => "Β",
|
|
|
|
|
"Gamma" => "Γ",
|
|
|
|
|
"Delta" => "Δ",
|
|
|
|
|
"Epsilon" => "Ε",
|
|
|
|
|
"Zeta" => "Ζ",
|
|
|
|
|
"Eta" => "Η",
|
|
|
|
|
"Theta" => "Θ",
|
|
|
|
|
"Iota" => "Ι",
|
|
|
|
|
"Kappa" => "Κ",
|
|
|
|
|
"Lambda" => "Λ",
|
|
|
|
|
"Mu" => "Μ",
|
|
|
|
|
"Nu" => "Ν",
|
|
|
|
|
"Xi" => "Ξ",
|
|
|
|
|
"Omicron" => "Ο",
|
|
|
|
|
"Pi" => "Π",
|
|
|
|
|
"Rho" => "Ρ",
|
|
|
|
|
"Sigma" => "Σ",
|
|
|
|
|
"Tau" => "Τ",
|
|
|
|
|
"Upsilon" => "Υ",
|
|
|
|
|
"Phi" => "Φ",
|
|
|
|
|
"Chi" => "Χ",
|
|
|
|
|
"Psi" => "Ψ",
|
|
|
|
|
"Omega" => "Ω",
|
|
|
|
|
"alpha" => "α",
|
|
|
|
|
"beta" => "β",
|
|
|
|
|
"gamma" => "γ",
|
|
|
|
|
"delta" => "δ",
|
|
|
|
|
"epsiv" | "varepsilon" | "epsilon" => "ε",
|
|
|
|
|
"zeta" => "ζ",
|
|
|
|
|
"eta" => "η",
|
|
|
|
|
"theta" => "θ",
|
|
|
|
|
"iota" => "ι",
|
|
|
|
|
"kappa" => "κ",
|
|
|
|
|
"lambda" => "λ",
|
|
|
|
|
"mu" => "μ",
|
|
|
|
|
"nu" => "ν",
|
|
|
|
|
"xi" => "ξ",
|
|
|
|
|
"omicron" => "ο",
|
|
|
|
|
"pi" => "π",
|
|
|
|
|
"rho" => "ρ",
|
|
|
|
|
"sigmav" | "varsigma" | "sigmaf" => "ς",
|
|
|
|
|
"sigma" => "σ",
|
|
|
|
|
"tau" => "τ",
|
|
|
|
|
"upsi" | "upsilon" => "υ",
|
|
|
|
|
"phi" | "phiv" | "varphi" => "φ",
|
|
|
|
|
"chi" => "χ",
|
|
|
|
|
"psi" => "ψ",
|
|
|
|
|
"omega" => "ω",
|
|
|
|
|
"thetav" | "vartheta" | "thetasym" => "ϑ",
|
|
|
|
|
"Upsi" | "upsih" => "ϒ",
|
|
|
|
|
"straightphi" => "ϕ",
|
|
|
|
|
"piv" | "varpi" => "ϖ",
|
|
|
|
|
"Gammad" => "Ϝ",
|
|
|
|
|
"gammad" | "digamma" => "ϝ",
|
|
|
|
|
"kappav" | "varkappa" => "ϰ",
|
|
|
|
|
"rhov" | "varrho" => "ϱ",
|
|
|
|
|
"epsi" | "straightepsilon" => "ϵ",
|
|
|
|
|
"bepsi" | "backepsilon" => "϶",
|
|
|
|
|
"IOcy" => "Ё",
|
|
|
|
|
"DJcy" => "Ђ",
|
|
|
|
|
"GJcy" => "Ѓ",
|
|
|
|
|
"Jukcy" => "Є",
|
|
|
|
|
"DScy" => "Ѕ",
|
|
|
|
|
"Iukcy" => "І",
|
|
|
|
|
"YIcy" => "Ї",
|
|
|
|
|
"Jsercy" => "Ј",
|
|
|
|
|
"LJcy" => "Љ",
|
|
|
|
|
"NJcy" => "Њ",
|
|
|
|
|
"TSHcy" => "Ћ",
|
|
|
|
|
"KJcy" => "Ќ",
|
|
|
|
|
"Ubrcy" => "Ў",
|
|
|
|
|
"DZcy" => "Џ",
|
|
|
|
|
"Acy" => "А",
|
|
|
|
|
"Bcy" => "Б",
|
|
|
|
|
"Vcy" => "В",
|
|
|
|
|
"Gcy" => "Г",
|
|
|
|
|
"Dcy" => "Д",
|
|
|
|
|
"IEcy" => "Е",
|
|
|
|
|
"ZHcy" => "Ж",
|
|
|
|
|
"Zcy" => "З",
|
|
|
|
|
"Icy" => "И",
|
|
|
|
|
"Jcy" => "Й",
|
|
|
|
|
"Kcy" => "К",
|
|
|
|
|
"Lcy" => "Л",
|
|
|
|
|
"Mcy" => "М",
|
|
|
|
|
"Ncy" => "Н",
|
|
|
|
|
"Ocy" => "О",
|
|
|
|
|
"Pcy" => "П",
|
|
|
|
|
"Rcy" => "Р",
|
|
|
|
|
"Scy" => "С",
|
|
|
|
|
"Tcy" => "Т",
|
|
|
|
|
"Ucy" => "У",
|
|
|
|
|
"Fcy" => "Ф",
|
|
|
|
|
"KHcy" => "Х",
|
|
|
|
|
"TScy" => "Ц",
|
|
|
|
|
"CHcy" => "Ч",
|
|
|
|
|
"SHcy" => "Ш",
|
|
|
|
|
"SHCHcy" => "Щ",
|
|
|
|
|
"HARDcy" => "Ъ",
|
|
|
|
|
"Ycy" => "Ы",
|
|
|
|
|
"SOFTcy" => "Ь",
|
|
|
|
|
"Ecy" => "Э",
|
|
|
|
|
"YUcy" => "Ю",
|
|
|
|
|
"YAcy" => "Я",
|
|
|
|
|
"acy" => "а",
|
|
|
|
|
"bcy" => "б",
|
|
|
|
|
"vcy" => "в",
|
|
|
|
|
"gcy" => "г",
|
|
|
|
|
"dcy" => "д",
|
|
|
|
|
"iecy" => "е",
|
|
|
|
|
"zhcy" => "ж",
|
|
|
|
|
"zcy" => "з",
|
|
|
|
|
"icy" => "и",
|
|
|
|
|
"jcy" => "й",
|
|
|
|
|
"kcy" => "к",
|
|
|
|
|
"lcy" => "л",
|
|
|
|
|
"mcy" => "м",
|
|
|
|
|
"ncy" => "н",
|
|
|
|
|
"ocy" => "о",
|
|
|
|
|
"pcy" => "п",
|
|
|
|
|
"rcy" => "р",
|
|
|
|
|
"scy" => "с",
|
|
|
|
|
"tcy" => "т",
|
|
|
|
|
"ucy" => "у",
|
|
|
|
|
"fcy" => "ф",
|
|
|
|
|
"khcy" => "х",
|
|
|
|
|
"tscy" => "ц",
|
|
|
|
|
"chcy" => "ч",
|
|
|
|
|
"shcy" => "ш",
|
|
|
|
|
"shchcy" => "щ",
|
|
|
|
|
"hardcy" => "ъ",
|
|
|
|
|
"ycy" => "ы",
|
|
|
|
|
"softcy" => "ь",
|
|
|
|
|
"ecy" => "э",
|
|
|
|
|
"yucy" => "ю",
|
|
|
|
|
"yacy" => "я",
|
|
|
|
|
"iocy" => "ё",
|
|
|
|
|
"djcy" => "ђ",
|
|
|
|
|
"gjcy" => "ѓ",
|
|
|
|
|
"jukcy" => "є",
|
|
|
|
|
"dscy" => "ѕ",
|
|
|
|
|
"iukcy" => "і",
|
|
|
|
|
"yicy" => "ї",
|
|
|
|
|
"jsercy" => "ј",
|
|
|
|
|
"ljcy" => "љ",
|
|
|
|
|
"njcy" => "њ",
|
|
|
|
|
"tshcy" => "ћ",
|
|
|
|
|
"kjcy" => "ќ",
|
|
|
|
|
"ubrcy" => "ў",
|
|
|
|
|
"dzcy" => "џ",
|
|
|
|
|
"ensp" => " ",
|
|
|
|
|
"emsp" => " ",
|
|
|
|
|
"emsp13" => " ",
|
|
|
|
|
"emsp14" => " ",
|
|
|
|
|
"numsp" => " ",
|
|
|
|
|
"puncsp" => " ",
|
|
|
|
|
"thinsp" | "ThinSpace" => " ",
|
|
|
|
|
"hairsp" | "VeryThinSpace" => " ",
|
2022-04-30 11:30:36 +00:00
|
|
|
|
"ZeroWidthSpace"
|
|
|
|
|
| "NegativeVeryThinSpace"
|
|
|
|
|
| "NegativeThinSpace"
|
|
|
|
|
| "NegativeMediumSpace"
|
|
|
|
|
| "NegativeThickSpace" => "",
|
2021-03-25 18:23:21 +00:00
|
|
|
|
"zwnj" => "",
|
|
|
|
|
"zwj" => "",
|
|
|
|
|
"lrm" => "",
|
|
|
|
|
"rlm" => "",
|
|
|
|
|
"hyphen" | "dash" => "‐",
|
|
|
|
|
"ndash" => "–",
|
|
|
|
|
"mdash" => "—",
|
|
|
|
|
"horbar" => "―",
|
|
|
|
|
"Verbar" | "Vert" => "‖",
|
|
|
|
|
"lsquo" | "OpenCurlyQuote" => "‘",
|
|
|
|
|
"rsquo" | "rsquor" | "CloseCurlyQuote" => "’",
|
|
|
|
|
"lsquor" | "sbquo" => "‚",
|
|
|
|
|
"ldquo" | "OpenCurlyDoubleQuote" => "“",
|
|
|
|
|
"rdquo" | "rdquor" | "CloseCurlyDoubleQuote" => "”",
|
|
|
|
|
"ldquor" | "bdquo" => "„",
|
|
|
|
|
"dagger" => "†",
|
|
|
|
|
"Dagger" | "ddagger" => "‡",
|
|
|
|
|
"bull" | "bullet" => "•",
|
|
|
|
|
"nldr" => "‥",
|
|
|
|
|
"hellip" | "mldr" => "…",
|
|
|
|
|
"permil" => "‰",
|
|
|
|
|
"pertenk" => "‱",
|
|
|
|
|
"prime" => "′",
|
|
|
|
|
"Prime" => "″",
|
|
|
|
|
"tprime" => "‴",
|
|
|
|
|
"bprime" | "backprime" => "‵",
|
|
|
|
|
"lsaquo" => "‹",
|
|
|
|
|
"rsaquo" => "›",
|
|
|
|
|
"oline" => "‾",
|
|
|
|
|
"caret" => "⁁",
|
|
|
|
|
"hybull" => "⁃",
|
|
|
|
|
"frasl" => "⁄",
|
|
|
|
|
"bsemi" => "⁏",
|
|
|
|
|
"qprime" => "⁗",
|
|
|
|
|
"MediumSpace" => " ",
|
|
|
|
|
"NoBreak" => "",
|
|
|
|
|
"ApplyFunction" | "af" => "",
|
|
|
|
|
"InvisibleTimes" | "it" => "",
|
|
|
|
|
"InvisibleComma" | "ic" => "",
|
|
|
|
|
"euro" => "€",
|
|
|
|
|
"tdot" | "TripleDot" => "⃛",
|
|
|
|
|
"DotDot" => "⃜",
|
|
|
|
|
"Copf" | "complexes" => "ℂ",
|
|
|
|
|
"incare" => "℅",
|
|
|
|
|
"gscr" => "ℊ",
|
|
|
|
|
"hamilt" | "HilbertSpace" | "Hscr" => "ℋ",
|
|
|
|
|
"Hfr" | "Poincareplane" => "ℌ",
|
|
|
|
|
"quaternions" | "Hopf" => "ℍ",
|
|
|
|
|
"planckh" => "ℎ",
|
|
|
|
|
"planck" | "hbar" | "plankv" | "hslash" => "ℏ",
|
|
|
|
|
"Iscr" | "imagline" => "ℐ",
|
|
|
|
|
"image" | "Im" | "imagpart" | "Ifr" => "ℑ",
|
|
|
|
|
"Lscr" | "lagran" | "Laplacetrf" => "ℒ",
|
|
|
|
|
"ell" => "ℓ",
|
|
|
|
|
"Nopf" | "naturals" => "ℕ",
|
|
|
|
|
"numero" => "№",
|
|
|
|
|
"copysr" => "℗",
|
|
|
|
|
"weierp" | "wp" => "℘",
|
|
|
|
|
"Popf" | "primes" => "ℙ",
|
|
|
|
|
"rationals" | "Qopf" => "ℚ",
|
|
|
|
|
"Rscr" | "realine" => "ℛ",
|
|
|
|
|
"real" | "Re" | "realpart" | "Rfr" => "ℜ",
|
|
|
|
|
"reals" | "Ropf" => "ℝ",
|
|
|
|
|
"rx" => "℞",
|
|
|
|
|
"trade" | "TRADE" => "™",
|
|
|
|
|
"integers" | "Zopf" => "ℤ",
|
|
|
|
|
"ohm" => "Ω",
|
|
|
|
|
"mho" => "℧",
|
|
|
|
|
"Zfr" | "zeetrf" => "ℨ",
|
|
|
|
|
"iiota" => "℩",
|
|
|
|
|
"angst" => "Å",
|
|
|
|
|
"bernou" | "Bernoullis" | "Bscr" => "ℬ",
|
|
|
|
|
"Cfr" | "Cayleys" => "ℭ",
|
|
|
|
|
"escr" => "ℯ",
|
|
|
|
|
"Escr" | "expectation" => "ℰ",
|
|
|
|
|
"Fscr" | "Fouriertrf" => "ℱ",
|
|
|
|
|
"phmmat" | "Mellintrf" | "Mscr" => "ℳ",
|
|
|
|
|
"order" | "orderof" | "oscr" => "ℴ",
|
|
|
|
|
"alefsym" | "aleph" => "ℵ",
|
|
|
|
|
"beth" => "ℶ",
|
|
|
|
|
"gimel" => "ℷ",
|
|
|
|
|
"daleth" => "ℸ",
|
|
|
|
|
"CapitalDifferentialD" | "DD" => "ⅅ",
|
|
|
|
|
"DifferentialD" | "dd" => "ⅆ",
|
|
|
|
|
"ExponentialE" | "exponentiale" | "ee" => "ⅇ",
|
|
|
|
|
"ImaginaryI" | "ii" => "ⅈ",
|
|
|
|
|
"frac13" => "⅓",
|
|
|
|
|
"frac23" => "⅔",
|
|
|
|
|
"frac15" => "⅕",
|
|
|
|
|
"frac25" => "⅖",
|
|
|
|
|
"frac35" => "⅗",
|
|
|
|
|
"frac45" => "⅘",
|
|
|
|
|
"frac16" => "⅙",
|
|
|
|
|
"frac56" => "⅚",
|
|
|
|
|
"frac18" => "⅛",
|
|
|
|
|
"frac38" => "⅜",
|
|
|
|
|
"frac58" => "⅝",
|
|
|
|
|
"frac78" => "⅞",
|
|
|
|
|
"larr" | "leftarrow" | "LeftArrow" | "slarr" | "ShortLeftArrow" => "←",
|
|
|
|
|
"uarr" | "uparrow" | "UpArrow" | "ShortUpArrow" => "↑",
|
|
|
|
|
"rarr" | "rightarrow" | "RightArrow" | "srarr" | "ShortRightArrow" => "→",
|
|
|
|
|
"darr" | "downarrow" | "DownArrow" | "ShortDownArrow" => "↓",
|
|
|
|
|
"harr" | "leftrightarrow" | "LeftRightArrow" => "↔",
|
|
|
|
|
"varr" | "updownarrow" | "UpDownArrow" => "↕",
|
|
|
|
|
"nwarr" | "UpperLeftArrow" | "nwarrow" => "↖",
|
|
|
|
|
"nearr" | "UpperRightArrow" | "nearrow" => "↗",
|
|
|
|
|
"searr" | "searrow" | "LowerRightArrow" => "↘",
|
|
|
|
|
"swarr" | "swarrow" | "LowerLeftArrow" => "↙",
|
|
|
|
|
"nlarr" | "nleftarrow" => "↚",
|
|
|
|
|
"nrarr" | "nrightarrow" => "↛",
|
|
|
|
|
"rarrw" | "rightsquigarrow" => "↝",
|
|
|
|
|
"Larr" | "twoheadleftarrow" => "↞",
|
|
|
|
|
"Uarr" => "↟",
|
|
|
|
|
"Rarr" | "twoheadrightarrow" => "↠",
|
|
|
|
|
"Darr" => "↡",
|
|
|
|
|
"larrtl" | "leftarrowtail" => "↢",
|
|
|
|
|
"rarrtl" | "rightarrowtail" => "↣",
|
|
|
|
|
"LeftTeeArrow" | "mapstoleft" => "↤",
|
|
|
|
|
"UpTeeArrow" | "mapstoup" => "↥",
|
|
|
|
|
"map" | "RightTeeArrow" | "mapsto" => "↦",
|
|
|
|
|
"DownTeeArrow" | "mapstodown" => "↧",
|
|
|
|
|
"larrhk" | "hookleftarrow" => "↩",
|
|
|
|
|
"rarrhk" | "hookrightarrow" => "↪",
|
|
|
|
|
"larrlp" | "looparrowleft" => "↫",
|
|
|
|
|
"rarrlp" | "looparrowright" => "↬",
|
|
|
|
|
"harrw" | "leftrightsquigarrow" => "↭",
|
|
|
|
|
"nharr" | "nleftrightarrow" => "↮",
|
|
|
|
|
"lsh" | "Lsh" => "↰",
|
|
|
|
|
"rsh" | "Rsh" => "↱",
|
|
|
|
|
"ldsh" => "↲",
|
|
|
|
|
"rdsh" => "↳",
|
|
|
|
|
"crarr" => "↵",
|
|
|
|
|
"cularr" | "curvearrowleft" => "↶",
|
|
|
|
|
"curarr" | "curvearrowright" => "↷",
|
|
|
|
|
"olarr" | "circlearrowleft" => "↺",
|
|
|
|
|
"orarr" | "circlearrowright" => "↻",
|
|
|
|
|
"lharu" | "LeftVector" | "leftharpoonup" => "↼",
|
|
|
|
|
"lhard" | "leftharpoondown" | "DownLeftVector" => "↽",
|
|
|
|
|
"uharr" | "upharpoonright" | "RightUpVector" => "↾",
|
|
|
|
|
"uharl" | "upharpoonleft" | "LeftUpVector" => "↿",
|
|
|
|
|
"rharu" | "RightVector" | "rightharpoonup" => "⇀",
|
|
|
|
|
"rhard" | "rightharpoondown" | "DownRightVector" => "⇁",
|
|
|
|
|
"dharr" | "RightDownVector" | "downharpoonright" => "⇂",
|
|
|
|
|
"dharl" | "LeftDownVector" | "downharpoonleft" => "⇃",
|
|
|
|
|
"rlarr" | "rightleftarrows" | "RightArrowLeftArrow" => "⇄",
|
|
|
|
|
"udarr" | "UpArrowDownArrow" => "⇅",
|
|
|
|
|
"lrarr" | "leftrightarrows" | "LeftArrowRightArrow" => "⇆",
|
|
|
|
|
"llarr" | "leftleftarrows" => "⇇",
|
|
|
|
|
"uuarr" | "upuparrows" => "⇈",
|
|
|
|
|
"rrarr" | "rightrightarrows" => "⇉",
|
|
|
|
|
"ddarr" | "downdownarrows" => "⇊",
|
|
|
|
|
"lrhar" | "ReverseEquilibrium" | "leftrightharpoons" => "⇋",
|
|
|
|
|
"rlhar" | "rightleftharpoons" | "Equilibrium" => "⇌",
|
|
|
|
|
"nlArr" | "nLeftarrow" => "⇍",
|
|
|
|
|
"nhArr" | "nLeftrightarrow" => "⇎",
|
|
|
|
|
"nrArr" | "nRightarrow" => "⇏",
|
|
|
|
|
"lArr" | "Leftarrow" | "DoubleLeftArrow" => "⇐",
|
|
|
|
|
"uArr" | "Uparrow" | "DoubleUpArrow" => "⇑",
|
|
|
|
|
"rArr" | "Rightarrow" | "Implies" | "DoubleRightArrow" => "⇒",
|
|
|
|
|
"dArr" | "Downarrow" | "DoubleDownArrow" => "⇓",
|
|
|
|
|
"hArr" | "Leftrightarrow" | "DoubleLeftRightArrow" | "iff" => "⇔",
|
|
|
|
|
"vArr" | "Updownarrow" | "DoubleUpDownArrow" => "⇕",
|
|
|
|
|
"nwArr" => "⇖",
|
|
|
|
|
"neArr" => "⇗",
|
|
|
|
|
"seArr" => "⇘",
|
|
|
|
|
"swArr" => "⇙",
|
|
|
|
|
"lAarr" | "Lleftarrow" => "⇚",
|
|
|
|
|
"rAarr" | "Rrightarrow" => "⇛",
|
|
|
|
|
"zigrarr" => "⇝",
|
|
|
|
|
"larrb" | "LeftArrowBar" => "⇤",
|
|
|
|
|
"rarrb" | "RightArrowBar" => "⇥",
|
|
|
|
|
"duarr" | "DownArrowUpArrow" => "⇵",
|
|
|
|
|
"loarr" => "⇽",
|
|
|
|
|
"roarr" => "⇾",
|
|
|
|
|
"hoarr" => "⇿",
|
|
|
|
|
"forall" | "ForAll" => "∀",
|
|
|
|
|
"comp" | "complement" => "∁",
|
|
|
|
|
"part" | "PartialD" => "∂",
|
|
|
|
|
"exist" | "Exists" => "∃",
|
|
|
|
|
"nexist" | "NotExists" | "nexists" => "∄",
|
|
|
|
|
"empty" | "emptyset" | "emptyv" | "varnothing" => "∅",
|
|
|
|
|
"nabla" | "Del" => "∇",
|
|
|
|
|
"isin" | "isinv" | "Element" | "in" => "∈",
|
|
|
|
|
"notin" | "NotElement" | "notinva" => "∉",
|
|
|
|
|
"niv" | "ReverseElement" | "ni" | "SuchThat" => "∋",
|
|
|
|
|
"notni" | "notniva" | "NotReverseElement" => "∌",
|
|
|
|
|
"prod" | "Product" => "∏",
|
|
|
|
|
"coprod" | "Coproduct" => "∐",
|
|
|
|
|
"sum" | "Sum" => "∑",
|
|
|
|
|
"minus" => "−",
|
|
|
|
|
"mnplus" | "mp" | "MinusPlus" => "∓",
|
|
|
|
|
"plusdo" | "dotplus" => "∔",
|
|
|
|
|
"setmn" | "setminus" | "Backslash" | "ssetmn" | "smallsetminus" => "∖",
|
|
|
|
|
"lowast" => "∗",
|
|
|
|
|
"compfn" | "SmallCircle" => "∘",
|
|
|
|
|
"radic" | "Sqrt" => "√",
|
|
|
|
|
"prop" | "propto" | "Proportional" | "vprop" | "varpropto" => "∝",
|
|
|
|
|
"infin" => "∞",
|
|
|
|
|
"angrt" => "∟",
|
|
|
|
|
"ang" | "angle" => "∠",
|
|
|
|
|
"angmsd" | "measuredangle" => "∡",
|
|
|
|
|
"angsph" => "∢",
|
|
|
|
|
"mid" | "VerticalBar" | "smid" | "shortmid" => "∣",
|
|
|
|
|
"nmid" | "NotVerticalBar" | "nsmid" | "nshortmid" => "∤",
|
|
|
|
|
"par" | "parallel" | "DoubleVerticalBar" | "spar" | "shortparallel" => "∥",
|
|
|
|
|
"npar" | "nparallel" | "NotDoubleVerticalBar" | "nspar" | "nshortparallel" => "∦",
|
|
|
|
|
"and" | "wedge" => "∧",
|
|
|
|
|
"or" | "vee" => "∨",
|
|
|
|
|
"cap" => "∩",
|
|
|
|
|
"cup" => "∪",
|
|
|
|
|
"int" | "Integral" => "∫",
|
|
|
|
|
"Int" => "∬",
|
|
|
|
|
"tint" | "iiint" => "∭",
|
|
|
|
|
"conint" | "oint" | "ContourIntegral" => "∮",
|
|
|
|
|
"Conint" | "DoubleContourIntegral" => "∯",
|
|
|
|
|
"Cconint" => "∰",
|
|
|
|
|
"cwint" => "∱",
|
|
|
|
|
"cwconint" | "ClockwiseContourIntegral" => "∲",
|
|
|
|
|
"awconint" | "CounterClockwiseContourIntegral" => "∳",
|
|
|
|
|
"there4" | "therefore" | "Therefore" => "∴",
|
|
|
|
|
"becaus" | "because" | "Because" => "∵",
|
|
|
|
|
"ratio" => "∶",
|
|
|
|
|
"Colon" | "Proportion" => "∷",
|
|
|
|
|
"minusd" | "dotminus" => "∸",
|
|
|
|
|
"mDDot" => "∺",
|
|
|
|
|
"homtht" => "∻",
|
|
|
|
|
"sim" | "Tilde" | "thksim" | "thicksim" => "∼",
|
|
|
|
|
"bsim" | "backsim" => "∽",
|
|
|
|
|
"ac" | "mstpos" => "∾",
|
|
|
|
|
"acd" => "∿",
|
|
|
|
|
"wreath" | "VerticalTilde" | "wr" => "≀",
|
|
|
|
|
"nsim" | "NotTilde" => "≁",
|
|
|
|
|
"esim" | "EqualTilde" | "eqsim" => "≂",
|
|
|
|
|
"sime" | "TildeEqual" | "simeq" => "≃",
|
|
|
|
|
"nsime" | "nsimeq" | "NotTildeEqual" => "≄",
|
|
|
|
|
"cong" | "TildeFullEqual" => "≅",
|
|
|
|
|
"simne" => "≆",
|
|
|
|
|
"ncong" | "NotTildeFullEqual" => "≇",
|
|
|
|
|
"asymp" | "ap" | "TildeTilde" | "approx" | "thkap" | "thickapprox" => "≈",
|
|
|
|
|
"nap" | "NotTildeTilde" | "napprox" => "≉",
|
|
|
|
|
"ape" | "approxeq" => "≊",
|
|
|
|
|
"apid" => "≋",
|
|
|
|
|
"bcong" | "backcong" => "≌",
|
|
|
|
|
"asympeq" | "CupCap" => "≍",
|
|
|
|
|
"bump" | "HumpDownHump" | "Bumpeq" => "≎",
|
|
|
|
|
"bumpe" | "HumpEqual" | "bumpeq" => "≏",
|
|
|
|
|
"esdot" | "DotEqual" | "doteq" => "≐",
|
|
|
|
|
"eDot" | "doteqdot" => "≑",
|
|
|
|
|
"efDot" | "fallingdotseq" => "≒",
|
|
|
|
|
"erDot" | "risingdotseq" => "≓",
|
|
|
|
|
"colone" | "coloneq" | "Assign" => "≔",
|
|
|
|
|
"ecolon" | "eqcolon" => "≕",
|
|
|
|
|
"ecir" | "eqcirc" => "≖",
|
|
|
|
|
"cire" | "circeq" => "≗",
|
|
|
|
|
"wedgeq" => "≙",
|
|
|
|
|
"veeeq" => "≚",
|
|
|
|
|
"trie" | "triangleq" => "≜",
|
|
|
|
|
"equest" | "questeq" => "≟",
|
|
|
|
|
"ne" | "NotEqual" => "≠",
|
|
|
|
|
"equiv" | "Congruent" => "≡",
|
|
|
|
|
"nequiv" | "NotCongruent" => "≢",
|
|
|
|
|
"le" | "leq" => "≤",
|
|
|
|
|
"ge" | "GreaterEqual" | "geq" => "≥",
|
|
|
|
|
"lE" | "LessFullEqual" | "leqq" => "≦",
|
|
|
|
|
"gE" | "GreaterFullEqual" | "geqq" => "≧",
|
|
|
|
|
"lnE" | "lneqq" => "≨",
|
|
|
|
|
"gnE" | "gneqq" => "≩",
|
|
|
|
|
"Lt" | "NestedLessLess" | "ll" => "≪",
|
|
|
|
|
"Gt" | "NestedGreaterGreater" | "gg" => "≫",
|
|
|
|
|
"twixt" | "between" => "≬",
|
|
|
|
|
"NotCupCap" => "≭",
|
|
|
|
|
"nlt" | "NotLess" | "nless" => "≮",
|
|
|
|
|
"ngt" | "NotGreater" | "ngtr" => "≯",
|
|
|
|
|
"nle" | "NotLessEqual" | "nleq" => "≰",
|
|
|
|
|
"nge" | "NotGreaterEqual" | "ngeq" => "≱",
|
|
|
|
|
"lsim" | "LessTilde" | "lesssim" => "≲",
|
|
|
|
|
"gsim" | "gtrsim" | "GreaterTilde" => "≳",
|
|
|
|
|
"nlsim" | "NotLessTilde" => "≴",
|
|
|
|
|
"ngsim" | "NotGreaterTilde" => "≵",
|
|
|
|
|
"lg" | "lessgtr" | "LessGreater" => "≶",
|
|
|
|
|
"gl" | "gtrless" | "GreaterLess" => "≷",
|
|
|
|
|
"ntlg" | "NotLessGreater" => "≸",
|
|
|
|
|
"ntgl" | "NotGreaterLess" => "≹",
|
|
|
|
|
"pr" | "Precedes" | "prec" => "≺",
|
|
|
|
|
"sc" | "Succeeds" | "succ" => "≻",
|
|
|
|
|
"prcue" | "PrecedesSlantEqual" | "preccurlyeq" => "≼",
|
|
|
|
|
"sccue" | "SucceedsSlantEqual" | "succcurlyeq" => "≽",
|
|
|
|
|
"prsim" | "precsim" | "PrecedesTilde" => "≾",
|
|
|
|
|
"scsim" | "succsim" | "SucceedsTilde" => "≿",
|
|
|
|
|
"npr" | "nprec" | "NotPrecedes" => "⊀",
|
|
|
|
|
"nsc" | "nsucc" | "NotSucceeds" => "⊁",
|
|
|
|
|
"sub" | "subset" => "⊂",
|
|
|
|
|
"sup" | "supset" | "Superset" => "⊃",
|
|
|
|
|
"nsub" => "⊄",
|
|
|
|
|
"nsup" => "⊅",
|
|
|
|
|
"sube" | "SubsetEqual" | "subseteq" => "⊆",
|
|
|
|
|
"supe" | "supseteq" | "SupersetEqual" => "⊇",
|
|
|
|
|
"nsube" | "nsubseteq" | "NotSubsetEqual" => "⊈",
|
|
|
|
|
"nsupe" | "nsupseteq" | "NotSupersetEqual" => "⊉",
|
|
|
|
|
"subne" | "subsetneq" => "⊊",
|
|
|
|
|
"supne" | "supsetneq" => "⊋",
|
|
|
|
|
"cupdot" => "⊍",
|
|
|
|
|
"uplus" | "UnionPlus" => "⊎",
|
|
|
|
|
"sqsub" | "SquareSubset" | "sqsubset" => "⊏",
|
|
|
|
|
"sqsup" | "SquareSuperset" | "sqsupset" => "⊐",
|
|
|
|
|
"sqsube" | "SquareSubsetEqual" | "sqsubseteq" => "⊑",
|
|
|
|
|
"sqsupe" | "SquareSupersetEqual" | "sqsupseteq" => "⊒",
|
|
|
|
|
"sqcap" | "SquareIntersection" => "⊓",
|
|
|
|
|
"sqcup" | "SquareUnion" => "⊔",
|
|
|
|
|
"oplus" | "CirclePlus" => "⊕",
|
|
|
|
|
"ominus" | "CircleMinus" => "⊖",
|
|
|
|
|
"otimes" | "CircleTimes" => "⊗",
|
|
|
|
|
"osol" => "⊘",
|
|
|
|
|
"odot" | "CircleDot" => "⊙",
|
|
|
|
|
"ocir" | "circledcirc" => "⊚",
|
|
|
|
|
"oast" | "circledast" => "⊛",
|
|
|
|
|
"odash" | "circleddash" => "⊝",
|
|
|
|
|
"plusb" | "boxplus" => "⊞",
|
|
|
|
|
"minusb" | "boxminus" => "⊟",
|
|
|
|
|
"timesb" | "boxtimes" => "⊠",
|
|
|
|
|
"sdotb" | "dotsquare" => "⊡",
|
|
|
|
|
"vdash" | "RightTee" => "⊢",
|
|
|
|
|
"dashv" | "LeftTee" => "⊣",
|
|
|
|
|
"top" | "DownTee" => "⊤",
|
|
|
|
|
"bottom" | "bot" | "perp" | "UpTee" => "⊥",
|
|
|
|
|
"models" => "⊧",
|
|
|
|
|
"vDash" | "DoubleRightTee" => "⊨",
|
|
|
|
|
"Vdash" => "⊩",
|
|
|
|
|
"Vvdash" => "⊪",
|
|
|
|
|
"VDash" => "⊫",
|
|
|
|
|
"nvdash" => "⊬",
|
|
|
|
|
"nvDash" => "⊭",
|
|
|
|
|
"nVdash" => "⊮",
|
|
|
|
|
"nVDash" => "⊯",
|
|
|
|
|
"prurel" => "⊰",
|
|
|
|
|
"vltri" | "vartriangleleft" | "LeftTriangle" => "⊲",
|
|
|
|
|
"vrtri" | "vartriangleright" | "RightTriangle" => "⊳",
|
|
|
|
|
"ltrie" | "trianglelefteq" | "LeftTriangleEqual" => "⊴",
|
|
|
|
|
"rtrie" | "trianglerighteq" | "RightTriangleEqual" => "⊵",
|
|
|
|
|
"origof" => "⊶",
|
|
|
|
|
"imof" => "⊷",
|
|
|
|
|
"mumap" | "multimap" => "⊸",
|
|
|
|
|
"hercon" => "⊹",
|
|
|
|
|
"intcal" | "intercal" => "⊺",
|
|
|
|
|
"veebar" => "⊻",
|
|
|
|
|
"barvee" => "⊽",
|
|
|
|
|
"angrtvb" => "⊾",
|
|
|
|
|
"lrtri" => "⊿",
|
|
|
|
|
"xwedge" | "Wedge" | "bigwedge" => "⋀",
|
|
|
|
|
"xvee" | "Vee" | "bigvee" => "⋁",
|
|
|
|
|
"xcap" | "Intersection" | "bigcap" => "⋂",
|
|
|
|
|
"xcup" | "Union" | "bigcup" => "⋃",
|
|
|
|
|
"diam" | "diamond" | "Diamond" => "⋄",
|
|
|
|
|
"sdot" => "⋅",
|
|
|
|
|
"sstarf" | "Star" => "⋆",
|
|
|
|
|
"divonx" | "divideontimes" => "⋇",
|
|
|
|
|
"bowtie" => "⋈",
|
|
|
|
|
"ltimes" => "⋉",
|
|
|
|
|
"rtimes" => "⋊",
|
|
|
|
|
"lthree" | "leftthreetimes" => "⋋",
|
|
|
|
|
"rthree" | "rightthreetimes" => "⋌",
|
|
|
|
|
"bsime" | "backsimeq" => "⋍",
|
|
|
|
|
"cuvee" | "curlyvee" => "⋎",
|
|
|
|
|
"cuwed" | "curlywedge" => "⋏",
|
|
|
|
|
"Sub" | "Subset" => "⋐",
|
|
|
|
|
"Sup" | "Supset" => "⋑",
|
|
|
|
|
"Cap" => "⋒",
|
|
|
|
|
"Cup" => "⋓",
|
|
|
|
|
"fork" | "pitchfork" => "⋔",
|
|
|
|
|
"epar" => "⋕",
|
|
|
|
|
"ltdot" | "lessdot" => "⋖",
|
|
|
|
|
"gtdot" | "gtrdot" => "⋗",
|
|
|
|
|
"Ll" => "⋘",
|
|
|
|
|
"Gg" | "ggg" => "⋙",
|
|
|
|
|
"leg" | "LessEqualGreater" | "lesseqgtr" => "⋚",
|
|
|
|
|
"gel" | "gtreqless" | "GreaterEqualLess" => "⋛",
|
|
|
|
|
"cuepr" | "curlyeqprec" => "⋞",
|
|
|
|
|
"cuesc" | "curlyeqsucc" => "⋟",
|
|
|
|
|
"nprcue" | "NotPrecedesSlantEqual" => "⋠",
|
|
|
|
|
"nsccue" | "NotSucceedsSlantEqual" => "⋡",
|
|
|
|
|
"nsqsube" | "NotSquareSubsetEqual" => "⋢",
|
|
|
|
|
"nsqsupe" | "NotSquareSupersetEqual" => "⋣",
|
|
|
|
|
"lnsim" => "⋦",
|
|
|
|
|
"gnsim" => "⋧",
|
|
|
|
|
"prnsim" | "precnsim" => "⋨",
|
|
|
|
|
"scnsim" | "succnsim" => "⋩",
|
|
|
|
|
"nltri" | "ntriangleleft" | "NotLeftTriangle" => "⋪",
|
|
|
|
|
"nrtri" | "ntriangleright" | "NotRightTriangle" => "⋫",
|
|
|
|
|
"nltrie" | "ntrianglelefteq" | "NotLeftTriangleEqual" => "⋬",
|
|
|
|
|
"nrtrie" | "ntrianglerighteq" | "NotRightTriangleEqual" => "⋭",
|
|
|
|
|
"vellip" => "⋮",
|
|
|
|
|
"ctdot" => "⋯",
|
|
|
|
|
"utdot" => "⋰",
|
|
|
|
|
"dtdot" => "⋱",
|
|
|
|
|
"disin" => "⋲",
|
|
|
|
|
"isinsv" => "⋳",
|
|
|
|
|
"isins" => "⋴",
|
|
|
|
|
"isindot" => "⋵",
|
|
|
|
|
"notinvc" => "⋶",
|
|
|
|
|
"notinvb" => "⋷",
|
|
|
|
|
"isinE" => "⋹",
|
|
|
|
|
"nisd" => "⋺",
|
|
|
|
|
"xnis" => "⋻",
|
|
|
|
|
"nis" => "⋼",
|
|
|
|
|
"notnivc" => "⋽",
|
|
|
|
|
"notnivb" => "⋾",
|
|
|
|
|
"barwed" | "barwedge" => "⌅",
|
|
|
|
|
"Barwed" | "doublebarwedge" => "⌆",
|
|
|
|
|
"lceil" | "LeftCeiling" => "⌈",
|
|
|
|
|
"rceil" | "RightCeiling" => "⌉",
|
|
|
|
|
"lfloor" | "LeftFloor" => "⌊",
|
|
|
|
|
"rfloor" | "RightFloor" => "⌋",
|
|
|
|
|
"drcrop" => "⌌",
|
|
|
|
|
"dlcrop" => "⌍",
|
|
|
|
|
"urcrop" => "⌎",
|
|
|
|
|
"ulcrop" => "⌏",
|
|
|
|
|
"bnot" => "⌐",
|
|
|
|
|
"profline" => "⌒",
|
|
|
|
|
"profsurf" => "⌓",
|
|
|
|
|
"telrec" => "⌕",
|
|
|
|
|
"target" => "⌖",
|
|
|
|
|
"ulcorn" | "ulcorner" => "⌜",
|
|
|
|
|
"urcorn" | "urcorner" => "⌝",
|
|
|
|
|
"dlcorn" | "llcorner" => "⌞",
|
|
|
|
|
"drcorn" | "lrcorner" => "⌟",
|
|
|
|
|
"frown" | "sfrown" => "⌢",
|
|
|
|
|
"smile" | "ssmile" => "⌣",
|
|
|
|
|
"cylcty" => "⌭",
|
|
|
|
|
"profalar" => "⌮",
|
|
|
|
|
"topbot" => "⌶",
|
|
|
|
|
"ovbar" => "⌽",
|
|
|
|
|
"solbar" => "⌿",
|
|
|
|
|
"angzarr" => "⍼",
|
|
|
|
|
"lmoust" | "lmoustache" => "⎰",
|
|
|
|
|
"rmoust" | "rmoustache" => "⎱",
|
|
|
|
|
"tbrk" | "OverBracket" => "⎴",
|
|
|
|
|
"bbrk" | "UnderBracket" => "⎵",
|
|
|
|
|
"bbrktbrk" => "⎶",
|
|
|
|
|
"OverParenthesis" => "⏜",
|
|
|
|
|
"UnderParenthesis" => "⏝",
|
|
|
|
|
"OverBrace" => "⏞",
|
|
|
|
|
"UnderBrace" => "⏟",
|
|
|
|
|
"trpezium" => "⏢",
|
|
|
|
|
"elinters" => "⏧",
|
|
|
|
|
"blank" => "␣",
|
|
|
|
|
"oS" | "circledS" => "Ⓢ",
|
|
|
|
|
"boxh" | "HorizontalLine" => "─",
|
|
|
|
|
"boxv" => "│",
|
|
|
|
|
"boxdr" => "┌",
|
|
|
|
|
"boxdl" => "┐",
|
|
|
|
|
"boxur" => "└",
|
|
|
|
|
"boxul" => "┘",
|
|
|
|
|
"boxvr" => "├",
|
|
|
|
|
"boxvl" => "┤",
|
|
|
|
|
"boxhd" => "┬",
|
|
|
|
|
"boxhu" => "┴",
|
|
|
|
|
"boxvh" => "┼",
|
|
|
|
|
"boxH" => "═",
|
|
|
|
|
"boxV" => "║",
|
|
|
|
|
"boxdR" => "╒",
|
|
|
|
|
"boxDr" => "╓",
|
|
|
|
|
"boxDR" => "╔",
|
|
|
|
|
"boxdL" => "╕",
|
|
|
|
|
"boxDl" => "╖",
|
|
|
|
|
"boxDL" => "╗",
|
|
|
|
|
"boxuR" => "╘",
|
|
|
|
|
"boxUr" => "╙",
|
|
|
|
|
"boxUR" => "╚",
|
|
|
|
|
"boxuL" => "╛",
|
|
|
|
|
"boxUl" => "╜",
|
|
|
|
|
"boxUL" => "╝",
|
|
|
|
|
"boxvR" => "╞",
|
|
|
|
|
"boxVr" => "╟",
|
|
|
|
|
"boxVR" => "╠",
|
|
|
|
|
"boxvL" => "╡",
|
|
|
|
|
"boxVl" => "╢",
|
|
|
|
|
"boxVL" => "╣",
|
|
|
|
|
"boxHd" => "╤",
|
|
|
|
|
"boxhD" => "╥",
|
|
|
|
|
"boxHD" => "╦",
|
|
|
|
|
"boxHu" => "╧",
|
|
|
|
|
"boxhU" => "╨",
|
|
|
|
|
"boxHU" => "╩",
|
|
|
|
|
"boxvH" => "╪",
|
|
|
|
|
"boxVh" => "╫",
|
|
|
|
|
"boxVH" => "╬",
|
|
|
|
|
"uhblk" => "▀",
|
|
|
|
|
"lhblk" => "▄",
|
|
|
|
|
"block" => "█",
|
|
|
|
|
"blk14" => "░",
|
|
|
|
|
"blk12" => "▒",
|
|
|
|
|
"blk34" => "▓",
|
|
|
|
|
"squ" | "square" | "Square" => "□",
|
|
|
|
|
"squf" | "squarf" | "blacksquare" | "FilledVerySmallSquare" => "▪",
|
|
|
|
|
"EmptyVerySmallSquare" => "▫",
|
|
|
|
|
"rect" => "▭",
|
|
|
|
|
"marker" => "▮",
|
|
|
|
|
"fltns" => "▱",
|
|
|
|
|
"xutri" | "bigtriangleup" => "△",
|
|
|
|
|
"utrif" | "blacktriangle" => "▴",
|
|
|
|
|
"utri" | "triangle" => "▵",
|
|
|
|
|
"rtrif" | "blacktriangleright" => "▸",
|
|
|
|
|
"rtri" | "triangleright" => "▹",
|
|
|
|
|
"xdtri" | "bigtriangledown" => "▽",
|
|
|
|
|
"dtrif" | "blacktriangledown" => "▾",
|
|
|
|
|
"dtri" | "triangledown" => "▿",
|
|
|
|
|
"ltrif" | "blacktriangleleft" => "◂",
|
|
|
|
|
"ltri" | "triangleleft" => "◃",
|
|
|
|
|
"loz" | "lozenge" => "◊",
|
|
|
|
|
"cir" => "○",
|
|
|
|
|
"tridot" => "◬",
|
|
|
|
|
"xcirc" | "bigcirc" => "◯",
|
|
|
|
|
"ultri" => "◸",
|
|
|
|
|
"urtri" => "◹",
|
|
|
|
|
"lltri" => "◺",
|
|
|
|
|
"EmptySmallSquare" => "◻",
|
|
|
|
|
"FilledSmallSquare" => "◼",
|
|
|
|
|
"starf" | "bigstar" => "★",
|
|
|
|
|
"star" => "☆",
|
|
|
|
|
"phone" => "☎",
|
|
|
|
|
"female" => "♀",
|
|
|
|
|
"male" => "♂",
|
|
|
|
|
"spades" | "spadesuit" => "♠",
|
|
|
|
|
"clubs" | "clubsuit" => "♣",
|
|
|
|
|
"hearts" | "heartsuit" => "♥",
|
|
|
|
|
"diams" | "diamondsuit" => "♦",
|
|
|
|
|
"sung" => "♪",
|
|
|
|
|
"flat" => "♭",
|
|
|
|
|
"natur" | "natural" => "♮",
|
|
|
|
|
"sharp" => "♯",
|
|
|
|
|
"check" | "checkmark" => "✓",
|
|
|
|
|
"cross" => "✗",
|
|
|
|
|
"malt" | "maltese" => "✠",
|
|
|
|
|
"sext" => "✶",
|
|
|
|
|
"VerticalSeparator" => "❘",
|
|
|
|
|
"lbbrk" => "❲",
|
|
|
|
|
"rbbrk" => "❳",
|
|
|
|
|
"lobrk" | "LeftDoubleBracket" => "⟦",
|
|
|
|
|
"robrk" | "RightDoubleBracket" => "⟧",
|
|
|
|
|
"lang" | "LeftAngleBracket" | "langle" => "⟨",
|
|
|
|
|
"rang" | "RightAngleBracket" | "rangle" => "⟩",
|
|
|
|
|
"Lang" => "⟪",
|
|
|
|
|
"Rang" => "⟫",
|
|
|
|
|
"loang" => "⟬",
|
|
|
|
|
"roang" => "⟭",
|
|
|
|
|
"xlarr" | "longleftarrow" | "LongLeftArrow" => "⟵",
|
|
|
|
|
"xrarr" | "longrightarrow" | "LongRightArrow" => "⟶",
|
|
|
|
|
"xharr" | "longleftrightarrow" | "LongLeftRightArrow" => "⟷",
|
|
|
|
|
"xlArr" | "Longleftarrow" | "DoubleLongLeftArrow" => "⟸",
|
|
|
|
|
"xrArr" | "Longrightarrow" | "DoubleLongRightArrow" => "⟹",
|
|
|
|
|
"xhArr" | "Longleftrightarrow" | "DoubleLongLeftRightArrow" => "⟺",
|
|
|
|
|
"xmap" | "longmapsto" => "⟼",
|
|
|
|
|
"dzigrarr" => "⟿",
|
|
|
|
|
"nvlArr" => "⤂",
|
|
|
|
|
"nvrArr" => "⤃",
|
|
|
|
|
"nvHarr" => "⤄",
|
|
|
|
|
"Map" => "⤅",
|
|
|
|
|
"lbarr" => "⤌",
|
|
|
|
|
"rbarr" | "bkarow" => "⤍",
|
|
|
|
|
"lBarr" => "⤎",
|
|
|
|
|
"rBarr" | "dbkarow" => "⤏",
|
|
|
|
|
"RBarr" | "drbkarow" => "⤐",
|
|
|
|
|
"DDotrahd" => "⤑",
|
|
|
|
|
"UpArrowBar" => "⤒",
|
|
|
|
|
"DownArrowBar" => "⤓",
|
|
|
|
|
"Rarrtl" => "⤖",
|
|
|
|
|
"latail" => "⤙",
|
|
|
|
|
"ratail" => "⤚",
|
|
|
|
|
"lAtail" => "⤛",
|
|
|
|
|
"rAtail" => "⤜",
|
|
|
|
|
"larrfs" => "⤝",
|
|
|
|
|
"rarrfs" => "⤞",
|
|
|
|
|
"larrbfs" => "⤟",
|
|
|
|
|
"rarrbfs" => "⤠",
|
|
|
|
|
"nwarhk" => "⤣",
|
|
|
|
|
"nearhk" => "⤤",
|
|
|
|
|
"searhk" | "hksearow" => "⤥",
|
|
|
|
|
"swarhk" | "hkswarow" => "⤦",
|
|
|
|
|
"nwnear" => "⤧",
|
|
|
|
|
"nesear" | "toea" => "⤨",
|
|
|
|
|
"seswar" | "tosa" => "⤩",
|
|
|
|
|
"swnwar" => "⤪",
|
|
|
|
|
"rarrc" => "⤳",
|
|
|
|
|
"cudarrr" => "⤵",
|
|
|
|
|
"ldca" => "⤶",
|
|
|
|
|
"rdca" => "⤷",
|
|
|
|
|
"cudarrl" => "⤸",
|
|
|
|
|
"larrpl" => "⤹",
|
|
|
|
|
"curarrm" => "⤼",
|
|
|
|
|
"cularrp" => "⤽",
|
|
|
|
|
"rarrpl" => "⥅",
|
|
|
|
|
"harrcir" => "⥈",
|
|
|
|
|
"Uarrocir" => "⥉",
|
|
|
|
|
"lurdshar" => "⥊",
|
|
|
|
|
"ldrushar" => "⥋",
|
|
|
|
|
"LeftRightVector" => "⥎",
|
|
|
|
|
"RightUpDownVector" => "⥏",
|
|
|
|
|
"DownLeftRightVector" => "⥐",
|
|
|
|
|
"LeftUpDownVector" => "⥑",
|
|
|
|
|
"LeftVectorBar" => "⥒",
|
|
|
|
|
"RightVectorBar" => "⥓",
|
|
|
|
|
"RightUpVectorBar" => "⥔",
|
|
|
|
|
"RightDownVectorBar" => "⥕",
|
|
|
|
|
"DownLeftVectorBar" => "⥖",
|
|
|
|
|
"DownRightVectorBar" => "⥗",
|
|
|
|
|
"LeftUpVectorBar" => "⥘",
|
|
|
|
|
"LeftDownVectorBar" => "⥙",
|
|
|
|
|
"LeftTeeVector" => "⥚",
|
|
|
|
|
"RightTeeVector" => "⥛",
|
|
|
|
|
"RightUpTeeVector" => "⥜",
|
|
|
|
|
"RightDownTeeVector" => "⥝",
|
|
|
|
|
"DownLeftTeeVector" => "⥞",
|
|
|
|
|
"DownRightTeeVector" => "⥟",
|
|
|
|
|
"LeftUpTeeVector" => "⥠",
|
|
|
|
|
"LeftDownTeeVector" => "⥡",
|
|
|
|
|
"lHar" => "⥢",
|
|
|
|
|
"uHar" => "⥣",
|
|
|
|
|
"rHar" => "⥤",
|
|
|
|
|
"dHar" => "⥥",
|
|
|
|
|
"luruhar" => "⥦",
|
|
|
|
|
"ldrdhar" => "⥧",
|
|
|
|
|
"ruluhar" => "⥨",
|
|
|
|
|
"rdldhar" => "⥩",
|
|
|
|
|
"lharul" => "⥪",
|
|
|
|
|
"llhard" => "⥫",
|
|
|
|
|
"rharul" => "⥬",
|
|
|
|
|
"lrhard" => "⥭",
|
|
|
|
|
"udhar" | "UpEquilibrium" => "⥮",
|
|
|
|
|
"duhar" | "ReverseUpEquilibrium" => "⥯",
|
|
|
|
|
"RoundImplies" => "⥰",
|
|
|
|
|
"erarr" => "⥱",
|
|
|
|
|
"simrarr" => "⥲",
|
|
|
|
|
"larrsim" => "⥳",
|
|
|
|
|
"rarrsim" => "⥴",
|
|
|
|
|
"rarrap" => "⥵",
|
|
|
|
|
"ltlarr" => "⥶",
|
|
|
|
|
"gtrarr" => "⥸",
|
|
|
|
|
"subrarr" => "⥹",
|
|
|
|
|
"suplarr" => "⥻",
|
|
|
|
|
"lfisht" => "⥼",
|
|
|
|
|
"rfisht" => "⥽",
|
|
|
|
|
"ufisht" => "⥾",
|
|
|
|
|
"dfisht" => "⥿",
|
|
|
|
|
"lopar" => "⦅",
|
|
|
|
|
"ropar" => "⦆",
|
|
|
|
|
"lbrke" => "⦋",
|
|
|
|
|
"rbrke" => "⦌",
|
|
|
|
|
"lbrkslu" => "⦍",
|
|
|
|
|
"rbrksld" => "⦎",
|
|
|
|
|
"lbrksld" => "⦏",
|
|
|
|
|
"rbrkslu" => "⦐",
|
|
|
|
|
"langd" => "⦑",
|
|
|
|
|
"rangd" => "⦒",
|
|
|
|
|
"lparlt" => "⦓",
|
|
|
|
|
"rpargt" => "⦔",
|
|
|
|
|
"gtlPar" => "⦕",
|
|
|
|
|
"ltrPar" => "⦖",
|
|
|
|
|
"vzigzag" => "⦚",
|
|
|
|
|
"vangrt" => "⦜",
|
|
|
|
|
"angrtvbd" => "⦝",
|
|
|
|
|
"ange" => "⦤",
|
|
|
|
|
"range" => "⦥",
|
|
|
|
|
"dwangle" => "⦦",
|
|
|
|
|
"uwangle" => "⦧",
|
|
|
|
|
"angmsdaa" => "⦨",
|
|
|
|
|
"angmsdab" => "⦩",
|
|
|
|
|
"angmsdac" => "⦪",
|
|
|
|
|
"angmsdad" => "⦫",
|
|
|
|
|
"angmsdae" => "⦬",
|
|
|
|
|
"angmsdaf" => "⦭",
|
|
|
|
|
"angmsdag" => "⦮",
|
|
|
|
|
"angmsdah" => "⦯",
|
|
|
|
|
"bemptyv" => "⦰",
|
|
|
|
|
"demptyv" => "⦱",
|
|
|
|
|
"cemptyv" => "⦲",
|
|
|
|
|
"raemptyv" => "⦳",
|
|
|
|
|
"laemptyv" => "⦴",
|
|
|
|
|
"ohbar" => "⦵",
|
|
|
|
|
"omid" => "⦶",
|
|
|
|
|
"opar" => "⦷",
|
|
|
|
|
"operp" => "⦹",
|
|
|
|
|
"olcross" => "⦻",
|
|
|
|
|
"odsold" => "⦼",
|
|
|
|
|
"olcir" => "⦾",
|
|
|
|
|
"ofcir" => "⦿",
|
|
|
|
|
"olt" => "⧀",
|
|
|
|
|
"ogt" => "⧁",
|
|
|
|
|
"cirscir" => "⧂",
|
|
|
|
|
"cirE" => "⧃",
|
|
|
|
|
"solb" => "⧄",
|
|
|
|
|
"bsolb" => "⧅",
|
|
|
|
|
"boxbox" => "⧉",
|
|
|
|
|
"trisb" => "⧍",
|
|
|
|
|
"rtriltri" => "⧎",
|
|
|
|
|
"LeftTriangleBar" => "⧏",
|
|
|
|
|
"RightTriangleBar" => "⧐",
|
|
|
|
|
"race" => "⧚",
|
|
|
|
|
"iinfin" => "⧜",
|
|
|
|
|
"infintie" => "⧝",
|
|
|
|
|
"nvinfin" => "⧞",
|
|
|
|
|
"eparsl" => "⧣",
|
|
|
|
|
"smeparsl" => "⧤",
|
|
|
|
|
"eqvparsl" => "⧥",
|
|
|
|
|
"lozf" | "blacklozenge" => "⧫",
|
|
|
|
|
"RuleDelayed" => "⧴",
|
|
|
|
|
"dsol" => "⧶",
|
|
|
|
|
"xodot" | "bigodot" => "⨀",
|
|
|
|
|
"xoplus" | "bigoplus" => "⨁",
|
|
|
|
|
"xotime" | "bigotimes" => "⨂",
|
|
|
|
|
"xuplus" | "biguplus" => "⨄",
|
|
|
|
|
"xsqcup" | "bigsqcup" => "⨆",
|
|
|
|
|
"qint" | "iiiint" => "⨌",
|
|
|
|
|
"fpartint" => "⨍",
|
|
|
|
|
"cirfnint" => "⨐",
|
|
|
|
|
"awint" => "⨑",
|
|
|
|
|
"rppolint" => "⨒",
|
|
|
|
|
"scpolint" => "⨓",
|
|
|
|
|
"npolint" => "⨔",
|
|
|
|
|
"pointint" => "⨕",
|
|
|
|
|
"quatint" => "⨖",
|
|
|
|
|
"intlarhk" => "⨗",
|
|
|
|
|
"pluscir" => "⨢",
|
|
|
|
|
"plusacir" => "⨣",
|
|
|
|
|
"simplus" => "⨤",
|
|
|
|
|
"plusdu" => "⨥",
|
|
|
|
|
"plussim" => "⨦",
|
|
|
|
|
"plustwo" => "⨧",
|
|
|
|
|
"mcomma" => "⨩",
|
|
|
|
|
"minusdu" => "⨪",
|
|
|
|
|
"loplus" => "⨭",
|
|
|
|
|
"roplus" => "⨮",
|
|
|
|
|
"Cross" => "⨯",
|
|
|
|
|
"timesd" => "⨰",
|
|
|
|
|
"timesbar" => "⨱",
|
|
|
|
|
"smashp" => "⨳",
|
|
|
|
|
"lotimes" => "⨴",
|
|
|
|
|
"rotimes" => "⨵",
|
|
|
|
|
"otimesas" => "⨶",
|
|
|
|
|
"Otimes" => "⨷",
|
|
|
|
|
"odiv" => "⨸",
|
|
|
|
|
"triplus" => "⨹",
|
|
|
|
|
"triminus" => "⨺",
|
|
|
|
|
"tritime" => "⨻",
|
|
|
|
|
"iprod" | "intprod" => "⨼",
|
|
|
|
|
"amalg" => "⨿",
|
|
|
|
|
"capdot" => "⩀",
|
|
|
|
|
"ncup" => "⩂",
|
|
|
|
|
"ncap" => "⩃",
|
|
|
|
|
"capand" => "⩄",
|
|
|
|
|
"cupor" => "⩅",
|
|
|
|
|
"cupcap" => "⩆",
|
|
|
|
|
"capcup" => "⩇",
|
|
|
|
|
"cupbrcap" => "⩈",
|
|
|
|
|
"capbrcup" => "⩉",
|
|
|
|
|
"cupcup" => "⩊",
|
|
|
|
|
"capcap" => "⩋",
|
|
|
|
|
"ccups" => "⩌",
|
|
|
|
|
"ccaps" => "⩍",
|
|
|
|
|
"ccupssm" => "⩐",
|
|
|
|
|
"And" => "⩓",
|
|
|
|
|
"Or" => "⩔",
|
|
|
|
|
"andand" => "⩕",
|
|
|
|
|
"oror" => "⩖",
|
|
|
|
|
"orslope" => "⩗",
|
|
|
|
|
"andslope" => "⩘",
|
|
|
|
|
"andv" => "⩚",
|
|
|
|
|
"orv" => "⩛",
|
|
|
|
|
"andd" => "⩜",
|
|
|
|
|
"ord" => "⩝",
|
|
|
|
|
"wedbar" => "⩟",
|
|
|
|
|
"sdote" => "⩦",
|
|
|
|
|
"simdot" => "⩪",
|
|
|
|
|
"congdot" => "⩭",
|
|
|
|
|
"easter" => "⩮",
|
|
|
|
|
"apacir" => "⩯",
|
|
|
|
|
"apE" => "⩰",
|
|
|
|
|
"eplus" => "⩱",
|
|
|
|
|
"pluse" => "⩲",
|
|
|
|
|
"Esim" => "⩳",
|
|
|
|
|
"Colone" => "⩴",
|
|
|
|
|
"Equal" => "⩵",
|
|
|
|
|
"eDDot" | "ddotseq" => "⩷",
|
|
|
|
|
"equivDD" => "⩸",
|
|
|
|
|
"ltcir" => "⩹",
|
|
|
|
|
"gtcir" => "⩺",
|
|
|
|
|
"ltquest" => "⩻",
|
|
|
|
|
"gtquest" => "⩼",
|
|
|
|
|
"les" | "LessSlantEqual" | "leqslant" => "⩽",
|
|
|
|
|
"ges" | "GreaterSlantEqual" | "geqslant" => "⩾",
|
|
|
|
|
"lesdot" => "⩿",
|
|
|
|
|
"gesdot" => "⪀",
|
|
|
|
|
"lesdoto" => "⪁",
|
|
|
|
|
"gesdoto" => "⪂",
|
|
|
|
|
"lesdotor" => "⪃",
|
|
|
|
|
"gesdotol" => "⪄",
|
|
|
|
|
"lap" | "lessapprox" => "⪅",
|
|
|
|
|
"gap" | "gtrapprox" => "⪆",
|
|
|
|
|
"lne" | "lneq" => "⪇",
|
|
|
|
|
"gne" | "gneq" => "⪈",
|
|
|
|
|
"lnap" | "lnapprox" => "⪉",
|
|
|
|
|
"gnap" | "gnapprox" => "⪊",
|
|
|
|
|
"lEg" | "lesseqqgtr" => "⪋",
|
|
|
|
|
"gEl" | "gtreqqless" => "⪌",
|
|
|
|
|
"lsime" => "⪍",
|
|
|
|
|
"gsime" => "⪎",
|
|
|
|
|
"lsimg" => "⪏",
|
|
|
|
|
"gsiml" => "⪐",
|
|
|
|
|
"lgE" => "⪑",
|
|
|
|
|
"glE" => "⪒",
|
|
|
|
|
"lesges" => "⪓",
|
|
|
|
|
"gesles" => "⪔",
|
|
|
|
|
"els" | "eqslantless" => "⪕",
|
|
|
|
|
"egs" | "eqslantgtr" => "⪖",
|
|
|
|
|
"elsdot" => "⪗",
|
|
|
|
|
"egsdot" => "⪘",
|
|
|
|
|
"el" => "⪙",
|
|
|
|
|
"eg" => "⪚",
|
|
|
|
|
"siml" => "⪝",
|
|
|
|
|
"simg" => "⪞",
|
|
|
|
|
"simlE" => "⪟",
|
|
|
|
|
"simgE" => "⪠",
|
|
|
|
|
"LessLess" => "⪡",
|
|
|
|
|
"GreaterGreater" => "⪢",
|
|
|
|
|
"glj" => "⪤",
|
|
|
|
|
"gla" => "⪥",
|
|
|
|
|
"ltcc" => "⪦",
|
|
|
|
|
"gtcc" => "⪧",
|
|
|
|
|
"lescc" => "⪨",
|
|
|
|
|
"gescc" => "⪩",
|
|
|
|
|
"smt" => "⪪",
|
|
|
|
|
"lat" => "⪫",
|
|
|
|
|
"smte" => "⪬",
|
|
|
|
|
"late" => "⪭",
|
|
|
|
|
"bumpE" => "⪮",
|
|
|
|
|
"pre" | "preceq" | "PrecedesEqual" => "⪯",
|
|
|
|
|
"sce" | "succeq" | "SucceedsEqual" => "⪰",
|
|
|
|
|
"prE" => "⪳",
|
|
|
|
|
"scE" => "⪴",
|
|
|
|
|
"prnE" | "precneqq" => "⪵",
|
|
|
|
|
"scnE" | "succneqq" => "⪶",
|
|
|
|
|
"prap" | "precapprox" => "⪷",
|
|
|
|
|
"scap" | "succapprox" => "⪸",
|
|
|
|
|
"prnap" | "precnapprox" => "⪹",
|
|
|
|
|
"scnap" | "succnapprox" => "⪺",
|
|
|
|
|
"Pr" => "⪻",
|
|
|
|
|
"Sc" => "⪼",
|
|
|
|
|
"subdot" => "⪽",
|
|
|
|
|
"supdot" => "⪾",
|
|
|
|
|
"subplus" => "⪿",
|
|
|
|
|
"supplus" => "⫀",
|
|
|
|
|
"submult" => "⫁",
|
|
|
|
|
"supmult" => "⫂",
|
|
|
|
|
"subedot" => "⫃",
|
|
|
|
|
"supedot" => "⫄",
|
|
|
|
|
"subE" | "subseteqq" => "⫅",
|
|
|
|
|
"supE" | "supseteqq" => "⫆",
|
|
|
|
|
"subsim" => "⫇",
|
|
|
|
|
"supsim" => "⫈",
|
|
|
|
|
"subnE" | "subsetneqq" => "⫋",
|
|
|
|
|
"supnE" | "supsetneqq" => "⫌",
|
|
|
|
|
"csub" => "⫏",
|
|
|
|
|
"csup" => "⫐",
|
|
|
|
|
"csube" => "⫑",
|
|
|
|
|
"csupe" => "⫒",
|
|
|
|
|
"subsup" => "⫓",
|
|
|
|
|
"supsub" => "⫔",
|
|
|
|
|
"subsub" => "⫕",
|
|
|
|
|
"supsup" => "⫖",
|
|
|
|
|
"suphsub" => "⫗",
|
|
|
|
|
"supdsub" => "⫘",
|
|
|
|
|
"forkv" => "⫙",
|
|
|
|
|
"topfork" => "⫚",
|
|
|
|
|
"mlcp" => "⫛",
|
|
|
|
|
"Dashv" | "DoubleLeftTee" => "⫤",
|
|
|
|
|
"Vdashl" => "⫦",
|
|
|
|
|
"Barv" => "⫧",
|
|
|
|
|
"vBar" => "⫨",
|
|
|
|
|
"vBarv" => "⫩",
|
|
|
|
|
"Vbar" => "⫫",
|
|
|
|
|
"Not" => "⫬",
|
|
|
|
|
"bNot" => "⫭",
|
|
|
|
|
"rnmid" => "⫮",
|
|
|
|
|
"cirmid" => "⫯",
|
|
|
|
|
"midcir" => "⫰",
|
|
|
|
|
"topcir" => "⫱",
|
|
|
|
|
"nhpar" => "⫲",
|
|
|
|
|
"parsim" => "⫳",
|
|
|
|
|
"parsl" => "⫽",
|
|
|
|
|
"fflig" => "ff",
|
|
|
|
|
"filig" => "fi",
|
|
|
|
|
"fllig" => "fl",
|
|
|
|
|
"ffilig" => "ffi",
|
|
|
|
|
"ffllig" => "ffl",
|
|
|
|
|
"Ascr" => "𝒜",
|
|
|
|
|
"Cscr" => "𝒞",
|
|
|
|
|
"Dscr" => "𝒟",
|
|
|
|
|
"Gscr" => "𝒢",
|
|
|
|
|
"Jscr" => "𝒥",
|
|
|
|
|
"Kscr" => "𝒦",
|
|
|
|
|
"Nscr" => "𝒩",
|
|
|
|
|
"Oscr" => "𝒪",
|
|
|
|
|
"Pscr" => "𝒫",
|
|
|
|
|
"Qscr" => "𝒬",
|
|
|
|
|
"Sscr" => "𝒮",
|
|
|
|
|
"Tscr" => "𝒯",
|
|
|
|
|
"Uscr" => "𝒰",
|
|
|
|
|
"Vscr" => "𝒱",
|
|
|
|
|
"Wscr" => "𝒲",
|
|
|
|
|
"Xscr" => "𝒳",
|
|
|
|
|
"Yscr" => "𝒴",
|
|
|
|
|
"Zscr" => "𝒵",
|
|
|
|
|
"ascr" => "𝒶",
|
|
|
|
|
"bscr" => "𝒷",
|
|
|
|
|
"cscr" => "𝒸",
|
|
|
|
|
"dscr" => "𝒹",
|
|
|
|
|
"fscr" => "𝒻",
|
|
|
|
|
"hscr" => "𝒽",
|
|
|
|
|
"iscr" => "𝒾",
|
|
|
|
|
"jscr" => "𝒿",
|
|
|
|
|
"kscr" => "𝓀",
|
|
|
|
|
"lscr" => "𝓁",
|
|
|
|
|
"mscr" => "𝓂",
|
|
|
|
|
"nscr" => "𝓃",
|
|
|
|
|
"pscr" => "𝓅",
|
|
|
|
|
"qscr" => "𝓆",
|
|
|
|
|
"rscr" => "𝓇",
|
|
|
|
|
"sscr" => "𝓈",
|
|
|
|
|
"tscr" => "𝓉",
|
|
|
|
|
"uscr" => "𝓊",
|
|
|
|
|
"vscr" => "𝓋",
|
|
|
|
|
"wscr" => "𝓌",
|
|
|
|
|
"xscr" => "𝓍",
|
|
|
|
|
"yscr" => "𝓎",
|
|
|
|
|
"zscr" => "𝓏",
|
|
|
|
|
"Afr" => "𝔄",
|
|
|
|
|
"Bfr" => "𝔅",
|
|
|
|
|
"Dfr" => "𝔇",
|
|
|
|
|
"Efr" => "𝔈",
|
|
|
|
|
"Ffr" => "𝔉",
|
|
|
|
|
"Gfr" => "𝔊",
|
|
|
|
|
"Jfr" => "𝔍",
|
|
|
|
|
"Kfr" => "𝔎",
|
|
|
|
|
"Lfr" => "𝔏",
|
|
|
|
|
"Mfr" => "𝔐",
|
|
|
|
|
"Nfr" => "𝔑",
|
|
|
|
|
"Ofr" => "𝔒",
|
|
|
|
|
"Pfr" => "𝔓",
|
|
|
|
|
"Qfr" => "𝔔",
|
|
|
|
|
"Sfr" => "𝔖",
|
|
|
|
|
"Tfr" => "𝔗",
|
|
|
|
|
"Ufr" => "𝔘",
|
|
|
|
|
"Vfr" => "𝔙",
|
|
|
|
|
"Wfr" => "𝔚",
|
|
|
|
|
"Xfr" => "𝔛",
|
|
|
|
|
"Yfr" => "𝔜",
|
|
|
|
|
"afr" => "𝔞",
|
|
|
|
|
"bfr" => "𝔟",
|
|
|
|
|
"cfr" => "𝔠",
|
|
|
|
|
"dfr" => "𝔡",
|
|
|
|
|
"efr" => "𝔢",
|
|
|
|
|
"ffr" => "𝔣",
|
|
|
|
|
"gfr" => "𝔤",
|
|
|
|
|
"hfr" => "𝔥",
|
|
|
|
|
"ifr" => "𝔦",
|
|
|
|
|
"jfr" => "𝔧",
|
|
|
|
|
"kfr" => "𝔨",
|
|
|
|
|
"lfr" => "𝔩",
|
|
|
|
|
"mfr" => "𝔪",
|
|
|
|
|
"nfr" => "𝔫",
|
|
|
|
|
"ofr" => "𝔬",
|
|
|
|
|
"pfr" => "𝔭",
|
|
|
|
|
"qfr" => "𝔮",
|
|
|
|
|
"rfr" => "𝔯",
|
|
|
|
|
"sfr" => "𝔰",
|
|
|
|
|
"tfr" => "𝔱",
|
|
|
|
|
"ufr" => "𝔲",
|
|
|
|
|
"vfr" => "𝔳",
|
|
|
|
|
"wfr" => "𝔴",
|
|
|
|
|
"xfr" => "𝔵",
|
|
|
|
|
"yfr" => "𝔶",
|
|
|
|
|
"zfr" => "𝔷",
|
|
|
|
|
"Aopf" => "𝔸",
|
|
|
|
|
"Bopf" => "𝔹",
|
|
|
|
|
"Dopf" => "𝔻",
|
|
|
|
|
"Eopf" => "𝔼",
|
|
|
|
|
"Fopf" => "𝔽",
|
|
|
|
|
"Gopf" => "𝔾",
|
|
|
|
|
"Iopf" => "𝕀",
|
|
|
|
|
"Jopf" => "𝕁",
|
|
|
|
|
"Kopf" => "𝕂",
|
|
|
|
|
"Lopf" => "𝕃",
|
|
|
|
|
"Mopf" => "𝕄",
|
|
|
|
|
"Oopf" => "𝕆",
|
|
|
|
|
"Sopf" => "𝕊",
|
|
|
|
|
"Topf" => "𝕋",
|
|
|
|
|
"Uopf" => "𝕌",
|
|
|
|
|
"Vopf" => "𝕍",
|
|
|
|
|
"Wopf" => "𝕎",
|
|
|
|
|
"Xopf" => "𝕏",
|
|
|
|
|
"Yopf" => "𝕐",
|
|
|
|
|
"aopf" => "𝕒",
|
|
|
|
|
"bopf" => "𝕓",
|
|
|
|
|
"copf" => "𝕔",
|
|
|
|
|
"dopf" => "𝕕",
|
|
|
|
|
"eopf" => "𝕖",
|
|
|
|
|
"fopf" => "𝕗",
|
|
|
|
|
"gopf" => "𝕘",
|
|
|
|
|
"hopf" => "𝕙",
|
|
|
|
|
"iopf" => "𝕚",
|
|
|
|
|
"jopf" => "𝕛",
|
|
|
|
|
"kopf" => "𝕜",
|
|
|
|
|
"lopf" => "𝕝",
|
|
|
|
|
"mopf" => "𝕞",
|
|
|
|
|
"nopf" => "𝕟",
|
|
|
|
|
"oopf" => "𝕠",
|
|
|
|
|
"popf" => "𝕡",
|
|
|
|
|
"qopf" => "𝕢",
|
|
|
|
|
"ropf" => "𝕣",
|
|
|
|
|
"sopf" => "𝕤",
|
|
|
|
|
"topf" => "𝕥",
|
|
|
|
|
"uopf" => "𝕦",
|
|
|
|
|
"vopf" => "𝕧",
|
|
|
|
|
"wopf" => "𝕨",
|
|
|
|
|
"xopf" => "𝕩",
|
|
|
|
|
"yopf" => "𝕪",
|
|
|
|
|
"zopf" => "𝕫",
|
2022-04-30 11:30:36 +00:00
|
|
|
|
_ => &caps[0],
|
|
|
|
|
}
|
|
|
|
|
.to_string()
|
2021-03-25 18:23:21 +00:00
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn test_unescape() {
|
|
|
|
|
assert_eq!(&*unescape("test"), "test");
|
|
|
|
|
assert_eq!(&*unescape("<test>"), "<test>");
|
|
|
|
|
assert_eq!(&*unescape("0"), "0");
|
|
|
|
|
assert_eq!(&*unescape("0"), "0");
|
|
|
|
|
assert_eq!(&*unescape("&foo;"), "&foo;");
|
|
|
|
|
}
|