#!/usr/bin/perl -w
#
# Original html2utf8.pl Copyright (C) 2005  Ville Koskinen <w-ber@iki.fi>
# Conversion to latex2utf8.pl Copyright (C) 2009  Mikko Rauhala <mjr@iki.fi>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

use strict;

use utf8;
use encoding 'utf8';


# LaTeX symbol to UTF-8 character converter for irssi.
#
# Requirements
# ============
#
# Naturally, you'll need a version of irssi that supports UTF-8, as well as the
# right font and a Unicode-enabled terminal. Otherwise there's little sense in
# outputting characters you can't even see, right?
#
# irssi 0.8.10 supports UTF-8 very well. Earlier versions might support as 
# well, but I haven't tested. (And you'll need a script like recode.pl, or
# something.)
# 
#
# Installation
# ============
# 
# Copy this file to ~/.irssi/scripts/ and execute the command
#
# /SCRIPT load latex2utf8.pl
# 
#
# Uninstallation
# ==============
#
# /SCRIPT unload latex2utf8.pl
#
# rm ~/.irssi/scripts/latex2utf8.pl
#
#
# Usage and Configuration
# =======================
# 
# After installing, you can either use the command 
# 
# /LATEX <message>
# 
# to convert all supported LaTeX symbols in <message> to UTF-8 characters
# (and then /SAY it), or you can
# 
# /SET latex_auto_convert on
# 
# and all text you send to the server will be converted automatically.
# The conversion is simplistic in the way that different modes are not
# taken into account; the point is to simply enable the input of single
# Unicode characters using familiar LaTeX syntax, not reimplement LaTeX.
# Also, currently macros need to be terminated with whitespace or the
# end of line; fixes to that welcome.
#
# If you want to write unconverted LaTeX macros either when using the 
# automatic conversion or the /LATEX command, escape it with
# latex_escape_char, which by default is %. Example:
#
# /LATEX %\lambda = \lambda
#
# will convert to
#
# /SAY \lambda = λ
#
# You can set the escape character to just about any character or string you
# like with
#
# /SET latex_escape_char <something>
#
# LaTeX symbols
# =============
#
# This script mappings have been generated from the W3C MathML specification:
#
# http://www.w3.org/Math/characters/unicode.xml
#
# A more readable comprehensive list of LaTeX symbols (not all of which may be
# present at the above list and therefore this script) is at
#
# http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf
#
# You can also input an arbitrary Unicode character with \unicodechar{NNN}
# (NNN in decimal, or 0xNNN in hex).
#
# Bug!
# ====
#
# Please submit a fix to me at Mikko Rauhala <mjr@iki.fi>, as I suck at perl.
#
# Alternatively, give a detailed explanation of the bug
#
# Version History
# ===============
#
# 2009-10-11: v0.1
#   - Original LaTeX conversion based on html2utf8.pl v0.21
#
# TODO:
# - Better separation of macros from text, eg. back-to-back macros
#   such as \alpha\beta\gamma (good way to contribute!). The major
#   difficulty are macros where a shorter form exists (\k, \kappa)
#
# html2utf8.pl Version History
# ============================
#
# 2005-12-14: v0.21
#   - fixed an odd bug in regexps
#
# 2005-12-14: v0.2
#   - converts standard HTML 4.0 entities
#   - converts &#number; and &#xnumber;
#   - autoconvert support
#   - /HTML command
#   - rudimentary escaping

# TODO: 
# - per channel settings?
# - lots of testing

use vars qw($VERSION %IRSSI);

use Irssi 20051211;

$VERSION = "0.1";
%IRSSI = (
	authors		=> 'Mikko \'mjr\' Rauhala',
	contact		=> 'mjr@iki.fi',
	name		=> 'latex2utf8',
	license		=> 'GPL v2 or later',
	description	=> 'Translate LaTeX macros, such as \alpha, to UTF-8 characters',
	url			=> 'http://mjr.iki.fi/software/',
	changed		=> 'Sun Oct 11 15:18:51 EEST 2009',
	bugs		=> 'Could be; w-ber\'s not 100% sure all the regular expressions are safe.'
);

my $latex_macros = {
	"\\#" => '0x00023',
	"\\%" => '0x00025',
	"\\^{}" => '0x0005E',
	"\\_" => '0x0005F',
	"\\-" => '0x000AD',
	"\\`" => '0x00300',
	"\\'" => '0x00301',
	"\\^" => '0x00302',
	"\\~" => '0x00303',
	"\\=" => '0x00304',
	"\\." => '0x00307',
	"\\\"" => '0x00308',
	"\\`{A}" => '0x000C0',
	"\\'{A}" => '0x000C1',
	"\\^{A}" => '0x000C2',
	"\\~{A}" => '0x000C3',
	"\\\"{A}" => '0x000C4',
	"\\`{a}" => '0x000E0',
	"\\'{a}" => '0x000E1',
	"\\^{a}" => '0x000E2',
	"\\~{a}" => '0x000E3',
	"\\\"{a}" => '0x000E4',
	"\\={A}" => '0x00100',
	"\\={a}" => '0x00101',
	"\\'{A}" => '0x00386',
	"\\AA" => '0x000C5',
	"\\aa" => '0x000E5',
	"\\AA" => '0x0212B',
	"\\acute{\\ddot{\\iota}}" => '0x00390',
	"\\acute{\\ddot{\\upsilon}}" => '0x003B0',
	"\\acute{\\epsilon}" => '0x003AD',
	"\\acute{\\eta}" => '0x003AE',
	"\\acute{\\iota}" => '0x003AF',
	"\\acute{\\omega}" => '0x003CE',
	"\\acute{\\upsilon}" => '0x003CD',
	"\\AE" => '0x000C6',
	"\\ae" => '0x000E6',
	"\\aleph" => '0x02135',
	"\\allequal" => '0x0224C',
	"\\Alpha" => '0x00391',
	"\\'{\$\\alpha\$}" => '0x003AC',
	"\\alpha" => '0x003B1',
	"\\amalg" => '0x02A3F',
	"\\&amp;" => '0x00026',
	"\\angle" => '0x02220',
	"\\Angle" => '0x0299C',
	"\\approx" => '0x02248',
	"\\approxeq" => '0x0224A',
	"\\approxnotequal" => '0x02246',
	"\\aquarius" => '0x02652',
	"\\aries" => '0x02648',
	"\\arrowwaveright" => '0x0219C',
	"\\arrowwaveright" => '0x0219D',
	"\\ast" => '0x0002A',
	"\\asymp" => '0x0224D',
	"\\backepsilon" => '0x003F6',
	"\\backprime" => '0x02035',
	"\\backsim" => '0x0223D',
	"\\backsimeq" => '0x022CD',
	"\\barwedge" => '0x02305',
	"\\because" => '0x02235',
	"\\Beta" => '0x00392',
	"\\beta" => '0x003B2',
	"\\beth" => '0x02136',
	"\\between" => '0x0226C',
	"\\bigcap" => '0x022C2',
	"\\bigcirc" => '0x025CB',
	"\\bigcirc" => '0x025EF',
	"\\bigcup" => '0x022C3',
	"\\bigtriangledown" => '0x025BD',
	"\\bigtriangleup" => '0x025B3',
	"\\blacklozenge" => '0x029EB',
	"\\blacksquare" => '0x025AA',
	"\\blacktriangle" => '0x025B4',
	"\\blacktriangledown" => '0x025BE',
	"\\blacktriangleleft" => '0x025C2',
	"\\blacktriangleright" => '0x025B8',
	"\\bowtie" => '0x022C8',
	"\\boxdot" => '0x022A1',
	"\\boxminus" => '0x0229F',
	"\\boxplus" => '0x0229E',
	"\\boxtimes" => '0x022A0',
	"\\bullet" => '0x02219',
	"\\Bumpeq" => '0x0224E',
	"\\bumpeq" => '0x0224F',
	"\\c{}" => '0x000B8',
	"\\'{C}" => '0x00106',
	"\\'{c}" => '0x00107',
	"\\^{C}" => '0x00108',
	"\\^{c}" => '0x00109',
	"\\.{C}" => '0x0010A',
	"\\.{c}" => '0x0010B',
	"\\c" => '0x00327',
	"\\cancer" => '0x0264B',
	"\\cap" => '0x02229',
	"\\Cap" => '0x022D2',
	"\\capricornus" => '0x02651',
	"\\c{C}" => '0x000C7',
	"\\c{c}" => '0x000E7',
	"\\cdot" => '0x000B7',
	"\\cdot" => '0x022C5',
	"\\cdots" => '0x022EF',
	"\\c{G}" => '0x00122',
	"\\c{g}" => '0x00123',
	"\\Chi" => '0x003A7',
	"\\chi" => '0x003C7',
	"\\circ" => '0x02218',
	"\\circeq" => '0x02257',
	"\\circlearrowleft" => '0x021BA',
	"\\circlearrowright" => '0x021BB',
	"\\circledast" => '0x0229B',
	"\\circledcirc" => '0x0229A',
	"\\circleddash" => '0x0229D',
	"\\circledS" => '0x024C8',
	"\\c{K}" => '0x00136',
	"\\c{k}" => '0x00137',
	"\\c{L}" => '0x0013B',
	"\\c{l}" => '0x0013C',
	"\\clockoint" => '0x02A0F',
	"\\clwintegral" => '0x02231',
	"\\c{N}" => '0x00145',
	"\\c{n}" => '0x00146',
	"\\Colon" => '0x02237',
	"\\complement" => '0x02201',
	"\\cong" => '0x02245',
	"\\coprod" => '0x02210',
	"\\c{R}" => '0x00156',
	"\\c{r}" => '0x00157',
	"\\c{S}" => '0x0015E',
	"\\c{s}" => '0x0015F',
	"\\c{T}" => '0x00162',
	"\\c{t}" => '0x00163',
	"\\cup" => '0x0222A',
	"\\Cup" => '0x022D3',
	"\\curlyeqprec" => '0x022DE',
	"\\curlyeqsucc" => '0x022DF',
	"\\curlyvee" => '0x022CE',
	"\\curlywedge" => '0x022CF',
	"\\curvearrowleft" => '0x021B6',
	"\\curvearrowright" => '0x021B7',
	"\\cyrchar\\C" => '0x0030F',
	"\\cyrchar\\CYRA" => '0x00410',
	"\\cyrchar\\cyra" => '0x00430',
	"\\cyrchar\\CYRABHCH" => '0x004BC',
	"\\cyrchar\\cyrabhch" => '0x004BD',
	"\\cyrchar\\CYRABHCHDSC" => '0x004BE',
	"\\cyrchar\\cyrabhchdsc" => '0x004BF',
	"\\cyrchar\\CYRABHDZE" => '0x004E0',
	"\\cyrchar\\cyrabhdze" => '0x004E1',
	"\\cyrchar\\CYRABHHA" => '0x004A8',
	"\\cyrchar\\cyrabhha" => '0x004A9',
	"\\cyrchar\\CYRAE" => '0x004D4',
	"\\cyrchar\\cyrae" => '0x004D5',
	"\\cyrchar\\CYRB" => '0x00411',
	"\\cyrchar\\cyrb" => '0x00431',
	"\\cyrchar\\CYRBYUS" => '0x0046A',
	"\\cyrchar\\CYRC" => '0x00426',
	"\\cyrchar\\cyrc" => '0x00446',
	"\\cyrchar\\CYRCH" => '0x00427',
	"\\cyrchar\\cyrch" => '0x00447',
	"\\cyrchar\\CYRCHLDSC" => '0x004CB',
	"\\cyrchar\\cyrchldsc" => '0x004CC',
	"\\cyrchar\\CYRCHRDSC" => '0x004B6',
	"\\cyrchar\\cyrchrdsc" => '0x004B7',
	"\\cyrchar\\CYRCHVCRS" => '0x004B8',
	"\\cyrchar\\cyrchvcrs" => '0x004B9',
	"\\cyrchar\\CYRD" => '0x00414',
	"\\cyrchar\\cyrd" => '0x00434',
	"\\cyrchar\\CYRDJE" => '0x00402',
	"\\cyrchar\\cyrdje" => '0x00452',
	"\\cyrchar\\CYRDZE" => '0x00405',
	"\\cyrchar\\cyrdze" => '0x00455',
	"\\cyrchar\\CYRDZHE" => '0x0040F',
	"\\cyrchar\\cyrdzhe" => '0x0045F',
	"\\cyrchar\\CYRE" => '0x00415',
	"\\cyrchar\\cyre" => '0x00435',
	"\\cyrchar\\CYREREV" => '0x0042D',
	"\\cyrchar\\cyrerev" => '0x0044D',
	"\\cyrchar\\CYRERY" => '0x0042B',
	"\\cyrchar\\cyrery" => '0x0044B',
	"\\cyrchar\\CYRF" => '0x00424',
	"\\cyrchar\\cyrf" => '0x00444',
	"\\cyrchar\\CYRFITA" => '0x00472',
	"\\cyrchar{\\'\\CYRG}" => '0x00403',
	"\\cyrchar\\CYRG" => '0x00413',
	"\\cyrchar\\cyrg" => '0x00433',
	"\\cyrchar{\\'\\cyrg}" => '0x00453',
	"\\cyrchar\\CYRGHCRS" => '0x00492',
	"\\cyrchar\\cyrghcrs" => '0x00493',
	"\\cyrchar\\CYRGHK" => '0x00494',
	"\\cyrchar\\cyrghk" => '0x00495',
	"\\cyrchar\\CYRGUP" => '0x00490',
	"\\cyrchar\\cyrgup" => '0x00491',
	"\\cyrchar\\CYRH" => '0x00425',
	"\\cyrchar\\cyrh" => '0x00445',
	"\\cyrchar\\CYRHDSC" => '0x004B2',
	"\\cyrchar\\cyrhdsc" => '0x004B3',
	"\\cyrchar\\CYRHRDSN" => '0x0042A',
	"\\cyrchar\\cyrhrdsn" => '0x0044A',
	"\\cyrchar\\cyrhundredthousands" => '0x00488',
	"\\cyrchar\\CYRI" => '0x00418',
	"\\cyrchar\\cyri" => '0x00438',
	"\\cyrchar\\CYRIE" => '0x00404',
	"\\cyrchar\\cyrie" => '0x00454',
	"\\cyrchar\\CYRII" => '0x00406',
	"\\cyrchar\\cyrii" => '0x00456',
	"\\cyrchar\\CYRIOTBYUS" => '0x0046C',
	"\\cyrchar\\cyriotbyus" => '0x0046D',
	"\\cyrchar\\CYRIOTE" => '0x00464',
	"\\cyrchar\\cyriote" => '0x00465',
	"\\cyrchar\\CYRIOTLYUS" => '0x00468',
	"\\cyrchar\\cyriotlyus" => '0x00469',
	"\\cyrchar\\CYRISHRT" => '0x00419',
	"\\cyrchar\\cyrishrt" => '0x00439',
	"\\cyrchar\\CYRIZH" => '0x00474',
	"\\cyrchar\\CYRJE" => '0x00408',
	"\\cyrchar\\cyrje" => '0x00458',
	"\\cyrchar{\\'\\CYRK}" => '0x0040C',
	"\\cyrchar\\CYRK" => '0x0041A',
	"\\cyrchar\\cyrk" => '0x0043A',
	"\\cyrchar{\\'\\cyrk}" => '0x0045C',
	"\\cyrchar\\CYRKBEAK" => '0x004A0',
	"\\cyrchar\\cyrkbeak" => '0x004A1',
	"\\cyrchar\\CYRKDSC" => '0x0049A',
	"\\cyrchar\\cyrkdsc" => '0x0049B',
	"\\cyrchar\\CYRKHCRS" => '0x0049E',
	"\\cyrchar\\cyrkhcrs" => '0x0049F',
	"\\cyrchar\\CYRKHK" => '0x004C3',
	"\\cyrchar\\cyrkhk" => '0x004C4',
	"\\cyrchar\\CYRKOPPA" => '0x00480',
	"\\cyrchar\\cyrkoppa" => '0x00481',
	"\\cyrchar\\CYRKSI" => '0x0046E',
	"\\cyrchar\\cyrksi" => '0x0046F',
	"\\cyrchar\\CYRKVCRS" => '0x0049C',
	"\\cyrchar\\cyrkvcrs" => '0x0049D',
	"\\cyrchar\\CYRL" => '0x0041B',
	"\\cyrchar\\cyrl" => '0x0043B',
	"\\cyrchar\\CYRLJE" => '0x00409',
	"\\cyrchar\\cyrlje" => '0x00459',
	"\\cyrchar\\CYRLYUS" => '0x00466',
	"\\cyrchar\\cyrlyus" => '0x00467',
	"\\cyrchar\\CYRM" => '0x0041C',
	"\\cyrchar\\cyrm" => '0x0043C',
	"\\cyrchar\\cyrmillions" => '0x00489',
	"\\cyrchar\\CYRN" => '0x0041D',
	"\\cyrchar\\cyrn" => '0x0043D',
	"\\cyrchar\\CYRNDSC" => '0x004A2',
	"\\cyrchar\\cyrndsc" => '0x004A3',
	"\\cyrchar\\CYRNG" => '0x004A4',
	"\\cyrchar\\cyrng" => '0x004A5',
	"\\cyrchar\\CYRNHK" => '0x004C7',
	"\\cyrchar\\cyrnhk" => '0x004C8',
	"\\cyrchar\\CYRNJE" => '0x0040A',
	"\\cyrchar\\cyrnje" => '0x0045A',
	"\\cyrchar\\CYRO" => '0x0041E',
	"\\cyrchar\\cyro" => '0x0043E',
	"\\cyrchar\\CYROMEGA" => '0x00460',
	"\\cyrchar\\cyromega" => '0x00461',
	"\\cyrchar\\CYROMEGARND" => '0x0047A',
	"\\cyrchar\\cyromegarnd" => '0x0047B',
	"\\cyrchar\\CYROMEGATITLO" => '0x0047C',
	"\\cyrchar\\cyromegatitlo" => '0x0047D',
	"\\cyrchar\\CYROT" => '0x0047E',
	"\\cyrchar\\cyrot" => '0x0047F',
	"\\cyrchar\\CYROTLD" => '0x004E8',
	"\\cyrchar\\cyrotld" => '0x004E9',
	"\\cyrchar\\CYRP" => '0x0041F',
	"\\cyrchar\\cyrp" => '0x0043F',
	"\\cyrchar\\CYRpalochka" => '0x004C0',
	"\\cyrchar\\CYRPHK" => '0x004A6',
	"\\cyrchar\\cyrphk" => '0x004A7',
	"\\cyrchar\\CYRPSI" => '0x00470',
	"\\cyrchar\\cyrpsi" => '0x00471',
	"\\cyrchar\\CYRR" => '0x00420',
	"\\cyrchar\\cyrr" => '0x00440',
	"\\cyrchar\\CYRRTICK" => '0x0048E',
	"\\cyrchar\\cyrrtick" => '0x0048F',
	"\\cyrchar\\CYRS" => '0x00421',
	"\\cyrchar\\cyrs" => '0x00441',
	"\\cyrchar\\CYRSCHWA" => '0x004D8',
	"\\cyrchar\\cyrschwa" => '0x004D9',
	"\\cyrchar\\CYRSDSC" => '0x004AA',
	"\\cyrchar\\cyrsdsc" => '0x004AB',
	"\\cyrchar\\CYRSEMISFTSN" => '0x0048C',
	"\\cyrchar\\cyrsemisftsn" => '0x0048D',
	"\\cyrchar\\CYRSFTSN" => '0x0042C',
	"\\cyrchar\\cyrsftsn" => '0x0044C',
	"\\cyrchar\\CYRSH" => '0x00428',
	"\\cyrchar\\cyrsh" => '0x00448',
	"\\cyrchar\\CYRSHCH" => '0x00429',
	"\\cyrchar\\cyrshch" => '0x00449',
	"\\cyrchar\\CYRSHHA" => '0x004BA',
	"\\cyrchar\\cyrshha" => '0x004BB',
	"\\cyrchar\\CYRT" => '0x00422',
	"\\cyrchar\\cyrt" => '0x00442',
	"\\cyrchar\\CYRTDSC" => '0x004AC',
	"\\cyrchar\\cyrtdsc" => '0x004AD',
	"\\cyrchar\\CYRTETSE" => '0x004B4',
	"\\cyrchar\\cyrtetse" => '0x004B5',
	"\\cyrchar\\cyrthousands" => '0x00482',
	"\\cyrchar\\CYRTSHE" => '0x0040B',
	"\\cyrchar\\cyrtshe" => '0x0045B',
	"\\cyrchar\\CYRU" => '0x00423',
	"\\cyrchar\\cyru" => '0x00443',
	"\\cyrchar\\CYRUK" => '0x00478',
	"\\cyrchar\\cyruk" => '0x00479',
	"\\cyrchar\\CYRUSHRT" => '0x0040E',
	"\\cyrchar\\cyrushrt" => '0x0045E',
	"\\cyrchar\\CYRV" => '0x00412',
	"\\cyrchar\\cyrv" => '0x00432',
	"\\cyrchar\\CYRY" => '0x004AE',
	"\\cyrchar\\cyry" => '0x004AF',
	"\\cyrchar\\CYRYA" => '0x0042F',
	"\\cyrchar\\cyrya" => '0x0044F',
	"\\cyrchar\\CYRYAT" => '0x00462',
	"\\cyrchar\\CYRYHCRS" => '0x004B0',
	"\\cyrchar\\cyryhcrs" => '0x004B1',
	"\\cyrchar\\CYRYI" => '0x00407',
	"\\cyrchar\\cyryi" => '0x00457',
	"\\cyrchar\\CYRYO" => '0x00401',
	"\\cyrchar\\cyryo" => '0x00451',
	"\\cyrchar\\CYRYU" => '0x0042E',
	"\\cyrchar\\cyryu" => '0x0044E',
	"\\cyrchar\\CYRZ" => '0x00417',
	"\\cyrchar\\cyrz" => '0x00437',
	"\\cyrchar\\CYRZDSC" => '0x00498',
	"\\cyrchar\\cyrzdsc" => '0x00499',
	"\\cyrchar\\CYRZH" => '0x00416',
	"\\cyrchar\\cyrzh" => '0x00436',
	"\\cyrchar\\CYRZHDSC" => '0x00496',
	"\\cyrchar\\cyrzhdsc" => '0x00497',
	"\\cyrchar\\textnumero" => '0x02116',
	"\\daleth" => '0x02138',
	"\\dashv" => '0x022A3',
	"\\dblarrowupdown" => '0x021C5',
	"\\ddddot" => '0x020DC',
	"\\dddot" => '0x020DB',
	"\\ddot{\\iota}" => '0x003CA',
	"\\ddot{\\upsilon}" => '0x003CB',
	"\\Delta" => '0x00394',
	"\\delta" => '0x003B4',
	"\\DH" => '0x000D0',
	"\\dh" => '0x000F0',
	"\\diagup" => '0x02571',
	"\\diamond" => '0x022C4',
	"\\diamond" => '0x02662',
	"\\Digamma" => '0x003DC',
	"\\digamma" => '0x003DD',
	"\\ding{100}" => '0x02744',
	"\\ding{101}" => '0x02745',
	"\\ding{102}" => '0x02746',
	"\\ding{103}" => '0x02747',
	"\\ding{104}" => '0x02748',
	"\\ding{105}" => '0x02749',
	"\\ding{106}" => '0x0274A',
	"\\ding{107}" => '0x0274B',
	"\\ding{108}" => '0x025CF',
	"\\ding{109}" => '0x0274D',
	"\\ding{110}" => '0x025A0',
	"\\ding{111}" => '0x0274F',
	"\\ding{112}" => '0x02750',
	"\\ding{113}" => '0x02751',
	"\\ding{114}" => '0x02752',
	"\\ding{115}" => '0x025B2',
	"\\ding{116}" => '0x025BC',
	"\\ding{117}" => '0x025C6',
	"\\ding{118}" => '0x02756',
	"\\ding{119}" => '0x025D7',
	"\\ding{120}" => '0x02758',
	"\\ding{121}" => '0x02759',
	"\\ding{122}" => '0x0275A',
	"\\ding{123}" => '0x0275B',
	"\\ding{124}" => '0x0275C',
	"\\ding{125}" => '0x0275D',
	"\\ding{126}" => '0x0275E',
	"\\ding{161}" => '0x02761',
	"\\ding{162}" => '0x02762',
	"\\ding{163}" => '0x02763',
	"\\ding{164}" => '0x02764',
	"\\ding{165}" => '0x02765',
	"\\ding{166}" => '0x02766',
	"\\ding{167}" => '0x02767',
	"\\ding{168}" => '0x02663',
	"\\ding{169}" => '0x02666',
	"\\ding{170}" => '0x02665',
	"\\ding{171}" => '0x02660',
	"\\ding{172}" => '0x02460',
	"\\ding{173}" => '0x02461',
	"\\ding{174}" => '0x02462',
	"\\ding{175}" => '0x02463',
	"\\ding{176}" => '0x02464',
	"\\ding{177}" => '0x02465',
	"\\ding{178}" => '0x02466',
	"\\ding{179}" => '0x02467',
	"\\ding{180}" => '0x02468',
	"\\ding{181}" => '0x02469',
	"\\ding{182}" => '0x02776',
	"\\ding{183}" => '0x02777',
	"\\ding{184}" => '0x02778',
	"\\ding{185}" => '0x02779',
	"\\ding{186}" => '0x0277A',
	"\\ding{187}" => '0x0277B',
	"\\ding{188}" => '0x0277C',
	"\\ding{189}" => '0x0277D',
	"\\ding{190}" => '0x0277E',
	"\\ding{191}" => '0x0277F',
	"\\ding{192}" => '0x02780',
	"\\ding{193}" => '0x02781',
	"\\ding{194}" => '0x02782',
	"\\ding{195}" => '0x02783',
	"\\ding{196}" => '0x02784',
	"\\ding{197}" => '0x02785',
	"\\ding{198}" => '0x02786',
	"\\ding{199}" => '0x02787',
	"\\ding{200}" => '0x02788',
	"\\ding{201}" => '0x02789',
	"\\ding{202}" => '0x0278A',
	"\\ding{203}" => '0x0278B',
	"\\ding{204}" => '0x0278C',
	"\\ding{205}" => '0x0278D',
	"\\ding{206}" => '0x0278E',
	"\\ding{207}" => '0x0278F',
	"\\ding{208}" => '0x02790',
	"\\ding{209}" => '0x02791',
	"\\ding{210}" => '0x02792',
	"\\ding{211}" => '0x02793',
	"\\ding{212}" => '0x02794',
	"\\ding{216}" => '0x02798',
	"\\ding{217}" => '0x02799',
	"\\ding{218}" => '0x0279A',
	"\\ding{219}" => '0x0279B',
	"\\ding{220}" => '0x0279C',
	"\\ding{221}" => '0x0279D',
	"\\ding{222}" => '0x0279E',
	"\\ding{223}" => '0x0279F',
	"\\ding{224}" => '0x027A0',
	"\\ding{225}" => '0x027A1',
	"\\ding{226}" => '0x027A2',
	"\\ding{227}" => '0x027A3',
	"\\ding{228}" => '0x027A4',
	"\\ding{229}" => '0x027A5',
	"\\ding{230}" => '0x027A6',
	"\\ding{231}" => '0x027A7',
	"\\ding{232}" => '0x027A8',
	"\\ding{233}" => '0x027A9',
	"\\ding{234}" => '0x027AA',
	"\\ding{235}" => '0x027AB',
	"\\ding{236}" => '0x027AC',
	"\\ding{237}" => '0x027AD',
	"\\ding{238}" => '0x027AE',
	"\\ding{239}" => '0x027AF',
	"\\ding{241}" => '0x027B1',
	"\\ding{242}" => '0x027B2',
	"\\ding{243}" => '0x027B3',
	"\\ding{244}" => '0x027B4',
	"\\ding{245}" => '0x027B5',
	"\\ding{246}" => '0x027B6',
	"\\ding{247}" => '0x027B7',
	"\\ding{248}" => '0x027B8',
	"\\ding{249}" => '0x027B9',
	"\\ding{250}" => '0x027BA',
	"\\ding{251}" => '0x027BB',
	"\\ding{252}" => '0x027BC',
	"\\ding{253}" => '0x027BD',
	"\\ding{254}" => '0x027BE',
	"\\ding{33}" => '0x02701',
	"\\ding{34}" => '0x02702',
	"\\ding{35}" => '0x02703',
	"\\ding{36}" => '0x02704',
	"\\ding{37}" => '0x0260E',
	"\\ding{38}" => '0x02706',
	"\\ding{39}" => '0x02707',
	"\\ding{40}" => '0x02708',
	"\\ding{41}" => '0x02709',
	"\\ding{42}" => '0x0261B',
	"\\ding{43}" => '0x0261E',
	"\\ding{44}" => '0x0270C',
	"\\ding{45}" => '0x0270D',
	"\\ding{46}" => '0x0270E',
	"\\ding{47}" => '0x0270F',
	"\\ding{48}" => '0x02710',
	"\\ding{49}" => '0x02711',
	"\\ding{50}" => '0x02712',
	"\\ding{51}" => '0x02713',
	"\\ding{52}" => '0x02714',
	"\\ding{53}" => '0x02715',
	"\\ding{54}" => '0x02716',
	"\\ding{55}" => '0x02717',
	"\\ding{56}" => '0x02718',
	"\\ding{57}" => '0x02719',
	"\\ding{58}" => '0x0271A',
	"\\ding{59}" => '0x0271B',
	"\\ding{60}" => '0x0271C',
	"\\ding{61}" => '0x0271D',
	"\\ding{62}" => '0x0271E',
	"\\ding{63}" => '0x0271F',
	"\\ding{64}" => '0x02720',
	"\\ding{65}" => '0x02721',
	"\\ding{66}" => '0x02722',
	"\\ding{67}" => '0x02723',
	"\\ding{68}" => '0x02724',
	"\\ding{69}" => '0x02725',
	"\\ding{70}" => '0x02726',
	"\\ding{71}" => '0x02727',
	"\\ding{72}" => '0x02605',
	"\\ding{73}" => '0x02606',
	"\\ding{73}" => '0x02729',
	"\\ding{74}" => '0x0272A',
	"\\ding{75}" => '0x0272B',
	"\\ding{76}" => '0x0272C',
	"\\ding{77}" => '0x0272D',
	"\\ding{78}" => '0x0272E',
	"\\ding{79}" => '0x0272F',
	"\\ding{80}" => '0x02730',
	"\\ding{81}" => '0x02731',
	"\\ding{82}" => '0x02732',
	"\\ding{83}" => '0x02733',
	"\\ding{84}" => '0x02734',
	"\\ding{85}" => '0x02735',
	"\\ding{86}" => '0x02736',
	"\\ding{87}" => '0x02737',
	"\\ding{88}" => '0x02738',
	"\\ding{89}" => '0x02739',
	"\\ding{90}" => '0x0273A',
	"\\ding{91}" => '0x0273B',
	"\\ding{92}" => '0x0273C',
	"\\ding{93}" => '0x0273D',
	"\\ding{94}" => '0x0273E',
	"\\ding{95}" => '0x0273F',
	"\\ding{96}" => '0x02740',
	"\\ding{97}" => '0x02741',
	"\\ding{98}" => '0x02742',
	"\\ding{99}" => '0x02743',
	"\\div" => '0x000F7',
	"\\divideontimes" => '0x022C7',
	"\\DJ" => '0x00110',
	"\\dj" => '0x00111',
	"\\doteq" => '0x02250',
	"\\doteqdot" => '0x02251',
	"\\dotplus" => '0x02214',
	"\\downarrow" => '0x02193',
	"\\Downarrow" => '0x021D3',
	"\\DownArrowBar" => '0x02913',
	"\\DownArrowUpArrow" => '0x021F5',
	"\\downdownarrows" => '0x021CA',
	"\\downharpoonleft" => '0x021C3',
	"\\downharpoonright" => '0x021C2',
	"\\DownLeftRightVector" => '0x02950',
	"\\DownLeftTeeVector" => '0x0295E',
	"\\DownLeftVectorBar" => '0x02956',
	"\\DownRightTeeVector" => '0x0295F',
	"\\DownRightVectorBar" => '0x02957',
	"\\downslopeellipsis" => '0x022F1',
	"\\`{E}" => '0x000C8',
	"\\'{E}" => '0x000C9',
	"\\^{E}" => '0x000CA',
	"\\\"{E}" => '0x000CB',
	"\\`{e}" => '0x000E8',
	"\\'{e}" => '0x000E9',
	"\\^{e}" => '0x000EA',
	"\\\"{e}" => '0x000EB',
	"\\={E}" => '0x00112',
	"\\={e}" => '0x00113',
	"\\.{E}" => '0x00116',
	"\\.{e}" => '0x00117',
	"\\'{E}" => '0x00388',
	"\\eighthnote" => '0x0266A',
	"\\Elolarr" => '0x02940',
	"\\ElOr" => '0x02A56',
	"\\Elorarr" => '0x02941',
	"\\Elroang" => '0x02986',
	"\\ElsevierGlyph{2129}" => '0x02129',
	"\\ElsevierGlyph{21B3}" => '0x021B3',
	"\\ElsevierGlyph{2232}" => '0x02232',
	"\\ElsevierGlyph{2233}" => '0x02233',
	"\\ElsevierGlyph{2238}" => '0x02238',
	"\\ElsevierGlyph{2242}" => '0x02242',
	"\\ElsevierGlyph{225A}" => '0x0225A',
	"\\ElsevierGlyph{225A}" => '0x02A63',
	"\\ElsevierGlyph{225F}" => '0x0225F',
	"\\ElsevierGlyph{2274}" => '0x02274',
	"\\ElsevierGlyph{2275}" => '0x02275',
	"\\ElsevierGlyph{22C0}" => '0x022C0',
	"\\ElsevierGlyph{22C1}" => '0x022C1',
	"\\ElsevierGlyph{300A}" => '0x0300A',
	"\\ElsevierGlyph{300B}" => '0x0300B',
	"\\ElsevierGlyph{3018}" => '0x02985',
	"\\ElsevierGlyph{3018}" => '0x03018',
	"\\ElsevierGlyph{3019}" => '0x03019',
	"\\ElsevierGlyph{E20A}" => '0x02926',
	"\\ElsevierGlyph{E20B}" => '0x02925',
	"\\ElsevierGlyph{E20C}" => '0x02923',
	"\\ElsevierGlyph{E20D}" => '0x02924',
	"\\ElsevierGlyph{E20E}" => '0x02928',
	"\\ElsevierGlyph{E20F}" => '0x02929',
	"\\ElsevierGlyph{E210}" => '0x0292A',
	"\\ElsevierGlyph{E211}" => '0x02927',
	"\\ElsevierGlyph{E212}" => '0x02905',
	"\\ElsevierGlyph{E214}" => '0x0297C',
	"\\ElsevierGlyph{E215}" => '0x0297D',
	"\\ElsevierGlyph{E219}" => '0x02937',
	"\\ElsevierGlyph{E21A}" => '0x02936',
	"\\ElsevierGlyph{E21C}" => '0x02933',
	"\\ElsevierGlyph{E259}" => '0x02A3C',
	"\\ElsevierGlyph{E25A}" => '0x02A25',
	"\\ElsevierGlyph{E25B}" => '0x02A2A',
	"\\ElsevierGlyph{E25C}" => '0x02A2D',
	"\\ElsevierGlyph{E25D}" => '0x02A2E',
	"\\ElsevierGlyph{E25E}" => '0x02A34',
	"\\ElsevierGlyph{E25E}" => '0x02A35',
	"\\ElsevierGlyph{E260}" => '0x029B5',
	"\\ElsevierGlyph{E291}" => '0x02994',
	"\\ElsevierGlyph{E30D}" => '0x02AEB',
	"\\ElsevierGlyph{E36E}" => '0x02A55',
	"\\ElsevierGlyph{E372}" => '0x029DC',
	"\\ElsevierGlyph{E381}" => '0x025B1',
	"\\ElsevierGlyph{E395}" => '0x02A10',
	"\\ElsevierGlyph{E61B}" => '0x029B6',
	"\\ElsevierGlyph{E838}" => '0x0233D',
	"\\Elxsqcup" => '0x02A06',
	"\\Elxuplus" => '0x02A04',
	"\\ElzAnd" => '0x02A53',
	"\\Elzbar" => '0x00336',
	"\\Elzbtdl" => '0x0026C',
	"\\ElzCint" => '0x02A0D',
	"\\Elzcirfb" => '0x025D2',
	"\\Elzcirfl" => '0x025D0',
	"\\Elzcirfr" => '0x025D1',
	"\\Elzclomeg" => '0x00277',
	"\\Elzddfnc" => '0x02999',
	"\\Elzdefas" => '0x029CB',
	"\\Elzdlcorn" => '0x023A3',
	"\\Elzdshfnc" => '0x02506',
	"\\Elzdyogh" => '0x002A4',
	"\\Elzesh" => '0x00283',
	"\\Elzfhr" => '0x0027E',
	"\\Elzglst" => '0x00294',
	"\\Elzhlmrk" => '0x002D1',
	"\\ElzInf" => '0x02A07',
	"\\Elzinglst" => '0x00296',
	"\\Elzinvv" => '0x0028C',
	"\\Elzinvw" => '0x0028D',
	"\\ElzLap" => '0x029CA',
	"\\Elzlmrk" => '0x002D0',
	"\\Elzlow" => '0x002D5',
	"\\Elzlpargt" => '0x029A0',
	"\\Elzltlmr" => '0x00271',
	"\\Elzltln" => '0x00272',
	"\\Elzminhat" => '0x02A5F',
	"\\Elzopeno" => '0x00254',
	"\\ElzOr" => '0x02A54',
	"\\Elzpalh" => '0x00321',
	"\\Elzpbgam" => '0x00264',
	"\\Elzpgamma" => '0x00263',
	"\\Elzpscrv" => '0x0028B',
	"\\Elzpupsil" => '0x0028A',
	"\\Elzrais" => '0x002D4',
	"\\Elzrarrx" => '0x02947',
	"\\Elzreapos" => '0x0201B',
	"\\Elzreglst" => '0x00295',
	"\\Elzrh" => '0x00322',
	"\\Elzrl" => '0x0027C',
	"\\ElzRlarr" => '0x02942',
	"\\ElzrLarr" => '0x02944',
	"\\Elzrtld" => '0x00256',
	"\\Elzrtll" => '0x0026D',
	"\\Elzrtln" => '0x00273',
	"\\Elzrtlr" => '0x0027D',
	"\\Elzrtls" => '0x00282',
	"\\Elzrtlt" => '0x00288',
	"\\Elzrtlz" => '0x00290',
	"\\Elzrttrnr" => '0x0027B',
	"\\Elzrvbull" => '0x025D8',
	"\\Elzsbbrg" => '0x0032A',
	"\\Elzsblhr" => '0x002D3',
	"\\Elzsbrhr" => '0x002D2',
	"\\Elzschwa" => '0x00259',
	"\\Elzsqfl" => '0x025E7',
	"\\Elzsqfnw" => '0x02519',
	"\\Elzsqfr" => '0x025E8',
	"\\Elzsqfse" => '0x025EA',
	"\\Elzsqspne" => '0x022E5',
	"\\ElzSup" => '0x02A08',
	"\\Elztdcol" => '0x02AF6',
	"\\Elztesh" => '0x002A7',
	"\\Elztfnc" => '0x02980',
	"\\ElzThr" => '0x02A05',
	"\\ElzTimes" => '0x02A2F',
	"\\Elztrna" => '0x00250',
	"\\Elztrnh" => '0x00265',
	"\\Elztrnm" => '0x0026F',
	"\\Elztrnmlr" => '0x00270',
	"\\Elztrnr" => '0x00279',
	"\\Elztrnrl" => '0x0027A',
	"\\Elztrnsa" => '0x00252',
	"\\Elztrnt" => '0x00287',
	"\\Elztrny" => '0x0028E',
	"\\Elzverti" => '0x002CC',
	"\\Elzverts" => '0x002C8',
	"\\Elzvrecto" => '0x025AF',
	"\\Elzxh" => '0x00127',
	"\\Elzxl" => '0x00335',
	"\\Elzxrat" => '0x0211E',
	"\\Elzyogh" => '0x00292',
	"\\ensuremath{\\Elzpes}" => '0x020A7',
	"\\Epsilon" => '0x00395',
	"\\epsilon" => '0x003B5',
	"\\eqcirc" => '0x02256',
	"\\eqslantgtr" => '0x02A96',
	"\\eqslantless" => '0x02A95',
	"\\Equal" => '0x02A75',
	"\\equiv" => '0x02261',
	"\\estimates" => '0x02259',
	"\\Eta" => '0x00397',
	"\\eta" => '0x003B7',
	"\\eth" => '0x001AA',
	"\\exists" => '0x02203',
	"\\fallingdotseq" => '0x02252',
	"\\fbox{~~}" => '0x025AD',
	"\\flat" => '0x0266D',
	"\\forall" => '0x02200',
	"\\forcesextra" => '0x022A8',
	"\\frown" => '0x02322',
	"\\^{G}" => '0x0011C',
	"\\^{g}" => '0x0011D',
	"\\.{G}" => '0x00120',
	"\\.{g}" => '0x00121',
	"\\'{g}" => '0x001F5',
	"\\Gamma" => '0x00393',
	"\\gamma" => '0x003B3',
	"\\gemini" => '0x0264A',
	"\\geq" => '0x02265',
	"\\geqq" => '0x02267',
	"\\geqslant" => '0x02A7E',
	"\\gg" => '0x0226B',
	"\\gimel" => '0x02137',
	"\\gnapprox" => '0x02A8A',
	"\\gneq" => '0x02A88',
	"\\gneqq" => '0x02269',
	"\\gnsim" => '0x022E7',
	"\\greaterequivlnt" => '0x02273',
	"\\gtrapprox" => '0x02A86',
	"\\gtrdot" => '0x022D7',
	"\\gtreqless" => '0x022DB',
	"\\gtreqqless" => '0x02A8C',
	"\\gtrless" => '0x02277',
	"\\guillemotleft" => '0x000AB',
	"\\guillemotright" => '0x000BB',
	"\\guilsinglleft" => '0x02039',
	"\\guilsinglright" => '0x0203A',
	"\\^{H}" => '0x00124',
	"\\^{h}" => '0x00125',
	"\\H{}" => '0x002DD',
	"\\H" => '0x0030B',
	"\\'{H}" => '0x00389',
	"\\hermitconjmatrix" => '0x022B9',
	"\\H{O}" => '0x00150',
	"\\H{o}" => '0x00151',
	"\\homothetic" => '0x0223B',
	"\\hookleftarrow" => '0x021A9',
	"\\hookrightarrow" => '0x021AA',
	"\\hphantom{0}" => '0x02007',
	"\\hphantom{,}" => '0x02008',
	"\\hslash" => '0x0210F',
	"\\hspace{0.166em}" => '0x02006',
	"\\hspace{0.167em}" => '0x02009',
	"\\hspace{0.25em}" => '0x02005',
	"\\hspace{0.33em}" => '0x02004',
	"\\hspace{0.6em}" => '0x02002',
	"\\hspace{1em}" => '0x02003',
	"\\H{U}" => '0x00170',
	"\\H{u}" => '0x00171',
	"\\`{I}" => '0x000CC',
	"\\'{I}" => '0x000CD',
	"\\^{I}" => '0x000CE',
	"\\\"{I}" => '0x000CF',
	"\\`{\\i}" => '0x000EC',
	"\\'{\\i}" => '0x000ED',
	"\\^{\\i}" => '0x000EE',
	"\\\"{\\i}" => '0x000EF',
	"\\~{I}" => '0x00128',
	"\\~{\\i}" => '0x00129',
	"\\={I}" => '0x0012A',
	"\\={\\i}" => '0x0012B',
	"\\.{I}" => '0x00130',
	"\\i" => '0x00131',
	"\\'{}{I}" => '0x0038A',
	"\\image" => '0x022B7',
	"\\in" => '0x02208',
	"\\in" => '0x1D6DC',
	"\\in" => '0x1D716',
	"\\in" => '0x1D750',
	"\\in" => '0x1D78A',
	"\\in" => '0x1D7C4',
	"\\infty" => '0x0221E',
	"\\int" => '0x0222B',
	"\\intercal" => '0x022BA',
	"\\int\\!\\int" => '0x0222C',
	"\\int\\!\\int\\!\\int" => '0x0222D',
	"\\Iota" => '0x00399',
	"\\iota" => '0x003B9',
	"\\^{J}" => '0x00134',
	"\\^{\\j}" => '0x00135',
	"\\jupiter" => '0x02643',
	"\\k{}" => '0x002DB',
	"\\k" => '0x00328',
	"\\k{A}" => '0x00104',
	"\\k{a}" => '0x00105',
	"\\Kappa" => '0x0039A',
	"\\kappa" => '0x003BA',
	"\\k{E}" => '0x00118',
	"\\k{e}" => '0x00119',
	"\\k{I}" => '0x0012E',
	"\\k{i}" => '0x0012F',
	"\\Koppa" => '0x003DE',
	"\\k{U}" => '0x00172',
	"\\k{u}" => '0x00173',
	"\\'{L}" => '0x00139',
	"\\'{l}" => '0x0013A',
	"\\L" => '0x00141',
	"\\l" => '0x00142',
	"\\Lambda" => '0x0039B',
	"\\lambda" => '0x003BB',
	"\\langle" => '0x02329',
	"\\lazysinv" => '0x0223E',
	"\\lbrace" => '0x0007B',
	"\\lceil" => '0x02308',
	"\\ldots" => '0x02026',
	"\\leftarrow" => '0x02190',
	"\\Leftarrow" => '0x021D0',
	"\\leftarrowtail" => '0x021A2',
	"\\LeftDownTeeVector" => '0x02961',
	"\\LeftDownVectorBar" => '0x02959',
	"\\leftharpoondown" => '0x021BD',
	"\\leftharpoonup" => '0x021BC',
	"\\leftleftarrows" => '0x021C7',
	"\\leftrightarrow" => '0x02194',
	"\\Leftrightarrow" => '0x021D4',
	"\\leftrightarrows" => '0x021C6',
	"\\leftrightharpoons" => '0x021CB',
	"\\leftrightsquigarrow" => '0x021AD',
	"\\LeftRightVector" => '0x0294E',
	"\\LeftTeeVector" => '0x0295A',
	"\\leftthreetimes" => '0x022CB',
	"\\LeftTriangleBar" => '0x029CF',
	"\\LeftUpDownVector" => '0x02951',
	"\\LeftUpTeeVector" => '0x02960',
	"\\LeftUpVectorBar" => '0x02958',
	"\\LeftVectorBar" => '0x02952',
	"\\leo" => '0x0264C',
	"\\leq" => '0x02264',
	"\\leqq" => '0x02266',
	"\\leqslant" => '0x02A7D',
	"\\lessapprox" => '0x02A85',
	"\\lessdot" => '0x022D6',
	"\\lesseqgtr" => '0x022DA',
	"\\lesseqqgtr" => '0x02A8B',
	"\\lessequivlnt" => '0x02272',
	"\\lessgtr" => '0x02276',
	"\\lfloor" => '0x0230A',
	"\\libra" => '0x0264E',
	"\\ll" => '0x0226A',
	"\\llcorner" => '0x0231E',
	"\\Lleftarrow" => '0x021DA',
	"\\lmoustache" => '0x023B0',
	"\\lnapprox" => '0x02A89',
	"\\lneq" => '0x02A87',
	"\\lneqq" => '0x02268',
	"\\lnot" => '0x000AC',
	"\\lnsim" => '0x022E6',
	"\\longleftarrow" => '0x027F5',
	"\\Longleftarrow" => '0x027F8',
	"\\longleftrightarrow" => '0x027F7',
	"\\Longleftrightarrow" => '0x027FA',
	"\\longmapsto" => '0x027FC',
	"\\longrightarrow" => '0x027F6',
	"\\Longrightarrow" => '0x027F9',
	"\\looparrowleft" => '0x021AB',
	"\\looparrowright" => '0x021AC',
	"\\lozenge" => '0x025CA',
	"\\lrcorner" => '0x0231F',
	"\\Lsh" => '0x021B0',
	"\\ltimes" => '0x022C9',
	"\\male" => '0x02642',
	"\\mapsto" => '0x021A6',
	"\\mathbb{0}" => '0x1D7D8',
	"\\mathbb{1}" => '0x1D7D9',
	"\\mathbb{2}" => '0x1D7DA',
	"\\mathbb{3}" => '0x1D7DB',
	"\\mathbb{4}" => '0x1D7DC',
	"\\mathbb{5}" => '0x1D7DD',
	"\\mathbb{6}" => '0x1D7DE',
	"\\mathbb{7}" => '0x1D7DF',
	"\\mathbb{8}" => '0x1D7E0',
	"\\mathbb{9}" => '0x1D7E1',
	"\\mathbb{A}" => '0x1D538',
	"\\mathbb{a}" => '0x1D552',
	"\\mathbb{B}" => '0x1D539',
	"\\mathbb{b}" => '0x1D553',
	"\\mathbb{C}" => '0x02102',
	"\\mathbb{c}" => '0x1D554',
	"\\mathbb{D}" => '0x1D53B',
	"\\mathbb{d}" => '0x1D555',
	"\\mathbb{E}" => '0x1D53C',
	"\\mathbb{e}" => '0x1D556',
	"\\mathbb{F}" => '0x1D53D',
	"\\mathbb{f}" => '0x1D557',
	"\\mathbb{G}" => '0x1D53E',
	"\\mathbb{g}" => '0x1D558',
	"\\mathbb{H}" => '0x0210D',
	"\\mathbb{h}" => '0x1D559',
	"\\mathbb{I}" => '0x1D540',
	"\\mathbb{i}" => '0x1D55A',
	"\\mathbb{J}" => '0x1D541',
	"\\mathbb{j}" => '0x1D55B',
	"\\mathbb{K}" => '0x1D542',
	"\\mathbb{k}" => '0x1D55C',
	"\\mathbb{L}" => '0x1D543',
	"\\mathbb{l}" => '0x1D55D',
	"\\mathbb{M}" => '0x1D544',
	"\\mathbb{m}" => '0x1D55E',
	"\\mathbb{N}" => '0x02115',
	"\\mathbb{n}" => '0x1D55F',
	"\\mathbb{O}" => '0x1D546',
	"\\mathbb{o}" => '0x1D560',
	"\\mathbb{P}" => '0x02119',
	"\\mathbb{p}" => '0x1D561',
	"\\mathbb{Q}" => '0x0211A',
	"\\mathbb{q}" => '0x1D562',
	"\\mathbb{R}" => '0x0211D',
	"\\mathbb{r}" => '0x1D563',
	"\\mathbb{S}" => '0x1D54A',
	"\\mathbb{s}" => '0x1D564',
	"\\mathbb{T}" => '0x1D54B',
	"\\mathbb{t}" => '0x1D565',
	"\\mathbb{U}" => '0x1D54C',
	"\\mathbb{u}" => '0x1D566',
	"\\mathbb{V}" => '0x1D54D',
	"\\mathbb{v}" => '0x1D567',
	"\\mathbb{W}" => '0x1D54E',
	"\\mathbb{w}" => '0x1D568',
	"\\mathbb{X}" => '0x1D54F',
	"\\mathbb{x}" => '0x1D569',
	"\\mathbb{Y}" => '0x1D550',
	"\\mathbb{y}" => '0x1D56A',
	"\\mathbb{Z}" => '0x02124',
	"\\mathbb{z}" => '0x1D56B',
	"\\mathbf{0}" => '0x1D7CE',
	"\\mathbf{1}" => '0x1D7CF',
	"\\mathbf{2}" => '0x1D7D0',
	"\\mathbf{3}" => '0x1D7D1',
	"\\mathbf{4}" => '0x1D7D2',
	"\\mathbf{5}" => '0x1D7D3',
	"\\mathbf{6}" => '0x1D7D4',
	"\\mathbf{7}" => '0x1D7D5',
	"\\mathbf{8}" => '0x1D7D6',
	"\\mathbf{9}" => '0x1D7D7',
	"\\mathbf{A}" => '0x1D400',
	"\\mathbf{a}" => '0x1D41A',
	"\\mathbf{\\Alpha}" => '0x1D6A8',
	"\\mathbf{\\Alpha}" => '0x1D6C2',
	"\\mathbf{B}" => '0x1D401',
	"\\mathbf{b}" => '0x1D41B',
	"\\mathbf{\\Beta}" => '0x1D6A9',
	"\\mathbf{\\Beta}" => '0x1D6C3',
	"\\mathbf{C}" => '0x1D402',
	"\\mathbf{c}" => '0x1D41C',
	"\\mathbf{\\Chi}" => '0x1D6BE',
	"\\mathbf{\\Chi}" => '0x1D6D8',
	"\\mathbf{D}" => '0x1D403',
	"\\mathbf{d}" => '0x1D41D',
	"\\mathbf{\\Delta}" => '0x1D6AB',
	"\\mathbf{\\Delta}" => '0x1D6C5',
	"\\mathbf{E}" => '0x1D404',
	"\\mathbf{e}" => '0x1D41E',
	"\\mathbf{\\Epsilon}" => '0x1D6AC',
	"\\mathbf{\\Epsilon}" => '0x1D6C6',
	"\\mathbf{\\Eta}" => '0x1D6AE',
	"\\mathbf{\\Eta}" => '0x1D6C8',
	"\\mathbf{F}" => '0x1D405',
	"\\mathbf{f}" => '0x1D41F',
	"\\mathbf{G}" => '0x1D406',
	"\\mathbf{g}" => '0x1D420',
	"\\mathbf{\\Gamma}" => '0x1D6AA',
	"\\mathbf{\\Gamma}" => '0x1D6C4',
	"\\mathbf{H}" => '0x1D407',
	"\\mathbf{h}" => '0x1D421',
	"\\mathbf{I}" => '0x1D408',
	"\\mathbf{i}" => '0x1D422',
	"\\mathbf{\\Iota}" => '0x1D6B0',
	"\\mathbf{\\Iota}" => '0x1D6CA',
	"\\mathbf{J}" => '0x1D409',
	"\\mathbf{j}" => '0x1D423',
	"\\mathbf{K}" => '0x1D40A',
	"\\mathbf{k}" => '0x1D424',
	"\\mathbf{\\Kappa}" => '0x1D6B1',
	"\\mathbf{\\Kappa}" => '0x1D6CB',
	"\\mathbf{L}" => '0x1D40B',
	"\\mathbf{l}" => '0x1D425',
	"\\mathbf{\\Lambda}" => '0x1D6B2',
	"\\mathbf{\\Lambda}" => '0x1D6CC',
	"\\mathbf{M}" => '0x1D40C',
	"\\mathbf{m}" => '0x1D426',
	"\\mathbf{N}" => '0x1D40D',
	"\\mathbf{n}" => '0x1D427',
	"\\mathbf{\\nabla}" => '0x1D6C1',
	"\\mathbf{O}" => '0x1D40E',
	"\\mathbf{o}" => '0x1D428',
	"\\mathbf{\\Omega}" => '0x1D6C0',
	"\\mathbf{\\Omega}" => '0x1D6DA',
	"\\mathbf{P}" => '0x1D40F',
	"\\mathbf{p}" => '0x1D429',
	"\\mathbf{\\Phi}" => '0x1D6BD',
	"\\mathbf{\\Phi}" => '0x1D6D7',
	"\\mathbf{\\phi}" => '0x1D6DF',
	"\\mathbf{\\Pi}" => '0x1D6B7',
	"\\mathbf{\\Pi}" => '0x1D6D1',
	"\\mathbf{\\Psi}" => '0x1D6BF',
	"\\mathbf{\\Psi}" => '0x1D6D9',
	"\\mathbf{Q}" => '0x1D410',
	"\\mathbf{q}" => '0x1D42A',
	"\\mathbf{R}" => '0x1D411',
	"\\mathbf{r}" => '0x1D42B',
	"\\mathbf{\\Rho}" => '0x1D6B8',
	"\\mathbf{\\Rho}" => '0x1D6D2',
	"\\mathbf{S}" => '0x1D412',
	"\\mathbf{s}" => '0x1D42C',
	"\\mathbf{\\Sigma}" => '0x1D6BA',
	"\\mathbf{\\Sigma}" => '0x1D6D4',
	"\\mathbf{T}" => '0x1D413',
	"\\mathbf{t}" => '0x1D42D',
	"\\mathbf{\\Tau}" => '0x1D6BB',
	"\\mathbf{\\Tau}" => '0x1D6D5',
	"\\mathbf{\\Theta}" => '0x1D6AF',
	"\\mathbf{\\theta}" => '0x1D6C9',
	"\\mathbf{U}" => '0x1D414',
	"\\mathbf{u}" => '0x1D42E',
	"\\mathbf{\\Upsilon}" => '0x1D6BC',
	"\\mathbf{\\Upsilon}" => '0x1D6D6',
	"\\mathbf{V}" => '0x1D415',
	"\\mathbf{v}" => '0x1D42F',
	"\\mathbf{\\varkappa}" => '0x1D6DE',
	"\\mathbf{\\varpi}" => '0x1D6E1',
	"\\mathbf{\\varrho}" => '0x1D6E0',
	"\\mathbf{\\varsigma}" => '0x1D6D3',
	"\\mathbf{\\vartheta}" => '0x1D6B9',
	"\\mathbf{\\vartheta}" => '0x1D6DD',
	"\\mathbf{W}" => '0x1D416',
	"\\mathbf{w}" => '0x1D430',
	"\\mathbf{X}" => '0x1D417',
	"\\mathbf{x}" => '0x1D431',
	"\\mathbf{\\Xi}" => '0x1D6B5',
	"\\mathbf{\\Xi}" => '0x1D6CF',
	"\\mathbf{Y}" => '0x1D418',
	"\\mathbf{y}" => '0x1D432',
	"\\mathbf{Z}" => '0x1D419',
	"\\mathbf{z}" => '0x1D433',
	"\\mathbf{\\Zeta}" => '0x1D6AD',
	"\\mathbf{\\Zeta}" => '0x1D6C7',
	"\\mathbin{{:}\\!\\!{-}\\!\\!{:}}" => '0x0223A',
	"\\mathbit{A}" => '0x1D468',
	"\\mathbit{a}" => '0x1D482',
	"\\mathbit{\\Alpha}" => '0x1D71C',
	"\\mathbit{\\Alpha}" => '0x1D736',
	"\\mathbit{B}" => '0x1D469',
	"\\mathbit{b}" => '0x1D483',
	"\\mathbit{\\Beta}" => '0x1D71D',
	"\\mathbit{\\Beta}" => '0x1D737',
	"\\mathbit{C}" => '0x1D46A',
	"\\mathbit{c}" => '0x1D484',
	"\\mathbit{\\Chi}" => '0x1D732',
	"\\mathbit{\\Chi}" => '0x1D74C',
	"\\mathbit{D}" => '0x1D46B',
	"\\mathbit{d}" => '0x1D485',
	"\\mathbit{\\Delta}" => '0x1D71F',
	"\\mathbit{\\Delta}" => '0x1D739',
	"\\mathbit{E}" => '0x1D46C',
	"\\mathbit{e}" => '0x1D486',
	"\\mathbit{\\Epsilon}" => '0x1D720',
	"\\mathbit{\\Epsilon}" => '0x1D73A',
	"\\mathbit{\\Eta}" => '0x1D722',
	"\\mathbit{\\Eta}" => '0x1D73C',
	"\\mathbit{F}" => '0x1D46D',
	"\\mathbit{f}" => '0x1D487',
	"\\mathbit{G}" => '0x1D46E',
	"\\mathbit{g}" => '0x1D488',
	"\\mathbit{\\Gamma}" => '0x1D71E',
	"\\mathbit{\\Gamma}" => '0x1D738',
	"\\mathbit{H}" => '0x1D46F',
	"\\mathbit{h}" => '0x1D489',
	"\\mathbit{I}" => '0x1D470',
	"\\mathbit{i}" => '0x1D48A',
	"\\mathbit{\\Iota}" => '0x1D724',
	"\\mathbit{\\Iota}" => '0x1D73E',
	"\\mathbit{J}" => '0x1D471',
	"\\mathbit{j}" => '0x1D48B',
	"\\mathbit{K}" => '0x1D472',
	"\\mathbit{k}" => '0x1D48C',
	"\\mathbit{\\Kappa}" => '0x1D725',
	"\\mathbit{\\Kappa}" => '0x1D73F',
	"\\mathbit{L}" => '0x1D473',
	"\\mathbit{l}" => '0x1D48D',
	"\\mathbit{\\Lambda}" => '0x1D726',
	"\\mathbit{\\Lambda}" => '0x1D740',
	"\\mathbit{M}" => '0x1D474',
	"\\mathbit{m}" => '0x1D48E',
	"\\mathbit{N}" => '0x1D475',
	"\\mathbit{n}" => '0x1D48F',
	"\\mathbit{\\nabla}" => '0x1D735',
	"\\mathbit{O}" => '0x1D476',
	"\\mathbit{o}" => '0x1D490',
	"\\mathbit{O}" => '0x1D72D',
	"\\mathbit{\\Omega}" => '0x1D734',
	"\\mathbit{\\Omega}" => '0x1D74E',
	"\\mathbit{P}" => '0x1D477',
	"\\mathbit{p}" => '0x1D491',
	"\\mathbit{\\Phi}" => '0x1D731',
	"\\mathbit{\\Phi}" => '0x1D74B',
	"\\mathbit{\\phi}" => '0x1D753',
	"\\mathbit{\\Pi}" => '0x1D72B',
	"\\mathbit{\\Pi}" => '0x1D745',
	"\\mathbit{\\Psi}" => '0x1D733',
	"\\mathbit{\\Psi}" => '0x1D74D',
	"\\mathbit{Q}" => '0x1D478',
	"\\mathbit{q}" => '0x1D492',
	"\\mathbit{R}" => '0x1D479',
	"\\mathbit{r}" => '0x1D493',
	"\\mathbit{\\Rho}" => '0x1D72C',
	"\\mathbit{\\Rho}" => '0x1D746',
	"\\mathbit{S}" => '0x1D47A',
	"\\mathbit{s}" => '0x1D494',
	"\\mathbit{\\Sigma}" => '0x1D72E',
	"\\mathbit{\\Sigma}" => '0x1D748',
	"\\mathbit{T}" => '0x1D47B',
	"\\mathbit{t}" => '0x1D495',
	"\\mathbit{\\Tau}" => '0x1D72F',
	"\\mathbit{\\Tau}" => '0x1D749',
	"\\mathbit{\\Theta}" => '0x1D723',
	"\\mathbit{\\Theta}" => '0x1D73D',
	"\\mathbit{U}" => '0x1D47C',
	"\\mathbit{u}" => '0x1D496',
	"\\mathbit{\\Upsilon}" => '0x1D730',
	"\\mathbit{\\Upsilon}" => '0x1D74A',
	"\\mathbit{V}" => '0x1D47D',
	"\\mathbit{v}" => '0x1D497',
	"\\mathbit{\\varkappa}" => '0x1D752',
	"\\mathbit{\\varpi}" => '0x1D755',
	"\\mathbit{\\varrho}" => '0x1D754',
	"\\mathbit{\\varsigma}" => '0x1D747',
	"\\mathbit{\\vartheta}" => '0x1D751',
	"\\mathbit{W}" => '0x1D47E',
	"\\mathbit{w}" => '0x1D498',
	"\\mathbit{X}" => '0x1D47F',
	"\\mathbit{x}" => '0x1D499',
	"\\mathbit{\\Xi}" => '0x1D729',
	"\\mathbit{\\Xi}" => '0x1D743',
	"\\mathbit{Y}" => '0x1D480',
	"\\mathbit{y}" => '0x1D49A',
	"\\mathbit{Z}" => '0x1D481',
	"\\mathbit{z}" => '0x1D49B',
	"\\mathbit{\\Zeta}" => '0x1D721',
	"\\mathbit{\\Zeta}" => '0x1D73B',
	"\\mathchar\"2208" => '0x02316',
	"\\mathfrak{A}" => '0x1D504',
	"\\mathfrak{a}" => '0x1D51E',
	"\\mathfrak{B}" => '0x1D505',
	"\\mathfrak{b}" => '0x1D51F',
	"\\mathfrak{C}" => '0x0212D',
	"\\mathfrak{c}" => '0x1D520',
	"\\mathfrak{D}" => '0x1D507',
	"\\mathfrak{d}" => '0x1D521',
	"\\mathfrak{E}" => '0x1D508',
	"\\mathfrak{e}" => '0x1D522',
	"\\mathfrak{F}" => '0x1D509',
	"\\mathfrak{f}" => '0x1D523',
	"\\mathfrak{G}" => '0x1D50A',
	"\\mathfrak{g}" => '0x1D524',
	"\\mathfrak{H}" => '0x0210C',
	"\\mathfrak{h}" => '0x1D525',
	"\\mathfrak{I}" => '0x02111',
	"\\mathfrak{i}" => '0x1D526',
	"\\mathfrak{J}" => '0x1D50D',
	"\\mathfrak{j}" => '0x1D527',
	"\\mathfrak{K}" => '0x1D50E',
	"\\mathfrak{k}" => '0x1D528',
	"\\mathfrak{L}" => '0x1D50F',
	"\\mathfrak{l}" => '0x1D529',
	"\\mathfrak{M}" => '0x1D510',
	"\\mathfrak{m}" => '0x1D52A',
	"\\mathfrak{N}" => '0x1D511',
	"\\mathfrak{n}" => '0x1D52B',
	"\\mathfrak{O}" => '0x1D512',
	"\\mathfrak{o}" => '0x1D52C',
	"\\mathfrak{P}" => '0x1D513',
	"\\mathfrak{p}" => '0x1D52D',
	"\\mathfrak{Q}" => '0x1D514',
	"\\mathfrak{q}" => '0x1D52E',
	"\\mathfrak{R}" => '0x0211C',
	"\\mathfrak{r}" => '0x1D52F',
	"\\mathfrak{S}" => '0x1D516',
	"\\mathfrak{s}" => '0x1D530',
	"\\mathfrak{T}" => '0x1D517',
	"\\mathfrak{t}" => '0x1D531',
	"\\mathfrak{U}" => '0x1D518',
	"\\mathfrak{u}" => '0x1D532',
	"\\mathfrak{V}" => '0x1D519',
	"\\mathfrak{v}" => '0x1D533',
	"\\mathfrak{W}" => '0x1D51A',
	"\\mathfrak{w}" => '0x1D534',
	"\\mathfrak{X}" => '0x1D51B',
	"\\mathfrak{x}" => '0x1D535',
	"\\mathfrak{Y}" => '0x1D51C',
	"\\mathfrak{y}" => '0x1D536',
	"\\mathfrak{Z}" => '0x02128',
	"\\mathfrak{z}" => '0x1D537',
	"\\mathmit{A}" => '0x1D4D0',
	"\\mathmit{a}" => '0x1D4EA',
	"\\mathmit{B}" => '0x1D4D1',
	"\\mathmit{b}" => '0x1D4EB',
	"\\mathmit{C}" => '0x1D4D2',
	"\\mathmit{c}" => '0x1D4EC',
	"\\mathmit{D}" => '0x1D4D3',
	"\\mathmit{d}" => '0x1D4ED',
	"\\mathmit{E}" => '0x1D4D4',
	"\\mathmit{e}" => '0x1D4EE',
	"\\mathmit{F}" => '0x1D4D5',
	"\\mathmit{f}" => '0x1D4EF',
	"\\mathmit{G}" => '0x1D4D6',
	"\\mathmit{g}" => '0x1D4F0',
	"\\mathmit{H}" => '0x1D4D7',
	"\\mathmit{h}" => '0x1D4F1',
	"\\mathmit{I}" => '0x1D4D8',
	"\\mathmit{i}" => '0x1D4F2',
	"\\mathmit{J}" => '0x1D4D9',
	"\\mathmit{j}" => '0x1D4F3',
	"\\mathmit{K}" => '0x1D4DA',
	"\\mathmit{k}" => '0x1D4F4',
	"\\mathmit{L}" => '0x1D4DB',
	"\\mathmit{l}" => '0x1D4F5',
	"\\mathmit{M}" => '0x1D4DC',
	"\\mathmit{m}" => '0x1D4F6',
	"\\mathmit{N}" => '0x1D4DD',
	"\\mathmit{n}" => '0x1D4F7',
	"\\mathmit{O}" => '0x1D4DE',
	"\\mathmit{o}" => '0x1D4F8',
	"\\mathmit{P}" => '0x1D4DF',
	"\\mathmit{p}" => '0x1D4F9',
	"\\mathmit{Q}" => '0x1D4E0',
	"\\mathmit{q}" => '0x1D4FA',
	"\\mathmit{R}" => '0x1D4E1',
	"\\mathmit{r}" => '0x1D4FB',
	"\\mathmit{S}" => '0x1D4E2',
	"\\mathmit{s}" => '0x1D4FC',
	"\\mathmit{T}" => '0x1D4E3',
	"\\mathmit{t}" => '0x1D4FD',
	"\\mathmit{U}" => '0x1D4E4',
	"\\mathmit{u}" => '0x1D4FE',
	"\\mathmit{V}" => '0x1D4E5',
	"\\mathmit{v}" => '0x1D4FF',
	"\\mathmit{W}" => '0x1D4E6',
	"\\mathmit{w}" => '0x1D500',
	"\\mathmit{X}" => '0x1D4E7',
	"\\mathmit{x}" => '0x1D501',
	"\\mathmit{Y}" => '0x1D4E8',
	"\\mathmit{y}" => '0x1D502',
	"\\mathmit{Z}" => '0x1D4E9',
	"\\mathmit{z}" => '0x1D503',
	"\\mathrm{\\ddot{I}}" => '0x003AA',
	"\\mathrm{\\ddot{Y}}" => '0x003AB',
	"\\mathrm{\\mu}" => '0x000B5',
	"\\mathrm{'\\Omega}" => '0x0038F',
	"\\mathrm{'Y}" => '0x0038E',
	"\\mathscr{A}" => '0x1D49C',
	"\\mathscr{a}" => '0x1D4B6',
	"\\mathscr{B}" => '0x0212C',
	"\\mathscr{b}" => '0x1D4B7',
	"\\mathscr{C}" => '0x1D49E',
	"\\mathscr{c}" => '0x1D4B8',
	"\\mathscr{D}" => '0x1D49F',
	"\\mathscr{d}" => '0x1D4B9',
	"\\mathscr{e}" => '0x0212F',
	"\\mathscr{E}" => '0x02130',
	"\\mathscr{F}" => '0x02131',
	"\\mathscr{f}" => '0x1D4BB',
	"\\mathscr{g}" => '0x0210A',
	"\\mathscr{G}" => '0x1D4A2',
	"\\mathscr{H}" => '0x0210B',
	"\\mathscr{h}" => '0x1D4BD',
	"\\mathscr{I}" => '0x02110',
	"\\mathscr{i}" => '0x1D4BE',
	"\\mathscr{J}" => '0x1D4A5',
	"\\mathscr{j}" => '0x1D4BF',
	"\\mathscr{K}" => '0x1D4A6',
	"\\mathscr{k}" => '0x1D4C0',
	"\\mathscr{L}" => '0x02112',
	"\\mathscr{l}" => '0x02113',
	"\\mathscr{l}" => '0x1D4C1',
	"\\mathscr{M}" => '0x02133',
	"\\mathscr{m}" => '0x1D4C2',
	"\\mathscr{N}" => '0x1D4A9',
	"\\mathscr{n}" => '0x1D4C3',
	"\\mathscr{o}" => '0x02134',
	"\\mathscr{O}" => '0x1D4AA',
	"\\mathscr{P}" => '0x1D4AB',
	"\\mathscr{p}" => '0x1D4C5',
	"\\mathscr{Q}" => '0x1D4AC',
	"\\mathscr{q}" => '0x1D4C6',
	"\\mathscr{R}" => '0x0211B',
	"\\mathscr{r}" => '0x1D4C7',
	"\\mathscr{S}" => '0x1D4AE',
	"\\mathscr{s}" => '0x1D4C8',
	"\\mathscr{T}" => '0x1D4AF',
	"\\mathscr{t}" => '0x1D4C9',
	"\\mathscr{U}" => '0x1D4B0',
	"\\mathscr{u}" => '0x1D4CA',
	"\\mathscr{V}" => '0x1D4B1',
	"\\mathscr{v}" => '0x1D4CB',
	"\\mathscr{W}" => '0x1D4B2',
	"\\mathscr{w}" => '0x1D4CC',
	"\\mathscr{X}" => '0x1D4B3',
	"\\mathscr{x}" => '0x1D4CD',
	"\\mathscr{Y}" => '0x1D4B4',
	"\\mathscr{y}" => '0x1D4CE',
	"\\mathscr{Z}" => '0x1D4B5',
	"\\mathscr{z}" => '0x1D4CF',
	"\\mathsf{0}" => '0x1D7E2',
	"\\mathsf{1}" => '0x1D7E3',
	"\\mathsf{2}" => '0x1D7E4',
	"\\mathsf{3}" => '0x1D7E5',
	"\\mathsf{4}" => '0x1D7E6',
	"\\mathsf{5}" => '0x1D7E7',
	"\\mathsf{6}" => '0x1D7E8',
	"\\mathsf{7}" => '0x1D7E9',
	"\\mathsf{8}" => '0x1D7EA',
	"\\mathsf{9}" => '0x1D7EB',
	"\\mathsf{A}" => '0x1D5A0',
	"\\mathsf{a}" => '0x1D5BA',
	"\\mathsf{B}" => '0x1D5A1',
	"\\mathsf{b}" => '0x1D5BB',
	"\\mathsfbf{0}" => '0x1D7EC',
	"\\mathsfbf{1}" => '0x1D7ED',
	"\\mathsfbf{2}" => '0x1D7EE',
	"\\mathsfbf{3}" => '0x1D7EF',
	"\\mathsfbf{4}" => '0x1D7F0',
	"\\mathsfbf{5}" => '0x1D7F1',
	"\\mathsfbf{6}" => '0x1D7F2',
	"\\mathsfbf{7}" => '0x1D7F3',
	"\\mathsfbf{8}" => '0x1D7F4',
	"\\mathsfbf{9}" => '0x1D7F5',
	"\\mathsfbf{A}" => '0x1D5D4',
	"\\mathsfbf{a}" => '0x1D5EE',
	"\\mathsfbf{\\Alpha}" => '0x1D756',
	"\\mathsfbf{\\Alpha}" => '0x1D770',
	"\\mathsfbf{B}" => '0x1D5D5',
	"\\mathsfbf{b}" => '0x1D5EF',
	"\\mathsfbf{\\Beta}" => '0x1D757',
	"\\mathsfbf{\\Beta}" => '0x1D771',
	"\\mathsfbf{C}" => '0x1D5D6',
	"\\mathsfbf{c}" => '0x1D5F0',
	"\\mathsfbf{\\Chi}" => '0x1D76C',
	"\\mathsfbf{\\Chi}" => '0x1D786',
	"\\mathsfbf{D}" => '0x1D5D7',
	"\\mathsfbf{d}" => '0x1D5F1',
	"\\mathsfbf{\\Delta}" => '0x1D759',
	"\\mathsfbf{\\Delta}" => '0x1D773',
	"\\mathsfbf{E}" => '0x1D5D8',
	"\\mathsfbf{e}" => '0x1D5F2',
	"\\mathsfbf{\\Epsilon}" => '0x1D75A',
	"\\mathsfbf{\\Epsilon}" => '0x1D774',
	"\\mathsfbf{\\Eta}" => '0x1D75C',
	"\\mathsfbf{\\Eta}" => '0x1D776',
	"\\mathsfbf{F}" => '0x1D5D9',
	"\\mathsfbf{f}" => '0x1D5F3',
	"\\mathsfbf{G}" => '0x1D5DA',
	"\\mathsfbf{g}" => '0x1D5F4',
	"\\mathsfbf{\\Gamma}" => '0x1D758',
	"\\mathsfbf{\\Gamma}" => '0x1D772',
	"\\mathsfbf{H}" => '0x1D5DB',
	"\\mathsfbf{h}" => '0x1D5F5',
	"\\mathsfbf{I}" => '0x1D5DC',
	"\\mathsfbf{i}" => '0x1D5F6',
	"\\mathsfbf{\\Iota}" => '0x1D75E',
	"\\mathsfbf{\\Iota}" => '0x1D778',
	"\\mathsfbf{J}" => '0x1D5DD',
	"\\mathsfbf{j}" => '0x1D5F7',
	"\\mathsfbf{K}" => '0x1D5DE',
	"\\mathsfbf{k}" => '0x1D5F8',
	"\\mathsfbf{\\Kappa}" => '0x1D75F',
	"\\mathsfbf{\\Kappa}" => '0x1D779',
	"\\mathsfbf{L}" => '0x1D5DF',
	"\\mathsfbf{l}" => '0x1D5F9',
	"\\mathsfbf{\\Lambda}" => '0x1D760',
	"\\mathsfbf{\\Lambda}" => '0x1D77A',
	"\\mathsfbf{M}" => '0x1D5E0',
	"\\mathsfbf{m}" => '0x1D5FA',
	"\\mathsfbf{N}" => '0x1D5E1',
	"\\mathsfbf{n}" => '0x1D5FB',
	"\\mathsfbf{\\nabla}" => '0x1D76F',
	"\\mathsfbf{O}" => '0x1D5E2',
	"\\mathsfbf{o}" => '0x1D5FC',
	"\\mathsfbf{\\Omega}" => '0x1D76E',
	"\\mathsfbf{\\Omega}" => '0x1D788',
	"\\mathsfbf{P}" => '0x1D5E3',
	"\\mathsfbf{p}" => '0x1D5FD',
	"\\mathsfbf{\\Phi}" => '0x1D76B',
	"\\mathsfbf{\\Phi}" => '0x1D785',
	"\\mathsfbf{\\phi}" => '0x1D78D',
	"\\mathsfbf{\\Pi}" => '0x1D765',
	"\\mathsfbf{\\Pi}" => '0x1D77F',
	"\\mathsfbf{\\Psi}" => '0x1D76D',
	"\\mathsfbf{\\Psi}" => '0x1D787',
	"\\mathsfbf{Q}" => '0x1D5E4',
	"\\mathsfbf{q}" => '0x1D5FE',
	"\\mathsfbf{R}" => '0x1D5E5',
	"\\mathsfbf{r}" => '0x1D5FF',
	"\\mathsfbf{\\Rho}" => '0x1D766',
	"\\mathsfbf{\\Rho}" => '0x1D780',
	"\\mathsfbf{S}" => '0x1D5E6',
	"\\mathsfbf{s}" => '0x1D600',
	"\\mathsfbf{\\Sigma}" => '0x1D768',
	"\\mathsfbf{\\Sigma}" => '0x1D782',
	"\\mathsfbfsl{A}" => '0x1D63C',
	"\\mathsfbfsl{a}" => '0x1D656',
	"\\mathsfbfsl{\\Alpha}" => '0x1D790',
	"\\mathsfbfsl{\\Alpha}" => '0x1D7AA',
	"\\mathsfbfsl{B}" => '0x1D63D',
	"\\mathsfbfsl{b}" => '0x1D657',
	"\\mathsfbfsl{\\Beta}" => '0x1D791',
	"\\mathsfbfsl{\\Beta}" => '0x1D7AB',
	"\\mathsfbfsl{C}" => '0x1D63E',
	"\\mathsfbfsl{c}" => '0x1D658',
	"\\mathsfbfsl{\\Chi}" => '0x1D7A6',
	"\\mathsfbfsl{\\Chi}" => '0x1D7C0',
	"\\mathsfbfsl{D}" => '0x1D63F',
	"\\mathsfbfsl{d}" => '0x1D659',
	"\\mathsfbfsl{\\Delta}" => '0x1D793',
	"\\mathsfbfsl{\\Delta}" => '0x1D7AD',
	"\\mathsfbfsl{E}" => '0x1D640',
	"\\mathsfbfsl{e}" => '0x1D65A',
	"\\mathsfbfsl{\\Epsilon}" => '0x1D794',
	"\\mathsfbfsl{\\Epsilon}" => '0x1D7AE',
	"\\mathsfbfsl{\\Eta}" => '0x1D796',
	"\\mathsfbfsl{\\Eta}" => '0x1D7B0',
	"\\mathsfbfsl{F}" => '0x1D641',
	"\\mathsfbfsl{f}" => '0x1D65B',
	"\\mathsfbfsl{G}" => '0x1D642',
	"\\mathsfbfsl{g}" => '0x1D65C',
	"\\mathsfbfsl{\\Gamma}" => '0x1D792',
	"\\mathsfbfsl{\\Gamma}" => '0x1D7AC',
	"\\mathsfbfsl{H}" => '0x1D643',
	"\\mathsfbfsl{h}" => '0x1D65D',
	"\\mathsfbfsl{I}" => '0x1D644',
	"\\mathsfbfsl{i}" => '0x1D65E',
	"\\mathsfbfsl{\\Iota}" => '0x1D798',
	"\\mathsfbfsl{\\Iota}" => '0x1D7B2',
	"\\mathsfbfsl{J}" => '0x1D645',
	"\\mathsfbfsl{j}" => '0x1D65F',
	"\\mathsfbfsl{K}" => '0x1D646',
	"\\mathsfbfsl{k}" => '0x1D660',
	"\\mathsfbfsl{\\Kappa}" => '0x1D799',
	"\\mathsfbfsl{\\Kappa}" => '0x1D7B3',
	"\\mathsfbfsl{L}" => '0x1D647',
	"\\mathsfbfsl{l}" => '0x1D661',
	"\\mathsfbfsl{\\Lambda}" => '0x1D79A',
	"\\mathsfbfsl{\\Lambda}" => '0x1D7B4',
	"\\mathsfbfsl{M}" => '0x1D648',
	"\\mathsfbfsl{m}" => '0x1D662',
	"\\mathsfbfsl{N}" => '0x1D649',
	"\\mathsfbfsl{n}" => '0x1D663',
	"\\mathsfbfsl{\\nabla}" => '0x1D7A9',
	"\\mathsfbfsl{O}" => '0x1D64A',
	"\\mathsfbfsl{o}" => '0x1D664',
	"\\mathsfbfsl{\\Omega}" => '0x1D7A8',
	"\\mathsfbfsl{\\Omega}" => '0x1D7C2',
	"\\mathsfbfsl{P}" => '0x1D64B',
	"\\mathsfbfsl{p}" => '0x1D665',
	"\\mathsfbfsl{\\Phi}" => '0x1D7A5',
	"\\mathsfbfsl{\\Phi}" => '0x1D7BF',
	"\\mathsfbfsl{\\phi}" => '0x1D7C7',
	"\\mathsfbfsl{\\Pi}" => '0x1D79F',
	"\\mathsfbfsl{\\Pi}" => '0x1D7B9',
	"\\mathsfbfsl{\\Psi}" => '0x1D7A7',
	"\\mathsfbfsl{\\Psi}" => '0x1D7C1',
	"\\mathsfbfsl{Q}" => '0x1D64C',
	"\\mathsfbfsl{q}" => '0x1D666',
	"\\mathsfbfsl{R}" => '0x1D64D',
	"\\mathsfbfsl{r}" => '0x1D667',
	"\\mathsfbfsl{\\Rho}" => '0x1D7A0',
	"\\mathsfbfsl{\\Rho}" => '0x1D7BA',
	"\\mathsfbfsl{S}" => '0x1D64E',
	"\\mathsfbfsl{s}" => '0x1D668',
	"\\mathsfbfsl{\\Sigma}" => '0x1D7A2',
	"\\mathsfbfsl{\\Sigma}" => '0x1D7BC',
	"\\mathsfbfsl{T}" => '0x1D64F',
	"\\mathsfbfsl{t}" => '0x1D669',
	"\\mathsfbfsl{\\Tau}" => '0x1D7A3',
	"\\mathsfbfsl{\\Tau}" => '0x1D7BD',
	"\\mathsfbfsl{U}" => '0x1D650',
	"\\mathsfbfsl{u}" => '0x1D66A',
	"\\mathsfbfsl{\\Upsilon}" => '0x1D7A4',
	"\\mathsfbfsl{\\Upsilon}" => '0x1D7BE',
	"\\mathsfbfsl{V}" => '0x1D651',
	"\\mathsfbfsl{v}" => '0x1D66B',
	"\\mathsfbfsl{\\varkappa}" => '0x1D7C6',
	"\\mathsfbfsl{\\varpi}" => '0x1D7C9',
	"\\mathsfbfsl{\\varrho}" => '0x1D7C8',
	"\\mathsfbfsl{\\varsigma}" => '0x1D7BB',
	"\\mathsfbfsl{\\vartheta}" => '0x1D797',
	"\\mathsfbfsl{\\vartheta}" => '0x1D7A1',
	"\\mathsfbfsl{\\vartheta}" => '0x1D7B1',
	"\\mathsfbfsl{\\vartheta}" => '0x1D7C5',
	"\\mathsfbfsl{W}" => '0x1D652',
	"\\mathsfbfsl{w}" => '0x1D66C',
	"\\mathsfbfsl{X}" => '0x1D653',
	"\\mathsfbfsl{x}" => '0x1D66D',
	"\\mathsfbfsl{\\Xi}" => '0x1D79D',
	"\\mathsfbfsl{\\Xi}" => '0x1D7B7',
	"\\mathsfbfsl{Y}" => '0x1D654',
	"\\mathsfbfsl{y}" => '0x1D66E',
	"\\mathsfbfsl{Z}" => '0x1D655',
	"\\mathsfbfsl{z}" => '0x1D66F',
	"\\mathsfbfsl{\\Zeta}" => '0x1D795',
	"\\mathsfbfsl{\\Zeta}" => '0x1D7AF',
	"\\mathsfbf{T}" => '0x1D5E7',
	"\\mathsfbf{t}" => '0x1D601',
	"\\mathsfbf{\\Tau}" => '0x1D769',
	"\\mathsfbf{\\Tau}" => '0x1D783',
	"\\mathsfbf{\\Theta}" => '0x1D75D',
	"\\mathsfbf{\\Theta}" => '0x1D777',
	"\\mathsfbf{U}" => '0x1D5E8',
	"\\mathsfbf{u}" => '0x1D602',
	"\\mathsfbf{\\Upsilon}" => '0x1D76A',
	"\\mathsfbf{\\Upsilon}" => '0x1D784',
	"\\mathsfbf{V}" => '0x1D5E9',
	"\\mathsfbf{v}" => '0x1D603',
	"\\mathsfbf{\\varkappa}" => '0x1D78C',
	"\\mathsfbf{\\varpi}" => '0x1D78F',
	"\\mathsfbf{\\varrho}" => '0x1D78E',
	"\\mathsfbf{\\varsigma}" => '0x1D781',
	"\\mathsfbf{\\vartheta}" => '0x1D767',
	"\\mathsfbf{\\vartheta}" => '0x1D78B',
	"\\mathsfbf{W}" => '0x1D5EA',
	"\\mathsfbf{w}" => '0x1D604',
	"\\mathsfbf{X}" => '0x1D5EB',
	"\\mathsfbf{x}" => '0x1D605',
	"\\mathsfbf{\\Xi}" => '0x1D763',
	"\\mathsfbf{\\Xi}" => '0x1D77D',
	"\\mathsfbf{Y}" => '0x1D5EC',
	"\\mathsfbf{y}" => '0x1D606',
	"\\mathsfbf{Z}" => '0x1D5ED',
	"\\mathsfbf{z}" => '0x1D607',
	"\\mathsfbf{\\Zeta}" => '0x1D75B',
	"\\mathsfbf{\\Zeta}" => '0x1D775',
	"\\mathsf{C}" => '0x1D5A2',
	"\\mathsf{c}" => '0x1D5BC',
	"\\mathsf{D}" => '0x1D5A3',
	"\\mathsf{d}" => '0x1D5BD',
	"\\mathsf{E}" => '0x1D5A4',
	"\\mathsf{e}" => '0x1D5BE',
	"\\mathsf{F}" => '0x1D5A5',
	"\\mathsf{f}" => '0x1D5BF',
	"\\mathsf{G}" => '0x1D5A6',
	"\\mathsf{g}" => '0x1D5C0',
	"\\mathsf{H}" => '0x1D5A7',
	"\\mathsf{h}" => '0x1D5C1',
	"\\mathsf{I}" => '0x1D5A8',
	"\\mathsf{i}" => '0x1D5C2',
	"\\mathsf{J}" => '0x1D5A9',
	"\\mathsf{j}" => '0x1D5C3',
	"\\mathsf{K}" => '0x1D5AA',
	"\\mathsf{k}" => '0x1D5C4',
	"\\mathsf{L}" => '0x1D5AB',
	"\\mathsf{l}" => '0x1D5C5',
	"\\mathsf{M}" => '0x1D5AC',
	"\\mathsf{m}" => '0x1D5C6',
	"\\mathsf{N}" => '0x1D5AD',
	"\\mathsf{n}" => '0x1D5C7',
	"\\mathsf{O}" => '0x1D5AE',
	"\\mathsf{o}" => '0x1D5C8',
	"\\mathsf{P}" => '0x1D5AF',
	"\\mathsf{p}" => '0x1D5C9',
	"\\mathsf{Q}" => '0x1D5B0',
	"\\mathsf{q}" => '0x1D5CA',
	"\\mathsf{R}" => '0x1D5B1',
	"\\mathsf{r}" => '0x1D5CB',
	"\\mathsf{S}" => '0x1D5B2',
	"\\mathsf{s}" => '0x1D5CC',
	"\\mathsfsl{A}" => '0x1D608',
	"\\mathsfsl{a}" => '0x1D622',
	"\\mathsfsl{B}" => '0x1D609',
	"\\mathsfsl{b}" => '0x1D623',
	"\\mathsfsl{C}" => '0x1D60A',
	"\\mathsfsl{c}" => '0x1D624',
	"\\mathsfsl{D}" => '0x1D60B',
	"\\mathsfsl{d}" => '0x1D625',
	"\\mathsfsl{E}" => '0x1D60C',
	"\\mathsfsl{e}" => '0x1D626',
	"\\mathsfsl{F}" => '0x1D60D',
	"\\mathsfsl{f}" => '0x1D627',
	"\\mathsfsl{G}" => '0x1D60E',
	"\\mathsfsl{g}" => '0x1D628',
	"\\mathsfsl{H}" => '0x1D60F',
	"\\mathsfsl{h}" => '0x1D629',
	"\\mathsfsl{I}" => '0x1D610',
	"\\mathsfsl{i}" => '0x1D62A',
	"\\mathsfsl{J}" => '0x1D611',
	"\\mathsfsl{j}" => '0x1D62B',
	"\\mathsfsl{K}" => '0x1D612',
	"\\mathsfsl{k}" => '0x1D62C',
	"\\mathsfsl{L}" => '0x1D613',
	"\\mathsfsl{l}" => '0x1D62D',
	"\\mathsfsl{M}" => '0x1D614',
	"\\mathsfsl{m}" => '0x1D62E',
	"\\mathsfsl{N}" => '0x1D615',
	"\\mathsfsl{n}" => '0x1D62F',
	"\\mathsfsl{O}" => '0x1D616',
	"\\mathsfsl{o}" => '0x1D630',
	"\\mathsfsl{P}" => '0x1D617',
	"\\mathsfsl{p}" => '0x1D631',
	"\\mathsfsl{Q}" => '0x1D618',
	"\\mathsfsl{q}" => '0x1D632',
	"\\mathsfsl{R}" => '0x1D619',
	"\\mathsfsl{r}" => '0x1D633',
	"\\mathsfsl{S}" => '0x1D61A',
	"\\mathsfsl{s}" => '0x1D634',
	"\\mathsfsl{T}" => '0x1D61B',
	"\\mathsfsl{t}" => '0x1D635',
	"\\mathsfsl{U}" => '0x1D61C',
	"\\mathsfsl{u}" => '0x1D636',
	"\\mathsfsl{V}" => '0x1D61D',
	"\\mathsfsl{v}" => '0x1D637',
	"\\mathsfsl{W}" => '0x1D61E',
	"\\mathsfsl{w}" => '0x1D638',
	"\\mathsfsl{X}" => '0x1D61F',
	"\\mathsfsl{x}" => '0x1D639',
	"\\mathsfsl{Y}" => '0x1D620',
	"\\mathsfsl{y}" => '0x1D63A',
	"\\mathsfsl{Z}" => '0x1D621',
	"\\mathsfsl{z}" => '0x1D63B',
	"\\mathsf{T}" => '0x1D5B3',
	"\\mathsf{t}" => '0x1D5CD',
	"\\mathsf{U}" => '0x1D5B4',
	"\\mathsf{u}" => '0x1D5CE',
	"\\mathsf{V}" => '0x1D5B5',
	"\\mathsf{v}" => '0x1D5CF',
	"\\mathsf{W}" => '0x1D5B6',
	"\\mathsf{w}" => '0x1D5D0',
	"\\mathsf{X}" => '0x1D5B7',
	"\\mathsf{x}" => '0x1D5D1',
	"\\mathsf{Y}" => '0x1D5B8',
	"\\mathsf{y}" => '0x1D5D2',
	"\\mathsf{Z}" => '0x1D5B9',
	"\\mathsf{z}" => '0x1D5D3',
	"\\mathsl{A}" => '0x1D434',
	"\\mathsl{a}" => '0x1D44E',
	"\\mathsl{\\Alpha}" => '0x1D6E2',
	"\\mathsl{\\Alpha}" => '0x1D6FC',
	"\\mathsl{B}" => '0x1D435',
	"\\mathsl{b}" => '0x1D44F',
	"\\mathslbb{A}" => '0x1D56C',
	"\\mathslbb{a}" => '0x1D586',
	"\\mathslbb{B}" => '0x1D56D',
	"\\mathslbb{b}" => '0x1D587',
	"\\mathslbb{C}" => '0x1D56E',
	"\\mathslbb{c}" => '0x1D588',
	"\\mathslbb{D}" => '0x1D56F',
	"\\mathslbb{d}" => '0x1D589',
	"\\mathslbb{E}" => '0x1D570',
	"\\mathslbb{e}" => '0x1D58A',
	"\\mathslbb{F}" => '0x1D571',
	"\\mathslbb{f}" => '0x1D58B',
	"\\mathslbb{G}" => '0x1D572',
	"\\mathslbb{g}" => '0x1D58C',
	"\\mathslbb{H}" => '0x1D573',
	"\\mathslbb{h}" => '0x1D58D',
	"\\mathslbb{I}" => '0x1D574',
	"\\mathslbb{i}" => '0x1D58E',
	"\\mathslbb{J}" => '0x1D575',
	"\\mathslbb{j}" => '0x1D58F',
	"\\mathslbb{K}" => '0x1D576',
	"\\mathslbb{k}" => '0x1D590',
	"\\mathslbb{L}" => '0x1D577',
	"\\mathslbb{l}" => '0x1D591',
	"\\mathslbb{M}" => '0x1D578',
	"\\mathslbb{m}" => '0x1D592',
	"\\mathslbb{N}" => '0x1D579',
	"\\mathslbb{n}" => '0x1D593',
	"\\mathslbb{O}" => '0x1D57A',
	"\\mathslbb{o}" => '0x1D594',
	"\\mathslbb{P}" => '0x1D57B',
	"\\mathslbb{p}" => '0x1D595',
	"\\mathslbb{Q}" => '0x1D57C',
	"\\mathslbb{q}" => '0x1D596',
	"\\mathslbb{R}" => '0x1D57D',
	"\\mathslbb{r}" => '0x1D597',
	"\\mathslbb{S}" => '0x1D57E',
	"\\mathslbb{s}" => '0x1D598',
	"\\mathslbb{T}" => '0x1D57F',
	"\\mathslbb{t}" => '0x1D599',
	"\\mathslbb{U}" => '0x1D580',
	"\\mathslbb{u}" => '0x1D59A',
	"\\mathslbb{V}" => '0x1D581',
	"\\mathslbb{v}" => '0x1D59B',
	"\\mathslbb{W}" => '0x1D582',
	"\\mathslbb{w}" => '0x1D59C',
	"\\mathslbb{X}" => '0x1D583',
	"\\mathslbb{x}" => '0x1D59D',
	"\\mathslbb{Y}" => '0x1D584',
	"\\mathslbb{y}" => '0x1D59E',
	"\\mathslbb{Z}" => '0x1D585',
	"\\mathslbb{z}" => '0x1D59F',
	"\\mathsl{\\Beta}" => '0x1D6E3',
	"\\mathsl{\\Beta}" => '0x1D6FD',
	"\\mathsl{C}" => '0x1D436',
	"\\mathsl{c}" => '0x1D450',
	"\\mathsl{\\Chi}" => '0x1D6F8',
	"\\mathsl{\\Chi}" => '0x1D712',
	"\\mathsl{D}" => '0x1D437',
	"\\mathsl{d}" => '0x1D451',
	"\\mathsl{\\Delta}" => '0x1D6E5',
	"\\mathsl{\\Delta}" => '0x1D6FF',
	"\\mathsl{E}" => '0x1D438',
	"\\mathsl{e}" => '0x1D452',
	"\\mathsl{\\Epsilon}" => '0x1D6E6',
	"\\mathsl{\\Epsilon}" => '0x1D700',
	"\\mathsl{\\Eta}" => '0x1D6E8',
	"\\mathsl{\\Eta}" => '0x1D702',
	"\\mathsl{F}" => '0x1D439',
	"\\mathsl{f}" => '0x1D453',
	"\\mathsl{G}" => '0x1D43A',
	"\\mathsl{g}" => '0x1D454',
	"\\mathsl{\\Gamma}" => '0x1D6E4',
	"\\mathsl{\\Gamma}" => '0x1D6FE',
	"\\mathsl{H}" => '0x1D43B',
	"\\mathsl{I}" => '0x1D43C',
	"\\mathsl{i}" => '0x1D456',
	"\\mathsl{\\Iota}" => '0x1D6EA',
	"\\mathsl{\\Iota}" => '0x1D704',
	"\\mathsl{J}" => '0x1D43D',
	"\\mathsl{j}" => '0x1D457',
	"\\mathsl{K}" => '0x1D43E',
	"\\mathsl{k}" => '0x1D458',
	"\\mathsl{\\Kappa}" => '0x1D6EB',
	"\\mathsl{\\Kappa}" => '0x1D705',
	"\\mathsl{L}" => '0x1D43F',
	"\\mathsl{l}" => '0x1D459',
	"\\mathsl{\\Lambda}" => '0x1D6EC',
	"\\mathsl{\\Lambda}" => '0x1D706',
	"\\mathsl{M}" => '0x1D440',
	"\\mathsl{m}" => '0x1D45A',
	"\\mathsl{N}" => '0x1D441',
	"\\mathsl{n}" => '0x1D45B',
	"\\mathsl{\\nabla}" => '0x1D6FB',
	"\\mathsl{O}" => '0x1D442',
	"\\mathsl{o}" => '0x1D45C',
	"\\mathsl{\\Omega}" => '0x1D6FA',
	"\\mathsl{\\Omega}" => '0x1D714',
	"\\mathsl{P}" => '0x1D443',
	"\\mathsl{p}" => '0x1D45D',
	"\\mathsl{\\Phi}" => '0x1D6F7',
	"\\mathsl{\\Phi}" => '0x1D711',
	"\\mathsl{\\phi}" => '0x1D719',
	"\\mathsl{\\Pi}" => '0x1D6F1',
	"\\mathsl{\\Pi}" => '0x1D70B',
	"\\mathsl{\\Psi}" => '0x1D6F9',
	"\\mathsl{\\Psi}" => '0x1D713',
	"\\mathsl{Q}" => '0x1D444',
	"\\mathsl{q}" => '0x1D45E',
	"\\mathsl{R}" => '0x1D445',
	"\\mathsl{r}" => '0x1D45F',
	"\\mathsl{\\Rho}" => '0x1D6F2',
	"\\mathsl{\\Rho}" => '0x1D70C',
	"\\mathsl{S}" => '0x1D446',
	"\\mathsl{s}" => '0x1D460',
	"\\mathsl{\\Sigma}" => '0x1D6F4',
	"\\mathsl{\\Sigma}" => '0x1D70E',
	"\\mathsl{T}" => '0x1D447',
	"\\mathsl{t}" => '0x1D461',
	"\\mathsl{\\Tau}" => '0x1D6F5',
	"\\mathsl{\\Tau}" => '0x1D70F',
	"\\mathsl{\\Theta}" => '0x1D6E9',
	"\\mathsl{\\Theta}" => '0x1D703',
	"\\mathsl{U}" => '0x1D448',
	"\\mathsl{u}" => '0x1D462',
	"\\mathsl{\\Upsilon}" => '0x1D6F6',
	"\\mathsl{\\Upsilon}" => '0x1D710',
	"\\mathsl{V}" => '0x1D449',
	"\\mathsl{v}" => '0x1D463',
	"\\mathsl{\\varkappa}" => '0x1D718',
	"\\mathsl{\\varpi}" => '0x1D71B',
	"\\mathsl{\\varrho}" => '0x1D71A',
	"\\mathsl{\\varsigma}" => '0x1D70D',
	"\\mathsl{\\vartheta}" => '0x1D6F3',
	"\\mathsl{\\vartheta}" => '0x1D717',
	"\\mathsl{W}" => '0x1D44A',
	"\\mathsl{w}" => '0x1D464',
	"\\mathsl{X}" => '0x1D44B',
	"\\mathsl{x}" => '0x1D465',
	"\\mathsl{\\Xi}" => '0x1D6EF',
	"\\mathsl{\\Xi}" => '0x1D709',
	"\\mathsl{Y}" => '0x1D44C',
	"\\mathsl{y}" => '0x1D466',
	"\\mathsl{Z}" => '0x1D44D',
	"\\mathsl{z}" => '0x1D467',
	"\\mathsl{\\Zeta}" => '0x1D6E7',
	"\\mathsl{\\Zeta}" => '0x1D701',
	"\\mathtt{0}" => '0x1D7F6',
	"\\mathtt{1}" => '0x1D7F7',
	"\\mathtt{2}" => '0x1D7F8',
	"\\mathtt{3}" => '0x1D7F9',
	"\\mathtt{4}" => '0x1D7FA',
	"\\mathtt{5}" => '0x1D7FB',
	"\\mathtt{6}" => '0x1D7FC',
	"\\mathtt{7}" => '0x1D7FD',
	"\\mathtt{8}" => '0x1D7FE',
	"\\mathtt{9}" => '0x1D7FF',
	"\\mathtt{A}" => '0x1D670',
	"\\mathtt{a}" => '0x1D68A',
	"\\mathtt{B}" => '0x1D671',
	"\\mathtt{b}" => '0x1D68B',
	"\\mathtt{C}" => '0x1D672',
	"\\mathtt{c}" => '0x1D68C',
	"\\mathtt{D}" => '0x1D673',
	"\\mathtt{d}" => '0x1D68D',
	"\\mathtt{E}" => '0x1D674',
	"\\mathtt{e}" => '0x1D68E',
	"\\mathtt{F}" => '0x1D675',
	"\\mathtt{f}" => '0x1D68F',
	"\\mathtt{G}" => '0x1D676',
	"\\mathtt{g}" => '0x1D690',
	"\\mathtt{H}" => '0x1D677',
	"\\mathtt{h}" => '0x1D691',
	"\\mathtt{I}" => '0x1D678',
	"\\mathtt{i}" => '0x1D692',
	"\\mathtt{J}" => '0x1D679',
	"\\mathtt{j}" => '0x1D693',
	"\\mathtt{K}" => '0x1D67A',
	"\\mathtt{k}" => '0x1D694',
	"\\mathtt{L}" => '0x1D67B',
	"\\mathtt{l}" => '0x1D695',
	"\\mathtt{M}" => '0x1D67C',
	"\\mathtt{m}" => '0x1D696',
	"\\mathtt{N}" => '0x1D67D',
	"\\mathtt{n}" => '0x1D697',
	"\\mathtt{O}" => '0x1D67E',
	"\\mathtt{o}" => '0x1D698',
	"\\mathtt{P}" => '0x1D67F',
	"\\mathtt{p}" => '0x1D699',
	"\\mathtt{Q}" => '0x1D680',
	"\\mathtt{q}" => '0x1D69A',
	"\\mathtt{R}" => '0x1D681',
	"\\mathtt{r}" => '0x1D69B',
	"\\mathtt{S}" => '0x1D682',
	"\\mathtt{s}" => '0x1D69C',
	"\\mathtt{T}" => '0x1D683',
	"\\mathtt{t}" => '0x1D69D',
	"\\mathtt{U}" => '0x1D684',
	"\\mathtt{u}" => '0x1D69E',
	"\\mathtt{V}" => '0x1D685',
	"\\mathtt{v}" => '0x1D69F',
	"\\mathtt{W}" => '0x1D686',
	"\\mathtt{w}" => '0x1D6A0',
	"\\mathtt{X}" => '0x1D687',
	"\\mathtt{x}" => '0x1D6A1',
	"\\mathtt{Y}" => '0x1D688',
	"\\mathtt{y}" => '0x1D6A2',
	"\\mathtt{Z}" => '0x1D689',
	"\\mathtt{z}" => '0x1D6A3',
	"\\mbox{\\texteuro}" => '0x020AC',
	"\\measuredangle" => '0x02221',
	"\\mercury" => '0x0263F',
	"\\mho" => '0x02127',
	"\\mid" => '0x02223',
	"\\mkern1mu" => '0x0200A',
	"\\mkern4mu" => '0x0205F',
	"\\mp" => '0x02213',
	"\\mu" => '0x003BC',
	"\\multimap" => '0x022B8',
	"\\~{N}" => '0x000D1',
	"\\~{n}" => '0x000F1',
	"\\'{N}" => '0x00143',
	"\\'{n}" => '0x00144',
	"\\nabla" => '0x02207',
	"\\natural" => '0x0266E',
	"\\nearrow" => '0x02197',
	"\\neptune" => '0x02646',
	"\\NestedGreaterGreater" => '0x02AA2',
	"\\NestedLessLess" => '0x02AA1',
	"\\nexists" => '0x02204',
	"\\NG" => '0x0014A',
	"\\ng" => '0x0014B',
	"\\ni" => '0x0220B',
	"\\nleftarrow" => '0x0219A',
	"\\nLeftarrow" => '0x021CD',
	"\\nleftrightarrow" => '0x021AE',
	"\\nLeftrightarrow" => '0x021CE',
	"\\nmid" => '0x02224',
	"\\nolinebreak" => '0x02060',
	"\\not =" => '0x02260',
	"\\not\\approx" => '0x02249',
	"\\not\\cong" => '0x02247',
	"\\not\\equiv" => '0x02262',
	"\\not\\geq" => '0x02271',
	"\\notgreaterless" => '0x02279',
	"\\not&gt;" => '0x0226F',
	"\\not\\in" => '0x02209',
	"\\not\\kern-0.3em\\times" => '0x0226D',
	"\\not\\leq" => '0x02270',
	"\\notlessgreater" => '0x02278',
	"\\not&lt;" => '0x0226E',
	"\\not\\ni" => '0x0220C',
	"\\not\\prec" => '0x02280',
	"\\not\\sim" => '0x02241',
	"\\not\\simeq" => '0x02244',
	"\\not\\sqsubseteq" => '0x022E2',
	"\\not\\sqsupseteq" => '0x022E3',
	"\\not\\subset" => '0x02284',
	"\\not\\subseteq" => '0x02288',
	"\\not\\succ" => '0x02281',
	"\\not\\supset" => '0x02285',
	"\\not\\supseteq" => '0x02289',
	"\\nparallel" => '0x02226',
	"\\nrightarrow" => '0x0219B',
	"\\nRightarrow" => '0x021CF',
	"\\ntriangleleft" => '0x022EA',
	"\\ntrianglelefteq" => '0x022EC',
	"\\ntriangleright" => '0x022EB',
	"\\ntrianglerighteq" => '0x022ED',
	"\\nu" => '0x003BD',
	"\\nvdash" => '0x022AC',
	"\\nvDash" => '0x022AD',
	"\\nVdash" => '0x022AE',
	"\\nVDash" => '0x022AF',
	"\\nwarrow" => '0x02196',
	"\\`{O}" => '0x000D2',
	"\\'{O}" => '0x000D3',
	"\\^{O}" => '0x000D4',
	"\\~{O}" => '0x000D5',
	"\\\"{O}" => '0x000D6',
	"\\O" => '0x000D8',
	"\\`{o}" => '0x000F2',
	"\\'{o}" => '0x000F3',
	"\\^{o}" => '0x000F4',
	"\\~{o}" => '0x000F5',
	"\\\"{o}" => '0x000F6',
	"\\o" => '0x000F8',
	"\\={O}" => '0x0014C',
	"\\={o}" => '0x0014D',
	"\\'{}O" => '0x0038C',
	"\\'{o}" => '0x003CC',
	"\\odot" => '0x02299',
	"\\OE" => '0x00152',
	"\\oe" => '0x00153',
	"\\oint" => '0x0222E',
	"\\Omega" => '0x003A9',
	"\\omega" => '0x003C9',
	"\\Omega" => '0x02126',
	"\\ominus" => '0x02296',
	"\\openbracketleft" => '0x0301A',
	"\\openbracketright" => '0x0301B',
	"\\oplus" => '0x02295',
	"\\original" => '0x022B6',
	"\\oslash" => '0x02298',
	"\\otimes" => '0x02297',
	"\\parallel" => '0x02225',
	"\\partial" => '0x02202',
	"\\partial" => '0x1D6DB',
	"\\partial" => '0x1D715',
	"\\partial" => '0x1D74F',
	"\\partial" => '0x1D789',
	"\\partial" => '0x1D7C3',
	"\\perp" => '0x022A5',
	"\\perspcorrespond" => '0x02306',
	"\\perspcorrespond" => '0x02A5E',
	"\\Phi" => '0x003A6',
	"\\phi" => '0x003D5',
	"\\Pi" => '0x003A0',
	"\\pi" => '0x003C0',
	"\\pisces" => '0x02653',
	"\\Pisymbol{ppi020}{105}" => '0x02A9E',
	"\\Pisymbol{ppi020}{117}" => '0x02A9D',
	"\\Pisymbol{ppi022}{87}" => '0x003D0',
	"\\pitchfork" => '0x022D4',
	"\\pluto" => '0x02647',
	"\\pm" => '0x000B1',
	"\\prec" => '0x0227A',
	"\\precapprox" => '0x0227E',
	"\\precapprox" => '0x02AB7',
	"\\preccurlyeq" => '0x0227C',
	"\\precedesnotsimilar" => '0x022E8',
	"\\preceq" => '0x02AAF',
	"\\precnapprox" => '0x02AB9',
	"\\precneqq" => '0x02AB5',
	"\\prod" => '0x0220F',
	"\\propto" => '0x0221D',
	"\\Psi" => '0x003A8',
	"\\psi" => '0x003C8',
	"\\quarternote" => '0x02669',
	"\\'{R}" => '0x00154',
	"\\'{r}" => '0x00155',
	"\\r{}" => '0x002DA',
	"\\r" => '0x0030A',
	"\\rangle" => '0x0232A',
	"\\rbrace" => '0x0007D',
	"\\rceil" => '0x02309',
	"\\recorder" => '0x02315',
	"\\ReverseUpEquilibrium" => '0x0296F',
	"\\rfloor" => '0x0230B',
	"\\Rho" => '0x003A1',
	"\\rho" => '0x003C1',
	"\\rightangle" => '0x0221F',
	"\\rightanglearc" => '0x022BE',
	"\\rightarrow" => '0x02192',
	"\\Rightarrow" => '0x021D2',
	"\\rightarrowtail" => '0x021A3',
	"\\RightDownTeeVector" => '0x0295D',
	"\\RightDownVectorBar" => '0x02955',
	"\\rightharpoondown" => '0x021C1',
	"\\rightharpoonup" => '0x021C0',
	"\\rightleftarrows" => '0x021C4',
	"\\rightleftharpoons" => '0x021CC',
	"\\rightmoon" => '0x0263E',
	"\\rightrightarrows" => '0x021C9',
	"\\rightsquigarrow" => '0x021DD',
	"\\RightTeeVector" => '0x0295B',
	"\\rightthreetimes" => '0x022CC',
	"\\RightTriangleBar" => '0x029D0',
	"\\RightUpDownVector" => '0x0294F',
	"\\RightUpTeeVector" => '0x0295C',
	"\\RightUpVectorBar" => '0x02954',
	"\\RightVectorBar" => '0x02953',
	"\\risingdotseq" => '0x02253',
	"\\rmoustache" => '0x023B1',
	"\\RoundImplies" => '0x02970',
	"\\Rrightarrow" => '0x021DB',
	"\\Rsh" => '0x021B1',
	"\\rtimes" => '0x022CA',
	"\\r{U}" => '0x0016E',
	"\\r{u}" => '0x0016F',
	"\\rule{1em}{1pt}" => '0x02015',
	"\\RuleDelayed" => '0x029F4',
	"\\'{S}" => '0x0015A',
	"\\'{s}" => '0x0015B',
	"\\^{S}" => '0x0015C',
	"\\^{s}" => '0x0015D',
	"\\sagittarius" => '0x02650',
	"\\Sampi" => '0x003E0',
	"\\saturn" => '0x02644',
	"\\scorpio" => '0x0264F',
	"\\searrow" => '0x02198',
	"\\setminus" => '0x02216',
	"\\sharp" => '0x0266F',
	"\\Sigma" => '0x003A3',
	"\\sigma" => '0x003C3',
	"\\sim" => '0x0223C',
	"\\simeq" => '0x02243',
	"\\sim\\joinrel\\leadsto" => '0x027FF',
	"\\smile" => '0x02323',
	"\\space" => '0x00020',
	"\\sphericalangle" => '0x02222',
	"\\sqcap" => '0x02293',
	"\\sqcup" => '0x02294',
	"\\sqrint" => '0x02A16',
	"\\sqsubset" => '0x0228F',
	"\\sqsubseteq" => '0x02291',
	"\\sqsupset" => '0x02290',
	"\\sqsupseteq" => '0x02292',
	"\\square" => '0x025A1',
	"\\ss" => '0x000DF',
	"\\stackrel{*}{=}" => '0x02A6E',
	"\\star" => '0x022C6',
	"\\starequal" => '0x0225B',
	"\\Stigma" => '0x003DA',
	"\\subset" => '0x02282',
	"\\Subset" => '0x022D0',
	"\\subseteq" => '0x02286',
	"\\subseteqq" => '0x02AC5',
	"\\subsetneq" => '0x0228A',
	"\\subsetneqq" => '0x02ACB',
	"\\succ" => '0x0227B',
	"\\succapprox" => '0x0227F',
	"\\succapprox" => '0x02AB8',
	"\\succcurlyeq" => '0x0227D',
	"\\succeq" => '0x02AB0',
	"\\succnapprox" => '0x02ABA',
	"\\succneqq" => '0x02AB6',
	"\\succnsim" => '0x022E9',
	"\\sum" => '0x02211',
	"\\supset" => '0x02283',
	"\\Supset" => '0x022D1',
	"\\supseteq" => '0x02287',
	"\\supseteqq" => '0x02AC6',
	"\\supsetneq" => '0x0228B',
	"\\supsetneqq" => '0x02ACC',
	"\\surd" => '0x0221A',
	"\\surfintegral" => '0x0222F',
	"\\swarrow" => '0x02199',
	"\\Tau" => '0x003A4',
	"\\tau" => '0x003C4',
	"\\taurus" => '0x02649',
	"\\textasciiacute" => '0x000B4',
	"\\textasciibreve" => '0x002D8',
	"\\textasciicaron" => '0x002C7',
	"\\textasciidieresis" => '0x000A8',
	"\\textasciigrave" => '0x00060',
	"\\textasciimacron" => '0x000AF',
	"\\textasciitilde" => '0x0007E',
	"\\textbackslash" => '0x0005C',
	"\\textbrokenbar" => '0x000A6',
	"\\textbullet" => '0x02022',
	"\\textcent" => '0x000A2',
	"\\textcopyright" => '0x000A9',
	"\\textcurrency" => '0x000A4',
	"\\textdagger" => '0x02020',
	"\\textdaggerdbl" => '0x02021',
	"\\textdegree" => '0x000B0',
	"\\textdollar" => '0x00024',
	"\\textdoublepipe" => '0x001C2',
	"\\textemdash" => '0x02014',
	"\\textendash" => '0x02013',
	"\\textexclamdown" => '0x000A1',
	"\\textfrac{1}{3}" => '0x02153',
	"\\textfrac{1}{5}" => '0x02155',
	"\\textfrac{1}{6}" => '0x02159',
	"\\textfrac{1}{8}" => '0x0215B',
	"\\textfrac{2}{3}" => '0x02154',
	"\\textfrac{2}{5}" => '0x02156',
	"\\textfrac{3}{5}" => '0x02157',
	"\\textfrac{3}{8}" => '0x0215C',
	"\\textfrac{4}{5}" => '0x02158',
	"\\textfrac{5}{6}" => '0x0215A',
	"\\textfrac{5}{8}" => '0x0215D',
	"\\textfrac{7}{8}" => '0x0215E',
	"\\texthvlig" => '0x00195',
	"\\textnrleg" => '0x0019E',
	"\\textonehalf" => '0x000BD',
	"\\textonequarter" => '0x000BC',
	"\\textordfeminine" => '0x000AA',
	"\\textordmasculine" => '0x000BA',
	"\\textparagraph" => '0x000B6',
	"\\textperiodcentered" => '0x002D9',
	"\\textpertenthousand" => '0x02031',
	"\\textperthousand" => '0x02030',
	"\\textphi" => '0x00278',
	"\\textquestiondown" => '0x000BF',
	"\\textquotedblleft" => '0x0201C',
	"\\textquotedblright" => '0x0201D',
	"\\textquotesingle" => '0x00027',
	"\\textregistered" => '0x000AE',
	"\\textsection" => '0x000A7',
	"\\textsterling" => '0x000A3',
	"\\texttheta" => '0x003B8',
	"\\textTheta" => '0x003F4',
	"\\textthreequarters" => '0x000BE',
	"\\texttildelow" => '0x002DC',
	"\\texttimes" => '0x000D7',
	"\\texttrademark" => '0x02122',
	"\\textturnk" => '0x0029E',
	"\\textvartheta" => '0x003D1',
	"\\textvisiblespace" => '0x02423',
	"\\textyen" => '0x000A5',
	"\\TH" => '0x000DE',
	"\\th" => '0x000FE',
	"\\therefore" => '0x02234',
	"\\Theta" => '0x00398',
	"\\tildetrpl" => '0x0224B',
	"\\tone{11}" => '0x002E9',
	"\\tone{22}" => '0x002E8',
	"\\tone{33}" => '0x002E7',
	"\\tone{44}" => '0x002E6',
	"\\tone{55}" => '0x002E5',
	"\\top" => '0x022A4',
	"\\triangledown" => '0x025BF',
	"\\triangleleft" => '0x025C3',
	"\\trianglelefteq" => '0x022B4',
	"\\triangleq" => '0x0225C',
	"\\triangleright" => '0x025B9',
	"\\trianglerighteq" => '0x022B5',
	"\\truestate" => '0x022A7',
	"\\twoheadleftarrow" => '0x0219E',
	"\\twoheadrightarrow" => '0x021A0',
	"\\`{U}" => '0x000D9',
	"\\'{U}" => '0x000DA',
	"\\^{U}" => '0x000DB',
	"\\\"{U}" => '0x000DC',
	"\\`{u}" => '0x000F9',
	"\\'{u}" => '0x000FA',
	"\\^{u}" => '0x000FB',
	"\\\"{u}" => '0x000FC',
	"\\~{U}" => '0x00168',
	"\\~{u}" => '0x00169',
	"\\={U}" => '0x0016A',
	"\\={u}" => '0x0016B',
	"\\u" => '0x00306',
	"\\u{A}" => '0x00102',
	"\\u{a}" => '0x00103',
	"\\u{E}" => '0x00114',
	"\\u{e}" => '0x00115',
	"\\u{G}" => '0x0011E',
	"\\u{g}" => '0x0011F',
	"\\u{I}" => '0x0012C',
	"\\u{\\i}" => '0x0012D',
	"\\ulcorner" => '0x0231C',
	"\\u{O}" => '0x0014E',
	"\\u{o}" => '0x0014F',
	"\\uparrow" => '0x02191',
	"\\Uparrow" => '0x021D1',
	"\\UpArrowBar" => '0x02912',
	"\\updownarrow" => '0x02195',
	"\\Updownarrow" => '0x021D5',
	"\\UpEquilibrium" => '0x0296E',
	"\\upharpoonleft" => '0x021BF',
	"\\upharpoonright" => '0x021BE',
	"\\uplus" => '0x0228E',
	"\\Upsilon" => '0x003A5',
	"\\upsilon" => '0x003C5',
	"\\Upsilon" => '0x003D2',
	"\\upslopeellipsis" => '0x022F0',
	"\\upuparrows" => '0x021C8',
	"\\uranus" => '0x02645',
	"\\urcorner" => '0x0231D',
	"\\u{U}" => '0x0016C',
	"\\u{u}" => '0x0016D',
	"\\v" => '0x0030C',
	"\\varepsilon" => '0x0025B',
	"\\varkappa" => '0x003F0',
	"\\varnothing" => '0x02205',
	"\\varphi" => '0x003C6',
	"\\varpi" => '0x003D6',
	"\\varrho" => '0x003F1',
	"\\varsigma" => '0x003C2',
	"\\vartriangle" => '0x025B5',
	"\\vartriangleleft" => '0x022B2',
	"\\vartriangleright" => '0x022B3',
	"\\v{C}" => '0x0010C',
	"\\v{c}" => '0x0010D',
	"\\v{D}" => '0x0010E',
	"\\v{d}" => '0x0010F',
	"\\vdash" => '0x022A2',
	"\\Vdash" => '0x022A9',
	"\\VDash" => '0x022AB',
	"\\vdots" => '0x022EE',
	"\\v{E}" => '0x0011A',
	"\\v{e}" => '0x0011B',
	"\\vee" => '0x02228',
	"\\veebar" => '0x022BB',
	"\\venus" => '0x02640',
	"\\vert" => '0x0007C',
	"\\Vert" => '0x02016',
	"\\verymuchgreater" => '0x022D9',
	"\\verymuchless" => '0x022D8',
	"\\virgo" => '0x0264D',
	"\\v{L}" => '0x0013D',
	"\\v{l}" => '0x0013E',
	"\\v{N}" => '0x00147',
	"\\v{n}" => '0x00148',
	"\\volintegral" => '0x02230',
	"\\v{R}" => '0x00158',
	"\\v{r}" => '0x00159',
	"\\v{S}" => '0x00160',
	"\\v{s}" => '0x00161',
	"\\v{T}" => '0x00164',
	"\\v{t}" => '0x00165',
	"\\Vvdash" => '0x022AA',
	"\\v{Z}" => '0x0017D',
	"\\v{z}" => '0x0017E',
	"\\^{W}" => '0x00174',
	"\\^{w}" => '0x00175',
	"\\wedge" => '0x02227',
	"\\wp" => '0x02118',
	"\\wr" => '0x02240',
	"\\Xi" => '0x0039E',
	"\\xi" => '0x003BE',
	"\\'{Y}" => '0x000DD',
	"\\'{y}" => '0x000FD',
	"\\\"{y}" => '0x000FF',
	"\\^{Y}" => '0x00176',
	"\\^{y}" => '0x00177',
	"\\\"{Y}" => '0x00178',
	"\\'{Z}" => '0x00179',
	"\\'{z}" => '0x0017A',
	"\\.{Z}" => '0x0017B',
	"\\.{z}" => '0x0017C',
	"\\Zeta" => '0x00396',
	"\\zeta" => '0x003B6'
};

sub convert_latex_macros {
	my $line = shift;

	my $latex_escape_char = Irssi::settings_get_str('latex_escape_char');

	# E.g. \unicodechar{82} (decimal)
	$line =~ s{(?<!\Q$latex_escape_char\E)\\unicodechar\{(\d+)\}}{pack('U*', $1)}seg;

	# E.g. \unicodechar{0x2666} (hexadecimal)
	$line =~ s{(?<!\Q$latex_escape_char\E)\\unicodechar\{0x([a-fA-F0-9]+)\}}{pack('U*', hex($1))}seg;

	foreach my $macro (keys %$latex_macros) {
		$line =~ s/(?<!\Q$latex_escape_char\E)\Q$macro\E(\s|$)/pack('U*', hex($latex_macros->{$macro}))/seg;
	}

	# Remove the escape character.
	$line =~ s{\Q$latex_escape_char\E\\}{\\}xsg;

	return $line;
}

# A flag used internally.
my $lock = 0;

sub sig_latex_format {
	my ($line, $server, $witem) = @_;

	return unless ref $witem;

	my $latex_auto_convert = Irssi::settings_get_bool('latex_auto_convert');
	return unless ($latex_auto_convert);
	
	return if ($lock);

	return unless $_[0] =~ m/\\/s;
	
	$line = &convert_latex_macros($line);
	
	$lock = 1;
	Irssi::signal_emit('send command', $line, $server, $witem);
	Irssi::signal_stop();
	$lock = 0;
}

sub cmd_latex {
	my $usage = "/LATEX <message>";
	my ($data, $server, $witem) = @_;

	if (!$server || !$server->{connected}) {
		Irssi::print("Not connected to server");
		return;
	}

	return unless ref $witem;

	if (scalar(split / /, $data) < 1) {
		Irssi::print("LATEX: Missing arguments.", MSGLEVEL_CRAP);
		Irssi::print("LATEX: Usage: $usage", MSGLEVEL_CRAP);
		return;
	}

	if ($data) {
		$witem->command("SAY " . &convert_latex_macros($data));
	}
}

Irssi::settings_add_str('latex', 'latex_escape_char', '%');
Irssi::settings_add_bool('latex', 'latex_auto_convert', 0);

Irssi::signal_add('send command', 'sig_latex_format');

Irssi::command_bind('latex', 'cmd_latex');

Irssi::print('LaTeX macro to UTF-8 character converter by mjr');
Irssi::print("Version: $VERSION");

