diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/luatex/minim-math/EUPL-1.2-EN.txt | 287 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/minim-math/README | 27 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/minim-math/minim-math.doc | 244 | ||||
-rw-r--r-- | Master/texmf-dist/doc/luatex/minim-math/minim-math.pdf | bin | 0 -> 106915 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/luatex/minim-math/minim-math-table.lua | 2507 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/minim-math/minim-math.lua | 482 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/minim-math/minim-math.tex | 517 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 3 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/minim-math.tlpsrc | 0 |
9 files changed, 4067 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/minim-math/EUPL-1.2-EN.txt b/Master/texmf-dist/doc/luatex/minim-math/EUPL-1.2-EN.txt new file mode 100644 index 00000000000..4153cd37753 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/minim-math/EUPL-1.2-EN.txt @@ -0,0 +1,287 @@ + EUROPEAN UNION PUBLIC LICENCE v. 1.2 + EUPL © the European Union 2007, 2016 + +This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined +below) which is provided under the terms of this Licence. Any use of the Work, +other than as authorised under this Licence is prohibited (to the extent such +use is covered by a right of the copyright holder of the Work). + +The Work is provided under the terms of this Licence when the Licensor (as +defined below) has placed the following notice immediately following the +copyright notice for the Work: + + Licensed under the EUPL + +or has expressed by any other means his willingness to license under the EUPL. + +1. Definitions + +In this Licence, the following terms have the following meaning: + +- ‘The Licence’: this Licence. + +- ‘The Original Work’: the work or software distributed or communicated by the + Licensor under this Licence, available as Source Code and also as Executable + Code as the case may be. + +- ‘Derivative Works’: the works or software that could be created by the + Licensee, based upon the Original Work or modifications thereof. This Licence + does not define the extent of modification or dependence on the Original Work + required in order to classify a work as a Derivative Work; this extent is + determined by copyright law applicable in the country mentioned in Article 15. + +- ‘The Work’: the Original Work or its Derivative Works. + +- ‘The Source Code’: the human-readable form of the Work which is the most + convenient for people to study and modify. + +- ‘The Executable Code’: any code which has generally been compiled and which is + meant to be interpreted by a computer as a program. + +- ‘The Licensor’: the natural or legal person that distributes or communicates + the Work under the Licence. + +- ‘Contributor(s)’: any natural or legal person who modifies the Work under the + Licence, or otherwise contributes to the creation of a Derivative Work. + +- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of + the Work under the terms of the Licence. + +- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending, + renting, distributing, communicating, transmitting, or otherwise making + available, online or offline, copies of the Work or providing access to its + essential functionalities at the disposal of any other natural or legal + person. + +2. Scope of the rights granted by the Licence + +The Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +sublicensable licence to do the following, for the duration of copyright vested +in the Original Work: + +- use the Work in any circumstance and for all usage, +- reproduce the Work, +- modify the Work, and make Derivative Works based upon the Work, +- communicate to the public, including the right to make available or display + the Work or copies thereof to the public and perform publicly, as the case may + be, the Work, +- distribute the Work or copies thereof, +- lend and rent the Work or copies thereof, +- sublicense rights in the Work or copies thereof. + +Those rights can be exercised on any media, supports and formats, whether now +known or later invented, as far as the applicable law permits so. + +In the countries where moral rights apply, the Licensor waives his right to +exercise his moral right to the extent allowed by law in order to make effective +the licence of the economic rights here above listed. + +The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to +any patents held by the Licensor, to the extent necessary to make use of the +rights granted on the Work under this Licence. + +3. Communication of the Source Code + +The Licensor may provide the Work either in its Source Code form, or as +Executable Code. If the Work is provided as Executable Code, the Licensor +provides in addition a machine-readable copy of the Source Code of the Work +along with each copy of the Work that the Licensor distributes or indicates, in +a notice following the copyright notice attached to the Work, a repository where +the Source Code is easily and freely accessible for as long as the Licensor +continues to distribute or communicate the Work. + +4. Limitations on copyright + +Nothing in this Licence is intended to deprive the Licensee of the benefits from +any exception or limitation to the exclusive rights of the rights owners in the +Work, of the exhaustion of those rights or of other applicable limitations +thereto. + +5. Obligations of the Licensee + +The grant of the rights mentioned above is subject to some restrictions and +obligations imposed on the Licensee. Those obligations are the following: + +Attribution right: The Licensee shall keep intact all copyright, patent or +trademarks notices and all notices that refer to the Licence and to the +disclaimer of warranties. The Licensee must include a copy of such notices and a +copy of the Licence with every copy of the Work he/she distributes or +communicates. The Licensee must cause any Derivative Work to carry prominent +notices stating that the Work has been modified and the date of modification. + +Copyleft clause: If the Licensee distributes or communicates copies of the +Original Works or Derivative Works, this Distribution or Communication will be +done under the terms of this Licence or of a later version of this Licence +unless the Original Work is expressly distributed only under this version of the +Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee +(becoming Licensor) cannot offer or impose any additional terms or conditions on +the Work or Derivative Work that alter or restrict the terms of the Licence. + +Compatibility clause: If the Licensee Distributes or Communicates Derivative +Works or copies thereof based upon both the Work and another work licensed under +a Compatible Licence, this Distribution or Communication can be done under the +terms of this Compatible Licence. For the sake of this clause, ‘Compatible +Licence’ refers to the licences listed in the appendix attached to this Licence. +Should the Licensee's obligations under the Compatible Licence conflict with +his/her obligations under this Licence, the obligations of the Compatible +Licence shall prevail. + +Provision of Source Code: When distributing or communicating copies of the Work, +the Licensee will provide a machine-readable copy of the Source Code or indicate +a repository where this Source will be easily and freely available for as long +as the Licensee continues to distribute or communicate the Work. + +Legal Protection: This Licence does not grant permission to use the trade names, +trademarks, service marks, or names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the copyright notice. + +6. Chain of Authorship + +The original Licensor warrants that the copyright in the Original Work granted +hereunder is owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each Contributor warrants that the copyright in the modifications he/she brings +to the Work are owned by him/her or licensed to him/her and that he/she has the +power and authority to grant the Licence. + +Each time You accept the Licence, the original Licensor and subsequent +Contributors grant You a licence to their contributions to the Work, under the +terms of this Licence. + +7. Disclaimer of Warranty + +The Work is a work in progress, which is continuously improved by numerous +Contributors. It is not a finished work and may therefore contain defects or +‘bugs’ inherent to this type of development. + +For the above reason, the Work is provided under the Licence on an ‘as is’ basis +and without warranties of any kind concerning the Work, including without +limitation merchantability, fitness for a particular purpose, absence of defects +or errors, accuracy, non-infringement of intellectual property rights other than +copyright as stated in Article 6 of this Licence. + +This disclaimer of warranty is an essential part of the Licence and a condition +for the grant of any rights to the Work. + +8. Disclaimer of Liability + +Except in the cases of wilful misconduct or damages directly caused to natural +persons, the Licensor will in no event be liable for any direct or indirect, +material or moral, damages of any kind, arising out of the Licence or of the use +of the Work, including without limitation, damages for loss of goodwill, work +stoppage, computer failure or malfunction, loss of data or any commercial +damage, even if the Licensor has been advised of the possibility of such damage. +However, the Licensor will be liable under statutory product liability laws as +far such laws apply to the Work. + +9. Additional agreements + +While distributing the Work, You may choose to conclude an additional agreement, +defining obligations or services consistent with this Licence. However, if +accepting obligations, You may act only on your own behalf and on your sole +responsibility, not on behalf of the original Licensor or any other Contributor, +and only if You agree to indemnify, defend, and hold each Contributor harmless +for any liability incurred by, or claims asserted against such Contributor by +the fact You have accepted any warranty or additional liability. + +10. Acceptance of the Licence + +The provisions of this Licence can be accepted by clicking on an icon ‘I agree’ +placed under the bottom of a window displaying the text of this Licence or by +affirming consent in any other similar way, in accordance with the rules of +applicable law. Clicking on that icon indicates your clear and irrevocable +acceptance of this Licence and all of its terms and conditions. + +Similarly, you irrevocably accept this Licence and all of its terms and +conditions by exercising any rights granted to You by Article 2 of this Licence, +such as the use of the Work, the creation by You of a Derivative Work or the +Distribution or Communication by You of the Work or copies thereof. + +11. Information to the public + +In case of any Distribution or Communication of the Work by means of electronic +communication by You (for example, by offering to download the Work from a +remote location) the distribution channel or media (for example, a website) must +at least provide to the public the information requested by the applicable law +regarding the Licensor, the Licence and the way it may be accessible, concluded, +stored and reproduced by the Licensee. + +12. Termination of the Licence + +The Licence and the rights granted hereunder will terminate automatically upon +any breach by the Licensee of the terms of the Licence. + +Such a termination will not terminate the licences of any person who has +received the Work from the Licensee under the Licence, provided such persons +remain in full compliance with the Licence. + +13. Miscellaneous + +Without prejudice of Article 9 above, the Licence represents the complete +agreement between the Parties as to the Work. + +If any provision of the Licence is invalid or unenforceable under applicable +law, this will not affect the validity or enforceability of the Licence as a +whole. Such provision will be construed or reformed so as necessary to make it +valid and enforceable. + +The European Commission may publish other linguistic versions or new versions of +this Licence or updated versions of the Appendix, so far this is required and +reasonable, without reducing the scope of the rights granted by the Licence. New +versions of the Licence will be published with a unique version number. + +All linguistic versions of this Licence, approved by the European Commission, +have identical value. Parties can take advantage of the linguistic version of +their choice. + +14. Jurisdiction + +Without prejudice to specific agreement between parties, + +- any litigation resulting from the interpretation of this License, arising + between the European Union institutions, bodies, offices or agencies, as a + Licensor, and any Licensee, will be subject to the jurisdiction of the Court + of Justice of the European Union, as laid down in article 272 of the Treaty on + the Functioning of the European Union, + +- any litigation arising between other parties and resulting from the + interpretation of this License, will be subject to the exclusive jurisdiction + of the competent court where the Licensor resides or conducts its primary + business. + +15. Applicable Law + +Without prejudice to specific agreement between parties, + +- this Licence shall be governed by the law of the European Union Member State + where the Licensor has his seat, resides or has his registered office, + +- this licence shall be governed by Belgian law if the Licensor has no seat, + residence or registered office inside a European Union Member State. + +Appendix + +‘Compatible Licences’ according to Article 5 EUPL are: + +- GNU General Public License (GPL) v. 2, v. 3 +- GNU Affero General Public License (AGPL) v. 3 +- Open Software License (OSL) v. 2.1, v. 3.0 +- Eclipse Public License (EPL) v. 1.0 +- CeCILL v. 2.0, v. 2.1 +- Mozilla Public Licence (MPL) v. 2 +- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3 +- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for + works other than software +- European Union Public Licence (EUPL) v. 1.1, v. 1.2 +- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong + Reciprocity (LiLiQ-R+). + +The European Commission may update this Appendix to later versions of the above +licences without producing a new version of the EUPL, as long as they provide +the rights granted in Article 2 of this Licence and protect the covered Source +Code from exclusive appropriation. + +All other changes or additions to this Appendix require the production of a new +EUPL version. diff --git a/Master/texmf-dist/doc/luatex/minim-math/README b/Master/texmf-dist/doc/luatex/minim-math/README new file mode 100644 index 00000000000..b463a8bad3a --- /dev/null +++ b/Master/texmf-dist/doc/luatex/minim-math/README @@ -0,0 +1,27 @@ +Version: 2021/1.0 + +SUMMARY + +This package gives a simple and higly-configurable way of using unicode and +OpenType mathematics with plain LuaTeX, making use of most of the latter +engine’s new capabilities in mathematical typesetting. Also included are +proper settings and definitions for nearly all unicode mathematical +characters. + + +DOCUMENTATION + +In order to obtain the typeset manual of this package, simply say: + + luatex minim-math.doc + + +COPYING + +(c) 2021 Esger Renkema + +These files may be distributed under the terms of the European Union Public +Licence (EUPL) version 1.2 or later. A copy can be obtained at: + +https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + diff --git a/Master/texmf-dist/doc/luatex/minim-math/minim-math.doc b/Master/texmf-dist/doc/luatex/minim-math/minim-math.doc new file mode 100644 index 00000000000..a176c9b1d03 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/minim-math/minim-math.doc @@ -0,0 +1,244 @@ + +\input minim-doc.sty + +\manual{minim-math} + +\ifchapter \chapter Mathematics + +\else \startmetadata + author {Esger Renkema} + title {minim-math} + date {2021-06-01} + version {2021/1.0} + keywords {LuaTeX; Plain TeX; Unicode mathematics} + stopmetadata +\maketitle \fi + +This package gives a simple and higly-configurable way of using unicode and +OpenType mathematics with plain LuaTeX, making use of most of the latter +engine’s new capabilities in mathematical typesetting. Also included are proper +settings and definitions for nearly all unicode mathematical characters, as +well as a few shorthands and helper macros that seemed useful additions. + +Load the package by saying ⟦\input minim-math.tex⟧; this will set up luatex for +using opentype mathematical fonts and unicode math input. +It will not, however, select mathematical fonts for you. That you will have to +do for yourself; see below for instructions. + + +\section Styles and alphabets + +For some (mostly alphabetical) characters, multiple variants are available, +e.g. $\mit A \mup A \mbf A \mbfit A \mbb A \frak A \bffrak A \scr A \bfscr A$. +You can (locally) override the default style of these with +⟦*\mathstyle {style}⟧ (equivalent to the old ⟦\bf⟧, ⟦\rm⟧ etc.) +or with one of the shorthands that apply the style to their argument only: +\smallskip\smallskip\automarktable \halign{\qquad + #\unskip\quad\hfil &#\unskip\quad\hfil &#\unskip\hfil\cr +Shorthand\quad\strut & Value of ⟦style⟧\quad\strut & Result \cr +⟦*\mup⟧ & ⟦up⟧/⟦rm⟧ & $\mup {ABC}$ \cr +⟦*\mit⟧ & ⟦it⟧ & $\mit {ABC}$ \cr +⟦*\mbf⟧ & ⟦bf⟧ & $\mbf {ABC}$ \cr +⟦*\mbfit⟧ & ⟦bfit⟧ & $\mbfit {ABC}$ \cr +⟦*\mbb⟧ & ⟦bb⟧ & $\mbb {ABC}$ \cr +⟦*\frak⟧ & ⟦frak⟧ & $\frak {ABC}$ \cr +⟦*\bffrak⟧ & ⟦bffrak⟧ & $\bffrak {ABC}$ \cr +⟦*\scr⟧ & ⟦cal⟧/⟦scr⟧ & $\scr {ABC}$ \cr +⟦*\bfscr⟧ & ⟦bfscr⟧ & $\bfscr {ABC}$ \cr +} +Styles without shorthand are ⟦sans⟧/⟦sf⟧, ⟦sfit⟧, ⟦sfbf⟧, ⟦sfbfit⟧, ⟦tt⟧/⟦mono⟧ +and finally the special value ⟦*clear⟧ for using the default style. +You can use the shorthands directly in sub- and superscripts: ⟦v^\scr F⟧ will +result in $v^\scr F$. + +While math families are not used anymore for switching between styles (see +below), you still can use ⟦\fam⟧ with the values 0, 1, 2, 4, 5, 6 or~7 for +doing so. This means that plain tex’s ⟦\rm⟧, ⟦\it⟧, ⟦\cal⟧, ⟦\sl⟧, ⟦\bf⟧ and +⟦\tt⟧ can still be used (at least in math mode). + +Please note that ⟦*\mup⟧ is not the right choice for upright multiletter +symbols or operators: you should use ⟦*\mord⟧ or ⟦*\mop⟧ instead (see near the +end of this chapter). +For nonmathematical text, you should use ⟦*\text⟧ instead of ⟦\mup⟧. + +The default properties of characters can be set with one of the following three +commands: +\startlist +\item\ignore. ⟦*\mathmap {character list} {style}⟧ +\item\ignore. ⟦*\mathclass {character list} {class}⟧ +\item\ignore. ⟦*\mathfam {character list} nr⟧ +\stoplist +There, ⟦style⟧ is one of the above and ⟦class⟧ is the name of a class as below. +Finally, the ⟦character list⟧ should be a comma-separated list with elements of +one of the following forms: +\startlist +{\def\⟦#1{⟦[\uppercase{#1}#1]\kern-1pt} +\item1. a list of characters, like ⟦abc⟧ or ⟦\partial⟧ or $ℝ$; +\item2. a character range, like ⟦`A-`Z⟧, ⟦65-90⟧ or ⟦"41-"5A⟧; +\item3. one of the alphabets \⟦latin⟧, \⟦greek⟧, or ⟦digits⟧; +\item4. one of the style groups ⟦bold⟧, ⟦boldgreek⟧, ⟦sans⟧, ⟦sansgreek⟧, +⟦mono⟧, ⟦blackboard⟧, ⟦fraktur⟧ or ⟦script⟧; +\item5. the name of a math class: +⟦ord⟧, ⟦op⟧, ⟦bin⟧, ⟦rel⟧, ⟦fence⟧, ⟦open⟧, ⟦close⟧ or ⟦punct⟧. +}\stoplist + +Note that unicode is somewhat irregular in its encoding of mathematical +letters; this is taken into account when using ranges as under~(2) above. Thus, +⟦`\mscra-`\mscrz⟧ really gives you all lowercase script characters, despite +e.g.~$ℯ$ being well outside that range. + +The default style settings are ⟦\mathmap {latin, greek, Latin}{it}⟧. +Since the math family setting is not used anymore for selecting different +styles, the default family of every symbol is zero. +Instead, you can use ⟦\mathfam⟧ for mixing fonts (see below). +The ⟦class⟧ option to ⟦\mathclass⟧ should be one of the names under~5. + + +\section Character variants + +You can change the default appearance of several greek characters with +⟦*\use∥-math∥-variant {chars}⟧ or ⟦*\usemathdefault {chars}⟧, where ⟦chars⟧ is +a list of normal greek characters. +As in unicode but against tex’s tradition, the variants are +$\usemathvariant{εθΘκπρφ}εθΘκπρφ$ and the defaults $εθΘκπρφ$. +The macros ⟦*\varepsilon⟧ etc. have been updated to reflect the unicode +variants. + +The appearance of root symbols can be set with ⟦*\closedroots⟧ ($\closedroots +\smash{√2}$) and ⟦*\normalroots⟧ ($\smash{√2}$, the default). + +Say ⟦*\unicodedots⟧ to use the unicode dots characters ($\unicodedots…⋮⋰⋱$) and +⟦*\traditionaldots⟧ to construct these characters from periods ($\smash{…⋮⋰⋱}$, +the default). +Both settings affect the meaning of both the actual characters and the ⟦\xdots⟧ +macros ($\mathstyle{mono}x∈\{l,v,c,a,d\}$). +Unlike in traditional plain tex, the traditional dots are available in script +sizes, too. + +Say ⟦*\decimalcomma⟧ and have commas appear as $\decimalcomma1,2$ instead +of~$1,2$ (⟦*\nodecimalcomma⟧ restores the default). +The explicit ⟦*\comma⟧, like ⟦*\colon⟧, will always be punctuation. + +The behaviour of limits on integral signs can be set by redefining +⟦*\intlimits⟧ (the default is ⟦\let \intlimits = \nolimits⟧). + +If you want to change the meaning (inside math mode) altogether for a single +character, you can use the commands ⟦*\mathdef⟧ and ⟦*\mathlet⟧. +For example, by default, you can use the letter ħ for the reduced planck +constant~$ħ$; +this has been made so with ⟦*\mathdef ħ {\hbar}⟧ (you could also have said +⟦\mathlet ħ \hbar⟧). + + +\section Setting up fonts + +The minimum you need do to set up a mathematical font is this: + +⟦*\font\tenmath + {Latin Modern Math:mode=base;script=math;ssty=0} at 10pt +\font\tenmaths + {Latin Modern Math:mode=base;script=math;ssty=1} at 7pt +\font\tenmathss + {Latin Modern Math:mode=base;script=math;ssty=2} at 5pt +\textfont 0 = \tenmath +\scriptfont 0 = \tenmaths +\scriptscriptfont 0 = \tenmathss⟧ + +Note that you only have to set up the font for a single family: opentype +mathematical fonts typically contain all necessary variants of all mathematical +characters. +Therefore, the ⟦*\fam⟧ setting has been made a no-op (use ⟦*\setfam⟧ if you +really need the old primitive) and the default family of all symbols has been +set to zero. + +As mentioned above, you can still change the family number of specific +characters and this allows you to mix mathematical fonts. For instance, if you +dislike the current blackboard bold characters, just assign a second font to +family +1 and say ⟦\mathfam {blackboard} 1⟧. Less useful are the parameters +⟦*\accentfam⟧, ⟦*\radicalfam⟧ and ⟦*\extensiblefam⟧ that control the family of +all accents, radicals and extensibles. + + +\section Shorthands and additions + +You can use ⟦*\text⟧ for adding nonmathematical text to your equations. +It will behave well in sub- and superscripts: +⟦\text{word}^\text{word}⟧ gives $\smash{\text{word}^\text{word}}$. +By default, the font used is the normal mathematical font. You can change this +by setting the ⟦*\textfam⟧ parameter to some nonzero value and assigning +a different font to that family (see above). +You probably want to do this, since most commonly-used mathematical fonts do not +include a normal kerning table. + +All the usual arrows can be made extensible by prefacing them with an ⟦x⟧, +including ⟦\xmapsto⟧ and ⟦\xmapsfrom⟧. Alternatively, you can use ⟦\→⟧ etc. as +shorthands. Additionally, you can use the following: + +{\smallskip\smallskip\automarktable \halign{\qquad + \vrule width0pt depth 9pt#\unskip\hfil + &&\qquad#\unskip\hfil\cr +Shorthand & Result \cr +⟦\bra x, \ket y⟧ & $\bra x, \ket y$ \cr +⟦\braket x y⟧ & $\braket x y$ \cr +⟦\norm x, \Norm x⟧ & $\norm x, \Norm x$ \cr +⟦x \stackrel ?= y⟧ & $x \stackrel ?= y$ \cr +⟦x \stackbin a+ y⟧ & $x \stackbin a+ y$ \cr +⟦f\inv⟧ & $f\inv$ \quad (cf. $f^{-1}$) \cr +⟦a \xrightarrow[down]{up} b⟧ & $a \xrightarrow[down]{up} b$ \cr +⟦a \xeq[down]{up} b⟧ & $a \xeq[down]{up} b$ \cr +⟦\frac12, \tfrac12, \dfrac12⟧& $\frac12, \tfrac12, \dfrac12$\cr +}\smallskip} + +Also new are the operators +⟦\Tr⟧, ⟦\tr⟧, ⟦\Span⟧, ⟦\GL⟧, ⟦\SL⟧, ⟦\SU⟧, ⟦\U⟧, ⟦\SO⟧, ⟦\O⟧, +⟦\Sp⟧, ⟦\im⟧, ⟦\End⟧, ⟦\Aut⟧, ⟦\Dom⟧ and ⟦\Codom⟧. +You can define new operators with ⟦*\newmathop⟧ and ⟦*\newlargemathop⟧: +⟦\newmathop{op}⟧ will define the new operator ⟦\op⟧. +For single use of an upright symbol, operator or large operator you can use +⟦*\mord⟧, ⟦*\mop⟧ and ⟦*\mlop⟧. +The difference between ⟦\mord⟧ and ⟦\mup⟧ is that ⟦\mord⟧ also applies the +correct symbol spacing. + +The accents ⟦\overbrace⟧, ⟦\underbracket⟧ etc. allow a label between square +brackets: +⟦$$\underbrace[=1]{(x^2+∥penalty0y^2)}$$⟧ gives +$$\underbrace[=1]{(x^2 + y^2)}.$$ + + +\section Best practices + +The following remarks on mathematical typesetting have no relation to the +contents of this package; I have included them because I find them hard to +remember. + +\startlist +\item1. ⟦*\eqalign⟧ gives a vertically centered box and can occur many times in +an equation, while ⟦*\eqalignno⟧ and ⟦*\leqalignno⟧ span whole lines (put the +equation numbers in the third column). All assume the relation (or operator) +appears at the right hand side of the ampsersand. +\item2. The command ⟦*\displaylines⟧ can only have one column that spans the +whole line (and you will have to add the equation number by hand). +\item3. Further alignment commands are ⟦*\cases⟧, ⟦*\matrix⟧, ⟦*\pmatrix⟧ (with +parentheses) and ⟦*\bordermatrix⟧ (includes labels for lines and columns). +\item4. Finetuning alignments can be done with ⟦*\smash⟧, ⟦*\phantom⟧, +⟦*\hphantom⟧ and ⟦*\vphantom⟧. +\item5. Small matrices like $1\;2\choose3\;4$ can be made by misusing +⟦*\choose⟧ or ⟦*\atop⟧. +\item6. If you start a line with a binary operator, put a ⟦*{}⟧ before it: this +way, tex recognises it as such. +\item7. Thin spaces (⟦*\,⟧) should be inserted: before $\mup dx$, before units, +after factorials and after ⟦*\dots⟧ if those are followed by a closing +parenthesis. +\item8. Whether the differential operator should be set upright or not is as of +yet an open question in mathematics. +\item9. You should prefer ⟦*\bigr⟧ and ⟦*\bigl⟧ etc. over ⟦\big⟧, ⟦\Big⟧, +⟦\bigg⟧ and ⟦\Bigg⟧. +\item10. An overview of mathematical symbols, with control sequences and their +availability in different fonts, can be found in ⟦*unimath-symbols.pdf⟧, which +is part of the unicode-math package. +\stoplist + +\endmanual + + diff --git a/Master/texmf-dist/doc/luatex/minim-math/minim-math.pdf b/Master/texmf-dist/doc/luatex/minim-math/minim-math.pdf Binary files differnew file mode 100644 index 00000000000..b5269815dc2 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/minim-math/minim-math.pdf diff --git a/Master/texmf-dist/tex/luatex/minim-math/minim-math-table.lua b/Master/texmf-dist/tex/luatex/minim-math/minim-math-table.lua new file mode 100644 index 00000000000..3a12d1da99f --- /dev/null +++ b/Master/texmf-dist/tex/luatex/minim-math/minim-math-table.lua @@ -0,0 +1,2507 @@ +-- vim: nowrap fo-=a +return + { { code = 0x00021, char = '!', class = 'punct', cs = 'exclam' } -- exclamation mark + , { code = 0x00023, char = '#', class = 'ord', cs = 'octothorpe' } -- number sign + , { code = 0x00024, char = '$', class = 'ord', cs = 'mathdollar' } -- dollar sign + , { code = 0x00025, char = '%', class = 'ord', cs = 'percent' } -- percent sign + , { code = 0x00026, char = '&', class = 'ord', cs = 'ampersand' } -- ampersand + , { code = 0x00028, char = '(', class = 'open', cs = 'lparen' } -- left parenthesis + , { code = 0x00029, char = ')', class = 'close', cs = 'rparen' } -- right parenthesis + , { code = 0x0002B, char = '+', class = 'bin', cs = 'plus' } -- plus sign + , { code = 0x0002C, char = ',', class = 'punct', cs = 'comma' } -- comma + , { code = 0x0002E, char = '.', class = 'ord', cs = 'ldot' } -- full stop + , { code = 0x0002F, char = '/', class = 'ord', cs = 'mathslash' } -- solidus + , { code = 0x00030, char = '0', class = 'var', alphabet = 'digits' } -- digit zero + , { code = 0x00031, char = '1', class = 'var', alphabet = 'digits' } -- digit one + , { code = 0x00032, char = '2', class = 'var', alphabet = 'digits' } -- digit two + , { code = 0x00033, char = '3', class = 'var', alphabet = 'digits' } -- digit three + , { code = 0x00034, char = '4', class = 'var', alphabet = 'digits' } -- digit four + , { code = 0x00035, char = '5', class = 'var', alphabet = 'digits' } -- digit five + , { code = 0x00036, char = '6', class = 'var', alphabet = 'digits' } -- digit six + , { code = 0x00037, char = '7', class = 'var', alphabet = 'digits' } -- digit seven + , { code = 0x00038, char = '8', class = 'var', alphabet = 'digits' } -- digit eight + , { code = 0x00039, char = '9', class = 'var', alphabet = 'digits' } -- digit nine + , { code = 0x0003A, char = ':', class = 'punct', cs = 'colon' } -- colon + , { code = 0x0003B, char = ';', class = 'punct', cs = 'semicolon' } -- semicolon + , { code = 0x0003C, char = '<', class = 'rel', cs = 'less' } -- less-than sign + , { code = 0x0003D, char = '=', class = 'rel', cs = 'equal' } -- equals sign + , { code = 0x0003E, char = '>', class = 'rel', cs = 'greater' } -- greater-than sign + , { code = 0x0003F, char = '?', class = 'ord', cs = 'question' } -- question mark + , { code = 0x00040, char = '@', class = 'ord', cs = 'atsign' } -- commercial at + , { code = 0x00041, char = 'A', class = 'var', alphabet = 'Latin' } -- latin capital letter a + , { code = 0x00042, char = 'B', class = 'var', alphabet = 'Latin' } -- latin capital letter b + , { code = 0x00043, char = 'C', class = 'var', alphabet = 'Latin' } -- latin capital letter c + , { code = 0x00044, char = 'D', class = 'var', alphabet = 'Latin' } -- latin capital letter d + , { code = 0x00045, char = 'E', class = 'var', alphabet = 'Latin' } -- latin capital letter e + , { code = 0x00046, char = 'F', class = 'var', alphabet = 'Latin' } -- latin capital letter f + , { code = 0x00047, char = 'G', class = 'var', alphabet = 'Latin' } -- latin capital letter g + , { code = 0x00048, char = 'H', class = 'var', alphabet = 'Latin' } -- latin capital letter h + , { code = 0x00049, char = 'I', class = 'var', alphabet = 'Latin' } -- latin capital letter i + , { code = 0x0004A, char = 'J', class = 'var', alphabet = 'Latin' } -- latin capital letter j + , { code = 0x0004B, char = 'K', class = 'var', alphabet = 'Latin' } -- latin capital letter k + , { code = 0x0004C, char = 'L', class = 'var', alphabet = 'Latin' } -- latin capital letter l + , { code = 0x0004D, char = 'M', class = 'var', alphabet = 'Latin' } -- latin capital letter m + , { code = 0x0004E, char = 'N', class = 'var', alphabet = 'Latin' } -- latin capital letter n + , { code = 0x0004F, char = 'O', class = 'var', alphabet = 'Latin' } -- latin capital letter o + , { code = 0x00050, char = 'P', class = 'var', alphabet = 'Latin' } -- latin capital letter p + , { code = 0x00051, char = 'Q', class = 'var', alphabet = 'Latin' } -- latin capital letter q + , { code = 0x00052, char = 'R', class = 'var', alphabet = 'Latin' } -- latin capital letter r + , { code = 0x00053, char = 'S', class = 'var', alphabet = 'Latin' } -- latin capital letter s + , { code = 0x00054, char = 'T', class = 'var', alphabet = 'Latin' } -- latin capital letter t + , { code = 0x00055, char = 'U', class = 'var', alphabet = 'Latin' } -- latin capital letter u + , { code = 0x00056, char = 'V', class = 'var', alphabet = 'Latin' } -- latin capital letter v + , { code = 0x00057, char = 'W', class = 'var', alphabet = 'Latin' } -- latin capital letter w + , { code = 0x00058, char = 'X', class = 'var', alphabet = 'Latin' } -- latin capital letter x + , { code = 0x00059, char = 'Y', class = 'var', alphabet = 'Latin' } -- latin capital letter y + , { code = 0x0005A, char = 'Z', class = 'var', alphabet = 'Latin' } -- latin capital letter z + , { code = 0x00061, char = 'a', class = 'var', alphabet = 'latin' } -- latin small letter a + , { code = 0x00062, char = 'b', class = 'var', alphabet = 'latin' } -- latin small letter b + , { code = 0x00063, char = 'c', class = 'var', alphabet = 'latin' } -- latin small letter c + , { code = 0x00064, char = 'd', class = 'var', alphabet = 'latin' } -- latin small letter d + , { code = 0x00065, char = 'e', class = 'var', alphabet = 'latin' } -- latin small letter e + , { code = 0x00066, char = 'f', class = 'var', alphabet = 'latin' } -- latin small letter f + , { code = 0x00067, char = 'g', class = 'var', alphabet = 'latin' } -- latin small letter g + , { code = 0x00068, char = 'h', class = 'var', alphabet = 'latin' } -- latin small letter h + , { code = 0x00069, char = 'i', class = 'var', alphabet = 'latin' } -- latin small letter i + , { code = 0x0006A, char = 'j', class = 'var', alphabet = 'latin' } -- latin small letter j + , { code = 0x0006B, char = 'k', class = 'var', alphabet = 'latin' } -- latin small letter k + , { code = 0x0006C, char = 'l', class = 'var', alphabet = 'latin' } -- latin small letter l + , { code = 0x0006D, char = 'm', class = 'var', alphabet = 'latin' } -- latin small letter m + , { code = 0x0006E, char = 'n', class = 'var', alphabet = 'latin' } -- latin small letter n + , { code = 0x0006F, char = 'o', class = 'var', alphabet = 'latin' } -- latin small letter o + , { code = 0x00070, char = 'p', class = 'var', alphabet = 'latin' } -- latin small letter p + , { code = 0x00071, char = 'q', class = 'var', alphabet = 'latin' } -- latin small letter q + , { code = 0x00072, char = 'r', class = 'var', alphabet = 'latin' } -- latin small letter r + , { code = 0x00073, char = 's', class = 'var', alphabet = 'latin' } -- latin small letter s + , { code = 0x00074, char = 't', class = 'var', alphabet = 'latin' } -- latin small letter t + , { code = 0x00075, char = 'u', class = 'var', alphabet = 'latin' } -- latin small letter u + , { code = 0x00076, char = 'v', class = 'var', alphabet = 'latin' } -- latin small letter v + , { code = 0x00077, char = 'w', class = 'var', alphabet = 'latin' } -- latin small letter w + , { code = 0x00078, char = 'x', class = 'var', alphabet = 'latin' } -- latin small letter x + , { code = 0x00079, char = 'y', class = 'var', alphabet = 'latin' } -- latin small letter y + , { code = 0x0007A, char = 'z', class = 'var', alphabet = 'latin' } -- latin small letter z + , { code = 0x0005B, char = '[', class = 'open', cs = 'lbrack' } -- left square bracket + , { code = 0x0005C, char = '\\', class = 'ord', cs = 'mathbackslash' } -- reverse solidus + , { code = 0x0005D, char = ']', class = 'close', cs = 'rbrack' } -- right square bracket + , { code = 0x0007B, char = '{', class = 'open', cs = 'lbrace' } -- left curly bracket + , { code = 0x0007C, char = '|', class = 'fence', cs = 'vert' } -- vertical line + , { code = 0x0007D, char = '}', class = 'close', cs = 'rbrace' } -- right curly bracket + , { code = 0x000A3, char = '£', class = 'ord', cs = 'sterling' } -- pound sign + , { code = 0x000A5, char = '¥', class = 'ord', cs = 'yen' } -- yen sign + , { code = 0x000AC, char = '¬', class = 'ord', cs = 'neg' } -- not sign + , { code = 0x000B1, char = '±', class = 'bin', cs = 'pm' } -- plus-minus sign + , { code = 0x000B7, char = '·', class = 'punct', cs = 'cdotp' } -- middle dot + , { code = 0x000D7, char = '×', class = 'bin', cs = 'times' } -- multiplication sign + , { code = 0x000F0, char = 'ð', class = 'ord', cs = 'matheth' } -- latin small letter eth + , { code = 0x000F7, char = '÷', class = 'bin', cs = 'div' } -- division sign + , { code = 0x001B5, char = 'Ƶ', class = 'ord', cs = 'Zbar' } -- latin capital letter z with stroke + , { code = 0x00300, char = ' ̀', class = 'accent', cs = 'grave' } -- combining grave accent + , { code = 0x00301, char = ' ́', class = 'accent', cs = 'acute' } -- combining acute accent + , { code = 0x00302, char = ' ̂', class = 'accent', cs = 'hat' } -- combining circumflex accent + , { code = 0x00303, char = ' ̃', class = 'accent', cs = 'tilde' } -- combining tilde + , { code = 0x00304, char = ' ̄', class = 'accent', cs = 'bar' } -- combining macron + , { code = 0x00305, char = ' ̅', class = 'accent', cs = 'overbar' } -- combining overline + , { code = 0x00306, char = ' ̆', class = 'accent', cs = 'breve' } -- combining breve + , { code = 0x00307, char = ' ̇', class = 'accent', cs = 'dot' } -- combining dot above + , { code = 0x00308, char = ' ̈', class = 'accent', cs = 'ddot' } -- combining diaeresis + , { code = 0x00309, char = ' ̉', class = 'accent', cs = 'ovhook' } -- combining hook above + , { code = 0x0030A, char = ' ̊', class = 'accent', cs = 'ocirc' } -- combining ring above + , { code = 0x0030C, char = ' ̌', class = 'accent', cs = 'check' } -- combining caron + , { code = 0x00310, char = ' ̐', class = 'accent', cs = 'candra' } -- combining candrabindu + , { code = 0x00312, char = ' ̒', class = 'accent', cs = 'oturnedcomma' } -- combining turned comma above + , { code = 0x00315, char = ' ̕', class = 'accent', cs = 'ocommatopright' } -- combining comma above right + , { code = 0x0031A, char = ' ̚', class = 'accent', cs = 'droang' } -- combining left angle above + , { code = 0x00330, char = ' ̰', class = 'botaccent', cs = 'wideutilde' } -- combining tilde below + , { code = 0x00331, char = ' ̱', class = 'botaccent', cs = 'underbar' } -- combining macron below + , { code = 0x00338, char = ' ̸', class = 'overlay', cs = 'not' } -- combining long solidus overlay + , { code = 0x00391, char = 'Α', class = 'var', cs = 'Alpha', alphabet = 'Greek' } -- greek capital letter alpha + , { code = 0x00392, char = 'Β', class = 'var', cs = 'Beta', alphabet = 'Greek' } -- greek capital letter beta + , { code = 0x00393, char = 'Γ', class = 'var', cs = 'Gamma', alphabet = 'Greek' } -- greek capital letter gamma + , { code = 0x00394, char = 'Δ', class = 'var', cs = 'Delta', alphabet = 'Greek' } -- greek capital letter delta + , { code = 0x00395, char = 'Ε', class = 'var', cs = 'Epsilon', alphabet = 'Greek' } -- greek capital letter epsilon + , { code = 0x00396, char = 'Ζ', class = 'var', cs = 'Zeta', alphabet = 'Greek' } -- greek capital letter zeta + , { code = 0x00397, char = 'Η', class = 'var', cs = 'Eta', alphabet = 'Greek' } -- greek capital letter eta + , { code = 0x00398, char = 'Θ', class = 'var', cs = 'Theta', alphabet = 'Greek' } -- greek capital letter theta + , { code = 0x00399, char = 'Ι', class = 'var', cs = 'Iota', alphabet = 'Greek' } -- greek capital letter iota + , { code = 0x0039A, char = 'Κ', class = 'var', cs = 'Kappa', alphabet = 'Greek' } -- greek capital letter kappa + , { code = 0x0039B, char = 'Λ', class = 'var', cs = 'Lambda', alphabet = 'Greek' } -- greek capital letter lamda + , { code = 0x0039C, char = 'Μ', class = 'var', cs = 'Mu', alphabet = 'Greek' } -- greek capital letter mu + , { code = 0x0039D, char = 'Ν', class = 'var', cs = 'Nu', alphabet = 'Greek' } -- greek capital letter nu + , { code = 0x0039E, char = 'Ξ', class = 'var', cs = 'Xi', alphabet = 'Greek' } -- greek capital letter xi + , { code = 0x0039F, char = 'Ο', class = 'var', cs = 'Omicron', alphabet = 'Greek' } -- greek capital letter omicron + , { code = 0x003A0, char = 'Π', class = 'var', cs = 'Pi', alphabet = 'Greek' } -- greek capital letter pi + , { code = 0x003A1, char = 'Ρ', class = 'var', cs = 'Rho', alphabet = 'Greek' } -- greek capital letter rho + , { code = 0x003A3, char = 'Σ', class = 'var', cs = 'Sigma', alphabet = 'Greek' } -- greek capital letter sigma + , { code = 0x003A4, char = 'Τ', class = 'var', cs = 'Tau', alphabet = 'Greek' } -- greek capital letter tau + , { code = 0x003A5, char = 'Υ', class = 'var', cs = 'Upsilon', alphabet = 'Greek' } -- greek capital letter upsilon + , { code = 0x003A6, char = 'Φ', class = 'var', cs = 'Phi', alphabet = 'Greek' } -- greek capital letter phi + , { code = 0x003A7, char = 'Χ', class = 'var', cs = 'Chi', alphabet = 'Greek' } -- greek capital letter chi + , { code = 0x003A8, char = 'Ψ', class = 'var', cs = 'Psi', alphabet = 'Greek' } -- greek capital letter psi + , { code = 0x003A9, char = 'Ω', class = 'var', cs = 'Omega', alphabet = 'Greek' } -- greek capital letter omega + , { code = 0x003B1, char = 'α', class = 'var', cs = 'alpha', alphabet = 'greek' } -- greek small letter alpha + , { code = 0x003B2, char = 'β', class = 'var', cs = 'beta', alphabet = 'greek' } -- greek small letter beta + , { code = 0x003B3, char = 'γ', class = 'var', cs = 'gamma', alphabet = 'greek' } -- greek small letter gamma + , { code = 0x003B4, char = 'δ', class = 'var', cs = 'delta', alphabet = 'greek' } -- greek small letter delta + , { code = 0x003B5, char = 'ε', class = 'var', cs = 'epsilon', alphabet = 'greek' } -- greek small letter epsilon + , { code = 0x003B6, char = 'ζ', class = 'var', cs = 'zeta', alphabet = 'greek' } -- greek small letter zeta + , { code = 0x003B7, char = 'η', class = 'var', cs = 'eta', alphabet = 'greek' } -- greek small letter eta + , { code = 0x003B8, char = 'θ', class = 'var', cs = 'theta', alphabet = 'greek' } -- greek small letter theta + , { code = 0x003B9, char = 'ι', class = 'var', cs = 'iota', alphabet = 'greek' } -- greek small letter iota + , { code = 0x003BA, char = 'κ', class = 'var', cs = 'kappa', alphabet = 'greek' } -- greek small letter kappa + , { code = 0x003BB, char = 'λ', class = 'var', cs = 'lambda', alphabet = 'greek' } -- greek small letter lamda + , { code = 0x003BC, char = 'μ', class = 'var', cs = 'mu', alphabet = 'greek' } -- greek small letter mu + , { code = 0x003BD, char = 'ν', class = 'var', cs = 'nu', alphabet = 'greek' } -- greek small letter nu + , { code = 0x003BE, char = 'ξ', class = 'var', cs = 'xi', alphabet = 'greek' } -- greek small letter xi + , { code = 0x003BF, char = 'ο', class = 'var', cs = 'omicron', alphabet = 'greek' } -- greek small letter omicron + , { code = 0x003C0, char = 'π', class = 'var', cs = 'pi', alphabet = 'greek' } -- greek small letter pi + , { code = 0x003C1, char = 'ρ', class = 'var', cs = 'rho', alphabet = 'greek' } -- greek small letter rho + , { code = 0x003C2, char = 'ς', class = 'var', cs = 'varsigma', alphabet = 'greek' } -- greek small letter final sigma + , { code = 0x003C3, char = 'σ', class = 'var', cs = 'sigma', alphabet = 'greek' } -- greek small letter sigma + , { code = 0x003C4, char = 'τ', class = 'var', cs = 'tau', alphabet = 'greek' } -- greek small letter tau + , { code = 0x003C5, char = 'υ', class = 'var', cs = 'upsilon', alphabet = 'greek' } -- greek small letter upsilon + , { code = 0x003C6, char = 'φ', class = 'var', cs = 'phi', alphabet = 'greek' } -- greek small letter phi + , { code = 0x003C7, char = 'χ', class = 'var', cs = 'chi', alphabet = 'greek' } -- greek small letter chi + , { code = 0x003C8, char = 'ψ', class = 'var', cs = 'psi', alphabet = 'greek' } -- greek small letter psi + , { code = 0x003C9, char = 'ω', class = 'var', cs = 'omega', alphabet = 'greek' } -- greek small letter omega + , { code = 0x003D0, char = 'ϐ', class = 'ord', cs = 'varbeta' } -- greek beta symbol + , { code = 0x003D1, char = 'ϑ', class = 'var', cs = 'vartheta', alphabet = 'greek' } -- greek theta symbol + , { code = 0x003D5, char = 'ϕ', class = 'var', cs = 'varphi', alphabet = 'greek' } -- greek phi symbol + , { code = 0x003D6, char = 'ϖ', class = 'var', cs = 'varpi', alphabet = 'greek' } -- greek pi symbol + , { code = 0x003D8, char = 'Ϙ', class = 'ord', cs = 'oldKoppa' } -- greek letter archaic koppa + , { code = 0x003D9, char = 'ϙ', class = 'ord', cs = 'oldkoppa' } -- greek small letter archaic koppa + , { code = 0x003DA, char = 'Ϛ', class = 'ord', cs = 'Stigma' } -- greek letter stigma + , { code = 0x003DB, char = 'ϛ', class = 'ord', cs = 'stigma' } -- greek small letter stigma + , { code = 0x003DC, char = 'Ϝ', class = 'ord', cs = 'Digamma' } -- greek letter digamma + , { code = 0x003DD, char = 'ϝ', class = 'ord', cs = 'digamma' } -- greek small letter digamma + , { code = 0x003DE, char = 'Ϟ', class = 'ord', cs = 'Koppa' } -- greek letter koppa + , { code = 0x003DF, char = 'ϟ', class = 'ord', cs = 'koppa' } -- greek small letter koppa + , { code = 0x003E0, char = 'Ϡ', class = 'ord', cs = 'Sampi' } -- greek letter sampi + , { code = 0x003E1, char = 'ϡ', class = 'ord', cs = 'sampi' } -- greek small letter sampi + , { code = 0x003F0, char = 'ϰ', class = 'var', cs = 'varkappa', alphabet = 'greek' } -- greek kappa symbol + , { code = 0x003F1, char = 'ϱ', class = 'var', cs = 'varrho', alphabet = 'greek' } -- greek rho symbol + , { code = 0x003F4, char = 'ϴ', class = 'var', cs = 'varTheta', alphabet = 'Greek' } -- greek capital theta symbol + , { code = 0x003F5, char = 'ϵ', class = 'var', cs = 'varepsilon', alphabet = 'greek' } -- greek lunate epsilon symbol + , { code = 0x003F6, char = '϶', class = 'ord', cs = 'backepsilon' } -- greek reversed lunate epsilon symbol + , { code = 0x02015, char = '―', class = 'ord', cs = 'horizbar' } -- horizontal bar + , { code = 0x02016, char = '‖', class = 'fence', cs = 'Vert' } -- double vertical line + , { code = 0x02017, char = '‗', class = 'ord', cs = 'twolowline' } -- double low line + , { code = 0x02020, char = '†', class = 'bin', cs = 'dagger' } -- dagger + , { code = 0x02021, char = '‡', class = 'bin', cs = 'ddagger' } -- double dagger + , { code = 0x02022, char = '•', class = 'bin', cs = 'smblkcircle' } -- bullet + , { code = 0x02025, char = '‥', class = 'ord', cs = 'enleadertwodots' } -- two dot leader + , { code = 0x02026, char = '…', class = 'ord', cs = 'unicodeellipsis' } -- horizontal ellipsis + , { code = 0x02032, char = '′', class = 'ord', cs = 'prime' } -- prime + , { code = 0x02033, char = '″', class = 'ord', cs = 'dprime' } -- double prime + , { code = 0x02034, char = '‴', class = 'ord', cs = 'trprime' } -- triple prime + , { code = 0x02035, char = '‵', class = 'ord', cs = 'backprime' } -- reversed prime + , { code = 0x02036, char = '‶', class = 'ord', cs = 'backdprime' } -- reversed double prime + , { code = 0x02037, char = '‷', class = 'ord', cs = 'backtrprime' } -- reversed triple prime + , { code = 0x02038, char = '‸', class = 'ord', cs = 'caretinsert' } -- caret + , { code = 0x0203C, char = '‼', class = 'ord', cs = 'Exclam' } -- double exclamation mark + , { code = 0x02040, char = '⁀', class = 'bin', cs = 'tieconcat' } -- char acter tie + , { code = 0x02043, char = '⁃', class = 'ord', cs = 'hyphenbullet' } -- hyphen bullet + , { code = 0x02044, char = '⁄', class = 'bin', cs = 'fracslash' } -- fraction slash + , { code = 0x02047, char = '⁇', class = 'ord', cs = 'Question' } -- double question mark + , { code = 0x02050, char = '⁐', class = 'rel', cs = 'closure' } -- close up + , { code = 0x02057, char = '⁗', class = 'ord', cs = 'qprime' } -- quadruple prime + , { code = 0x020AC, char = '€', class = 'ord', cs = 'euro' } -- euro sign + , { code = 0x020D0, char = ' ⃐', class = 'accent', cs = 'leftharpoonaccent' } -- combining left harpoon above + , { code = 0x020D1, char = ' ⃑', class = 'accent', cs = 'rightharpoonaccent' } -- combining right harpoon above + , { code = 0x020D2, char = ' ⃒', class = 'overlay', cs = 'vertoverlay' } -- combining long vertical line overlay + , { code = 0x020D6, char = ' ⃖', class = 'accent', cs = 'overleftarrow' } -- combining left arrow above + , { code = 0x020D7, char = ' ⃗', class = 'accent', cs = 'vec' } -- combining right arrow above + , { code = 0x020DB, char = ' ⃛', class = 'accent', cs = 'dddot' } -- combining three dots above + , { code = 0x020DC, char = ' ⃜', class = 'accent', cs = 'ddddot' } -- combining four dots above + , { code = 0x020DD, char = '⃝', class = 'ord', cs = 'enclosecircle' } -- combining enclosing circle + , { code = 0x020DE, char = '⃞', class = 'ord', cs = 'enclosesquare' } -- combining enclosing square + , { code = 0x020DF, char = '⃟', class = 'ord', cs = 'enclosediamond' } -- combining enclosing iamond + , { code = 0x020E1, char = ' ⃡', class = 'accent', cs = 'overleftrightarrow' } -- combining left right arrow above + , { code = 0x020E4, char = '⃤', class = 'ord', cs = 'enclosetriangle' } -- combining enclosing upward pointing triangle + , { code = 0x020E7, char = ' ⃧', class = 'accent', cs = 'annuity' } -- combining annuity symbol + , { code = 0x020E8, char = ' ⃨', class = 'botaccent', cs = 'threeunderdot' } -- combining triple underdot + , { code = 0x020E9, char = ' ⃩', class = 'accent', cs = 'widebridgeabove' } -- combining wide bridge above + , { code = 0x020EC, char = ' ⃬', class = 'botaccent', cs = 'underrightharpoondown' } -- combining rightwards harpoon with barb downwards + , { code = 0x020ED, char = ' ⃭', class = 'botaccent', cs = 'underleftharpoondown' } -- combining leftwards harpoon with barb downwards + , { code = 0x020EE, char = ' ⃮', class = 'botaccent', cs = 'underleftarrow' } -- combining left arrow below + , { code = 0x020EF, char = ' ⃯', class = 'botaccent', cs = 'underrightarrow' } -- combining right arrow below + , { code = 0x020F0, char = ' ⃰', class = 'accent', cs = 'asteraccent' } -- combining asterisk above + , { code = 0x02102, char = 'ℂ', class = 'ord', cs = 'BbbC', alphabet = 'blackboard' } -- double-struck capital c + , { code = 0x02107, char = 'ℇ', class = 'ord', cs = 'Eulerconst' } -- euler constant + , { code = 0x0210A, char = 'ℊ', class = 'ord', cs = 'mscrg', alphabet = 'script' } -- script small g + , { code = 0x0210B, char = 'ℋ', class = 'ord', cs = 'mscrH', alphabet = 'script' } -- script capital h + , { code = 0x0210C, char = 'ℌ', class = 'ord', cs = 'mfrakH' } -- black-letter capital h + , { code = 0x0210D, char = 'ℍ', class = 'ord', cs = 'BbbH', alphabet = 'blackboard' } -- double-struck capital h + , { code = 0x0210E, char = 'ℎ', class = 'ord', cs = 'mith' } -- planck constant + , { code = 0x0210F, char = 'ℏ', class = 'ord', cs = 'hbar' } -- planck constant over two pi + , { code = 0x02110, char = 'ℐ', class = 'ord', cs = 'mscrI', alphabet = 'script' } -- script capital i + , { code = 0x02111, char = 'ℑ', class = 'ord', cs = 'Im' } -- black-letter capital i + , { code = 0x02112, char = 'ℒ', class = 'ord', cs = 'mscrL', alphabet = 'script' } -- script capital l + , { code = 0x02113, char = 'ℓ', class = 'ord', cs = 'ell', alphabet = 'script' } -- script small l + , { code = 0x02115, char = 'ℕ', class = 'ord', cs = 'BbbN', alphabet = 'blackboard' } -- double-struck capital n + , { code = 0x02118, char = '℘', class = 'ord', cs = 'wp', } -- weierstrass elliptic function + , { code = 0x02119, char = 'ℙ', class = 'ord', cs = 'BbbP', alphabet = 'blackboard' } -- double-struck capital p + , { code = 0x0211A, char = 'ℚ', class = 'ord', cs = 'BbbQ', alphabet = 'blackboard' } -- double-struck capital q + , { code = 0x0211B, char = 'ℛ', class = 'ord', cs = 'mscrR', alphabet = 'script' } -- script capital r + , { code = 0x0211C, char = 'ℜ', class = 'ord', cs = 'Re' } -- black-letter capital r + , { code = 0x0211D, char = 'ℝ', class = 'ord', cs = 'BbbR', alphabet = 'blackboard' } -- double-struck capital r + , { code = 0x02124, char = 'ℤ', class = 'ord', cs = 'BbbZ', alphabet = 'blackboard' } -- double-struck capital z + , { code = 0x02127, char = '℧', class = 'ord', cs = 'mho' } -- inverted ohm sign + , { code = 0x02128, char = 'ℨ', class = 'ord', cs = 'mfrakZ' } -- black-letter capital z + , { code = 0x02129, char = '℩', class = 'ord', cs = 'turnediota' } -- turned greek small letter iota + , { code = 0x0212B, char = 'Å', class = 'ord', cs = 'Angstrom' } -- angstrom sign + , { code = 0x0212C, char = 'ℬ', class = 'ord', cs = 'mscrB', alphabet = 'script' } -- script capital b + , { code = 0x0212D, char = 'ℭ', class = 'ord', cs = 'mfrakC' } -- black-letter capital c + , { code = 0x0212F, char = 'ℯ', class = 'ord', cs = 'mscre', alphabet = 'script' } -- script small e + , { code = 0x02130, char = 'ℰ', class = 'ord', cs = 'mscrE', alphabet = 'script' } -- script capital e + , { code = 0x02131, char = 'ℱ', class = 'ord', cs = 'mscrF', alphabet = 'script' } -- script capital f + , { code = 0x02132, char = 'Ⅎ', class = 'ord', cs = 'Finv' } -- turned capital f + , { code = 0x02133, char = 'ℳ', class = 'ord', cs = 'mscrM', alphabet = 'script' } -- script capital m + , { code = 0x02134, char = 'ℴ', class = 'ord', cs = 'mscro', alphabet = 'script' } -- script small o + , { code = 0x02135, char = 'ℵ', class = 'ord', cs = 'aleph' } -- alef symbol + , { code = 0x02136, char = 'ℶ', class = 'ord', cs = 'beth' } -- bet symbol + , { code = 0x02137, char = 'ℷ', class = 'ord', cs = 'gimel' } -- gimel symbol + , { code = 0x02138, char = 'ℸ', class = 'ord', cs = 'daleth' } -- dalet symbol + , { code = 0x0213C, char = 'ℼ', class = 'ord', cs = 'Bbbpi', alphabet = 'blackboard' } -- double-struck small pi + , { code = 0x0213D, char = 'ℽ', class = 'ord', cs = 'Bbbgamma', alphabet = 'blackboard' } -- double-struck small gamma + , { code = 0x0213E, char = 'ℾ', class = 'ord', cs = 'BbbGamma', alphabet = 'blackboard' } -- double-struck capital gamma + , { code = 0x0213F, char = 'ℿ', class = 'ord', cs = 'BbbPi', alphabet = 'blackboard' } -- double-struck capital pi + , { code = 0x02140, char = '⅀', class = 'op', cs = 'Bbbsum', alphabet = 'blackboard' } -- double-struck n-ary summation + , { code = 0x02141, char = '⅁', class = 'ord', cs = 'Game' } -- turned sans-serif capital g + , { code = 0x02142, char = '⅂', class = 'ord', cs = 'sansLturned' } -- turned sans-serif capital l + , { code = 0x02143, char = '⅃', class = 'ord', cs = 'sansLmirrored' } -- reversed sans-serif capital l + , { code = 0x02144, char = '⅄', class = 'ord', cs = 'Yup' } -- turned sans-serif capital y + , { code = 0x02145, char = 'ⅅ', class = 'ord', cs = 'mitBbbD', alphabet = 'blackboard' } -- double-struck italic capital d + , { code = 0x02146, char = 'ⅆ', class = 'ord', cs = 'mitBbbd', alphabet = 'blackboard' } -- double-struck italic small d + , { code = 0x02147, char = 'ⅇ', class = 'ord', cs = 'mitBbbe', alphabet = 'blackboard' } -- double-struck italic small e + , { code = 0x02148, char = 'ⅈ', class = 'ord', cs = 'mitBbbi', alphabet = 'blackboard' } -- double-struck italic small i + , { code = 0x02149, char = 'ⅉ', class = 'ord', cs = 'mitBbbj', alphabet = 'blackboard' } -- double-struck italic small j + , { code = 0x0214A, char = '⅊', class = 'ord', cs = 'PropertyLine' } -- property line + , { code = 0x0214B, char = '⅋', class = 'bin', cs = 'upand' } -- turned ampersand + , { code = 0x02190, char = '←', class = 'rel', cs = 'leftarrow' } -- leftwards arrow + , { code = 0x02191, char = '↑', class = 'rel', cs = 'uparrow' } -- upwards arrow + , { code = 0x02192, char = '→', class = 'rel', cs = 'rightarrow' } -- rightwards arrow + , { code = 0x02193, char = '↓', class = 'rel', cs = 'downarrow' } -- downwards arrow + , { code = 0x02194, char = '↔', class = 'rel', cs = 'leftrightarrow' } -- left right arrow + , { code = 0x02195, char = '↕', class = 'rel', cs = 'updownarrow' } -- up down arrow + , { code = 0x02196, char = '↖', class = 'rel', cs = 'nwarrow' } -- north west arrow + , { code = 0x02197, char = '↗', class = 'rel', cs = 'nearrow' } -- north east arrow + , { code = 0x02198, char = '↘', class = 'rel', cs = 'searrow' } -- south east arrow + , { code = 0x02199, char = '↙', class = 'rel', cs = 'swarrow' } -- south west arrow + , { code = 0x0219A, char = '↚', class = 'rel', cs = 'nleftarrow' } -- leftwards arrow with stroke + , { code = 0x0219B, char = '↛', class = 'rel', cs = 'nrightarrow' } -- rightwards arrow with stroke + , { code = 0x0219C, char = '↜', class = 'rel', cs = 'leftwavearrow' } -- leftwards wave arrow + , { code = 0x0219D, char = '↝', class = 'rel', cs = 'rightwavearrow' } -- rightwards wave arrow + , { code = 0x0219E, char = '↞', class = 'rel', cs = 'twoheadleftarrow' } -- leftwards two headed arrow + , { code = 0x0219F, char = '↟', class = 'rel', cs = 'twoheaduparrow' } -- upwards two headed arrow + , { code = 0x021A0, char = '↠', class = 'rel', cs = 'twoheadrightarrow' } -- rightwards two headed arrow + , { code = 0x021A1, char = '↡', class = 'rel', cs = 'twoheaddownarrow' } -- downwards two headed arrow + , { code = 0x021A2, char = '↢', class = 'rel', cs = 'leftarrowtail' } -- leftwards arrow with tail + , { code = 0x021A3, char = '↣', class = 'rel', cs = 'rightarrowtail' } -- rightwards arrow with tail + , { code = 0x021A4, char = '↤', class = 'rel', cs = 'mapsfrom' } -- leftwards arrow from bar + , { code = 0x021A5, char = '↥', class = 'rel', cs = 'mapsup' } -- upwards arrow from bar + , { code = 0x021A6, char = '↦', class = 'rel', cs = 'mapsto' } -- rightwards arrow from bar + , { code = 0x021A7, char = '↧', class = 'rel', cs = 'mapsdown' } -- downwards arrow from bar + , { code = 0x021A8, char = '↨', class = 'ord', cs = 'updownarrowbar' } -- up down arrow with base + , { code = 0x021A9, char = '↩', class = 'rel', cs = 'hookleftarrow' } -- leftwards arrow with hook + , { code = 0x021AA, char = '↪', class = 'rel', cs = 'hookrightarrow' } -- rightwards arrow with hook + , { code = 0x021AB, char = '↫', class = 'rel', cs = 'looparrowleft' } -- leftwards arrow with loop + , { code = 0x021AC, char = '↬', class = 'rel', cs = 'looparrowright' } -- rightwards arrow with loop + , { code = 0x021AD, char = '↭', class = 'rel', cs = 'leftrightsquigarrow' } -- left right wave arrow + , { code = 0x021AE, char = '↮', class = 'rel', cs = 'nleftrightarrow' } -- left right arrow with stroke + , { code = 0x021AF, char = '↯', class = 'rel', cs = 'downzigzagarrow' } -- downwards zigzag arrow + , { code = 0x021B0, char = '↰', class = 'rel', cs = 'Lsh' } -- upwards arrow with tip leftwards + , { code = 0x021B1, char = '↱', class = 'rel', cs = 'Rsh' } -- upwards arrow with tip rightwards + , { code = 0x021B2, char = '↲', class = 'rel', cs = 'Ldsh' } -- downwards arrow with tip leftwards + , { code = 0x021B3, char = '↳', class = 'rel', cs = 'Rdsh' } -- downwards arrow with tip rightwards + , { code = 0x021B4, char = '↴', class = 'ord', cs = 'linefeed' } -- rightwards arrow with corner downwards + , { code = 0x021B5, char = '↵', class = 'ord', cs = 'carriagereturn' } -- downwards arrow with corner leftwards + , { code = 0x021B6, char = '↶', class = 'rel', cs = 'curvearrowleft' } -- anticlockwise top semicircle arrow + , { code = 0x021B7, char = '↷', class = 'rel', cs = 'curvearrowright' } -- clockwise top semicircle arrow + , { code = 0x021B8, char = '↸', class = 'ord', cs = 'barovernorthwestarrow' } -- north west arrow to long bar + , { code = 0x021B9, char = '↹', class = 'ord', cs = 'barleftarrowrightarrowbar' } -- leftwards arrow to bar over rightwards arrow to bar + , { code = 0x021BA, char = '↺', class = 'ord', cs = 'acwopencirclearrow' } -- anticlockwise open circle arrow + , { code = 0x021BB, char = '↻', class = 'ord', cs = 'cwopencirclearrow' } -- clockwise open circle arrow + , { code = 0x021BC, char = '↼', class = 'rel', cs = 'leftharpoonup' } -- leftwards harpoon with barb upwards + , { code = 0x021BD, char = '↽', class = 'rel', cs = 'leftharpoondown' } -- leftwards harpoon with barb downwards + , { code = 0x021BE, char = '↾', class = 'rel', cs = 'upharpoonright' } -- upwards harpoon with barb rightwards + , { code = 0x021BF, char = '↿', class = 'rel', cs = 'upharpoonleft' } -- upwards harpoon with barb leftwards + , { code = 0x021C0, char = '⇀', class = 'rel', cs = 'rightharpoonup' } -- rightwards harpoon with barb upwards + , { code = 0x021C1, char = '⇁', class = 'rel', cs = 'rightharpoondown' } -- rightwards harpoon with barb downwards + , { code = 0x021C2, char = '⇂', class = 'rel', cs = 'downharpoonright' } -- downwards harpoon with barb rightwards + , { code = 0x021C3, char = '⇃', class = 'rel', cs = 'downharpoonleft' } -- downwards harpoon with barb leftwards + , { code = 0x021C4, char = '⇄', class = 'rel', cs = 'rightleftarrows' } -- rightwards arrow over leftwards arrow + , { code = 0x021C5, char = '⇅', class = 'rel', cs = 'updownarrows' } -- upwards arrow leftwards of downwards arrow + , { code = 0x021C6, char = '⇆', class = 'rel', cs = 'leftrightarrows' } -- leftwards arrow over rightwards arrow + , { code = 0x021C7, char = '⇇', class = 'rel', cs = 'leftleftarrows' } -- leftwards paired arrows + , { code = 0x021C8, char = '⇈', class = 'rel', cs = 'upuparrows' } -- upwards paired arrows + , { code = 0x021C9, char = '⇉', class = 'rel', cs = 'rightrightarrows' } -- rightwards paired arrows + , { code = 0x021CA, char = '⇊', class = 'rel', cs = 'downdownarrows' } -- downwards paired arrows + , { code = 0x021CB, char = '⇋', class = 'rel', cs = 'leftrightharpoons' } -- leftwards harpoon over rightwards harpoon + , { code = 0x021CC, char = '⇌', class = 'rel', cs = 'rightleftharpoons' } -- rightwards harpoon over leftwards harpoon + , { code = 0x021CD, char = '⇍', class = 'rel', cs = 'nLeftarrow' } -- leftwards double arrow with stroke + , { code = 0x021CE, char = '⇎', class = 'rel', cs = 'nLeftrightarrow' } -- left right double arrow with stroke + , { code = 0x021CF, char = '⇏', class = 'rel', cs = 'nRightarrow' } -- rightwards double arrow with stroke + , { code = 0x021D0, char = '⇐', class = 'rel', cs = 'Leftarrow' } -- leftwards double arrow + , { code = 0x021D1, char = '⇑', class = 'rel', cs = 'Uparrow' } -- upwards double arrow + , { code = 0x021D2, char = '⇒', class = 'rel', cs = 'Rightarrow' } -- rightwards double arrow + , { code = 0x021D3, char = '⇓', class = 'rel', cs = 'Downarrow' } -- downwards double arrow + , { code = 0x021D4, char = '⇔', class = 'rel', cs = 'Leftrightarrow' } -- left right double arrow + , { code = 0x021D5, char = '⇕', class = 'rel', cs = 'Updownarrow' } -- up down double arrow + , { code = 0x021D6, char = '⇖', class = 'rel', cs = 'Nwarrow' } -- north west double arrow + , { code = 0x021D7, char = '⇗', class = 'rel', cs = 'Nearrow' } -- north east double arrow + , { code = 0x021D8, char = '⇘', class = 'rel', cs = 'Searrow' } -- south east double arrow + , { code = 0x021D9, char = '⇙', class = 'rel', cs = 'Swarrow' } -- south west double arrow + , { code = 0x021DA, char = '⇚', class = 'rel', cs = 'Lleftarrow' } -- leftwards triple arrow + , { code = 0x021DB, char = '⇛', class = 'rel', cs = 'Rrightarrow' } -- rightwards triple arrow + , { code = 0x021DC, char = '⇜', class = 'rel', cs = 'leftsquigarrow' } -- leftwards squiggle arrow + , { code = 0x021DD, char = '⇝', class = 'rel', cs = 'rightsquigarrow' } -- rightwards squiggle arrow + , { code = 0x021DE, char = '⇞', class = 'ord', cs = 'nHuparrow' } -- upwards arrow with double stroke + , { code = 0x021DF, char = '⇟', class = 'ord', cs = 'nHdownarrow' } -- downwards arrow with double stroke + , { code = 0x021E0, char = '⇠', class = 'ord', cs = 'leftdasharrow' } -- leftwards dashed arrow + , { code = 0x021E1, char = '⇡', class = 'ord', cs = 'updasharrow' } -- upwards dashed arrow + , { code = 0x021E2, char = '⇢', class = 'ord', cs = 'rightdasharrow' } -- rightwards dashed arrow + , { code = 0x021E3, char = '⇣', class = 'ord', cs = 'downdasharrow' } -- downwards dashed arrow + , { code = 0x021E4, char = '⇤', class = 'rel', cs = 'barleftarrow' } -- leftwards arrow to bar + , { code = 0x021E5, char = '⇥', class = 'rel', cs = 'rightarrowbar' } -- rightwards arrow to bar + , { code = 0x021E6, char = '⇦', class = 'ord', cs = 'leftwhitearrow' } -- leftwards white arrow + , { code = 0x021E7, char = '⇧', class = 'ord', cs = 'upwhitearrow' } -- upwards white arrow + , { code = 0x021E8, char = '⇨', class = 'ord', cs = 'rightwhitearrow' } -- rightwards white arrow + , { code = 0x021E9, char = '⇩', class = 'ord', cs = 'downwhitearrow' } -- downwards white arrow + , { code = 0x021EA, char = '⇪', class = 'ord', cs = 'whitearrowupfrombar' } -- upwards white arrow from bar + , { code = 0x021F4, char = '⇴', class = 'rel', cs = 'circleonrightarrow' } -- right arrow with small circle + , { code = 0x021F5, char = '⇵', class = 'rel', cs = 'downuparrows' } -- downwards arrow leftwards of upwards arrow + , { code = 0x021F6, char = '⇶', class = 'rel', cs = 'rightthreearrows' } -- three rightwards arrows + , { code = 0x021F7, char = '⇷', class = 'rel', cs = 'nvleftarrow' } -- leftwards arrow with vertical stroke + , { code = 0x021F8, char = '⇸', class = 'rel', cs = 'nvrightarrow' } -- rightwards arrow with vertical stroke + , { code = 0x021F9, char = '⇹', class = 'rel', cs = 'nvleftrightarrow' } -- left right arrow with vertical stroke + , { code = 0x021FA, char = '⇺', class = 'rel', cs = 'nVleftarrow' } -- leftwards arrow with double vertical stroke + , { code = 0x021FB, char = '⇻', class = 'rel', cs = 'nVrightarrow' } -- rightwards arrow with double vertical stroke + , { code = 0x021FC, char = '⇼', class = 'rel', cs = 'nVleftrightarrow' } -- left right arrow with double vertical stroke + , { code = 0x021FD, char = '⇽', class = 'rel', cs = 'leftarrowtriangle' } -- leftwards open-headed arrow + , { code = 0x021FE, char = '⇾', class = 'rel', cs = 'rightarrowtriangle' } -- rightwards open-headed arrow + , { code = 0x021FF, char = '⇿', class = 'rel', cs = 'leftrightarrowtriangle' } -- left right open-headed arrow + , { code = 0x02200, char = '∀', class = 'ord', cs = 'forall' } -- for all + , { code = 0x02201, char = '∁', class = 'ord', cs = 'complement' } -- complement + , { code = 0x02202, char = '∂', class = 'var', cs = 'partial' } -- partial differential + , { code = 0x02203, char = '∃', class = 'ord', cs = 'exists' } -- there exists + , { code = 0x02204, char = '∄', class = 'ord', cs = 'nexists' } -- there does not exist + , { code = 0x02205, char = '∅', class = 'ord', cs = 'varnothing' } -- empty set + , { code = 0x02206, char = '∆', class = 'ord', cs = 'increment' } -- increment + , { code = 0x02207, char = '∇', class = 'var', cs = 'nabla' } -- nabla + , { code = 0x02208, char = '∈', class = 'rel', cs = 'in' } -- element of + , { code = 0x02209, char = '∉', class = 'rel', cs = 'notin' } -- not an element of + , { code = 0x0220A, char = '∊', class = 'rel', cs = 'smallin' } -- small element of + , { code = 0x0220B, char = '∋', class = 'rel', cs = 'ni' } -- contains as member + , { code = 0x0220C, char = '∌', class = 'rel', cs = 'nni' } -- does not contain as member + , { code = 0x0220D, char = '∍', class = 'rel', cs = 'smallni' } -- small contains as member + , { code = 0x0220E, char = '∎', class = 'ord', cs = 'QED' } -- end of proof + , { code = 0x0220F, char = '∏', class = 'op', cs = 'prod' } -- n-ary product + , { code = 0x02210, char = '∐', class = 'op', cs = 'coprod' } -- n-ary coproduct + , { code = 0x02211, char = '∑', class = 'op', cs = 'sum' } -- n-ary summation + , { code = 0x02212, char = '−', class = 'bin', cs = 'minus' } -- minus sign + , { code = 0x02213, char = '∓', class = 'bin', cs = 'mp' } -- minus-or-plus sign + , { code = 0x02214, char = '∔', class = 'bin', cs = 'dotplus' } -- dot plus + , { code = 0x02215, char = '∕', class = 'bin', cs = 'divslash' } -- division slash + , { code = 0x02216, char = '∖', class = 'bin', cs = 'smallsetminus' } -- set minus + , { code = 0x02217, char = '∗', class = 'bin', cs = 'ast' } -- asterisk operator + , { code = 0x02218, char = '∘', class = 'bin', cs = 'vysmwhtcircle' } -- ring operator + , { code = 0x02219, char = '∙', class = 'bin', cs = 'vysmblkcircle' } -- bullet operator + , { code = 0x0221A, char = '√', class = 'radical', cs = 'sqrt' } -- square root + , { code = 0x0221B, char = '∛', class = 'radical', cs = 'cuberoot' } -- cube root + , { code = 0x0221C, char = '∜', class = 'radical', cs = 'fourthroot' } -- fourth root + , { code = 0x0221D, char = '∝', class = 'rel', cs = 'propto' } -- proportional to + , { code = 0x0221E, char = '∞', class = 'ord', cs = 'infty' } -- infinity + , { code = 0x0221F, char = '∟', class = 'ord', cs = 'rightangle' } -- right angle + , { code = 0x02220, char = '∠', class = 'ord', cs = 'angle' } -- angle + , { code = 0x02221, char = '∡', class = 'ord', cs = 'measuredangle' } -- measured angle + , { code = 0x02222, char = '∢', class = 'ord', cs = 'sphericalangle' } -- spherical angle + , { code = 0x02223, char = '∣', class = 'rel', cs = 'mid' } -- divides + , { code = 0x02224, char = '∤', class = 'rel', cs = 'nmid' } -- does not divide + , { code = 0x02225, char = '∥', class = 'rel', cs = 'parallel' } -- parallel to + , { code = 0x02226, char = '∦', class = 'rel', cs = 'nparallel' } -- not parallel to + , { code = 0x02227, char = '∧', class = 'bin', cs = 'wedge' } -- logical and + , { code = 0x02228, char = '∨', class = 'bin', cs = 'vee' } -- logical or + , { code = 0x02229, char = '∩', class = 'bin', cs = 'cap' } -- intersection + , { code = 0x0222A, char = '∪', class = 'bin', cs = 'cup' } -- union + , { code = 0x0222B, char = '∫', class = 'op', cs = 'intop' } -- integral + , { code = 0x0222C, char = '∬', class = 'op', cs = 'iintop' } -- double integral + , { code = 0x0222D, char = '∭', class = 'op', cs = 'iiintop' } -- triple integral + , { code = 0x0222E, char = '∮', class = 'op', cs = 'ointop' } -- contour integral + , { code = 0x0222F, char = '∯', class = 'op', cs = 'oiintop' } -- surface integral + , { code = 0x02230, char = '∰', class = 'op', cs = 'oiiintop' } -- volume integral + , { code = 0x02231, char = '∱', class = 'op', cs = 'intclockwiseop' } -- clockwise integral + , { code = 0x02232, char = '∲', class = 'op', cs = 'varointclockwiseop' } -- clockwise contour integral + , { code = 0x02233, char = '∳', class = 'op', cs = 'ointctrclockwiseop' } -- anticlockwise contour integral + , { code = 0x02234, char = '∴', class = 'ord', cs = 'therefore' } -- therefore + , { code = 0x02235, char = '∵', class = 'ord', cs = 'because' } -- because + , { code = 0x02236, char = '∶', class = 'rel', cs = 'ratio' } -- ratio + , { code = 0x02237, char = '∷', class = 'rel', cs = 'Colon' } -- proportion + , { code = 0x02238, char = '∸', class = 'bin', cs = 'dotminus' } -- dot minus + , { code = 0x02239, char = '∹', class = 'rel', cs = 'dashcolon' } -- excess + , { code = 0x0223A, char = '∺', class = 'rel', cs = 'dotsminusdots' } -- geometric proportion + , { code = 0x0223B, char = '∻', class = 'rel', cs = 'kernelcontraction' } -- homothetic + , { code = 0x0223C, char = '∼', class = 'rel', cs = 'sim' } -- tilde operator + , { code = 0x0223D, char = '∽', class = 'rel', cs = 'backsim' } -- reversed tilde + , { code = 0x0223E, char = '∾', class = 'bin', cs = 'invlazys' } -- inverted lazy s + , { code = 0x0223F, char = '∿', class = 'ord', cs = 'sinewave' } -- sine wave + , { code = 0x02240, char = '≀', class = 'bin', cs = 'wr' } -- wreath product + , { code = 0x02241, char = '≁', class = 'rel', cs = 'nsim' } -- not tilde + , { code = 0x02242, char = '≂', class = 'rel', cs = 'eqsim' } -- minus tilde + , { code = 0x02243, char = '≃', class = 'rel', cs = 'simeq' } -- asymptotically equal to + , { code = 0x02244, char = '≄', class = 'rel', cs = 'nsimeq' } -- not asymptotically equal to + , { code = 0x02245, char = '≅', class = 'rel', cs = 'cong' } -- approximately equal to + , { code = 0x02246, char = '≆', class = 'rel', cs = 'simneqq' } -- approximately but not actually equal to + , { code = 0x02247, char = '≇', class = 'rel', cs = 'ncong' } -- neither approximately nor actually equal to + , { code = 0x02248, char = '≈', class = 'rel', cs = 'approx' } -- almost equal to + , { code = 0x02249, char = '≉', class = 'rel', cs = 'napprox' } -- not almost equal to + , { code = 0x0224A, char = '≊', class = 'rel', cs = 'approxeq' } -- almost equal or equal to + , { code = 0x0224B, char = '≋', class = 'rel', cs = 'approxident' } -- triple tilde + , { code = 0x0224C, char = '≌', class = 'rel', cs = 'backcong' } -- all equal to + , { code = 0x0224D, char = '≍', class = 'rel', cs = 'asymp' } -- equivalent to + , { code = 0x0224E, char = '≎', class = 'rel', cs = 'Bumpeq' } -- geometrically equivalent to + , { code = 0x0224F, char = '≏', class = 'rel', cs = 'bumpeq' } -- difference between + , { code = 0x02250, char = '≐', class = 'rel', cs = 'doteq' } -- approaches the limit + , { code = 0x02251, char = '≑', class = 'rel', cs = 'Doteq' } -- geometrically equal to + , { code = 0x02252, char = '≒', class = 'rel', cs = 'fallingdotseq' } -- approximately equal to or the image of + , { code = 0x02253, char = '≓', class = 'rel', cs = 'risingdotseq' } -- image of or approximately equal to + , { code = 0x02254, char = '≔', class = 'rel', cs = 'coloneq' } -- colon equals + , { code = 0x02255, char = '≕', class = 'rel', cs = 'eqcolon' } -- equals colon + , { code = 0x02256, char = '≖', class = 'rel', cs = 'eqcirc' } -- ring in equal to + , { code = 0x02257, char = '≗', class = 'rel', cs = 'circeq' } -- ring equal to + , { code = 0x02258, char = '≘', class = 'rel', cs = 'arceq' } -- corresponds to + , { code = 0x02259, char = '≙', class = 'rel', cs = 'wedgeq' } -- estimates + , { code = 0x0225A, char = '≚', class = 'rel', cs = 'veeeq' } -- equiangular to + , { code = 0x0225B, char = '≛', class = 'rel', cs = 'stareq' } -- star equals + , { code = 0x0225C, char = '≜', class = 'rel', cs = 'triangleq' } -- delta equal to + , { code = 0x0225D, char = '≝', class = 'rel', cs = 'eqdef' } -- equal to by definition + , { code = 0x0225E, char = '≞', class = 'rel', cs = 'measeq' } -- measured by + , { code = 0x0225F, char = '≟', class = 'rel', cs = 'questeq' } -- questioned equal to + , { code = 0x02260, char = '≠', class = 'rel', cs = 'ne' } -- not equal to + , { code = 0x02261, char = '≡', class = 'rel', cs = 'equiv' } -- identical to + , { code = 0x02262, char = '≢', class = 'rel', cs = 'nequiv' } -- not identical to + , { code = 0x02263, char = '≣', class = 'rel', cs = 'Equiv' } -- strictly equivalent to + , { code = 0x02264, char = '≤', class = 'rel', cs = 'leq' } -- less-than or equal to + , { code = 0x02265, char = '≥', class = 'rel', cs = 'geq' } -- greater-than or equal to + , { code = 0x02266, char = '≦', class = 'rel', cs = 'leqq' } -- less-than over equal to + , { code = 0x02267, char = '≧', class = 'rel', cs = 'geqq' } -- greater-than over equal to + , { code = 0x02268, char = '≨', class = 'rel', cs = 'lneqq' } -- less-than but not equal to + , { code = 0x02269, char = '≩', class = 'rel', cs = 'gneqq' } -- greater-than but not equal to + , { code = 0x0226A, char = '≪', class = 'rel', cs = 'll' } -- much less-than + , { code = 0x0226B, char = '≫', class = 'rel', cs = 'gg' } -- much greater-than + , { code = 0x0226C, char = '≬', class = 'rel', cs = 'between' } -- between + , { code = 0x0226D, char = '≭', class = 'rel', cs = 'nasymp' } -- not equivalent to + , { code = 0x0226E, char = '≮', class = 'rel', cs = 'nless' } -- not less-than + , { code = 0x0226F, char = '≯', class = 'rel', cs = 'ngtr' } -- not greater-than + , { code = 0x02270, char = '≰', class = 'rel', cs = 'nleq' } -- neither less-than nor equal to + , { code = 0x02271, char = '≱', class = 'rel', cs = 'ngeq' } -- neither greater-than nor equal to + , { code = 0x02272, char = '≲', class = 'rel', cs = 'lesssim' } -- less-than or equivalent to + , { code = 0x02273, char = '≳', class = 'rel', cs = 'gtrsim' } -- greater-than or equivalent to + , { code = 0x02274, char = '≴', class = 'rel', cs = 'nlesssim' } -- neither less-than nor equivalent to + , { code = 0x02275, char = '≵', class = 'rel', cs = 'ngtrsim' } -- neither greater-than nor equivalent to + , { code = 0x02276, char = '≶', class = 'rel', cs = 'lessgtr' } -- less-than or greater-than + , { code = 0x02277, char = '≷', class = 'rel', cs = 'gtrless' } -- greater-than or less-than + , { code = 0x02278, char = '≸', class = 'rel', cs = 'nlessgtr' } -- neither less-than nor greater-than + , { code = 0x02279, char = '≹', class = 'rel', cs = 'ngtrless' } -- neither greater-than nor less-than + , { code = 0x0227A, char = '≺', class = 'rel', cs = 'prec' } -- precedes + , { code = 0x0227B, char = '≻', class = 'rel', cs = 'succ' } -- succeeds + , { code = 0x0227C, char = '≼', class = 'rel', cs = 'preccurlyeq' } -- precedes or equal to + , { code = 0x0227D, char = '≽', class = 'rel', cs = 'succcurlyeq' } -- succeeds or equal to + , { code = 0x0227E, char = '≾', class = 'rel', cs = 'precsim' } -- precedes or equivalent to + , { code = 0x0227F, char = '≿', class = 'rel', cs = 'succsim' } -- succeeds or equivalent to + , { code = 0x02280, char = '⊀', class = 'rel', cs = 'nprec' } -- does not precede + , { code = 0x02281, char = '⊁', class = 'rel', cs = 'nsucc' } -- does not succeed + , { code = 0x02282, char = '⊂', class = 'rel', cs = 'subset' } -- subset of + , { code = 0x02283, char = '⊃', class = 'rel', cs = 'supset' } -- superset of + , { code = 0x02284, char = '⊄', class = 'rel', cs = 'nsubset' } -- not a subset of + , { code = 0x02285, char = '⊅', class = 'rel', cs = 'nsupset' } -- not a superset of + , { code = 0x02286, char = '⊆', class = 'rel', cs = 'subseteq' } -- subset of or equal to + , { code = 0x02287, char = '⊇', class = 'rel', cs = 'supseteq' } -- superset of or equal to + , { code = 0x02288, char = '⊈', class = 'rel', cs = 'nsubseteq' } -- neither a subset of nor equal to + , { code = 0x02289, char = '⊉', class = 'rel', cs = 'nsupseteq' } -- neither a superset of nor equal to + , { code = 0x0228A, char = '⊊', class = 'rel', cs = 'subsetneq' } -- subset of with not equal to + , { code = 0x0228B, char = '⊋', class = 'rel', cs = 'supsetneq' } -- superset of with not equal to + , { code = 0x0228C, char = '⊌', class = 'bin', cs = 'cupleftarrow' } -- multiset + , { code = 0x0228D, char = '⊍', class = 'bin', cs = 'cupdot' } -- multiset multiplication + , { code = 0x0228E, char = '⊎', class = 'bin', cs = 'uplus' } -- multiset union + , { code = 0x0228F, char = '⊏', class = 'rel', cs = 'sqsubset' } -- square image of + , { code = 0x02290, char = '⊐', class = 'rel', cs = 'sqsupset' } -- square original of + , { code = 0x02291, char = '⊑', class = 'rel', cs = 'sqsubseteq' } -- square image of or equal to + , { code = 0x02292, char = '⊒', class = 'rel', cs = 'sqsupseteq' } -- square original of or equal to + , { code = 0x02293, char = '⊓', class = 'bin', cs = 'sqcap' } -- square cap + , { code = 0x02294, char = '⊔', class = 'bin', cs = 'sqcup' } -- square cup + , { code = 0x02295, char = '⊕', class = 'bin', cs = 'oplus' } -- circled plus + , { code = 0x02296, char = '⊖', class = 'bin', cs = 'ominus' } -- circled minus + , { code = 0x02297, char = '⊗', class = 'bin', cs = 'otimes' } -- circled times + , { code = 0x02298, char = '⊘', class = 'bin', cs = 'oslash' } -- circled division slash + , { code = 0x02299, char = '⊙', class = 'bin', cs = 'odot' } -- circled dot operator + , { code = 0x0229A, char = '⊚', class = 'bin', cs = 'circledcirc' } -- circled ring operator + , { code = 0x0229B, char = '⊛', class = 'bin', cs = 'circledast' } -- circled asterisk operator + , { code = 0x0229C, char = '⊜', class = 'bin', cs = 'circledequal' } -- circled equals + , { code = 0x0229D, char = '⊝', class = 'bin', cs = 'circleddash' } -- circled dash + , { code = 0x0229E, char = '⊞', class = 'bin', cs = 'boxplus' } -- squared plus + , { code = 0x0229F, char = '⊟', class = 'bin', cs = 'boxminus' } -- squared minus + , { code = 0x022A0, char = '⊠', class = 'bin', cs = 'boxtimes' } -- squared times + , { code = 0x022A1, char = '⊡', class = 'bin', cs = 'boxdot' } -- squared dot operator + , { code = 0x022A2, char = '⊢', class = 'rel', cs = 'vdash' } -- right tack + , { code = 0x022A3, char = '⊣', class = 'rel', cs = 'dashv' } -- left tack + , { code = 0x022A4, char = '⊤', class = 'ord', cs = 'top' } -- down tack + , { code = 0x022A5, char = '⊥', class = 'ord', cs = 'bot' } -- up tack + , { code = 0x022A6, char = '⊦', class = 'rel', cs = 'assert' } -- assertion + , { code = 0x022A7, char = '⊧', class = 'rel', cs = 'models' } -- models + , { code = 0x022A8, char = '⊨', class = 'rel', cs = 'vDash' } -- true + , { code = 0x022A9, char = '⊩', class = 'rel', cs = 'Vdash' } -- forces + , { code = 0x022AA, char = '⊪', class = 'rel', cs = 'Vvdash' } -- triple vertical bar right turnstile + , { code = 0x022AB, char = '⊫', class = 'rel', cs = 'VDash' } -- double vertical bar double right turnstile + , { code = 0x022AC, char = '⊬', class = 'rel', cs = 'nvdash' } -- does not prove + , { code = 0x022AD, char = '⊭', class = 'rel', cs = 'nvDash' } -- not true + , { code = 0x022AE, char = '⊮', class = 'rel', cs = 'nVdash' } -- does not force + , { code = 0x022AF, char = '⊯', class = 'rel', cs = 'nVDash' } -- negated double vertical bar double right turnstile + , { code = 0x022B0, char = '⊰', class = 'rel', cs = 'prurel' } -- precedes under relation + , { code = 0x022B1, char = '⊱', class = 'rel', cs = 'scurel' } -- succeeds under relation + , { code = 0x022B2, char = '⊲', class = 'rel', cs = 'vartriangleleft' } -- normal subgroup of + , { code = 0x022B3, char = '⊳', class = 'rel', cs = 'vartriangleright' } -- contains as normal subgroup + , { code = 0x022B4, char = '⊴', class = 'rel', cs = 'trianglelefteq' } -- normal subgroup of or equal to + , { code = 0x022B5, char = '⊵', class = 'rel', cs = 'trianglerighteq' } -- contains as normal subgroup or equal to + , { code = 0x022B6, char = '⊶', class = 'rel', cs = 'origof' } -- original of + , { code = 0x022B7, char = '⊷', class = 'rel', cs = 'imageof' } -- image of + , { code = 0x022B8, char = '⊸', class = 'rel', cs = 'multimap' } -- multimap + , { code = 0x022B9, char = '⊹', class = 'ord', cs = 'hermitmatrix' } -- hermitian conjugate matrix + , { code = 0x022BA, char = '⊺', class = 'bin', cs = 'intercal' } -- intercalate + , { code = 0x022BB, char = '⊻', class = 'bin', cs = 'veebar' } -- xor + , { code = 0x022BC, char = '⊼', class = 'bin', cs = 'barwedge' } -- nand + , { code = 0x022BD, char = '⊽', class = 'bin', cs = 'barvee' } -- nor + , { code = 0x022BE, char = '⊾', class = 'ord', cs = 'measuredrightangle' } -- right angle with arc + , { code = 0x022BF, char = '⊿', class = 'ord', cs = 'varlrtriangle' } -- right triangle + , { code = 0x022C0, char = '⋀', class = 'op', cs = 'bigwedge' } -- n-ary logical and + , { code = 0x022C1, char = '⋁', class = 'op', cs = 'bigvee' } -- n-ary logical or + , { code = 0x022C2, char = '⋂', class = 'op', cs = 'bigcap' } -- n-ary intersection + , { code = 0x022C3, char = '⋃', class = 'op', cs = 'bigcup' } -- n-ary union + , { code = 0x022C4, char = '⋄', class = 'bin', cs = 'smwhtdiamond' } -- diamond operator + , { code = 0x022C5, char = '⋅', class = 'bin', cs = 'cdot' } -- dot operator + , { code = 0x022C6, char = '⋆', class = 'bin', cs = 'star' } -- star operator + , { code = 0x022C7, char = '⋇', class = 'bin', cs = 'divideontimes' } -- division times + , { code = 0x022C8, char = '⋈', class = 'rel', cs = 'bowtie' } -- bowtie + , { code = 0x022C9, char = '⋉', class = 'bin', cs = 'ltimes' } -- left normal factor semidirect product + , { code = 0x022CA, char = '⋊', class = 'bin', cs = 'rtimes' } -- right normal factor semidirect product + , { code = 0x022CB, char = '⋋', class = 'bin', cs = 'leftthreetimes' } -- left semidirect product + , { code = 0x022CC, char = '⋌', class = 'bin', cs = 'rightthreetimes' } -- right semidirect product + , { code = 0x022CD, char = '⋍', class = 'rel', cs = 'backsimeq' } -- reversed tilde equals + , { code = 0x022CE, char = '⋎', class = 'bin', cs = 'curlyvee' } -- curly logical or + , { code = 0x022CF, char = '⋏', class = 'bin', cs = 'curlywedge' } -- curly logical and + , { code = 0x022D0, char = '⋐', class = 'rel', cs = 'Subset' } -- double subset + , { code = 0x022D1, char = '⋑', class = 'rel', cs = 'Supset' } -- double superset + , { code = 0x022D2, char = '⋒', class = 'bin', cs = 'Cap' } -- double intersection + , { code = 0x022D3, char = '⋓', class = 'bin', cs = 'Cup' } -- double union + , { code = 0x022D4, char = '⋔', class = 'rel', cs = 'pitchfork' } -- pitchfork + , { code = 0x022D5, char = '⋕', class = 'rel', cs = 'equalparallel' } -- equal and parallel to + , { code = 0x022D6, char = '⋖', class = 'rel', cs = 'lessdot' } -- less-than with dot + , { code = 0x022D7, char = '⋗', class = 'rel', cs = 'gtrdot' } -- greater-than with dot + , { code = 0x022D8, char = '⋘', class = 'rel', cs = 'lll' } -- very much less-than + , { code = 0x022D9, char = '⋙', class = 'rel', cs = 'ggg' } -- very much greater-than + , { code = 0x022DA, char = '⋚', class = 'rel', cs = 'lesseqgtr' } -- less-than equal to or greater-than + , { code = 0x022DB, char = '⋛', class = 'rel', cs = 'gtreqless' } -- greater-than equal to or less-than + , { code = 0x022DC, char = '⋜', class = 'rel', cs = 'eqless' } -- equal to or less-than + , { code = 0x022DD, char = '⋝', class = 'rel', cs = 'eqgtr' } -- equal to or greater-than + , { code = 0x022DE, char = '⋞', class = 'rel', cs = 'curlyeqprec' } -- equal to or precedes + , { code = 0x022DF, char = '⋟', class = 'rel', cs = 'curlyeqsucc' } -- equal to or succeeds + , { code = 0x022E0, char = '⋠', class = 'rel', cs = 'npreccurlyeq' } -- does not precede or equal + , { code = 0x022E1, char = '⋡', class = 'rel', cs = 'nsucccurlyeq' } -- does not succeed or equal + , { code = 0x022E2, char = '⋢', class = 'rel', cs = 'nsqsubseteq' } -- not square image of or equal to + , { code = 0x022E3, char = '⋣', class = 'rel', cs = 'nsqsupseteq' } -- not square original of or equal to + , { code = 0x022E4, char = '⋤', class = 'rel', cs = 'sqsubsetneq' } -- square image of or not equal to + , { code = 0x022E5, char = '⋥', class = 'rel', cs = 'sqsupsetneq' } -- square original of or not equal to + , { code = 0x022E6, char = '⋦', class = 'rel', cs = 'lnsim' } -- less-than but not equivalent to + , { code = 0x022E7, char = '⋧', class = 'rel', cs = 'gnsim' } -- greater-than but not equivalent to + , { code = 0x022E8, char = '⋨', class = 'rel', cs = 'precnsim' } -- precedes but not equivalent to + , { code = 0x022E9, char = '⋩', class = 'rel', cs = 'succnsim' } -- succeeds but not equivalent to + , { code = 0x022EA, char = '⋪', class = 'rel', cs = 'nvartriangleleft' } -- not normal subgroup of + , { code = 0x022EB, char = '⋫', class = 'rel', cs = 'nvartriangleright' } -- does not contain as normal subgroup + , { code = 0x022EC, char = '⋬', class = 'rel', cs = 'ntrianglelefteq' } -- not normal subgroup of or equal to + , { code = 0x022ED, char = '⋭', class = 'rel', cs = 'ntrianglerighteq' } -- does not contain as normal subgroup or equal + , { code = 0x022EE, char = '⋮', class = 'rel', cs = 'unicodevdots' } -- vertical ellipsis + , { code = 0x022EF, char = '⋯', class = 'ord', cs = 'unicodecdots' } -- midline horizontal ellipsis + , { code = 0x022F0, char = '⋰', class = 'rel', cs = 'unicodeadots' } -- up right diagonal ellipsis + , { code = 0x022F1, char = '⋱', class = 'rel', cs = 'unicodeddots' } -- down right diagonal ellipsis + , { code = 0x022F2, char = '⋲', class = 'rel', cs = 'disin' } -- element of with long horizontal stroke + , { code = 0x022F3, char = '⋳', class = 'rel', cs = 'varisins' } -- element of with vertical bar at end of horizontal stroke + , { code = 0x022F4, char = '⋴', class = 'rel', cs = 'isins' } -- small element of with vertical bar at end of horizontal stroke + , { code = 0x022F5, char = '⋵', class = 'rel', cs = 'isindot' } -- element of with dot above + , { code = 0x022F6, char = '⋶', class = 'rel', cs = 'varisinobar' } -- element of with overbar + , { code = 0x022F7, char = '⋷', class = 'rel', cs = 'isinobar' } -- small element of with overbar + , { code = 0x022F8, char = '⋸', class = 'rel', cs = 'isinvb' } -- element of with underbar + , { code = 0x022F9, char = '⋹', class = 'rel', cs = 'isinE' } -- element of with two horizontal strokes + , { code = 0x022FA, char = '⋺', class = 'rel', cs = 'nisd' } -- contains with long horizontal stroke + , { code = 0x022FB, char = '⋻', class = 'rel', cs = 'varnis' } -- contains with vertical bar at end of horizontal stroke + , { code = 0x022FC, char = '⋼', class = 'rel', cs = 'nis' } -- small contains with vertical bar at end of horizontal stroke + , { code = 0x022FD, char = '⋽', class = 'rel', cs = 'varniobar' } -- contains with overbar + , { code = 0x022FE, char = '⋾', class = 'rel', cs = 'niobar' } -- small contains with overbar + , { code = 0x022FF, char = '⋿', class = 'rel', cs = 'bagmember' } -- z notation bag membership + , { code = 0x02300, char = '⌀', class = 'ord', cs = 'diameter' } -- diameter sign + , { code = 0x02302, char = '⌂', class = 'ord', cs = 'house' } -- house + , { code = 0x02305, char = '⌅', class = 'bin', cs = 'varbarwedge' } -- projective + , { code = 0x02306, char = '⌆', class = 'bin', cs = 'vardoublebarwedge' } -- perspective + , { code = 0x02308, char = '⌈', class = 'open', cs = 'lceil' } -- left ceiling + , { code = 0x02309, char = '⌉', class = 'close', cs = 'rceil' } -- right ceiling + , { code = 0x0230A, char = '⌊', class = 'open', cs = 'lfloor' } -- left floor + , { code = 0x0230B, char = '⌋', class = 'close', cs = 'rfloor' } -- right floor + , { code = 0x02310, char = '⌐', class = 'ord', cs = 'invnot' } -- reversed not sign + , { code = 0x02311, char = '⌑', class = 'ord', cs = 'sqlozenge' } -- square lozenge + , { code = 0x02312, char = '⌒', class = 'ord', cs = 'profline' } -- arc + , { code = 0x02313, char = '⌓', class = 'ord', cs = 'profsurf' } -- segment + , { code = 0x02317, char = '⌗', class = 'ord', cs = 'viewdata' } -- viewdata square + , { code = 0x02319, char = '⌙', class = 'ord', cs = 'turnednot' } -- turned not sign + , { code = 0x0231C, char = '⌜', class = 'open', cs = 'ulcorner' } -- top left corner + , { code = 0x0231D, char = '⌝', class = 'close', cs = 'urcorner' } -- top right corner + , { code = 0x0231E, char = '⌞', class = 'open', cs = 'llcorner' } -- bottom left corner + , { code = 0x0231F, char = '⌟', class = 'close', cs = 'lrcorner' } -- bottom right corner + , { code = 0x02320, char = '⌠', class = 'ord', cs = 'inttop' } -- top half integral + , { code = 0x02321, char = '⌡', class = 'ord', cs = 'intbottom' } -- bottom half integral + , { code = 0x02322, char = '⌢', class = 'rel', cs = 'frown' } -- frown + , { code = 0x02323, char = '⌣', class = 'rel', cs = 'smile' } -- smile + , { code = 0x0232C, char = '⌬', class = 'ord', cs = 'varhexagonlrbonds' } -- benzene ring + , { code = 0x02332, char = '⌲', class = 'ord', cs = 'conictaper' } -- conical taper + , { code = 0x02336, char = '⌶', class = 'ord', cs = 'topbot' } -- apl functional symbol i-beam + , { code = 0x0233D, char = '⌽', class = 'bin', cs = 'obar' } -- apl functional symbol circle stile + , { code = 0x0233F, char = '⌿', class = 'rel', cs = 'APLnotslash' } -- apl functional symbol slash bar + , { code = 0x02340, char = '⍀', class = 'ord', cs = 'APLnotbackslash' } -- apl functional symbol backslash bar + , { code = 0x02353, char = '⍓', class = 'ord', cs = 'APLboxupcaret' } -- apl functional symbol quad up caret + , { code = 0x02370, char = '⍰', class = 'ord', cs = 'APLboxquestion' } -- apl functional symbol quad question + , { code = 0x0237C, char = '⍼', class = 'ord', cs = 'rangledownzigzagarrow' } -- right angle with downwards zigzag arrow + , { code = 0x02394, char = '⎔', class = 'ord', cs = 'hexagon' } -- software-function symbol + , { code = 0x0239B, char = '⎛', class = 'ord', cs = 'lparenuend' } -- left parenthesis upper hook + , { code = 0x0239C, char = '⎜', class = 'ord', cs = 'lparenextender' } -- left parenthesis extension + , { code = 0x0239D, char = '⎝', class = 'ord', cs = 'lparenlend' } -- left parenthesis lower hook + , { code = 0x0239E, char = '⎞', class = 'ord', cs = 'rparenuend' } -- right parenthesis upper hook + , { code = 0x0239F, char = '⎟', class = 'ord', cs = 'rparenextender' } -- right parenthesis extension + , { code = 0x023A0, char = '⎠', class = 'ord', cs = 'rparenlend' } -- right parenthesis lower hook + , { code = 0x023A1, char = '⎡', class = 'ord', cs = 'lbrackuend' } -- left square bracket upper corner + , { code = 0x023A2, char = '⎢', class = 'ord', cs = 'lbrackextender' } -- left square bracket extension + , { code = 0x023A3, char = '⎣', class = 'ord', cs = 'lbracklend' } -- left square bracket lower corner + , { code = 0x023A4, char = '⎤', class = 'ord', cs = 'rbrackuend' } -- right square bracket upper corner + , { code = 0x023A5, char = '⎥', class = 'ord', cs = 'rbrackextender' } -- right square bracket extension + , { code = 0x023A6, char = '⎦', class = 'ord', cs = 'rbracklend' } -- right square bracket lower corner + , { code = 0x023A7, char = '⎧', class = 'ord', cs = 'lbraceuend' } -- left curly bracket upper hook + , { code = 0x023A8, char = '⎨', class = 'ord', cs = 'lbracemid' } -- left curly bracket middle piece + , { code = 0x023A9, char = '⎩', class = 'ord', cs = 'lbracelend' } -- left curly bracket lower hook + , { code = 0x023AA, char = '⎪', class = 'ord', cs = 'vbraceextender' } -- curly bracket extension + , { code = 0x023AB, char = '⎫', class = 'ord', cs = 'rbraceuend' } -- right curly bracket upper hook + , { code = 0x023AC, char = '⎬', class = 'ord', cs = 'rbracemid' } -- right curly bracket middle piece + , { code = 0x023AD, char = '⎭', class = 'ord', cs = 'rbracelend' } -- right curly bracket lower hook + , { code = 0x023AE, char = '⎮', class = 'ord', cs = 'intextender' } -- integral extension + , { code = 0x023AF, char = '⎯', class = 'ord', cs = 'harrowextender' } -- horizontal line extension + , { code = 0x023B0, char = '⎰', class = 'open', cs = 'lmoustache' } -- upper left or lower right curly bracket section + , { code = 0x023B1, char = '⎱', class = 'close', cs = 'rmoustache' } -- upper right or lower left curly bracket section + , { code = 0x023B2, char = '⎲', class = 'ord', cs = 'sumtop' } -- summation top + , { code = 0x023B3, char = '⎳', class = 'ord', cs = 'sumbottom' } -- summation bottom + , { code = 0x023B4, char = '⎴', class = 'over', cs = 'overbracket' } -- top square bracket + , { code = 0x023B5, char = '⎵', class = 'under', cs = 'underbracket' } -- bottom square bracket + , { code = 0x023B6, char = '⎶', class = 'ord', cs = 'bbrktbrk' } -- bottom square bracket over top square bracket + , { code = 0x023B7, char = '⎷', class = 'ord', cs = 'sqrtbottom' } -- radical symbol bottom + , { code = 0x023B8, char = '⎸', class = 'ord', cs = 'lvboxline' } -- left vertical box line + , { code = 0x023B9, char = '⎹', class = 'ord', cs = 'rvboxline' } -- right vertical box line + , { code = 0x023CE, char = '⏎', class = 'ord', cs = 'varcarriagereturn' } -- return symbol + , { code = 0x023DC, char = '⏜', class = 'over', cs = 'overparen' } -- top parenthesis + , { code = 0x023DD, char = '⏝', class = 'under', cs = 'underparen' } -- bottom parenthesis + , { code = 0x023DE, char = '⏞', class = 'over', cs = 'overbrace' } -- top curly bracket + , { code = 0x023DF, char = '⏟', class = 'under', cs = 'underbrace' } -- bottom curly bracket + , { code = 0x023E0, char = '⏠', class = 'ord', cs = 'obrbrak' } -- top tortoise shell bracket + , { code = 0x023E1, char = '⏡', class = 'ord', cs = 'ubrbrak' } -- bottom tortoise shell bracket + , { code = 0x023E2, char = '⏢', class = 'ord', cs = 'trapezium' } -- white trapezium + , { code = 0x023E3, char = '⏣', class = 'ord', cs = 'benzenr' } -- benzene ring with circle + , { code = 0x023E4, char = '⏤', class = 'ord', cs = 'strns' } -- straightness + , { code = 0x023E5, char = '⏥', class = 'ord', cs = 'fltns' } -- flatness + , { code = 0x023E6, char = '⏦', class = 'ord', cs = 'accurrent' } -- ac current + , { code = 0x023E7, char = '⏧', class = 'ord', cs = 'elinters' } -- electrical intersection + , { code = 0x02422, char = '␢', class = 'ord', cs = 'blanksymbol' } -- blank symbol + , { code = 0x02423, char = '␣', class = 'ord', cs = 'mathvisiblespace' } -- open box + , { code = 0x02506, char = '┆', class = 'ord', cs = 'bdtriplevdash' } -- box drawings light triple dash vertical + , { code = 0x02580, char = '▀', class = 'ord', cs = 'blockuphalf' } -- upper half block + , { code = 0x02584, char = '▄', class = 'ord', cs = 'blocklowhalf' } -- lower half block + , { code = 0x02588, char = '█', class = 'ord', cs = 'blockfull' } -- full block + , { code = 0x0258C, char = '▌', class = 'ord', cs = 'blocklefthalf' } -- left half block + , { code = 0x02590, char = '▐', class = 'ord', cs = 'blockrighthalf' } -- right half block + , { code = 0x02591, char = '░', class = 'ord', cs = 'blockqtrshaded' } -- light shade + , { code = 0x02592, char = '▒', class = 'ord', cs = 'blockhalfshaded' } -- medium shade + , { code = 0x02593, char = '▓', class = 'ord', cs = 'blockthreeqtrshaded' } -- dark shade + , { code = 0x025A0, char = '■', class = 'ord', cs = 'mdlgblksquare' } -- black square + , { code = 0x025A1, char = '□', class = 'ord', cs = 'mdlgwhtsquare' } -- white square + , { code = 0x025A2, char = '▢', class = 'ord', cs = 'squoval' } -- white square with rounded corners + , { code = 0x025A3, char = '▣', class = 'ord', cs = 'blackinwhitesquare' } -- white square containing black small square + , { code = 0x025A4, char = '▤', class = 'ord', cs = 'squarehfill' } -- square with horizontal fill + , { code = 0x025A5, char = '▥', class = 'ord', cs = 'squarevfill' } -- square with vertical fill + , { code = 0x025A6, char = '▦', class = 'ord', cs = 'squarehvfill' } -- square with orthogonal crosshatch fill + , { code = 0x025A7, char = '▧', class = 'ord', cs = 'squarenwsefill' } -- square with upper left to lower right fill + , { code = 0x025A8, char = '▨', class = 'ord', cs = 'squareneswfill' } -- square with upper right to lower left fill + , { code = 0x025A9, char = '▩', class = 'ord', cs = 'squarecrossfill' } -- square with diagonal crosshatch fill + , { code = 0x025AA, char = '▪', class = 'ord', cs = 'smblksquare' } -- black small square + , { code = 0x025AB, char = '▫', class = 'ord', cs = 'smwhtsquare' } -- white small square + , { code = 0x025AC, char = '▬', class = 'ord', cs = 'hrectangleblack' } -- black rectangle + , { code = 0x025AD, char = '▭', class = 'ord', cs = 'hrectangle' } -- white rectangle + , { code = 0x025AE, char = '▮', class = 'ord', cs = 'vrectangleblack' } -- black vertical rectangle + , { code = 0x025AF, char = '▯', class = 'ord', cs = 'vrectangle' } -- white vertical rectangle + , { code = 0x025B0, char = '▰', class = 'ord', cs = 'parallelogramblack' } -- black parallelogram + , { code = 0x025B1, char = '▱', class = 'ord', cs = 'parallelogram' } -- white parallelogram + , { code = 0x025B2, char = '▲', class = 'ord', cs = 'bigblacktriangleup' } -- black up-pointing triangle + , { code = 0x025B3, char = '△', class = 'bin', cs = 'bigtriangleup' } -- white up-pointing triangle + , { code = 0x025B4, char = '▴', class = 'ord', cs = 'blacktriangle' } -- black up-pointing small triangle + , { code = 0x025B5, char = '▵', class = 'rel', cs = 'vartriangle' } -- white up-pointing small triangle + , { code = 0x025B6, char = '▶', class = 'ord', cs = 'blacktriangleright' } -- black right-pointing triangle + , { code = 0x025B7, char = '▷', class = 'bin', cs = 'triangleright' } -- white right-pointing triangle + , { code = 0x025B8, char = '▸', class = 'ord', cs = 'smallblacktriangleright' } -- black right-pointing small triangle + , { code = 0x025B9, char = '▹', class = 'ord', cs = 'smalltriangleright' } -- white right-pointing small triangle + , { code = 0x025BA, char = '►', class = 'ord', cs = 'blackpointerright' } -- black right-pointing pointer + , { code = 0x025BB, char = '▻', class = 'ord', cs = 'whitepointerright' } -- white right-pointing pointer + , { code = 0x025BC, char = '▼', class = 'ord', cs = 'bigblacktriangledown' } -- black down-pointing triangle + , { code = 0x025BD, char = '▽', class = 'ord', cs = 'bigtriangledown' } -- white down-pointing triangle + , { code = 0x025BE, char = '▾', class = 'ord', cs = 'blacktriangledown' } -- black down-pointing small triangle + , { code = 0x025BF, char = '▿', class = 'ord', cs = 'triangledown' } -- white down-pointing small triangle + , { code = 0x025C0, char = '◀', class = 'ord', cs = 'blacktriangleleft' } -- black left-pointing triangle + , { code = 0x025C1, char = '◁', class = 'bin', cs = 'triangleleft' } -- white left-pointing triangle + , { code = 0x025C2, char = '◂', class = 'ord', cs = 'smallblacktriangleleft' } -- black left-pointing small triangle + , { code = 0x025C3, char = '◃', class = 'ord', cs = 'smalltriangleleft' } -- white left-pointing small triangle + , { code = 0x025C4, char = '◄', class = 'ord', cs = 'blackpointerleft' } -- black left-pointing pointer + , { code = 0x025C5, char = '◅', class = 'ord', cs = 'whitepointerleft' } -- white left-pointing pointer + , { code = 0x025C6, char = '◆', class = 'ord', cs = 'mdlgblkdiamond' } -- black diamond + , { code = 0x025C7, char = '◇', class = 'ord', cs = 'mdlgwhtdiamond' } -- white diamond + , { code = 0x025C8, char = '◈', class = 'ord', cs = 'blackinwhitediamond' } -- white diamond containing black small diamond + , { code = 0x025C9, char = '◉', class = 'ord', cs = 'fisheye' } -- fisheye + , { code = 0x025CA, char = '◊', class = 'ord', cs = 'mdlgwhtlozenge' } -- lozenge + , { code = 0x025CB, char = '○', class = 'bin', cs = 'mdlgwhtcircle' } -- white circle + , { code = 0x025CC, char = '◌', class = 'ord', cs = 'dottedcircle' } -- dotted circle + , { code = 0x025CD, char = '◍', class = 'ord', cs = 'circlevertfill' } -- circle with vertical fill + , { code = 0x025CE, char = '◎', class = 'ord', cs = 'bullseye' } -- bullseye + , { code = 0x025CF, char = '●', class = 'ord', cs = 'mdlgblkcircle' } -- black circle + , { code = 0x025D0, char = '◐', class = 'ord', cs = 'circlelefthalfblack' } -- circle with left half black + , { code = 0x025D1, char = '◑', class = 'ord', cs = 'circlerighthalfblack' } -- circle with right half black + , { code = 0x025D2, char = '◒', class = 'ord', cs = 'circlebottomhalfblack' } -- circle with lower half black + , { code = 0x025D3, char = '◓', class = 'ord', cs = 'circletophalfblack' } -- circle with upper half black + , { code = 0x025D4, char = '◔', class = 'ord', cs = 'circleurquadblack' } -- circle with upper right quadrant black + , { code = 0x025D5, char = '◕', class = 'ord', cs = 'blackcircleulquadwhite' } -- circle with all but upper left quadrant black + , { code = 0x025D6, char = '◖', class = 'ord', cs = 'blacklefthalfcircle' } -- left half black circle + , { code = 0x025D7, char = '◗', class = 'ord', cs = 'blackrighthalfcircle' } -- right half black circle + , { code = 0x025D8, char = '◘', class = 'ord', cs = 'inversebullet' } -- inverse bullet + , { code = 0x025D9, char = '◙', class = 'ord', cs = 'inversewhitecircle' } -- inverse white circle + , { code = 0x025DA, char = '◚', class = 'ord', cs = 'invwhiteupperhalfcircle' } -- upper half inverse white circle + , { code = 0x025DB, char = '◛', class = 'ord', cs = 'invwhitelowerhalfcircle' } -- lower half inverse white circle + , { code = 0x025DC, char = '◜', class = 'ord', cs = 'ularc' } -- upper left quadrant circular arc + , { code = 0x025DD, char = '◝', class = 'ord', cs = 'urarc' } -- upper right quadrant circular arc + , { code = 0x025DE, char = '◞', class = 'ord', cs = 'lrarc' } -- lower right quadrant circular arc + , { code = 0x025DF, char = '◟', class = 'ord', cs = 'llarc' } -- lower left quadrant circular arc + , { code = 0x025E0, char = '◠', class = 'ord', cs = 'topsemicircle' } -- upper half circle + , { code = 0x025E1, char = '◡', class = 'ord', cs = 'botsemicircle' } -- lower half circle + , { code = 0x025E2, char = '◢', class = 'ord', cs = 'lrblacktriangle' } -- black lower right triangle + , { code = 0x025E3, char = '◣', class = 'ord', cs = 'llblacktriangle' } -- black lower left triangle + , { code = 0x025E4, char = '◤', class = 'ord', cs = 'ulblacktriangle' } -- black upper left triangle + , { code = 0x025E5, char = '◥', class = 'ord', cs = 'urblacktriangle' } -- black upper right triangle + , { code = 0x025E6, char = '◦', class = 'ord', cs = 'smwhtcircle' } -- white bullet + , { code = 0x025E7, char = '◧', class = 'ord', cs = 'squareleftblack' } -- square with left half black + , { code = 0x025E8, char = '◨', class = 'ord', cs = 'squarerightblack' } -- square with right half black + , { code = 0x025E9, char = '◩', class = 'ord', cs = 'squareulblack' } -- square with upper left diagonal half black + , { code = 0x025EA, char = '◪', class = 'ord', cs = 'squarelrblack' } -- square with lower right diagonal half black + , { code = 0x025EB, char = '◫', class = 'bin', cs = 'boxbar' } -- white square with vertical bisecting line + , { code = 0x025EC, char = '◬', class = 'ord', cs = 'trianglecdot' } -- white up-pointing triangle with dot + , { code = 0x025ED, char = '◭', class = 'ord', cs = 'triangleleftblack' } -- up-pointing triangle with left half black + , { code = 0x025EE, char = '◮', class = 'ord', cs = 'trianglerightblack' } -- up-pointing triangle with right half black + , { code = 0x025EF, char = '◯', class = 'ord', cs = 'lgwhtcircle' } -- large circle + , { code = 0x025F0, char = '◰', class = 'ord', cs = 'squareulquad' } -- white square with upper left quadrant + , { code = 0x025F1, char = '◱', class = 'ord', cs = 'squarellquad' } -- white square with lower left quadrant + , { code = 0x025F2, char = '◲', class = 'ord', cs = 'squarelrquad' } -- white square with lower right quadrant + , { code = 0x025F3, char = '◳', class = 'ord', cs = 'squareurquad' } -- white square with upper right quadrant + , { code = 0x025F4, char = '◴', class = 'ord', cs = 'circleulquad' } -- white circle with upper left quadrant + , { code = 0x025F5, char = '◵', class = 'ord', cs = 'circlellquad' } -- white circle with lower left quadrant + , { code = 0x025F6, char = '◶', class = 'ord', cs = 'circlelrquad' } -- white circle with lower right quadrant + , { code = 0x025F7, char = '◷', class = 'ord', cs = 'circleurquad' } -- white circle with upper right quadrant + , { code = 0x025F8, char = '◸', class = 'ord', cs = 'ultriangle' } -- upper left triangle + , { code = 0x025F9, char = '◹', class = 'ord', cs = 'urtriangle' } -- upper right triangle + , { code = 0x025FA, char = '◺', class = 'ord', cs = 'lltriangle' } -- lower left triangle + , { code = 0x025FB, char = '◻', class = 'ord', cs = 'mdwhtsquare' } -- white medium square + , { code = 0x025FC, char = '◼', class = 'ord', cs = 'mdblksquare' } -- black medium square + , { code = 0x025FD, char = '◽', class = 'ord', cs = 'mdsmwhtsquare' } -- white medium small square + , { code = 0x025FE, char = '◾', class = 'ord', cs = 'mdsmblksquare' } -- black medium small square + , { code = 0x025FF, char = '◿', class = 'ord', cs = 'lrtriangle' } -- lower right triangle + , { code = 0x02605, char = '★', class = 'ord', cs = 'bigstar' } -- black star + , { code = 0x02606, char = '☆', class = 'ord', cs = 'bigwhitestar' } -- white star + , { code = 0x02609, char = '☉', class = 'ord', cs = 'astrosun' } -- sun + , { code = 0x02621, char = '☡', class = 'ord', cs = 'danger' } -- caution sign + , { code = 0x0263B, char = '☻', class = 'ord', cs = 'blacksmiley' } -- black smiling face + , { code = 0x0263C, char = '☼', class = 'ord', cs = 'sun' } -- white sun with rays + , { code = 0x0263D, char = '☽', class = 'ord', cs = 'rightmoon' } -- first quarter moon + , { code = 0x0263E, char = '☾', class = 'ord', cs = 'leftmoon' } -- last quarter moon + , { code = 0x02640, char = '♀', class = 'ord', cs = 'female' } -- female sign + , { code = 0x02642, char = '♂', class = 'ord', cs = 'male' } -- male sign + , { code = 0x02660, char = '♠', class = 'ord', cs = 'spadesuit' } -- black spade suit + , { code = 0x02661, char = '♡', class = 'ord', cs = 'heartsuit' } -- white heart suit + , { code = 0x02662, char = '♢', class = 'ord', cs = 'diamondsuit' } -- white diamond suit + , { code = 0x02663, char = '♣', class = 'ord', cs = 'clubsuit' } -- black club suit + , { code = 0x02664, char = '♤', class = 'ord', cs = 'varspadesuit' } -- white spade suit + , { code = 0x02665, char = '♥', class = 'ord', cs = 'varheartsuit' } -- black heart suit + , { code = 0x02666, char = '♦', class = 'ord', cs = 'vardiamondsuit' } -- black diamond suit + , { code = 0x02667, char = '♧', class = 'ord', cs = 'varclubsuit' } -- white club suit + , { code = 0x02669, char = '♩', class = 'ord', cs = 'quarternote' } -- quarter note + , { code = 0x0266A, char = '♪', class = 'ord', cs = 'eighthnote' } -- eighth note + , { code = 0x0266B, char = '♫', class = 'ord', cs = 'twonotes' } -- beamed eighth notes + , { code = 0x0266D, char = '♭', class = 'ord', cs = 'flat' } -- music flat sign + , { code = 0x0266E, char = '♮', class = 'ord', cs = 'natural' } -- music natural sign + , { code = 0x0266F, char = '♯', class = 'ord', cs = 'sharp' } -- music sharp sign + , { code = 0x0267E, char = '♾', class = 'ord', cs = 'acidfree' } -- permanent paper sign + , { code = 0x02680, char = '⚀', class = 'ord', cs = 'dicei' } -- die face-1 + , { code = 0x02681, char = '⚁', class = 'ord', cs = 'diceii' } -- die face-2 + , { code = 0x02682, char = '⚂', class = 'ord', cs = 'diceiii' } -- die face-3 + , { code = 0x02683, char = '⚃', class = 'ord', cs = 'diceiv' } -- die face-4 + , { code = 0x02684, char = '⚄', class = 'ord', cs = 'dicev' } -- die face-5 + , { code = 0x02685, char = '⚅', class = 'ord', cs = 'dicevi' } -- die face-6 + , { code = 0x02686, char = '⚆', class = 'ord', cs = 'circledrightdot' } -- white circle with dot right + , { code = 0x02687, char = '⚇', class = 'ord', cs = 'circledtwodots' } -- white circle with two dots + , { code = 0x02688, char = '⚈', class = 'ord', cs = 'blackcircledrightdot' } -- black circle with white dot right + , { code = 0x02689, char = '⚉', class = 'ord', cs = 'blackcircledtwodots' } -- black circle with two white dots + , { code = 0x026A5, char = '⚥', class = 'ord', cs = 'Hermaphrodite' } -- male and female sign + , { code = 0x026AA, char = '⚪', class = 'ord', cs = 'mdwhtcircle' } -- medium white circle + , { code = 0x026AB, char = '⚫', class = 'ord', cs = 'mdblkcircle' } -- medium black circle + , { code = 0x026AC, char = '⚬', class = 'ord', cs = 'mdsmwhtcircle' } -- medium small white circle + , { code = 0x026B2, char = '⚲', class = 'ord', cs = 'neuter' } -- neuter + , { code = 0x02713, char = '✓', class = 'ord', cs = 'checkmark' } -- check mark + , { code = 0x02720, char = '✠', class = 'ord', cs = 'maltese' } -- maltese cross + , { code = 0x0272A, char = '✪', class = 'ord', cs = 'circledstar' } -- circled white star + , { code = 0x02736, char = '✶', class = 'ord', cs = 'varstar' } -- six pointed black star + , { code = 0x0273D, char = '✽', class = 'ord', cs = 'dingasterisk' } -- heavy teardrop-spoked asterisk + , { code = 0x02772, char = '❲', class = 'open', cs = 'lbrbrak' } -- light left tortoise shell bracket ornament + , { code = 0x02773, char = '❳', class = 'close', cs = 'rbrbrak' } -- light right tortoise shell bracket ornament + , { code = 0x0279B, char = '➛', class = 'ord', cs = 'draftingarrow' } -- drafting point rightwards arrow + , { code = 0x027C0, char = '⟀', class = 'ord', cs = 'threedangle' } -- three dimensional angle + , { code = 0x027C1, char = '⟁', class = 'ord', cs = 'whiteinwhitetriangle' } -- white triangle containing small white triangle + , { code = 0x027C2, char = '⟂', class = 'rel', cs = 'perp' } -- perpendicular + , { code = 0x027C3, char = '⟃', class = 'ord', cs = 'subsetcirc' } -- open subset + , { code = 0x027C4, char = '⟄', class = 'ord', cs = 'supsetcirc' } -- open superset + , { code = 0x027C5, char = '⟅', class = 'open', cs = 'lbag' } -- left s-shaped bag delimiter + , { code = 0x027C6, char = '⟆', class = 'close', cs = 'rbag' } -- right s-shaped bag delimiter + , { code = 0x027C7, char = '⟇', class = 'bin', cs = 'veedot' } -- or with dot inside + , { code = 0x027C8, char = '⟈', class = 'rel', cs = 'bsolhsub' } -- reverse solidus preceding subset + , { code = 0x027C9, char = '⟉', class = 'rel', cs = 'suphsol' } -- superset preceding solidus + , { code = 0x027CC, char = '⟌', class = 'radical', cs = 'longdivision' } -- long division + , { code = 0x027D0, char = '⟐', class = 'ord', cs = 'diamondcdot' } -- white diamond with centred dot + , { code = 0x027D1, char = '⟑', class = 'bin', cs = 'wedgedot' } -- and with dot + , { code = 0x027D2, char = '⟒', class = 'rel', cs = 'upin' } -- element of opening upwards + , { code = 0x027D3, char = '⟓', class = 'rel', cs = 'pullback' } -- lower right corner with dot + , { code = 0x027D4, char = '⟔', class = 'rel', cs = 'pushout' } -- upper left corner with dot + , { code = 0x027D5, char = '⟕', class = 'op', cs = 'leftouterjoin' } -- left outer join + , { code = 0x027D6, char = '⟖', class = 'op', cs = 'rightouterjoin' } -- right outer join + , { code = 0x027D7, char = '⟗', class = 'op', cs = 'fullouterjoin' } -- full outer join + , { code = 0x027D8, char = '⟘', class = 'op', cs = 'bigbot' } -- large up tack + , { code = 0x027D9, char = '⟙', class = 'op', cs = 'bigtop' } -- large down tack + , { code = 0x027DA, char = '⟚', class = 'rel', cs = 'DashVDash' } -- left and right double turnstile + , { code = 0x027DB, char = '⟛', class = 'rel', cs = 'dashVdash' } -- left and right tack + , { code = 0x027DC, char = '⟜', class = 'rel', cs = 'multimapinv' } -- left multimap + , { code = 0x027DD, char = '⟝', class = 'rel', cs = 'vlongdash' } -- long right tack + , { code = 0x027DE, char = '⟞', class = 'rel', cs = 'longdashv' } -- long left tack + , { code = 0x027DF, char = '⟟', class = 'rel', cs = 'cirbot' } -- up tack with circle above + , { code = 0x027E0, char = '⟠', class = 'bin', cs = 'lozengeminus' } -- lozenge divided by horizontal rule + , { code = 0x027E1, char = '⟡', class = 'bin', cs = 'concavediamond' } -- white concave-sided diamond + , { code = 0x027E2, char = '⟢', class = 'bin', cs = 'concavediamondtickleft' } -- white concave-sided diamond with leftwards tick + , { code = 0x027E3, char = '⟣', class = 'bin', cs = 'concavediamondtickright' } -- white concave-sided diamond with rightwards tick + , { code = 0x027E4, char = '⟤', class = 'bin', cs = 'whitesquaretickleft' } -- white square with leftwards tick + , { code = 0x027E5, char = '⟥', class = 'bin', cs = 'whitesquaretickright' } -- white square with rightwards tick + , { code = 0x027E6, char = '⟦', class = 'open', cs = 'lBrack' } -- mathematical left white square bracket + , { code = 0x027E7, char = '⟧', class = 'close', cs = 'rBrack' } -- mathematical right white square bracket + , { code = 0x027E8, char = '⟨', class = 'open', cs = 'langle' } -- mathematical left angle bracket + , { code = 0x027E9, char = '⟩', class = 'close', cs = 'rangle' } -- mathematical right angle bracket + , { code = 0x027EA, char = '⟪', class = 'open', cs = 'lAngle' } -- mathematical left double angle bracket + , { code = 0x027EB, char = '⟫', class = 'close', cs = 'rAngle' } -- mathematical right double angle bracket + , { code = 0x027EC, char = '⟬', class = 'open', cs = 'Lbrbrak' } -- mathematical left white tortoise shell bracket + , { code = 0x027ED, char = '⟭', class = 'close', cs = 'Rbrbrak' } -- mathematical right white tortoise shell bracket + , { code = 0x027EE, char = '⟮', class = 'open', cs = 'lgroup' } -- mathematical left flattened parenthesis + , { code = 0x027EF, char = '⟯', class = 'close', cs = 'rgroup' } -- mathematical right flattened parenthesis + , { code = 0x027F0, char = '⟰', class = 'rel', cs = 'UUparrow' } -- upwards quadruple arrow + , { code = 0x027F1, char = '⟱', class = 'rel', cs = 'DDownarrow' } -- downwards quadruple arrow + , { code = 0x027F2, char = '⟲', class = 'rel', cs = 'acwgapcirclearrow' } -- anticlockwise gapped circle arrow + , { code = 0x027F3, char = '⟳', class = 'rel', cs = 'cwgapcirclearrow' } -- clockwise gapped circle arrow + , { code = 0x027F4, char = '⟴', class = 'rel', cs = 'rightarrowonoplus' } -- right arrow with circled plus + , { code = 0x027F5, char = '⟵', class = 'rel', cs = 'longleftarrow' } -- long leftwards arrow + , { code = 0x027F6, char = '⟶', class = 'rel', cs = 'longrightarrow' } -- long rightwards arrow + , { code = 0x027F7, char = '⟷', class = 'rel', cs = 'longleftrightarrow' } -- long left right arrow + , { code = 0x027F8, char = '⟸', class = 'rel', cs = 'Longleftarrow' } -- long leftwards double arrow + , { code = 0x027F9, char = '⟹', class = 'rel', cs = 'Longrightarrow' } -- long rightwards double arrow + , { code = 0x027FA, char = '⟺', class = 'rel', cs = 'Longleftrightarrow' } -- long left right double arrow + , { code = 0x027FB, char = '⟻', class = 'rel', cs = 'longmapsfrom' } -- long leftwards arrow from bar + , { code = 0x027FC, char = '⟼', class = 'rel', cs = 'longmapsto' } -- long rightwards arrow from bar + , { code = 0x027FD, char = '⟽', class = 'rel', cs = 'Longmapsfrom' } -- long leftwards double arrow from bar + , { code = 0x027FE, char = '⟾', class = 'rel', cs = 'Longmapsto' } -- long rightwards double arrow from bar + , { code = 0x027FF, char = '⟿', class = 'rel', cs = 'longrightsquigarrow' } -- long rightwards squiggle arrow + , { code = 0x02900, char = '⤀', class = 'rel', cs = 'nvtwoheadrightarrow' } -- rightwards two-headed arrow with vertical stroke + , { code = 0x02901, char = '⤁', class = 'rel', cs = 'nVtwoheadrightarrow' } -- rightwards two-headed arrow with double vertical stroke + , { code = 0x02902, char = '⤂', class = 'rel', cs = 'nvLeftarrow' } -- leftwards double arrow with vertical stroke + , { code = 0x02903, char = '⤃', class = 'rel', cs = 'nvRightarrow' } -- rightwards double arrow with vertical stroke + , { code = 0x02904, char = '⤄', class = 'rel', cs = 'nvLeftrightarrow' } -- left right double arrow with vertical stroke + , { code = 0x02905, char = '⤅', class = 'rel', cs = 'twoheadmapsto' } -- rightwards two-headed arrow from bar + , { code = 0x02906, char = '⤆', class = 'rel', cs = 'Mapsfrom' } -- leftwards double arrow from bar + , { code = 0x02907, char = '⤇', class = 'rel', cs = 'Mapsto' } -- rightwards double arrow from bar + , { code = 0x02908, char = '⤈', class = 'rel', cs = 'downarrowbarred' } -- downwards arrow with horizontal stroke + , { code = 0x02909, char = '⤉', class = 'rel', cs = 'uparrowbarred' } -- upwards arrow with horizontal stroke + , { code = 0x0290A, char = '⤊', class = 'rel', cs = 'Uuparrow' } -- upwards triple arrow + , { code = 0x0290B, char = '⤋', class = 'rel', cs = 'Ddownarrow' } -- downwards triple arrow + , { code = 0x0290C, char = '⤌', class = 'rel', cs = 'leftbkarrow' } -- leftwards double dash arrow + , { code = 0x0290D, char = '⤍', class = 'rel', cs = 'rightbkarrow' } -- rightwards double dash arrow + , { code = 0x0290E, char = '⤎', class = 'rel', cs = 'leftdbkarrow' } -- leftwards triple dash arrow + , { code = 0x0290F, char = '⤏', class = 'rel', cs = 'dbkarow' } -- rightwards triple dash arrow + , { code = 0x02910, char = '⤐', class = 'rel', cs = 'drbkarow' } -- rightwards two-headed triple dash arrow + , { code = 0x02911, char = '⤑', class = 'rel', cs = 'rightdotarrow' } -- rightwards arrow with dotted stem + , { code = 0x02912, char = '⤒', class = 'rel', cs = 'baruparrow' } -- upwards arrow to bar + , { code = 0x02913, char = '⤓', class = 'rel', cs = 'downarrowbar' } -- downwards arrow to bar + , { code = 0x02914, char = '⤔', class = 'rel', cs = 'nvrightarrowtail' } -- rightwards arrow with tail with vertical stroke + , { code = 0x02915, char = '⤕', class = 'rel', cs = 'nVrightarrowtail' } -- rightwards arrow with tail with double vertical stroke + , { code = 0x02916, char = '⤖', class = 'rel', cs = 'twoheadrightarrowtail' } -- rightwards two-headed arrow with tail + , { code = 0x02917, char = '⤗', class = 'rel', cs = 'nvtwoheadrightarrowtail' } -- rightwards two-headed arrow with tail with vertical stroke + , { code = 0x02918, char = '⤘', class = 'rel', cs = 'nVtwoheadrightarrowtail' } -- rightwards two-headed arrow with tail with double vertical stroke + , { code = 0x02919, char = '⤙', class = 'rel', cs = 'lefttail' } -- leftwards arrow-tail + , { code = 0x0291A, char = '⤚', class = 'rel', cs = 'righttail' } -- rightwards arrow-tail + , { code = 0x0291B, char = '⤛', class = 'rel', cs = 'leftdbltail' } -- leftwards double arrow-tail + , { code = 0x0291C, char = '⤜', class = 'rel', cs = 'rightdbltail' } -- rightwards double arrow-tail + , { code = 0x0291D, char = '⤝', class = 'rel', cs = 'diamondleftarrow' } -- leftwards arrow to black diamond + , { code = 0x0291E, char = '⤞', class = 'rel', cs = 'rightarrowdiamond' } -- rightwards arrow to black diamond + , { code = 0x0291F, char = '⤟', class = 'rel', cs = 'diamondleftarrowbar' } -- leftwards arrow from bar to black diamond + , { code = 0x02920, char = '⤠', class = 'rel', cs = 'barrightarrowdiamond' } -- rightwards arrow from bar to black diamond + , { code = 0x02921, char = '⤡', class = 'rel', cs = 'nwsearrow' } -- north west and south east arrow + , { code = 0x02922, char = '⤢', class = 'rel', cs = 'neswarrow' } -- north east and south west arrow + , { code = 0x02923, char = '⤣', class = 'rel', cs = 'hknwarrow' } -- north west arrow with hook + , { code = 0x02924, char = '⤤', class = 'rel', cs = 'hknearrow' } -- north east arrow with hook + , { code = 0x02925, char = '⤥', class = 'rel', cs = 'hksearrow' } -- south east arrow with hook + , { code = 0x02926, char = '⤦', class = 'rel', cs = 'hkswarrow' } -- south west arrow with hook + , { code = 0x02927, char = '⤧', class = 'rel', cs = 'tona' } -- north west arrow and north east arrow + , { code = 0x02928, char = '⤨', class = 'rel', cs = 'toea' } -- north east arrow and south east arrow + , { code = 0x02929, char = '⤩', class = 'rel', cs = 'tosa' } -- south east arrow and south west arrow + , { code = 0x0292A, char = '⤪', class = 'rel', cs = 'towa' } -- south west arrow and north west arrow + , { code = 0x0292B, char = '⤫', class = 'ord', cs = 'rdiagovfdiag' } -- rising diagonal crossing falling diagonal + , { code = 0x0292C, char = '⤬', class = 'ord', cs = 'fdiagovrdiag' } -- falling diagonal crossing rising diagonal + , { code = 0x0292D, char = '⤭', class = 'ord', cs = 'seovnearrow' } -- south east arrow crossing north east arrow + , { code = 0x0292E, char = '⤮', class = 'ord', cs = 'neovsearrow' } -- north east arrow crossing south east arrow + , { code = 0x0292F, char = '⤯', class = 'ord', cs = 'fdiagovnearrow' } -- falling diagonal crossing north east arrow + , { code = 0x02930, char = '⤰', class = 'ord', cs = 'rdiagovsearrow' } -- rising diagonal crossing south east arrow + , { code = 0x02931, char = '⤱', class = 'ord', cs = 'neovnwarrow' } -- north east arrow crossing north west arrow + , { code = 0x02932, char = '⤲', class = 'ord', cs = 'nwovnearrow' } -- north west arrow crossing north east arrow + , { code = 0x02933, char = '⤳', class = 'rel', cs = 'rightcurvedarrow' } -- wave arrow pointing directly right + , { code = 0x02934, char = '⤴', class = 'ord', cs = 'uprightcurvearrow' } -- arrow pointing rightwards then curving upwards + , { code = 0x02935, char = '⤵', class = 'ord', cs = 'downrightcurvedarrow' } -- arrow pointing rightwards then curving downwards + , { code = 0x02936, char = '⤶', class = 'rel', cs = 'leftdowncurvedarrow' } -- arrow pointing downwards then curving leftwards + , { code = 0x02937, char = '⤷', class = 'rel', cs = 'rightdowncurvedarrow' } -- arrow pointing downwards then curving rightwards + , { code = 0x02938, char = '⤸', class = 'rel', cs = 'cwrightarcarrow' } -- right-side arc clockwise arrow + , { code = 0x02939, char = '⤹', class = 'rel', cs = 'acwleftarcarrow' } -- left-side arc anticlockwise arrow + , { code = 0x0293A, char = '⤺', class = 'rel', cs = 'acwoverarcarrow' } -- top arc anticlockwise arrow + , { code = 0x0293B, char = '⤻', class = 'rel', cs = 'acwunderarcarrow' } -- bottom arc anticlockwise arrow + , { code = 0x0293C, char = '⤼', class = 'rel', cs = 'curvearrowrightminus' } -- top arc clockwise arrow with minus + , { code = 0x0293D, char = '⤽', class = 'rel', cs = 'curvearrowleftplus' } -- top arc anticlockwise arrow with plus + , { code = 0x0293E, char = '⤾', class = 'rel', cs = 'cwundercurvearrow' } -- lower right semicircular clockwise arrow + , { code = 0x0293F, char = '⤿', class = 'rel', cs = 'ccwundercurvearrow' } -- lower left semicircular anticlockwise arrow + , { code = 0x02940, char = '⥀', class = 'rel', cs = 'acwcirclearrow' } -- anticlockwise closed circle arrow + , { code = 0x02941, char = '⥁', class = 'rel', cs = 'cwcirclearrow' } -- clockwise closed circle arrow + , { code = 0x02942, char = '⥂', class = 'rel', cs = 'rightarrowshortleftarrow' } -- rightwards arrow above short leftwards arrow + , { code = 0x02943, char = '⥃', class = 'rel', cs = 'leftarrowshortrightarrow' } -- leftwards arrow above short rightwards arrow + , { code = 0x02944, char = '⥄', class = 'rel', cs = 'shortrightarrowleftarrow' } -- short rightwards arrow above leftwards arrow + , { code = 0x02945, char = '⥅', class = 'rel', cs = 'rightarrowplus' } -- rightwards arrow with plus below + , { code = 0x02946, char = '⥆', class = 'rel', cs = 'leftarrowplus' } -- leftwards arrow with plus below + , { code = 0x02947, char = '⥇', class = 'rel', cs = 'rightarrowx' } -- rightwards arrow through x + , { code = 0x02948, char = '⥈', class = 'rel', cs = 'leftrightarrowcircle' } -- left right arrow through small circle + , { code = 0x02949, char = '⥉', class = 'rel', cs = 'twoheaduparrowcircle' } -- upwards two-headed arrow from small circle + , { code = 0x0294A, char = '⥊', class = 'rel', cs = 'leftrightharpoonupdown' } -- left barb up right barb down harpoon + , { code = 0x0294B, char = '⥋', class = 'rel', cs = 'leftrightharpoondownup' } -- left barb down right barb up harpoon + , { code = 0x0294C, char = '⥌', class = 'rel', cs = 'updownharpoonrightleft' } -- up barb right down barb left harpoon + , { code = 0x0294D, char = '⥍', class = 'rel', cs = 'updownharpoonleftright' } -- up barb left down barb right harpoon + , { code = 0x0294E, char = '⥎', class = 'rel', cs = 'leftrightharpoonupup' } -- left barb up right barb up harpoon + , { code = 0x0294F, char = '⥏', class = 'rel', cs = 'updownharpoonrightright' } -- up barb right down barb right harpoon + , { code = 0x02950, char = '⥐', class = 'rel', cs = 'leftrightharpoondowndown' } -- left barb down right barb down harpoon + , { code = 0x02951, char = '⥑', class = 'rel', cs = 'updownharpoonleftleft' } -- up barb left down barb left harpoon + , { code = 0x02952, char = '⥒', class = 'rel', cs = 'barleftharpoonup' } -- leftwards harpoon with barb up to bar + , { code = 0x02953, char = '⥓', class = 'rel', cs = 'rightharpoonupbar' } -- rightwards harpoon with barb up to bar + , { code = 0x02954, char = '⥔', class = 'rel', cs = 'barupharpoonright' } -- upwards harpoon with barb right to bar + , { code = 0x02955, char = '⥕', class = 'rel', cs = 'downharpoonrightbar' } -- downwards harpoon with barb right to bar + , { code = 0x02956, char = '⥖', class = 'rel', cs = 'barleftharpoondown' } -- leftwards harpoon with barb down to bar + , { code = 0x02957, char = '⥗', class = 'rel', cs = 'rightharpoondownbar' } -- rightwards harpoon with barb down to bar + , { code = 0x02958, char = '⥘', class = 'rel', cs = 'barupharpoonleft' } -- upwards harpoon with barb left to bar + , { code = 0x02959, char = '⥙', class = 'rel', cs = 'downharpoonleftbar' } -- downwards harpoon with barb left to bar + , { code = 0x0295A, char = '⥚', class = 'rel', cs = 'leftharpoonupbar' } -- leftwards harpoon with barb up from bar + , { code = 0x0295B, char = '⥛', class = 'rel', cs = 'barrightharpoonup' } -- rightwards harpoon with barb up from bar + , { code = 0x0295C, char = '⥜', class = 'rel', cs = 'upharpoonrightbar' } -- upwards harpoon with barb right from bar + , { code = 0x0295D, char = '⥝', class = 'rel', cs = 'bardownharpoonright' } -- downwards harpoon with barb right from bar + , { code = 0x0295E, char = '⥞', class = 'rel', cs = 'leftharpoondownbar' } -- leftwards harpoon with barb down from bar + , { code = 0x0295F, char = '⥟', class = 'rel', cs = 'barrightharpoondown' } -- rightwards harpoon with barb down from bar + , { code = 0x02960, char = '⥠', class = 'rel', cs = 'upharpoonleftbar' } -- upwards harpoon with barb left from bar + , { code = 0x02961, char = '⥡', class = 'rel', cs = 'bardownharpoonleft' } -- downwards harpoon with barb left from bar + , { code = 0x02962, char = '⥢', class = 'rel', cs = 'leftharpoonsupdown' } -- leftwards harpoon with barb up above leftwards harpoon with barb down + , { code = 0x02963, char = '⥣', class = 'rel', cs = 'upharpoonsleftright' } -- upwards harpoon with barb left beside upwards harpoon with barb right + , { code = 0x02964, char = '⥤', class = 'rel', cs = 'rightharpoonsupdown' } -- rightwards harpoon with barb up above rightwards harpoon with barb down + , { code = 0x02965, char = '⥥', class = 'rel', cs = 'downharpoonsleftright' } -- downwards harpoon with barb left beside downwards harpoon with barb right + , { code = 0x02966, char = '⥦', class = 'rel', cs = 'leftrightharpoonsup' } -- leftwards harpoon with barb up above rightwards harpoon with barb up + , { code = 0x02967, char = '⥧', class = 'rel', cs = 'leftrightharpoonsdown' } -- leftwards harpoon with barb down above rightwards harpoon with barb down + , { code = 0x02968, char = '⥨', class = 'rel', cs = 'rightleftharpoonsup' } -- rightwards harpoon with barb up above leftwards harpoon with barb up + , { code = 0x02969, char = '⥩', class = 'rel', cs = 'rightleftharpoonsdown' } -- rightwards harpoon with barb down above leftwards harpoon with barb down + , { code = 0x0296A, char = '⥪', class = 'rel', cs = 'leftharpoonupdash' } -- leftwards harpoon with barb up above long dash + , { code = 0x0296B, char = '⥫', class = 'rel', cs = 'dashleftharpoondown' } -- leftwards harpoon with barb down below long dash + , { code = 0x0296C, char = '⥬', class = 'rel', cs = 'rightharpoonupdash' } -- rightwards harpoon with barb up above long dash + , { code = 0x0296D, char = '⥭', class = 'rel', cs = 'dashrightharpoondown' } -- rightwards harpoon with barb down below long dash + , { code = 0x0296E, char = '⥮', class = 'rel', cs = 'updownharpoonsleftright' } -- upwards harpoon with barb left beside downwards harpoon with barb right + , { code = 0x0296F, char = '⥯', class = 'rel', cs = 'downupharpoonsleftright' } -- downwards harpoon with barb left beside upwards harpoon with barb right + , { code = 0x02970, char = '⥰', class = 'rel', cs = 'rightimply' } -- right double arrow with rounded head + , { code = 0x02971, char = '⥱', class = 'rel', cs = 'equalrightarrow' } -- equals sign above rightwards arrow + , { code = 0x02972, char = '⥲', class = 'rel', cs = 'similarrightarrow' } -- tilde operator above rightwards arrow + , { code = 0x02973, char = '⥳', class = 'rel', cs = 'leftarrowsimilar' } -- leftwards arrow above tilde operator + , { code = 0x02974, char = '⥴', class = 'rel', cs = 'rightarrowsimilar' } -- rightwards arrow above tilde operator + , { code = 0x02975, char = '⥵', class = 'rel', cs = 'rightarrowapprox' } -- rightwards arrow above almost equal to + , { code = 0x02976, char = '⥶', class = 'rel', cs = 'ltlarr' } -- less-than above leftwards arrow + , { code = 0x02977, char = '⥷', class = 'rel', cs = 'leftarrowless' } -- leftwards arrow through less-than + , { code = 0x02978, char = '⥸', class = 'rel', cs = 'gtrarr' } -- greater-than above rightwards arrow + , { code = 0x02979, char = '⥹', class = 'rel', cs = 'subrarr' } -- subset above rightwards arrow + , { code = 0x0297A, char = '⥺', class = 'rel', cs = 'leftarrowsubset' } -- leftwards arrow through subset + , { code = 0x0297B, char = '⥻', class = 'rel', cs = 'suplarr' } -- superset above leftwards arrow + , { code = 0x0297C, char = '⥼', class = 'rel', cs = 'leftfishtail' } -- left fish tail + , { code = 0x0297D, char = '⥽', class = 'rel', cs = 'rightfishtail' } -- right fish tail + , { code = 0x0297E, char = '⥾', class = 'rel', cs = 'upfishtail' } -- up fish tail + , { code = 0x0297F, char = '⥿', class = 'rel', cs = 'downfishtail' } -- down fish tail + , { code = 0x02980, char = '⦀', class = 'fence', cs = 'Vvert' } -- triple vertical bar delimiter + , { code = 0x02981, char = '⦁', class = 'ord', cs = 'mdsmblkcircle' } -- z notation spot + , { code = 0x02982, char = '⦂', class = 'bin', cs = 'typecolon' } -- z notation type colon + , { code = 0x02983, char = '⦃', class = 'open', cs = 'lBrace' } -- left white curly bracket + , { code = 0x02984, char = '⦄', class = 'close', cs = 'rBrace' } -- right white curly bracket + , { code = 0x02985, char = '⦅', class = 'open', cs = 'lParen' } -- left white parenthesis + , { code = 0x02986, char = '⦆', class = 'close', cs = 'rParen' } -- right white parenthesis + , { code = 0x02987, char = '⦇', class = 'open', cs = 'llparenthesis' } -- z notation left image bracket + , { code = 0x02988, char = '⦈', class = 'close', cs = 'rrparenthesis' } -- z notation right image bracket + , { code = 0x02989, char = '⦉', class = 'open', cs = 'llangle' } -- z notation left binding bracket + , { code = 0x0298A, char = '⦊', class = 'close', cs = 'rrangle' } -- z notation right binding bracket + , { code = 0x0298B, char = '⦋', class = 'open', cs = 'lbrackubar' } -- left square bracket with underbar + , { code = 0x0298C, char = '⦌', class = 'close', cs = 'rbrackubar' } -- right square bracket with underbar + , { code = 0x0298D, char = '⦍', class = 'open', cs = 'lbrackultick' } -- left square bracket with tick in top corner + , { code = 0x0298E, char = '⦎', class = 'close', cs = 'rbracklrtick' } -- right square bracket with tick in bottom corner + , { code = 0x0298F, char = '⦏', class = 'open', cs = 'lbracklltick' } -- left square bracket with tick in bottom corner + , { code = 0x02990, char = '⦐', class = 'close', cs = 'rbrackurtick' } -- right square bracket with tick in top corner + , { code = 0x02991, char = '⦑', class = 'open', cs = 'langledot' } -- left angle bracket with dot + , { code = 0x02992, char = '⦒', class = 'close', cs = 'rangledot' } -- right angle bracket with dot + , { code = 0x02993, char = '⦓', class = 'open', cs = 'lparenless' } -- left arc less-than bracket + , { code = 0x02994, char = '⦔', class = 'close', cs = 'rparengtr' } -- right arc greater-than bracket + , { code = 0x02995, char = '⦕', class = 'open', cs = 'Lparengtr' } -- double left arc greater-than bracket + , { code = 0x02996, char = '⦖', class = 'close', cs = 'Rparenless' } -- double right arc less-than bracket + , { code = 0x02997, char = '⦗', class = 'open', cs = 'lblkbrbrak' } -- left black tortoise shell bracket + , { code = 0x02998, char = '⦘', class = 'close', cs = 'rblkbrbrak' } -- right black tortoise shell bracket + , { code = 0x02999, char = '⦙', class = 'ord', cs = 'fourvdots' } -- dotted fence + , { code = 0x0299A, char = '⦚', class = 'ord', cs = 'vzigzag' } -- vertical zigzag line + , { code = 0x0299B, char = '⦛', class = 'ord', cs = 'measuredangleleft' } -- measured angle opening left + , { code = 0x0299C, char = '⦜', class = 'ord', cs = 'rightanglesqr' } -- right angle variant with square + , { code = 0x0299D, char = '⦝', class = 'ord', cs = 'rightanglemdot' } -- measured right angle with dot + , { code = 0x0299E, char = '⦞', class = 'ord', cs = 'angles' } -- angle with s inside + , { code = 0x0299F, char = '⦟', class = 'ord', cs = 'angdnr' } -- acute angle + , { code = 0x029A0, char = '⦠', class = 'ord', cs = 'gtlpar' } -- spherical angle opening left + , { code = 0x029A1, char = '⦡', class = 'ord', cs = 'sphericalangleup' } -- spherical angle opening up + , { code = 0x029A2, char = '⦢', class = 'ord', cs = 'turnangle' } -- turned angle + , { code = 0x029A3, char = '⦣', class = 'ord', cs = 'revangle' } -- reversed angle + , { code = 0x029A4, char = '⦤', class = 'ord', cs = 'angleubar' } -- angle with underbar + , { code = 0x029A5, char = '⦥', class = 'ord', cs = 'revangleubar' } -- reversed angle with underbar + , { code = 0x029A6, char = '⦦', class = 'ord', cs = 'wideangledown' } -- oblique angle opening up + , { code = 0x029A7, char = '⦧', class = 'ord', cs = 'wideangleup' } -- oblique angle opening down + , { code = 0x029A8, char = '⦨', class = 'ord', cs = 'measanglerutone' } -- measured angle with open arm ending in arrow pointing up and right + , { code = 0x029A9, char = '⦩', class = 'ord', cs = 'measanglelutonw' } -- measured angle with open arm ending in arrow pointing up and left + , { code = 0x029AA, char = '⦪', class = 'ord', cs = 'measanglerdtose' } -- measured angle with open arm ending in arrow pointing down and right + , { code = 0x029AB, char = '⦫', class = 'ord', cs = 'measangleldtosw' } -- measured angle with open arm ending in arrow pointing down and left + , { code = 0x029AC, char = '⦬', class = 'ord', cs = 'measangleurtone' } -- measured angle with open arm ending in arrow pointing right and up + , { code = 0x029AD, char = '⦭', class = 'ord', cs = 'measangleultonw' } -- measured angle with open arm ending in arrow pointing left and up + , { code = 0x029AE, char = '⦮', class = 'ord', cs = 'measangledrtose' } -- measured angle with open arm ending in arrow pointing right and down + , { code = 0x029AF, char = '⦯', class = 'ord', cs = 'measangledltosw' } -- measured angle with open arm ending in arrow pointing left and down + , { code = 0x029B0, char = '⦰', class = 'ord', cs = 'revemptyset' } -- reversed empty set + , { code = 0x029B1, char = '⦱', class = 'ord', cs = 'emptysetobar' } -- empty set with overbar + , { code = 0x029B2, char = '⦲', class = 'ord', cs = 'emptysetocirc' } -- empty set with small circle above + , { code = 0x029B3, char = '⦳', class = 'ord', cs = 'emptysetoarr' } -- empty set with right arrow above + , { code = 0x029B4, char = '⦴', class = 'ord', cs = 'emptysetoarrl' } -- empty set with left arrow above + , { code = 0x029B5, char = '⦵', class = 'bin', cs = 'circlehbar' } -- circle with horizontal bar + , { code = 0x029B6, char = '⦶', class = 'bin', cs = 'circledvert' } -- circled vertical bar + , { code = 0x029B7, char = '⦷', class = 'bin', cs = 'circledparallel' } -- circled parallel + , { code = 0x029B8, char = '⦸', class = 'bin', cs = 'obslash' } -- circled reverse solidus + , { code = 0x029B9, char = '⦹', class = 'bin', cs = 'operp' } -- circled perpendicular + , { code = 0x029BA, char = '⦺', class = 'ord', cs = 'obot' } -- circle divided by horizontal bar and top half divided by vertical bar + , { code = 0x029BB, char = '⦻', class = 'ord', cs = 'olcross' } -- circle with superimposed x + , { code = 0x029BC, char = '⦼', class = 'ord', cs = 'odotslashdot' } -- circled anticlockwise-rotated division sign + , { code = 0x029BD, char = '⦽', class = 'ord', cs = 'uparrowoncircle' } -- up arrow through circle + , { code = 0x029BE, char = '⦾', class = 'ord', cs = 'circledwhitebullet' } -- circled white bullet + , { code = 0x029BF, char = '⦿', class = 'ord', cs = 'circledbullet' } -- circled bullet + , { code = 0x029C0, char = '⧀', class = 'bin', cs = 'olessthan' } -- circled less-than + , { code = 0x029C1, char = '⧁', class = 'bin', cs = 'ogreaterthan' } -- circled greater-than + , { code = 0x029C2, char = '⧂', class = 'ord', cs = 'cirscir' } -- circle with small circle to the right + , { code = 0x029C3, char = '⧃', class = 'ord', cs = 'cirE' } -- circle with two horizontal strokes to the right + , { code = 0x029C4, char = '⧄', class = 'bin', cs = 'boxdiag' } -- squared rising diagonal slash + , { code = 0x029C5, char = '⧅', class = 'bin', cs = 'boxbslash' } -- squared falling diagonal slash + , { code = 0x029C6, char = '⧆', class = 'bin', cs = 'boxast' } -- squared asterisk + , { code = 0x029C7, char = '⧇', class = 'bin', cs = 'boxcircle' } -- squared small circle + , { code = 0x029C8, char = '⧈', class = 'bin', cs = 'boxbox' } -- squared square + , { code = 0x029C9, char = '⧉', class = 'ord', cs = 'boxonbox' } -- two joined squares + , { code = 0x029CA, char = '⧊', class = 'ord', cs = 'triangleodot' } -- triangle with dot above + , { code = 0x029CB, char = '⧋', class = 'ord', cs = 'triangleubar' } -- triangle with underbar + , { code = 0x029CC, char = '⧌', class = 'ord', cs = 'triangles' } -- s in triangle + , { code = 0x029CD, char = '⧍', class = 'bin', cs = 'triangleserifs' } -- triangle with serifs at bottom + , { code = 0x029CE, char = '⧎', class = 'rel', cs = 'rtriltri' } -- right triangle above left triangle + , { code = 0x029CF, char = '⧏', class = 'rel', cs = 'ltrivb' } -- left triangle beside vertical bar + , { code = 0x029D0, char = '⧐', class = 'rel', cs = 'vbrtri' } -- vertical bar beside right triangle + , { code = 0x029D1, char = '⧑', class = 'rel', cs = 'lfbowtie' } -- bowtie with left half black + , { code = 0x029D2, char = '⧒', class = 'rel', cs = 'rfbowtie' } -- bowtie with right half black + , { code = 0x029D3, char = '⧓', class = 'rel', cs = 'fbowtie' } -- black bowtie + , { code = 0x029D4, char = '⧔', class = 'rel', cs = 'lftimes' } -- times with left half black + , { code = 0x029D5, char = '⧕', class = 'rel', cs = 'rftimes' } -- times with right half black + , { code = 0x029D6, char = '⧖', class = 'bin', cs = 'hourglass' } -- white hourglass + , { code = 0x029D7, char = '⧗', class = 'bin', cs = 'blackhourglass' } -- black hourglass + , { code = 0x029D8, char = '⧘', class = 'open', cs = 'lvzigzag' } -- left wiggly fence + , { code = 0x029D9, char = '⧙', class = 'close', cs = 'rvzigzag' } -- right wiggly fence + , { code = 0x029DA, char = '⧚', class = 'open', cs = 'Lvzigzag' } -- left double wiggly fence + , { code = 0x029DB, char = '⧛', class = 'close', cs = 'Rvzigzag' } -- right double wiggly fence + , { code = 0x029DC, char = '⧜', class = 'ord', cs = 'iinfin' } -- incomplete infinity + , { code = 0x029DD, char = '⧝', class = 'ord', cs = 'tieinfty' } -- tie over infinity + , { code = 0x029DE, char = '⧞', class = 'ord', cs = 'nvinfty' } -- infinity negated with vertical bar + , { code = 0x029DF, char = '⧟', class = 'rel', cs = 'dualmap' } -- double-ended multimap + , { code = 0x029E0, char = '⧠', class = 'ord', cs = 'laplac' } -- square with contoured outline + , { code = 0x029E1, char = '⧡', class = 'rel', cs = 'lrtriangleeq' } -- increases as + , { code = 0x029E2, char = '⧢', class = 'bin', cs = 'shuffle' } -- shuffle product + , { code = 0x029E3, char = '⧣', class = 'rel', cs = 'eparsl' } -- equals sign and slanted parallel + , { code = 0x029E4, char = '⧤', class = 'rel', cs = 'smeparsl' } -- equals sign and slanted parallel with tilde above + , { code = 0x029E5, char = '⧥', class = 'rel', cs = 'eqvparsl' } -- identical to and slanted parallel + , { code = 0x029E6, char = '⧦', class = 'rel', cs = 'gleichstark' } -- gleich stark + , { code = 0x029E7, char = '⧧', class = 'ord', cs = 'thermod' } -- thermodynamic + , { code = 0x029E8, char = '⧨', class = 'ord', cs = 'downtriangleleftblack' } -- down-pointing triangle with left half black + , { code = 0x029E9, char = '⧩', class = 'ord', cs = 'downtrianglerightblack' } -- down-pointing triangle with right half black + , { code = 0x029EA, char = '⧪', class = 'ord', cs = 'blackdiamonddownarrow' } -- black diamond with down arrow + , { code = 0x029EB, char = '⧫', class = 'bin', cs = 'mdlgblklozenge' } -- black lozenge + , { code = 0x029EC, char = '⧬', class = 'ord', cs = 'circledownarrow' } -- white circle with down arrow + , { code = 0x029ED, char = '⧭', class = 'ord', cs = 'blackcircledownarrow' } -- black circle with down arrow + , { code = 0x029EE, char = '⧮', class = 'ord', cs = 'errbarsquare' } -- error-barred white square + , { code = 0x029EF, char = '⧯', class = 'ord', cs = 'errbarblacksquare' } -- error-barred black square + , { code = 0x029F0, char = '⧰', class = 'ord', cs = 'errbardiamond' } -- error-barred white diamond + , { code = 0x029F1, char = '⧱', class = 'ord', cs = 'errbarblackdiamond' } -- error-barred black diamond + , { code = 0x029F2, char = '⧲', class = 'ord', cs = 'errbarcircle' } -- error-barred white circle + , { code = 0x029F3, char = '⧳', class = 'ord', cs = 'errbarblackcircle' } -- error-barred black circle + , { code = 0x029F4, char = '⧴', class = 'rel', cs = 'ruledelayed' } -- rule-delayed + , { code = 0x029F5, char = '⧵', class = 'bin', cs = 'setminus' } -- reverse solidus operator + , { code = 0x029F6, char = '⧶', class = 'bin', cs = 'dsol' } -- solidus with overbar + , { code = 0x029F7, char = '⧷', class = 'bin', cs = 'rsolbar' } -- reverse solidus with horizontal stroke + , { code = 0x029F8, char = '⧸', class = 'op', cs = 'xsol' } -- big solidus + , { code = 0x029F9, char = '⧹', class = 'op', cs = 'xbsol' } -- big reverse solidus + , { code = 0x029FA, char = '⧺', class = 'bin', cs = 'doubleplus' } -- double plus + , { code = 0x029FB, char = '⧻', class = 'bin', cs = 'tripleplus' } -- triple plus + , { code = 0x029FC, char = '⧼', class = 'open', cs = 'lcurvyangle' } -- left-pointing curved angle bracket + , { code = 0x029FD, char = '⧽', class = 'close', cs = 'rcurvyangle' } -- right-pointing curved angle bracket + , { code = 0x029FE, char = '⧾', class = 'bin', cs = 'tplus' } -- tiny + , { code = 0x029FF, char = '⧿', class = 'bin', cs = 'tminus' } -- miny + , { code = 0x02A00, char = '⨀', class = 'op', cs = 'bigodot' } -- n-ary circled dot operator + , { code = 0x02A01, char = '⨁', class = 'op', cs = 'bigoplus' } -- n-ary circled plus operator + , { code = 0x02A02, char = '⨂', class = 'op', cs = 'bigotimes' } -- n-ary circled times operator + , { code = 0x02A03, char = '⨃', class = 'op', cs = 'bigcupdot' } -- n-ary union operator with dot + , { code = 0x02A04, char = '⨄', class = 'op', cs = 'biguplus' } -- n-ary union operator with plus + , { code = 0x02A05, char = '⨅', class = 'op', cs = 'bigsqcap' } -- n-ary square intersection operator + , { code = 0x02A06, char = '⨆', class = 'op', cs = 'bigsqcup' } -- n-ary square union operator + , { code = 0x02A07, char = '⨇', class = 'op', cs = 'conjquant' } -- two logical and operator + , { code = 0x02A08, char = '⨈', class = 'op', cs = 'disjquant' } -- two logical or operator + , { code = 0x02A09, char = '⨉', class = 'op', cs = 'bigtimes' } -- n-ary times operator + , { code = 0x02A0A, char = '⨊', class = 'op', cs = 'modtwosum' } -- modulo two sum + , { code = 0x02A0B, char = '⨋', class = 'op', cs = 'sumint' } -- summation with integral + , { code = 0x02A0C, char = '⨌', class = 'op', cs = 'iiiint' } -- quadruple integral operator + , { code = 0x02A0D, char = '⨍', class = 'op', cs = 'intbar' } -- finite part integral + , { code = 0x02A0E, char = '⨎', class = 'op', cs = 'intBar' } -- integral with double stroke + , { code = 0x02A0F, char = '⨏', class = 'op', cs = 'fint' } -- integral average with slash + , { code = 0x02A10, char = '⨐', class = 'op', cs = 'cirfnint' } -- circulation function + , { code = 0x02A11, char = '⨑', class = 'op', cs = 'awint' } -- anticlockwise integration + , { code = 0x02A12, char = '⨒', class = 'op', cs = 'rppolint' } -- line integration with rectangular path around pole + , { code = 0x02A13, char = '⨓', class = 'op', cs = 'scpolint' } -- line integration with semicircular path around pole + , { code = 0x02A14, char = '⨔', class = 'op', cs = 'npolint' } -- line integration not including the pole + , { code = 0x02A15, char = '⨕', class = 'op', cs = 'pointint' } -- integral around a point operator + , { code = 0x02A16, char = '⨖', class = 'op', cs = 'sqint' } -- quaternion integral operator + , { code = 0x02A17, char = '⨗', class = 'op', cs = 'intlarhk' } -- integral with leftwards arrow with hook + , { code = 0x02A18, char = '⨘', class = 'op', cs = 'intx' } -- integral with times sign + , { code = 0x02A19, char = '⨙', class = 'op', cs = 'intcap' } -- integral with intersection + , { code = 0x02A1A, char = '⨚', class = 'op', cs = 'intcup' } -- integral with union + , { code = 0x02A1B, char = '⨛', class = 'op', cs = 'upint' } -- integral with overbar + , { code = 0x02A1C, char = '⨜', class = 'op', cs = 'lowint' } -- integral with underbar + , { code = 0x02A1D, char = '⨝', class = 'op', cs = 'Join' } -- join + , { code = 0x02A1E, char = '⨞', class = 'op', cs = 'bigtriangleleft' } -- large left triangle operator + , { code = 0x02A1F, char = '⨟', class = 'op', cs = 'zcmp' } -- z notation schema composition + , { code = 0x02A20, char = '⨠', class = 'op', cs = 'zpipe' } -- z notation schema piping + , { code = 0x02A21, char = '⨡', class = 'op', cs = 'zproject' } -- z notation schema projection + , { code = 0x02A22, char = '⨢', class = 'bin', cs = 'ringplus' } -- plus sign with small circle above + , { code = 0x02A23, char = '⨣', class = 'bin', cs = 'plushat' } -- plus sign with circumflex accent above + , { code = 0x02A24, char = '⨤', class = 'bin', cs = 'simplus' } -- plus sign with tilde above + , { code = 0x02A25, char = '⨥', class = 'bin', cs = 'plusdot' } -- plus sign with dot below + , { code = 0x02A26, char = '⨦', class = 'bin', cs = 'plussim' } -- plus sign with tilde below + , { code = 0x02A27, char = '⨧', class = 'bin', cs = 'plussubtwo' } -- plus sign with subscript two + , { code = 0x02A28, char = '⨨', class = 'bin', cs = 'plustrif' } -- plus sign with black triangle + , { code = 0x02A29, char = '⨩', class = 'bin', cs = 'commaminus' } -- minus sign with comma above + , { code = 0x02A2A, char = '⨪', class = 'bin', cs = 'minusdot' } -- minus sign with dot below + , { code = 0x02A2B, char = '⨫', class = 'bin', cs = 'minusfdots' } -- minus sign with falling dots + , { code = 0x02A2C, char = '⨬', class = 'bin', cs = 'minusrdots' } -- minus sign with rising dots + , { code = 0x02A2D, char = '⨭', class = 'bin', cs = 'opluslhrim' } -- plus sign in left half circle + , { code = 0x02A2E, char = '⨮', class = 'bin', cs = 'oplusrhrim' } -- plus sign in right half circle + , { code = 0x02A2F, char = '⨯', class = 'bin', cs = 'vectimes' } -- vector or cross product + , { code = 0x02A30, char = '⨰', class = 'bin', cs = 'dottimes' } -- multiplication sign with dot above + , { code = 0x02A31, char = '⨱', class = 'bin', cs = 'timesbar' } -- multiplication sign with underbar + , { code = 0x02A32, char = '⨲', class = 'bin', cs = 'btimes' } -- semidirect product with bottom closed + , { code = 0x02A33, char = '⨳', class = 'bin', cs = 'smashtimes' } -- smash product + , { code = 0x02A34, char = '⨴', class = 'bin', cs = 'otimeslhrim' } -- multiplication sign in left half circle + , { code = 0x02A35, char = '⨵', class = 'bin', cs = 'otimesrhrim' } -- multiplication sign in right half circle + , { code = 0x02A36, char = '⨶', class = 'bin', cs = 'otimeshat' } -- circled multiplication sign with circumflex accent + , { code = 0x02A37, char = '⨷', class = 'bin', cs = 'Otimes' } -- multiplication sign in double circle + , { code = 0x02A38, char = '⨸', class = 'bin', cs = 'odiv' } -- circled division sign + , { code = 0x02A39, char = '⨹', class = 'bin', cs = 'triangleplus' } -- plus sign in triangle + , { code = 0x02A3A, char = '⨺', class = 'bin', cs = 'triangleminus' } -- minus sign in triangle + , { code = 0x02A3B, char = '⨻', class = 'bin', cs = 'triangletimes' } -- multiplication sign in triangle + , { code = 0x02A3C, char = '⨼', class = 'bin', cs = 'intprod' } -- interior product + , { code = 0x02A3D, char = '⨽', class = 'bin', cs = 'intprodr' } -- righthand interior product + , { code = 0x02A3E, char = '⨾', class = 'bin', cs = 'fcmp' } -- z notation relational composition + , { code = 0x02A3F, char = '⨿', class = 'bin', cs = 'amalg' } -- amalgamation or coproduct + , { code = 0x02A40, char = '⩀', class = 'bin', cs = 'capdot' } -- intersection with dot + , { code = 0x02A41, char = '⩁', class = 'bin', cs = 'uminus' } -- union with minus sign + , { code = 0x02A42, char = '⩂', class = 'bin', cs = 'barcup' } -- union with overbar + , { code = 0x02A43, char = '⩃', class = 'bin', cs = 'barcap' } -- intersection with overbar + , { code = 0x02A44, char = '⩄', class = 'bin', cs = 'capwedge' } -- intersection with logical and + , { code = 0x02A45, char = '⩅', class = 'bin', cs = 'cupvee' } -- union with logical or + , { code = 0x02A46, char = '⩆', class = 'bin', cs = 'cupovercap' } -- union above intersection + , { code = 0x02A47, char = '⩇', class = 'bin', cs = 'capovercup' } -- intersection above union + , { code = 0x02A48, char = '⩈', class = 'bin', cs = 'cupbarcap' } -- union above bar above intersection + , { code = 0x02A49, char = '⩉', class = 'bin', cs = 'capbarcup' } -- intersection above bar above union + , { code = 0x02A4A, char = '⩊', class = 'bin', cs = 'twocups' } -- union beside and joined with union + , { code = 0x02A4B, char = '⩋', class = 'bin', cs = 'twocaps' } -- intersection beside and joined with intersection + , { code = 0x02A4C, char = '⩌', class = 'bin', cs = 'closedvarcup' } -- closed union with serifs + , { code = 0x02A4D, char = '⩍', class = 'bin', cs = 'closedvarcap' } -- closed intersection with serifs + , { code = 0x02A4E, char = '⩎', class = 'bin', cs = 'Sqcap' } -- double square intersection + , { code = 0x02A4F, char = '⩏', class = 'bin', cs = 'Sqcup' } -- double square union + , { code = 0x02A50, char = '⩐', class = 'bin', cs = 'closedvarcupsmashprod' } -- closed union with serifs and smash product + , { code = 0x02A51, char = '⩑', class = 'bin', cs = 'wedgeodot' } -- logical and with dot above + , { code = 0x02A52, char = '⩒', class = 'bin', cs = 'veeodot' } -- logical or with dot above + , { code = 0x02A53, char = '⩓', class = 'bin', cs = 'Wedge' } -- double logical and + , { code = 0x02A54, char = '⩔', class = 'bin', cs = 'Vee' } -- double logical or + , { code = 0x02A55, char = '⩕', class = 'bin', cs = 'wedgeonwedge' } -- two intersecting logical and + , { code = 0x02A56, char = '⩖', class = 'bin', cs = 'veeonvee' } -- two intersecting logical or + , { code = 0x02A57, char = '⩗', class = 'bin', cs = 'bigslopedvee' } -- sloping large or + , { code = 0x02A58, char = '⩘', class = 'bin', cs = 'bigslopedwedge' } -- sloping large and + , { code = 0x02A59, char = '⩙', class = 'rel', cs = 'veeonwedge' } -- logical or overlapping logical and + , { code = 0x02A5A, char = '⩚', class = 'bin', cs = 'wedgemidvert' } -- logical and with middle stem + , { code = 0x02A5B, char = '⩛', class = 'bin', cs = 'veemidvert' } -- logical or with middle stem + , { code = 0x02A5C, char = '⩜', class = 'bin', cs = 'midbarwedge' } -- logical and with horizontal dash + , { code = 0x02A5D, char = '⩝', class = 'bin', cs = 'midbarvee' } -- logical or with horizontal dash + , { code = 0x02A5E, char = '⩞', class = 'bin', cs = 'doublebarwedge' } -- logical and with double overbar + , { code = 0x02A5F, char = '⩟', class = 'bin', cs = 'wedgebar' } -- logical and with underbar + , { code = 0x02A60, char = '⩠', class = 'bin', cs = 'wedgedoublebar' } -- logical and with double underbar + , { code = 0x02A61, char = '⩡', class = 'bin', cs = 'varveebar' } -- small vee with underbar + , { code = 0x02A62, char = '⩢', class = 'bin', cs = 'doublebarvee' } -- logical or with double overbar + , { code = 0x02A63, char = '⩣', class = 'bin', cs = 'veedoublebar' } -- logical or with double underbar + , { code = 0x02A64, char = '⩤', class = 'bin', cs = 'dsub' } -- z notation domain antirestriction + , { code = 0x02A65, char = '⩥', class = 'bin', cs = 'rsub' } -- z notation range antirestriction + , { code = 0x02A66, char = '⩦', class = 'rel', cs = 'eqdot' } -- equals sign with dot below + , { code = 0x02A67, char = '⩧', class = 'rel', cs = 'dotequiv' } -- identical with dot above + , { code = 0x02A68, char = '⩨', class = 'rel', cs = 'equivVert' } -- triple horizontal bar with double vertical stroke + , { code = 0x02A69, char = '⩩', class = 'rel', cs = 'equivVvert' } -- triple horizontal bar with triple vertical stroke + , { code = 0x02A6A, char = '⩪', class = 'rel', cs = 'dotsim' } -- tilde operator with dot above + , { code = 0x02A6B, char = '⩫', class = 'rel', cs = 'simrdots' } -- tilde operator with rising dots + , { code = 0x02A6C, char = '⩬', class = 'rel', cs = 'simminussim' } -- similar minus similar + , { code = 0x02A6D, char = '⩭', class = 'rel', cs = 'congdot' } -- congruent with dot above + , { code = 0x02A6E, char = '⩮', class = 'rel', cs = 'asteq' } -- equals with asterisk + , { code = 0x02A6F, char = '⩯', class = 'rel', cs = 'hatapprox' } -- almost equal to with circumflex accent + , { code = 0x02A70, char = '⩰', class = 'rel', cs = 'approxeqq' } -- approximately equal or equal to + , { code = 0x02A71, char = '⩱', class = 'bin', cs = 'eqqplus' } -- equals sign above plus sign + , { code = 0x02A72, char = '⩲', class = 'bin', cs = 'pluseqq' } -- plus sign above equals sign + , { code = 0x02A73, char = '⩳', class = 'rel', cs = 'eqqsim' } -- equals sign above tilde operator + , { code = 0x02A74, char = '⩴', class = 'rel', cs = 'Coloneq' } -- double colon equal + , { code = 0x02A75, char = '⩵', class = 'rel', cs = 'eqeq' } -- two consecutive equals signs + , { code = 0x02A76, char = '⩶', class = 'rel', cs = 'eqeqeq' } -- three consecutive equals signs + , { code = 0x02A77, char = '⩷', class = 'rel', cs = 'ddotseq' } -- equals sign with two dots above and two dots below + , { code = 0x02A78, char = '⩸', class = 'rel', cs = 'equivDD' } -- equivalent with four dots above + , { code = 0x02A79, char = '⩹', class = 'rel', cs = 'ltcir' } -- less-than with circle inside + , { code = 0x02A7A, char = '⩺', class = 'rel', cs = 'gtcir' } -- greater-than with circle inside + , { code = 0x02A7B, char = '⩻', class = 'rel', cs = 'ltquest' } -- less-than with question mark above + , { code = 0x02A7C, char = '⩼', class = 'rel', cs = 'gtquest' } -- greater-than with question mark above + , { code = 0x02A7D, char = '⩽', class = 'rel', cs = 'leqslant' } -- less-than or slanted equal to + , { code = 0x02A7E, char = '⩾', class = 'rel', cs = 'geqslant' } -- greater-than or slanted equal to + , { code = 0x02A7F, char = '⩿', class = 'rel', cs = 'lesdot' } -- less-than or slanted equal to with dot inside + , { code = 0x02A80, char = '⪀', class = 'rel', cs = 'gesdot' } -- greater-than or slanted equal to with dot inside + , { code = 0x02A81, char = '⪁', class = 'rel', cs = 'lesdoto' } -- less-than or slanted equal to with dot above + , { code = 0x02A82, char = '⪂', class = 'rel', cs = 'gesdoto' } -- greater-than or slanted equal to with dot above + , { code = 0x02A83, char = '⪃', class = 'rel', cs = 'lesdotor' } -- less-than or slanted equal to with dot above right + , { code = 0x02A84, char = '⪄', class = 'rel', cs = 'gesdotol' } -- greater-than or slanted equal to with dot above left + , { code = 0x02A85, char = '⪅', class = 'rel', cs = 'lessapprox' } -- less-than or approximate + , { code = 0x02A86, char = '⪆', class = 'rel', cs = 'gtrapprox' } -- greater-than or approximate + , { code = 0x02A87, char = '⪇', class = 'rel', cs = 'lneq' } -- less-than and single-line not equal to + , { code = 0x02A88, char = '⪈', class = 'rel', cs = 'gneq' } -- greater-than and single-line not equal to + , { code = 0x02A89, char = '⪉', class = 'rel', cs = 'lnapprox' } -- less-than and not approximate + , { code = 0x02A8A, char = '⪊', class = 'rel', cs = 'gnapprox' } -- greater-than and not approximate + , { code = 0x02A8B, char = '⪋', class = 'rel', cs = 'lesseqqgtr' } -- less-than above double-line equal above greater-than + , { code = 0x02A8C, char = '⪌', class = 'rel', cs = 'gtreqqless' } -- greater-than above double-line equal above less-than + , { code = 0x02A8D, char = '⪍', class = 'rel', cs = 'lsime' } -- less-than above similar or equal + , { code = 0x02A8E, char = '⪎', class = 'rel', cs = 'gsime' } -- greater-than above similar or equal + , { code = 0x02A8F, char = '⪏', class = 'rel', cs = 'lsimg' } -- less-than above similar above greater-than + , { code = 0x02A90, char = '⪐', class = 'rel', cs = 'gsiml' } -- greater-than above similar above less-than + , { code = 0x02A91, char = '⪑', class = 'rel', cs = 'lgE' } -- less-than above greater-than above double-line equal + , { code = 0x02A92, char = '⪒', class = 'rel', cs = 'glE' } -- greater-than above less-than above double-line equal + , { code = 0x02A93, char = '⪓', class = 'rel', cs = 'lesges' } -- less-than above slanted equal above greater-than above slanted equal + , { code = 0x02A94, char = '⪔', class = 'rel', cs = 'gesles' } -- greater-than above slanted equal above less-than above slanted equal + , { code = 0x02A95, char = '⪕', class = 'rel', cs = 'eqslantless' } -- slanted equal to or less-than + , { code = 0x02A96, char = '⪖', class = 'rel', cs = 'eqslantgtr' } -- slanted equal to or greater-than + , { code = 0x02A97, char = '⪗', class = 'rel', cs = 'elsdot' } -- slanted equal to or less-than with dot inside + , { code = 0x02A98, char = '⪘', class = 'rel', cs = 'egsdot' } -- slanted equal to or greater-than with dot inside + , { code = 0x02A99, char = '⪙', class = 'rel', cs = 'eqqless' } -- double-line equal to or less-than + , { code = 0x02A9A, char = '⪚', class = 'rel', cs = 'eqqgtr' } -- double-line equal to or greater-than + , { code = 0x02A9B, char = '⪛', class = 'rel', cs = 'eqqslantless' } -- double-line slanted equal to or less-than + , { code = 0x02A9C, char = '⪜', class = 'rel', cs = 'eqqslantgtr' } -- double-line slanted equal to or greater-than + , { code = 0x02A9D, char = '⪝', class = 'rel', cs = 'simless' } -- similar or less-than + , { code = 0x02A9E, char = '⪞', class = 'rel', cs = 'simgtr' } -- similar or greater-than + , { code = 0x02A9F, char = '⪟', class = 'rel', cs = 'simlE' } -- similar above less-than above equals sign + , { code = 0x02AA0, char = '⪠', class = 'rel', cs = 'simgE' } -- similar above greater-than above equals sign + , { code = 0x02AA1, char = '⪡', class = 'rel', cs = 'Lt' } -- double nested less-than + , { code = 0x02AA2, char = '⪢', class = 'rel', cs = 'Gt' } -- double nested greater-than + , { code = 0x02AA3, char = '⪣', class = 'rel', cs = 'partialmeetcontraction' } -- double nested less-than with underbar + , { code = 0x02AA4, char = '⪤', class = 'rel', cs = 'glj' } -- greater-than overlapping less-than + , { code = 0x02AA5, char = '⪥', class = 'rel', cs = 'gla' } -- greater-than beside less-than + , { code = 0x02AA6, char = '⪦', class = 'rel', cs = 'ltcc' } -- less-than closed by curve + , { code = 0x02AA7, char = '⪧', class = 'rel', cs = 'gtcc' } -- greater-than closed by curve + , { code = 0x02AA8, char = '⪨', class = 'rel', cs = 'lescc' } -- less-than closed by curve above slanted equal + , { code = 0x02AA9, char = '⪩', class = 'rel', cs = 'gescc' } -- greater-than closed by curve above slanted equal + , { code = 0x02AAA, char = '⪪', class = 'rel', cs = 'smt' } -- smaller than + , { code = 0x02AAB, char = '⪫', class = 'rel', cs = 'lat' } -- larger than + , { code = 0x02AAC, char = '⪬', class = 'rel', cs = 'smte' } -- smaller than or equal to + , { code = 0x02AAD, char = '⪭', class = 'rel', cs = 'late' } -- larger than or equal to + , { code = 0x02AAE, char = '⪮', class = 'rel', cs = 'bumpeqq' } -- equals sign with bumpy above + , { code = 0x02AAF, char = '⪯', class = 'rel', cs = 'preceq' } -- precedes above single-line equals sign + , { code = 0x02AB0, char = '⪰', class = 'rel', cs = 'succeq' } -- succeeds above single-line equals sign + , { code = 0x02AB1, char = '⪱', class = 'rel', cs = 'precneq' } -- precedes above single-line not equal to + , { code = 0x02AB2, char = '⪲', class = 'rel', cs = 'succneq' } -- succeeds above single-line not equal to + , { code = 0x02AB3, char = '⪳', class = 'rel', cs = 'preceqq' } -- precedes above equals sign + , { code = 0x02AB4, char = '⪴', class = 'rel', cs = 'succeqq' } -- succeeds above equals sign + , { code = 0x02AB5, char = '⪵', class = 'rel', cs = 'precneqq' } -- precedes above not equal to + , { code = 0x02AB6, char = '⪶', class = 'rel', cs = 'succneqq' } -- succeeds above not equal to + , { code = 0x02AB7, char = '⪷', class = 'rel', cs = 'precapprox' } -- precedes above almost equal to + , { code = 0x02AB8, char = '⪸', class = 'rel', cs = 'succapprox' } -- succeeds above almost equal to + , { code = 0x02AB9, char = '⪹', class = 'rel', cs = 'precnapprox' } -- precedes above not almost equal to + , { code = 0x02ABA, char = '⪺', class = 'rel', cs = 'succnapprox' } -- succeeds above not almost equal to + , { code = 0x02ABB, char = '⪻', class = 'rel', cs = 'Prec' } -- double precedes + , { code = 0x02ABC, char = '⪼', class = 'rel', cs = 'Succ' } -- double succeeds + , { code = 0x02ABD, char = '⪽', class = 'rel', cs = 'subsetdot' } -- subset with dot + , { code = 0x02ABE, char = '⪾', class = 'rel', cs = 'supsetdot' } -- superset with dot + , { code = 0x02ABF, char = '⪿', class = 'rel', cs = 'subsetplus' } -- subset with plus sign below + , { code = 0x02AC0, char = '⫀', class = 'rel', cs = 'supsetplus' } -- superset with plus sign below + , { code = 0x02AC1, char = '⫁', class = 'rel', cs = 'submult' } -- subset with multiplication sign below + , { code = 0x02AC2, char = '⫂', class = 'rel', cs = 'supmult' } -- superset with multiplication sign below + , { code = 0x02AC3, char = '⫃', class = 'rel', cs = 'subedot' } -- subset of or equal to with dot above + , { code = 0x02AC4, char = '⫄', class = 'rel', cs = 'supedot' } -- superset of or equal to with dot above + , { code = 0x02AC5, char = '⫅', class = 'rel', cs = 'subseteqq' } -- subset of above equals sign + , { code = 0x02AC6, char = '⫆', class = 'rel', cs = 'supseteqq' } -- superset of above equals sign + , { code = 0x02AC7, char = '⫇', class = 'rel', cs = 'subsim' } -- subset of above tilde operator + , { code = 0x02AC8, char = '⫈', class = 'rel', cs = 'supsim' } -- superset of above tilde operator + , { code = 0x02AC9, char = '⫉', class = 'rel', cs = 'subsetapprox' } -- subset of above almost equal to + , { code = 0x02ACA, char = '⫊', class = 'rel', cs = 'supsetapprox' } -- superset of above almost equal to + , { code = 0x02ACB, char = '⫋', class = 'rel', cs = 'subsetneqq' } -- subset of above not equal to + , { code = 0x02ACC, char = '⫌', class = 'rel', cs = 'supsetneqq' } -- superset of above not equal to + , { code = 0x02ACD, char = '⫍', class = 'rel', cs = 'lsqhook' } -- square left open box operator + , { code = 0x02ACE, char = '⫎', class = 'rel', cs = 'rsqhook' } -- square right open box operator + , { code = 0x02ACF, char = '⫏', class = 'rel', cs = 'csub' } -- closed subset + , { code = 0x02AD0, char = '⫐', class = 'rel', cs = 'csup' } -- closed superset + , { code = 0x02AD1, char = '⫑', class = 'rel', cs = 'csube' } -- closed subset or equal to + , { code = 0x02AD2, char = '⫒', class = 'rel', cs = 'csupe' } -- closed superset or equal to + , { code = 0x02AD3, char = '⫓', class = 'rel', cs = 'subsup' } -- subset above superset + , { code = 0x02AD4, char = '⫔', class = 'rel', cs = 'supsub' } -- superset above subset + , { code = 0x02AD5, char = '⫕', class = 'rel', cs = 'subsub' } -- subset above subset + , { code = 0x02AD6, char = '⫖', class = 'rel', cs = 'supsup' } -- superset above superset + , { code = 0x02AD7, char = '⫗', class = 'rel', cs = 'suphsub' } -- superset beside subset + , { code = 0x02AD8, char = '⫘', class = 'rel', cs = 'supdsub' } -- superset beside and joined by dash with subset + , { code = 0x02AD9, char = '⫙', class = 'rel', cs = 'forkv' } -- element of opening downwards + , { code = 0x02ADA, char = '⫚', class = 'rel', cs = 'topfork' } -- pitchfork with tee top + , { code = 0x02ADB, char = '⫛', class = 'rel', cs = 'mlcp' } -- transversal intersection + , { code = 0x02ADC, char = '⫝̸', class = 'rel', cs = 'forks' } -- forking + , { code = 0x02ADD, char = '⫝', class = 'rel', cs = 'forksnot' } -- nonforking + , { code = 0x02ADE, char = '⫞', class = 'rel', cs = 'shortlefttack' } -- short left tack + , { code = 0x02ADF, char = '⫟', class = 'rel', cs = 'shortdowntack' } -- short down tack + , { code = 0x02AE0, char = '⫠', class = 'rel', cs = 'shortuptack' } -- short up tack + , { code = 0x02AE1, char = '⫡', class = 'ord', cs = 'perps' } -- perpendicular with s + , { code = 0x02AE2, char = '⫢', class = 'rel', cs = 'vDdash' } -- vertical bar triple right turnstile + , { code = 0x02AE3, char = '⫣', class = 'rel', cs = 'dashV' } -- double vertical bar left turnstile + , { code = 0x02AE4, char = '⫤', class = 'rel', cs = 'Dashv' } -- vertical bar double left turnstile + , { code = 0x02AE5, char = '⫥', class = 'rel', cs = 'DashV' } -- double vertical bar double left turnstile + , { code = 0x02AE6, char = '⫦', class = 'rel', cs = 'varVdash' } -- long dash from left member of double vertical + , { code = 0x02AE7, char = '⫧', class = 'rel', cs = 'Barv' } -- short down tack with overbar + , { code = 0x02AE8, char = '⫨', class = 'rel', cs = 'vBar' } -- short up tack with underbar + , { code = 0x02AE9, char = '⫩', class = 'rel', cs = 'vBarv' } -- short up tack above short down tack + , { code = 0x02AEA, char = '⫪', class = 'rel', cs = 'barV' } -- double down tack + , { code = 0x02AEB, char = '⫫', class = 'rel', cs = 'Vbar' } -- double up tack + , { code = 0x02AEC, char = '⫬', class = 'rel', cs = 'Not' } -- double stroke not sign + , { code = 0x02AED, char = '⫭', class = 'rel', cs = 'bNot' } -- reversed double stroke not sign + , { code = 0x02AEE, char = '⫮', class = 'rel', cs = 'revnmid' } -- does not divide with reversed negation slash + , { code = 0x02AEF, char = '⫯', class = 'rel', cs = 'cirmid' } -- vertical line with circle above + , { code = 0x02AF0, char = '⫰', class = 'rel', cs = 'midcir' } -- vertical line with circle below + , { code = 0x02AF1, char = '⫱', class = 'ord', cs = 'topcir' } -- down tack with circle below + , { code = 0x02AF2, char = '⫲', class = 'rel', cs = 'nhpar' } -- parallel with horizontal stroke + , { code = 0x02AF3, char = '⫳', class = 'rel', cs = 'parsim' } -- parallel with tilde operator + , { code = 0x02AF4, char = '⫴', class = 'bin', cs = 'interleave' } -- triple vertical bar binary relation + , { code = 0x02AF5, char = '⫵', class = 'bin', cs = 'nhVvert' } -- triple vertical bar with horizontal stroke + , { code = 0x02AF6, char = '⫶', class = 'bin', cs = 'threedotcolon' } -- triple colon operator + , { code = 0x02AF7, char = '⫷', class = 'rel', cs = 'lllnest' } -- triple nested less-than + , { code = 0x02AF8, char = '⫸', class = 'rel', cs = 'gggnest' } -- triple nested greater-than + , { code = 0x02AF9, char = '⫹', class = 'rel', cs = 'leqqslant' } -- double-line slanted less-than or equal to + , { code = 0x02AFA, char = '⫺', class = 'rel', cs = 'geqqslant' } -- double-line slanted greater-than or equal to + , { code = 0x02AFB, char = '⫻', class = 'bin', cs = 'trslash' } -- triple solidus binary relation + , { code = 0x02AFC, char = '⫼', class = 'op', cs = 'biginterleave' } -- large triple vertical bar operator + , { code = 0x02AFD, char = '⫽', class = 'bin', cs = 'sslash' } -- double solidus operator + , { code = 0x02AFE, char = '⫾', class = 'bin', cs = 'talloblong' } -- white vertical bar + , { code = 0x02AFF, char = '⫿', class = 'op', cs = 'bigtalloblong' } -- n-ary white vertical bar + , { code = 0x02B12, char = '⬒', class = 'ord', cs = 'squaretopblack' } -- square with top half black + , { code = 0x02B13, char = '⬓', class = 'ord', cs = 'squarebotblack' } -- square with bottom half black + , { code = 0x02B14, char = '⬔', class = 'ord', cs = 'squareurblack' } -- square with upper right diagonal half black + , { code = 0x02B15, char = '⬕', class = 'ord', cs = 'squarellblack' } -- square with lower left diagonal half black + , { code = 0x02B16, char = '⬖', class = 'ord', cs = 'diamondleftblack' } -- diamond with left half black + , { code = 0x02B17, char = '⬗', class = 'ord', cs = 'diamondrightblack' } -- diamond with right half black + , { code = 0x02B18, char = '⬘', class = 'ord', cs = 'diamondtopblack' } -- diamond with top half black + , { code = 0x02B19, char = '⬙', class = 'ord', cs = 'diamondbotblack' } -- diamond with bottom half black + , { code = 0x02B1A, char = '⬚', class = 'ord', cs = 'dottedsquare' } -- dotted square + , { code = 0x02B1B, char = '⬛', class = 'ord', cs = 'lgblksquare' } -- black large square + , { code = 0x02B1C, char = '⬜', class = 'ord', cs = 'lgwhtsquare' } -- white large square + , { code = 0x02B1D, char = '⬝', class = 'ord', cs = 'vysmblksquare' } -- black very small square + , { code = 0x02B1E, char = '⬞', class = 'ord', cs = 'vysmwhtsquare' } -- white very small square + , { code = 0x02B1F, char = '⬟', class = 'ord', cs = 'pentagonblack' } -- black pentagon + , { code = 0x02B20, char = '⬠', class = 'ord', cs = 'pentagon' } -- white pentagon + , { code = 0x02B21, char = '⬡', class = 'ord', cs = 'varhexagon' } -- white hexagon + , { code = 0x02B22, char = '⬢', class = 'ord', cs = 'varhexagonblack' } -- black hexagon + , { code = 0x02B23, char = '⬣', class = 'ord', cs = 'hexagonblack' } -- horizontal black hexagon + , { code = 0x02B24, char = '⬤', class = 'ord', cs = 'lgblkcircle' } -- black large circle + , { code = 0x02B25, char = '⬥', class = 'ord', cs = 'mdblkdiamond' } -- black medium diamond + , { code = 0x02B26, char = '⬦', class = 'ord', cs = 'mdwhtdiamond' } -- white medium diamond + , { code = 0x02B27, char = '⬧', class = 'ord', cs = 'mdblklozenge' } -- black medium lozenge + , { code = 0x02B28, char = '⬨', class = 'ord', cs = 'mdwhtlozenge' } -- white medium lozenge + , { code = 0x02B29, char = '⬩', class = 'ord', cs = 'smblkdiamond' } -- black small diamond + , { code = 0x02B2A, char = '⬪', class = 'ord', cs = 'smblklozenge' } -- black small lozenge + , { code = 0x02B2B, char = '⬫', class = 'ord', cs = 'smwhtlozenge' } -- white small lozenge + , { code = 0x02B2C, char = '⬬', class = 'ord', cs = 'blkhorzoval' } -- black horizontal ellipse + , { code = 0x02B2D, char = '⬭', class = 'ord', cs = 'whthorzoval' } -- white horizontal ellipse + , { code = 0x02B2E, char = '⬮', class = 'ord', cs = 'blkvertoval' } -- black vertical ellipse + , { code = 0x02B2F, char = '⬯', class = 'ord', cs = 'whtvertoval' } -- white vertical ellipse + , { code = 0x02B30, char = '⬰', class = 'rel', cs = 'circleonleftarrow' } -- left arrow with small circle + , { code = 0x02B31, char = '⬱', class = 'rel', cs = 'leftthreearrows' } -- three leftwards arrows + , { code = 0x02B32, char = '⬲', class = 'rel', cs = 'leftarrowonoplus' } -- left arrow with circled plus + , { code = 0x02B33, char = '⬳', class = 'rel', cs = 'longleftsquigarrow' } -- long leftwards squiggle arrow + , { code = 0x02B34, char = '⬴', class = 'rel', cs = 'nvtwoheadleftarrow' } -- leftwards two-headed arrow with vertical stroke + , { code = 0x02B35, char = '⬵', class = 'rel', cs = 'nVtwoheadleftarrow' } -- leftwards two-headed arrow with double vertical stroke + , { code = 0x02B36, char = '⬶', class = 'rel', cs = 'twoheadmapsfrom' } -- leftwards two-headed arrow from bar + , { code = 0x02B37, char = '⬷', class = 'rel', cs = 'twoheadleftdbkarrow' } -- leftwards two-headed triple dash arrow + , { code = 0x02B38, char = '⬸', class = 'rel', cs = 'leftdotarrow' } -- leftwards arrow with dotted stem + , { code = 0x02B39, char = '⬹', class = 'rel', cs = 'nvleftarrowtail' } -- leftwards arrow with tail with vertical stroke + , { code = 0x02B3A, char = '⬺', class = 'rel', cs = 'nVleftarrowtail' } -- leftwards arrow with tail with double vertical stroke + , { code = 0x02B3B, char = '⬻', class = 'rel', cs = 'twoheadleftarrowtail' } -- leftwards two-headed arrow with tail + , { code = 0x02B3C, char = '⬼', class = 'rel', cs = 'nvtwoheadleftarrowtail' } -- leftwards two-headed arrow with tail with vertical stroke + , { code = 0x02B3D, char = '⬽', class = 'rel', cs = 'nVtwoheadleftarrowtail' } -- leftwards two-headed arrow with tail with double vertical stroke + , { code = 0x02B3E, char = '⬾', class = 'rel', cs = 'leftarrowx' } -- leftwards arrow through x + , { code = 0x02B3F, char = '⬿', class = 'rel', cs = 'leftcurvedarrow' } -- wave arrow pointing directly left + , { code = 0x02B40, char = '⭀', class = 'rel', cs = 'equalleftarrow' } -- equals sign above leftwards arrow + , { code = 0x02B41, char = '⭁', class = 'rel', cs = 'bsimilarleftarrow' } -- reverse tilde operator above leftwards arrow + , { code = 0x02B42, char = '⭂', class = 'rel', cs = 'leftarrowbackapprox' } -- leftwards arrow above reverse almost equal to + , { code = 0x02B43, char = '⭃', class = 'rel', cs = 'rightarrowgtr' } -- rightwards arrow through greater-than + , { code = 0x02B44, char = '⭄', class = 'rel', cs = 'rightarrowsupset' } -- rightwards arrow through superset + , { code = 0x02B45, char = '⭅', class = 'rel', cs = 'LLeftarrow' } -- leftwards quadruple arrow + , { code = 0x02B46, char = '⭆', class = 'rel', cs = 'RRightarrow' } -- rightwards quadruple arrow + , { code = 0x02B47, char = '⭇', class = 'rel', cs = 'bsimilarrightarrow' } -- reverse tilde operator above rightwards arrow + , { code = 0x02B48, char = '⭈', class = 'rel', cs = 'rightarrowbackapprox' } -- rightwards arrow above reverse almost equal to + , { code = 0x02B49, char = '⭉', class = 'rel', cs = 'similarleftarrow' } -- tilde operator above leftwards arrow + , { code = 0x02B4A, char = '⭊', class = 'rel', cs = 'leftarrowapprox' } -- leftwards arrow above almost equal to + , { code = 0x02B4B, char = '⭋', class = 'rel', cs = 'leftarrowbsimilar' } -- leftwards arrow above reverse tilde operator + , { code = 0x02B4C, char = '⭌', class = 'rel', cs = 'rightarrowbsimilar' } -- rightwards arrow above reverse tilde operator + , { code = 0x02B50, char = '⭐', class = 'ord', cs = 'medwhitestar' } -- white medium star + , { code = 0x02B51, char = '⭑', class = 'ord', cs = 'medblackstar' } -- black small star + , { code = 0x02B52, char = '⭒', class = 'ord', cs = 'smwhitestar' } -- white small star + , { code = 0x02B53, char = '⭓', class = 'ord', cs = 'rightpentagonblack' } -- black right-pointing pentagon + , { code = 0x02B54, char = '⭔', class = 'ord', cs = 'rightpentagon' } -- white right-pointing pentagon + , { code = 0x03012, char = '〒', class = 'ord', cs = 'postalmark' } -- postal mark + , { code = 0x03014, char = '〔', class = 'open', cs = 'lbrbrak' } -- left tortoise shell bracket + , { code = 0x03015, char = '〕', class = 'close', cs = 'rbrbrak' } -- right tortoise shell bracket + , { code = 0x03018, char = '〘', class = 'open', cs = 'Lbrbrak' } -- left white tortoise shell bracket + , { code = 0x03019, char = '〙', class = 'close', cs = 'Rbrbrak' } -- right white tortoise shell bracket + , { code = 0x03030, char = '〰', class = 'ord', cs = 'hzigzag' } -- wavy dash + , { code = 0x1D400, char = '𝐀', class = 'ord', cs = 'mbfA', alphabet = 'bold' } -- mathematical bold capital a + , { code = 0x1D401, char = '𝐁', class = 'ord', cs = 'mbfB', alphabet = 'bold' } -- mathematical bold capital b + , { code = 0x1D402, char = '𝐂', class = 'ord', cs = 'mbfC', alphabet = 'bold' } -- mathematical bold capital c + , { code = 0x1D403, char = '𝐃', class = 'ord', cs = 'mbfD', alphabet = 'bold' } -- mathematical bold capital d + , { code = 0x1D404, char = '𝐄', class = 'ord', cs = 'mbfE', alphabet = 'bold' } -- mathematical bold capital e + , { code = 0x1D405, char = '𝐅', class = 'ord', cs = 'mbfF', alphabet = 'bold' } -- mathematical bold capital f + , { code = 0x1D406, char = '𝐆', class = 'ord', cs = 'mbfG', alphabet = 'bold' } -- mathematical bold capital g + , { code = 0x1D407, char = '𝐇', class = 'ord', cs = 'mbfH', alphabet = 'bold' } -- mathematical bold capital h + , { code = 0x1D408, char = '𝐈', class = 'ord', cs = 'mbfI', alphabet = 'bold' } -- mathematical bold capital i + , { code = 0x1D409, char = '𝐉', class = 'ord', cs = 'mbfJ', alphabet = 'bold' } -- mathematical bold capital j + , { code = 0x1D40A, char = '𝐊', class = 'ord', cs = 'mbfK', alphabet = 'bold' } -- mathematical bold capital k + , { code = 0x1D40B, char = '𝐋', class = 'ord', cs = 'mbfL', alphabet = 'bold' } -- mathematical bold capital l + , { code = 0x1D40C, char = '𝐌', class = 'ord', cs = 'mbfM', alphabet = 'bold' } -- mathematical bold capital m + , { code = 0x1D40D, char = '𝐍', class = 'ord', cs = 'mbfN', alphabet = 'bold' } -- mathematical bold capital n + , { code = 0x1D40E, char = '𝐎', class = 'ord', cs = 'mbfO', alphabet = 'bold' } -- mathematical bold capital o + , { code = 0x1D40F, char = '𝐏', class = 'ord', cs = 'mbfP', alphabet = 'bold' } -- mathematical bold capital p + , { code = 0x1D410, char = '𝐐', class = 'ord', cs = 'mbfQ', alphabet = 'bold' } -- mathematical bold capital q + , { code = 0x1D411, char = '𝐑', class = 'ord', cs = 'mbfR', alphabet = 'bold' } -- mathematical bold capital r + , { code = 0x1D412, char = '𝐒', class = 'ord', cs = 'mbfS', alphabet = 'bold' } -- mathematical bold capital s + , { code = 0x1D413, char = '𝐓', class = 'ord', cs = 'mbfT', alphabet = 'bold' } -- mathematical bold capital t + , { code = 0x1D414, char = '𝐔', class = 'ord', cs = 'mbfU', alphabet = 'bold' } -- mathematical bold capital u + , { code = 0x1D415, char = '𝐕', class = 'ord', cs = 'mbfV', alphabet = 'bold' } -- mathematical bold capital v + , { code = 0x1D416, char = '𝐖', class = 'ord', cs = 'mbfW', alphabet = 'bold' } -- mathematical bold capital w + , { code = 0x1D417, char = '𝐗', class = 'ord', cs = 'mbfX', alphabet = 'bold' } -- mathematical bold capital x + , { code = 0x1D418, char = '𝐘', class = 'ord', cs = 'mbfY', alphabet = 'bold' } -- mathematical bold capital y + , { code = 0x1D419, char = '𝐙', class = 'ord', cs = 'mbfZ', alphabet = 'bold' } -- mathematical bold capital z + , { code = 0x1D41A, char = '𝐚', class = 'ord', cs = 'mbfa', alphabet = 'bold' } -- mathematical bold small a + , { code = 0x1D41B, char = '𝐛', class = 'ord', cs = 'mbfb', alphabet = 'bold' } -- mathematical bold small b + , { code = 0x1D41C, char = '𝐜', class = 'ord', cs = 'mbfc', alphabet = 'bold' } -- mathematical bold small c + , { code = 0x1D41D, char = '𝐝', class = 'ord', cs = 'mbfd', alphabet = 'bold' } -- mathematical bold small d + , { code = 0x1D41E, char = '𝐞', class = 'ord', cs = 'mbfe', alphabet = 'bold' } -- mathematical bold small e + , { code = 0x1D41F, char = '𝐟', class = 'ord', cs = 'mbff', alphabet = 'bold' } -- mathematical bold small f + , { code = 0x1D420, char = '𝐠', class = 'ord', cs = 'mbfg', alphabet = 'bold' } -- mathematical bold small g + , { code = 0x1D421, char = '𝐡', class = 'ord', cs = 'mbfh', alphabet = 'bold' } -- mathematical bold small h + , { code = 0x1D422, char = '𝐢', class = 'ord', cs = 'mbfi', alphabet = 'bold' } -- mathematical bold small i + , { code = 0x1D423, char = '𝐣', class = 'ord', cs = 'mbfj', alphabet = 'bold' } -- mathematical bold small j + , { code = 0x1D424, char = '𝐤', class = 'ord', cs = 'mbfk', alphabet = 'bold' } -- mathematical bold small k + , { code = 0x1D425, char = '𝐥', class = 'ord', cs = 'mbfl', alphabet = 'bold' } -- mathematical bold small l + , { code = 0x1D426, char = '𝐦', class = 'ord', cs = 'mbfm', alphabet = 'bold' } -- mathematical bold small m + , { code = 0x1D427, char = '𝐧', class = 'ord', cs = 'mbfn', alphabet = 'bold' } -- mathematical bold small n + , { code = 0x1D428, char = '𝐨', class = 'ord', cs = 'mbfo', alphabet = 'bold' } -- mathematical bold small o + , { code = 0x1D429, char = '𝐩', class = 'ord', cs = 'mbfp', alphabet = 'bold' } -- mathematical bold small p + , { code = 0x1D42A, char = '𝐪', class = 'ord', cs = 'mbfq', alphabet = 'bold' } -- mathematical bold small q + , { code = 0x1D42B, char = '𝐫', class = 'ord', cs = 'mbfr', alphabet = 'bold' } -- mathematical bold small r + , { code = 0x1D42C, char = '𝐬', class = 'ord', cs = 'mbfs', alphabet = 'bold' } -- mathematical bold small s + , { code = 0x1D42D, char = '𝐭', class = 'ord', cs = 'mbft', alphabet = 'bold' } -- mathematical bold small t + , { code = 0x1D42E, char = '𝐮', class = 'ord', cs = 'mbfu', alphabet = 'bold' } -- mathematical bold small u + , { code = 0x1D42F, char = '𝐯', class = 'ord', cs = 'mbfv', alphabet = 'bold' } -- mathematical bold small v + , { code = 0x1D430, char = '𝐰', class = 'ord', cs = 'mbfw', alphabet = 'bold' } -- mathematical bold small w + , { code = 0x1D431, char = '𝐱', class = 'ord', cs = 'mbfx', alphabet = 'bold' } -- mathematical bold small x + , { code = 0x1D432, char = '𝐲', class = 'ord', cs = 'mbfy', alphabet = 'bold' } -- mathematical bold small y + , { code = 0x1D433, char = '𝐳', class = 'ord', cs = 'mbfz', alphabet = 'bold' } -- mathematical bold small z + , { code = 0x1D434, char = '𝐴', class = 'ord', cs = 'mitA' } -- mathematical italic capital a + , { code = 0x1D435, char = '𝐵', class = 'ord', cs = 'mitB' } -- mathematical italic capital b + , { code = 0x1D436, char = '𝐶', class = 'ord', cs = 'mitC' } -- mathematical italic capital c + , { code = 0x1D437, char = '𝐷', class = 'ord', cs = 'mitD' } -- mathematical italic capital d + , { code = 0x1D438, char = '𝐸', class = 'ord', cs = 'mitE' } -- mathematical italic capital e + , { code = 0x1D439, char = '𝐹', class = 'ord', cs = 'mitF' } -- mathematical italic capital f + , { code = 0x1D43A, char = '𝐺', class = 'ord', cs = 'mitG' } -- mathematical italic capital g + , { code = 0x1D43B, char = '𝐻', class = 'ord', cs = 'mitH' } -- mathematical italic capital h + , { code = 0x1D43C, char = '𝐼', class = 'ord', cs = 'mitI' } -- mathematical italic capital i + , { code = 0x1D43D, char = '𝐽', class = 'ord', cs = 'mitJ' } -- mathematical italic capital j + , { code = 0x1D43E, char = '𝐾', class = 'ord', cs = 'mitK' } -- mathematical italic capital k + , { code = 0x1D43F, char = '𝐿', class = 'ord', cs = 'mitL' } -- mathematical italic capital l + , { code = 0x1D440, char = '𝑀', class = 'ord', cs = 'mitM' } -- mathematical italic capital m + , { code = 0x1D441, char = '𝑁', class = 'ord', cs = 'mitN' } -- mathematical italic capital n + , { code = 0x1D442, char = '𝑂', class = 'ord', cs = 'mitO' } -- mathematical italic capital o + , { code = 0x1D443, char = '𝑃', class = 'ord', cs = 'mitP' } -- mathematical italic capital p + , { code = 0x1D444, char = '𝑄', class = 'ord', cs = 'mitQ' } -- mathematical italic capital q + , { code = 0x1D445, char = '𝑅', class = 'ord', cs = 'mitR' } -- mathematical italic capital r + , { code = 0x1D446, char = '𝑆', class = 'ord', cs = 'mitS' } -- mathematical italic capital s + , { code = 0x1D447, char = '𝑇', class = 'ord', cs = 'mitT' } -- mathematical italic capital t + , { code = 0x1D448, char = '𝑈', class = 'ord', cs = 'mitU' } -- mathematical italic capital u + , { code = 0x1D449, char = '𝑉', class = 'ord', cs = 'mitV' } -- mathematical italic capital v + , { code = 0x1D44A, char = '𝑊', class = 'ord', cs = 'mitW' } -- mathematical italic capital w + , { code = 0x1D44B, char = '𝑋', class = 'ord', cs = 'mitX' } -- mathematical italic capital x + , { code = 0x1D44C, char = '𝑌', class = 'ord', cs = 'mitY' } -- mathematical italic capital y + , { code = 0x1D44D, char = '𝑍', class = 'ord', cs = 'mitZ' } -- mathematical italic capital z + , { code = 0x1D44E, char = '𝑎', class = 'ord', cs = 'mita' } -- mathematical italic small a + , { code = 0x1D44F, char = '𝑏', class = 'ord', cs = 'mitb' } -- mathematical italic small b + , { code = 0x1D450, char = '𝑐', class = 'ord', cs = 'mitc' } -- mathematical italic small c + , { code = 0x1D451, char = '𝑑', class = 'ord', cs = 'mitd' } -- mathematical italic small d + , { code = 0x1D452, char = '𝑒', class = 'ord', cs = 'mite' } -- mathematical italic small e + , { code = 0x1D453, char = '𝑓', class = 'ord', cs = 'mitf' } -- mathematical italic small f + , { code = 0x1D454, char = '𝑔', class = 'ord', cs = 'mitg' } -- mathematical italic small g + , { code = 0x1D456, char = '𝑖', class = 'ord', cs = 'miti' } -- mathematical italic small i + , { code = 0x1D457, char = '𝑗', class = 'ord', cs = 'mitj' } -- mathematical italic small j + , { code = 0x1D458, char = '𝑘', class = 'ord', cs = 'mitk' } -- mathematical italic small k + , { code = 0x1D459, char = '𝑙', class = 'ord', cs = 'mitl' } -- mathematical italic small l + , { code = 0x1D45A, char = '𝑚', class = 'ord', cs = 'mitm' } -- mathematical italic small m + , { code = 0x1D45B, char = '𝑛', class = 'ord', cs = 'mitn' } -- mathematical italic small n + , { code = 0x1D45C, char = '𝑜', class = 'ord', cs = 'mito' } -- mathematical italic small o + , { code = 0x1D45D, char = '𝑝', class = 'ord', cs = 'mitp' } -- mathematical italic small p + , { code = 0x1D45E, char = '𝑞', class = 'ord', cs = 'mitq' } -- mathematical italic small q + , { code = 0x1D45F, char = '𝑟', class = 'ord', cs = 'mitr' } -- mathematical italic small r + , { code = 0x1D460, char = '𝑠', class = 'ord', cs = 'mits' } -- mathematical italic small s + , { code = 0x1D461, char = '𝑡', class = 'ord', cs = 'mitt' } -- mathematical italic small t + , { code = 0x1D462, char = '𝑢', class = 'ord', cs = 'mitu' } -- mathematical italic small u + , { code = 0x1D463, char = '𝑣', class = 'ord', cs = 'mitv' } -- mathematical italic small v + , { code = 0x1D464, char = '𝑤', class = 'ord', cs = 'mitw' } -- mathematical italic small w + , { code = 0x1D465, char = '𝑥', class = 'ord', cs = 'mitx' } -- mathematical italic small x + , { code = 0x1D466, char = '𝑦', class = 'ord', cs = 'mity' } -- mathematical italic small y + , { code = 0x1D467, char = '𝑧', class = 'ord', cs = 'mitz' } -- mathematical italic small z + , { code = 0x1D468, char = '𝑨', class = 'ord', cs = 'mbfitA', alphabet = 'bold' } -- mathematical bold italic capital a + , { code = 0x1D469, char = '𝑩', class = 'ord', cs = 'mbfitB', alphabet = 'bold' } -- mathematical bold italic capital b + , { code = 0x1D46A, char = '𝑪', class = 'ord', cs = 'mbfitC', alphabet = 'bold' } -- mathematical bold italic capital c + , { code = 0x1D46B, char = '𝑫', class = 'ord', cs = 'mbfitD', alphabet = 'bold' } -- mathematical bold italic capital d + , { code = 0x1D46C, char = '𝑬', class = 'ord', cs = 'mbfitE', alphabet = 'bold' } -- mathematical bold italic capital e + , { code = 0x1D46D, char = '𝑭', class = 'ord', cs = 'mbfitF', alphabet = 'bold' } -- mathematical bold italic capital f + , { code = 0x1D46E, char = '𝑮', class = 'ord', cs = 'mbfitG', alphabet = 'bold' } -- mathematical bold italic capital g + , { code = 0x1D46F, char = '𝑯', class = 'ord', cs = 'mbfitH', alphabet = 'bold' } -- mathematical bold italic capital h + , { code = 0x1D470, char = '𝑰', class = 'ord', cs = 'mbfitI', alphabet = 'bold' } -- mathematical bold italic capital i + , { code = 0x1D471, char = '𝑱', class = 'ord', cs = 'mbfitJ', alphabet = 'bold' } -- mathematical bold italic capital j + , { code = 0x1D472, char = '𝑲', class = 'ord', cs = 'mbfitK', alphabet = 'bold' } -- mathematical bold italic capital k + , { code = 0x1D473, char = '𝑳', class = 'ord', cs = 'mbfitL', alphabet = 'bold' } -- mathematical bold italic capital l + , { code = 0x1D474, char = '𝑴', class = 'ord', cs = 'mbfitM', alphabet = 'bold' } -- mathematical bold italic capital m + , { code = 0x1D475, char = '𝑵', class = 'ord', cs = 'mbfitN', alphabet = 'bold' } -- mathematical bold italic capital n + , { code = 0x1D476, char = '𝑶', class = 'ord', cs = 'mbfitO', alphabet = 'bold' } -- mathematical bold italic capital o + , { code = 0x1D477, char = '𝑷', class = 'ord', cs = 'mbfitP', alphabet = 'bold' } -- mathematical bold italic capital p + , { code = 0x1D478, char = '𝑸', class = 'ord', cs = 'mbfitQ', alphabet = 'bold' } -- mathematical bold italic capital q + , { code = 0x1D479, char = '𝑹', class = 'ord', cs = 'mbfitR', alphabet = 'bold' } -- mathematical bold italic capital r + , { code = 0x1D47A, char = '𝑺', class = 'ord', cs = 'mbfitS', alphabet = 'bold' } -- mathematical bold italic capital s + , { code = 0x1D47B, char = '𝑻', class = 'ord', cs = 'mbfitT', alphabet = 'bold' } -- mathematical bold italic capital t + , { code = 0x1D47C, char = '𝑼', class = 'ord', cs = 'mbfitU', alphabet = 'bold' } -- mathematical bold italic capital u + , { code = 0x1D47D, char = '𝑽', class = 'ord', cs = 'mbfitV', alphabet = 'bold' } -- mathematical bold italic capital v + , { code = 0x1D47E, char = '𝑾', class = 'ord', cs = 'mbfitW', alphabet = 'bold' } -- mathematical bold italic capital w + , { code = 0x1D47F, char = '𝑿', class = 'ord', cs = 'mbfitX', alphabet = 'bold' } -- mathematical bold italic capital x + , { code = 0x1D480, char = '𝒀', class = 'ord', cs = 'mbfitY', alphabet = 'bold' } -- mathematical bold italic capital y + , { code = 0x1D481, char = '𝒁', class = 'ord', cs = 'mbfitZ', alphabet = 'bold' } -- mathematical bold italic capital z + , { code = 0x1D482, char = '𝒂', class = 'ord', cs = 'mbfita', alphabet = 'bold' } -- mathematical bold italic small a + , { code = 0x1D483, char = '𝒃', class = 'ord', cs = 'mbfitb', alphabet = 'bold' } -- mathematical bold italic small b + , { code = 0x1D484, char = '𝒄', class = 'ord', cs = 'mbfitc', alphabet = 'bold' } -- mathematical bold italic small c + , { code = 0x1D485, char = '𝒅', class = 'ord', cs = 'mbfitd', alphabet = 'bold' } -- mathematical bold italic small d + , { code = 0x1D486, char = '𝒆', class = 'ord', cs = 'mbfite', alphabet = 'bold' } -- mathematical bold italic small e + , { code = 0x1D487, char = '𝒇', class = 'ord', cs = 'mbfitf', alphabet = 'bold' } -- mathematical bold italic small f + , { code = 0x1D488, char = '𝒈', class = 'ord', cs = 'mbfitg', alphabet = 'bold' } -- mathematical bold italic small g + , { code = 0x1D489, char = '𝒉', class = 'ord', cs = 'mbfith', alphabet = 'bold' } -- mathematical bold italic small h + , { code = 0x1D48A, char = '𝒊', class = 'ord', cs = 'mbfiti', alphabet = 'bold' } -- mathematical bold italic small i + , { code = 0x1D48B, char = '𝒋', class = 'ord', cs = 'mbfitj', alphabet = 'bold' } -- mathematical bold italic small j + , { code = 0x1D48C, char = '𝒌', class = 'ord', cs = 'mbfitk', alphabet = 'bold' } -- mathematical bold italic small k + , { code = 0x1D48D, char = '𝒍', class = 'ord', cs = 'mbfitl', alphabet = 'bold' } -- mathematical bold italic small l + , { code = 0x1D48E, char = '𝒎', class = 'ord', cs = 'mbfitm', alphabet = 'bold' } -- mathematical bold italic small m + , { code = 0x1D48F, char = '𝒏', class = 'ord', cs = 'mbfitn', alphabet = 'bold' } -- mathematical bold italic small n + , { code = 0x1D490, char = '𝒐', class = 'ord', cs = 'mbfito', alphabet = 'bold' } -- mathematical bold italic small o + , { code = 0x1D491, char = '𝒑', class = 'ord', cs = 'mbfitp', alphabet = 'bold' } -- mathematical bold italic small p + , { code = 0x1D492, char = '𝒒', class = 'ord', cs = 'mbfitq', alphabet = 'bold' } -- mathematical bold italic small q + , { code = 0x1D493, char = '𝒓', class = 'ord', cs = 'mbfitr', alphabet = 'bold' } -- mathematical bold italic small r + , { code = 0x1D494, char = '𝒔', class = 'ord', cs = 'mbfits', alphabet = 'bold' } -- mathematical bold italic small s + , { code = 0x1D495, char = '𝒕', class = 'ord', cs = 'mbfitt', alphabet = 'bold' } -- mathematical bold italic small t + , { code = 0x1D496, char = '𝒖', class = 'ord', cs = 'mbfitu', alphabet = 'bold' } -- mathematical bold italic small u + , { code = 0x1D497, char = '𝒗', class = 'ord', cs = 'mbfitv', alphabet = 'bold' } -- mathematical bold italic small v + , { code = 0x1D498, char = '𝒘', class = 'ord', cs = 'mbfitw', alphabet = 'bold' } -- mathematical bold italic small w + , { code = 0x1D499, char = '𝒙', class = 'ord', cs = 'mbfitx', alphabet = 'bold' } -- mathematical bold italic small x + , { code = 0x1D49A, char = '𝒚', class = 'ord', cs = 'mbfity', alphabet = 'bold' } -- mathematical bold italic small y + , { code = 0x1D49B, char = '𝒛', class = 'ord', cs = 'mbfitz', alphabet = 'bold' } -- mathematical bold italic small z + , { code = 0x1D49C, char = '𝒜', class = 'ord', cs = 'mscrA', alphabet = 'script' } -- mathematical script capital a + , { code = 0x1D49E, char = '𝒞', class = 'ord', cs = 'mscrC', alphabet = 'script' } -- mathematical script capital c + , { code = 0x1D49F, char = '𝒟', class = 'ord', cs = 'mscrD', alphabet = 'script' } -- mathematical script capital d + , { code = 0x1D4A2, char = '𝒢', class = 'ord', cs = 'mscrG', alphabet = 'script' } -- mathematical script capital g + , { code = 0x1D4A5, char = '𝒥', class = 'ord', cs = 'mscrJ', alphabet = 'script' } -- mathematical script capital j + , { code = 0x1D4A6, char = '𝒦', class = 'ord', cs = 'mscrK', alphabet = 'script' } -- mathematical script capital k + , { code = 0x1D4A9, char = '𝒩', class = 'ord', cs = 'mscrN', alphabet = 'script' } -- mathematical script capital n + , { code = 0x1D4AA, char = '𝒪', class = 'ord', cs = 'mscrO', alphabet = 'script' } -- mathematical script capital o + , { code = 0x1D4AB, char = '𝒫', class = 'ord', cs = 'mscrP', alphabet = 'script' } -- mathematical script capital p + , { code = 0x1D4AC, char = '𝒬', class = 'ord', cs = 'mscrQ', alphabet = 'script' } -- mathematical script capital q + , { code = 0x1D4AE, char = '𝒮', class = 'ord', cs = 'mscrS', alphabet = 'script' } -- mathematical script capital s + , { code = 0x1D4AF, char = '𝒯', class = 'ord', cs = 'mscrT', alphabet = 'script' } -- mathematical script capital t + , { code = 0x1D4B0, char = '𝒰', class = 'ord', cs = 'mscrU', alphabet = 'script' } -- mathematical script capital u + , { code = 0x1D4B1, char = '𝒱', class = 'ord', cs = 'mscrV', alphabet = 'script' } -- mathematical script capital v + , { code = 0x1D4B2, char = '𝒲', class = 'ord', cs = 'mscrW', alphabet = 'script' } -- mathematical script capital w + , { code = 0x1D4B3, char = '𝒳', class = 'ord', cs = 'mscrX', alphabet = 'script' } -- mathematical script capital x + , { code = 0x1D4B4, char = '𝒴', class = 'ord', cs = 'mscrY', alphabet = 'script' } -- mathematical script capital y + , { code = 0x1D4B5, char = '𝒵', class = 'ord', cs = 'mscrZ', alphabet = 'script' } -- mathematical script capital z + , { code = 0x1D4B6, char = '𝒶', class = 'ord', cs = 'mscra', alphabet = 'script' } -- mathematical script small a + , { code = 0x1D4B7, char = '𝒷', class = 'ord', cs = 'mscrb', alphabet = 'script' } -- mathematical script small b + , { code = 0x1D4B8, char = '𝒸', class = 'ord', cs = 'mscrc', alphabet = 'script' } -- mathematical script small c + , { code = 0x1D4B9, char = '𝒹', class = 'ord', cs = 'mscrd', alphabet = 'script' } -- mathematical script small d + , { code = 0x1D4BB, char = '𝒻', class = 'ord', cs = 'mscrf', alphabet = 'script' } -- mathematical script small f + , { code = 0x1D4BD, char = '𝒽', class = 'ord', cs = 'mscrh', alphabet = 'script' } -- mathematical script small h + , { code = 0x1D4BE, char = '𝒾', class = 'ord', cs = 'mscri', alphabet = 'script' } -- mathematical script small i + , { code = 0x1D4BF, char = '𝒿', class = 'ord', cs = 'mscrj', alphabet = 'script' } -- mathematical script small j + , { code = 0x1D4C0, char = '𝓀', class = 'ord', cs = 'mscrk', alphabet = 'script' } -- mathematical script small k + , { code = 0x1D4C1, char = '𝓁', class = 'ord', cs = 'mscrl', alphabet = 'script' } -- mathematical script small l + , { code = 0x1D4C2, char = '𝓂', class = 'ord', cs = 'mscrm', alphabet = 'script' } -- mathematical script small m + , { code = 0x1D4C3, char = '𝓃', class = 'ord', cs = 'mscrn', alphabet = 'script' } -- mathematical script small n + , { code = 0x1D4C5, char = '𝓅', class = 'ord', cs = 'mscrp', alphabet = 'script' } -- mathematical script small p + , { code = 0x1D4C6, char = '𝓆', class = 'ord', cs = 'mscrq', alphabet = 'script' } -- mathematical script small q + , { code = 0x1D4C7, char = '𝓇', class = 'ord', cs = 'mscrr', alphabet = 'script' } -- mathematical script small r + , { code = 0x1D4C8, char = '𝓈', class = 'ord', cs = 'mscrs', alphabet = 'script' } -- mathematical script small s + , { code = 0x1D4C9, char = '𝓉', class = 'ord', cs = 'mscrt', alphabet = 'script' } -- mathematical script small t + , { code = 0x1D4CA, char = '𝓊', class = 'ord', cs = 'mscru', alphabet = 'script' } -- mathematical script small u + , { code = 0x1D4CB, char = '𝓋', class = 'ord', cs = 'mscrv', alphabet = 'script' } -- mathematical script small v + , { code = 0x1D4CC, char = '𝓌', class = 'ord', cs = 'mscrw', alphabet = 'script' } -- mathematical script small w + , { code = 0x1D4CD, char = '𝓍', class = 'ord', cs = 'mscrx', alphabet = 'script' } -- mathematical script small x + , { code = 0x1D4CE, char = '𝓎', class = 'ord', cs = 'mscry', alphabet = 'script' } -- mathematical script small y + , { code = 0x1D4CF, char = '𝓏', class = 'ord', cs = 'mscrz', alphabet = 'script' } -- mathematical script small z + , { code = 0x1D4D0, char = '𝓐', class = 'ord', cs = 'mbfscrA', alphabet = 'script' } -- mathematical bold script capital a + , { code = 0x1D4D1, char = '𝓑', class = 'ord', cs = 'mbfscrB', alphabet = 'script' } -- mathematical bold script capital b + , { code = 0x1D4D2, char = '𝓒', class = 'ord', cs = 'mbfscrC', alphabet = 'script' } -- mathematical bold script capital c + , { code = 0x1D4D3, char = '𝓓', class = 'ord', cs = 'mbfscrD', alphabet = 'script' } -- mathematical bold script capital d + , { code = 0x1D4D4, char = '𝓔', class = 'ord', cs = 'mbfscrE', alphabet = 'script' } -- mathematical bold script capital e + , { code = 0x1D4D5, char = '𝓕', class = 'ord', cs = 'mbfscrF', alphabet = 'script' } -- mathematical bold script capital f + , { code = 0x1D4D6, char = '𝓖', class = 'ord', cs = 'mbfscrG', alphabet = 'script' } -- mathematical bold script capital g + , { code = 0x1D4D7, char = '𝓗', class = 'ord', cs = 'mbfscrH', alphabet = 'script' } -- mathematical bold script capital h + , { code = 0x1D4D8, char = '𝓘', class = 'ord', cs = 'mbfscrI', alphabet = 'script' } -- mathematical bold script capital i + , { code = 0x1D4D9, char = '𝓙', class = 'ord', cs = 'mbfscrJ', alphabet = 'script' } -- mathematical bold script capital j + , { code = 0x1D4DA, char = '𝓚', class = 'ord', cs = 'mbfscrK', alphabet = 'script' } -- mathematical bold script capital k + , { code = 0x1D4DB, char = '𝓛', class = 'ord', cs = 'mbfscrL', alphabet = 'script' } -- mathematical bold script capital l + , { code = 0x1D4DC, char = '𝓜', class = 'ord', cs = 'mbfscrM', alphabet = 'script' } -- mathematical bold script capital m + , { code = 0x1D4DD, char = '𝓝', class = 'ord', cs = 'mbfscrN', alphabet = 'script' } -- mathematical bold script capital n + , { code = 0x1D4DE, char = '𝓞', class = 'ord', cs = 'mbfscrO', alphabet = 'script' } -- mathematical bold script capital o + , { code = 0x1D4DF, char = '𝓟', class = 'ord', cs = 'mbfscrP', alphabet = 'script' } -- mathematical bold script capital p + , { code = 0x1D4E0, char = '𝓠', class = 'ord', cs = 'mbfscrQ', alphabet = 'script' } -- mathematical bold script capital q + , { code = 0x1D4E1, char = '𝓡', class = 'ord', cs = 'mbfscrR', alphabet = 'script' } -- mathematical bold script capital r + , { code = 0x1D4E2, char = '𝓢', class = 'ord', cs = 'mbfscrS', alphabet = 'script' } -- mathematical bold script capital s + , { code = 0x1D4E3, char = '𝓣', class = 'ord', cs = 'mbfscrT', alphabet = 'script' } -- mathematical bold script capital t + , { code = 0x1D4E4, char = '𝓤', class = 'ord', cs = 'mbfscrU', alphabet = 'script' } -- mathematical bold script capital u + , { code = 0x1D4E5, char = '𝓥', class = 'ord', cs = 'mbfscrV', alphabet = 'script' } -- mathematical bold script capital v + , { code = 0x1D4E6, char = '𝓦', class = 'ord', cs = 'mbfscrW', alphabet = 'script' } -- mathematical bold script capital w + , { code = 0x1D4E7, char = '𝓧', class = 'ord', cs = 'mbfscrX', alphabet = 'script' } -- mathematical bold script capital x + , { code = 0x1D4E8, char = '𝓨', class = 'ord', cs = 'mbfscrY', alphabet = 'script' } -- mathematical bold script capital y + , { code = 0x1D4E9, char = '𝓩', class = 'ord', cs = 'mbfscrZ', alphabet = 'script' } -- mathematical bold script capital z + , { code = 0x1D4EA, char = '𝓪', class = 'ord', cs = 'mbfscra', alphabet = 'script' } -- mathematical bold script small a + , { code = 0x1D4EB, char = '𝓫', class = 'ord', cs = 'mbfscrb', alphabet = 'script' } -- mathematical bold script small b + , { code = 0x1D4EC, char = '𝓬', class = 'ord', cs = 'mbfscrc', alphabet = 'script' } -- mathematical bold script small c + , { code = 0x1D4ED, char = '𝓭', class = 'ord', cs = 'mbfscrd', alphabet = 'script' } -- mathematical bold script small d + , { code = 0x1D4EE, char = '𝓮', class = 'ord', cs = 'mbfscre', alphabet = 'script' } -- mathematical bold script small e + , { code = 0x1D4EF, char = '𝓯', class = 'ord', cs = 'mbfscrf', alphabet = 'script' } -- mathematical bold script small f + , { code = 0x1D4F0, char = '𝓰', class = 'ord', cs = 'mbfscrg', alphabet = 'script' } -- mathematical bold script small g + , { code = 0x1D4F1, char = '𝓱', class = 'ord', cs = 'mbfscrh', alphabet = 'script' } -- mathematical bold script small h + , { code = 0x1D4F2, char = '𝓲', class = 'ord', cs = 'mbfscri', alphabet = 'script' } -- mathematical bold script small i + , { code = 0x1D4F3, char = '𝓳', class = 'ord', cs = 'mbfscrj', alphabet = 'script' } -- mathematical bold script small j + , { code = 0x1D4F4, char = '𝓴', class = 'ord', cs = 'mbfscrk', alphabet = 'script' } -- mathematical bold script small k + , { code = 0x1D4F5, char = '𝓵', class = 'ord', cs = 'mbfscrl', alphabet = 'script' } -- mathematical bold script small l + , { code = 0x1D4F6, char = '𝓶', class = 'ord', cs = 'mbfscrm', alphabet = 'script' } -- mathematical bold script small m + , { code = 0x1D4F7, char = '𝓷', class = 'ord', cs = 'mbfscrn', alphabet = 'script' } -- mathematical bold script small n + , { code = 0x1D4F8, char = '𝓸', class = 'ord', cs = 'mbfscro', alphabet = 'script' } -- mathematical bold script small o + , { code = 0x1D4F9, char = '𝓹', class = 'ord', cs = 'mbfscrp', alphabet = 'script' } -- mathematical bold script small p + , { code = 0x1D4FA, char = '𝓺', class = 'ord', cs = 'mbfscrq', alphabet = 'script' } -- mathematical bold script small q + , { code = 0x1D4FB, char = '𝓻', class = 'ord', cs = 'mbfscrr', alphabet = 'script' } -- mathematical bold script small r + , { code = 0x1D4FC, char = '𝓼', class = 'ord', cs = 'mbfscrs', alphabet = 'script' } -- mathematical bold script small s + , { code = 0x1D4FD, char = '𝓽', class = 'ord', cs = 'mbfscrt', alphabet = 'script' } -- mathematical bold script small t + , { code = 0x1D4FE, char = '𝓾', class = 'ord', cs = 'mbfscru', alphabet = 'script' } -- mathematical bold script small u + , { code = 0x1D4FF, char = '𝓿', class = 'ord', cs = 'mbfscrv', alphabet = 'script' } -- mathematical bold script small v + , { code = 0x1D500, char = '𝔀', class = 'ord', cs = 'mbfscrw', alphabet = 'script' } -- mathematical bold script small w + , { code = 0x1D501, char = '𝔁', class = 'ord', cs = 'mbfscrx', alphabet = 'script' } -- mathematical bold script small x + , { code = 0x1D502, char = '𝔂', class = 'ord', cs = 'mbfscry', alphabet = 'script' } -- mathematical bold script small y + , { code = 0x1D503, char = '𝔃', class = 'ord', cs = 'mbfscrz', alphabet = 'script' } -- mathematical bold script small z + , { code = 0x1D504, char = '𝔄', class = 'ord', cs = 'mfrakA', alphabet = 'fraktur' } -- mathematical fraktur capital a + , { code = 0x1D505, char = '𝔅', class = 'ord', cs = 'mfrakB', alphabet = 'fraktur' } -- mathematical fraktur capital b + , { code = 0x1D507, char = '𝔇', class = 'ord', cs = 'mfrakD', alphabet = 'fraktur' } -- mathematical fraktur capital d + , { code = 0x1D508, char = '𝔈', class = 'ord', cs = 'mfrakE', alphabet = 'fraktur' } -- mathematical fraktur capital e + , { code = 0x1D509, char = '𝔉', class = 'ord', cs = 'mfrakF', alphabet = 'fraktur' } -- mathematical fraktur capital f + , { code = 0x1D50A, char = '𝔊', class = 'ord', cs = 'mfrakG', alphabet = 'fraktur' } -- mathematical fraktur capital g + , { code = 0x1D50D, char = '𝔍', class = 'ord', cs = 'mfrakJ', alphabet = 'fraktur' } -- mathematical fraktur capital j + , { code = 0x1D50E, char = '𝔎', class = 'ord', cs = 'mfrakK', alphabet = 'fraktur' } -- mathematical fraktur capital k + , { code = 0x1D50F, char = '𝔏', class = 'ord', cs = 'mfrakL', alphabet = 'fraktur' } -- mathematical fraktur capital l + , { code = 0x1D510, char = '𝔐', class = 'ord', cs = 'mfrakM', alphabet = 'fraktur' } -- mathematical fraktur capital m + , { code = 0x1D511, char = '𝔑', class = 'ord', cs = 'mfrakN', alphabet = 'fraktur' } -- mathematical fraktur capital n + , { code = 0x1D512, char = '𝔒', class = 'ord', cs = 'mfrakO', alphabet = 'fraktur' } -- mathematical fraktur capital o + , { code = 0x1D513, char = '𝔓', class = 'ord', cs = 'mfrakP', alphabet = 'fraktur' } -- mathematical fraktur capital p + , { code = 0x1D514, char = '𝔔', class = 'ord', cs = 'mfrakQ', alphabet = 'fraktur' } -- mathematical fraktur capital q + , { code = 0x1D516, char = '𝔖', class = 'ord', cs = 'mfrakS', alphabet = 'fraktur' } -- mathematical fraktur capital s + , { code = 0x1D517, char = '𝔗', class = 'ord', cs = 'mfrakT', alphabet = 'fraktur' } -- mathematical fraktur capital t + , { code = 0x1D518, char = '𝔘', class = 'ord', cs = 'mfrakU', alphabet = 'fraktur' } -- mathematical fraktur capital u + , { code = 0x1D519, char = '𝔙', class = 'ord', cs = 'mfrakV', alphabet = 'fraktur' } -- mathematical fraktur capital v + , { code = 0x1D51A, char = '𝔚', class = 'ord', cs = 'mfrakW', alphabet = 'fraktur' } -- mathematical fraktur capital w + , { code = 0x1D51B, char = '𝔛', class = 'ord', cs = 'mfrakX', alphabet = 'fraktur' } -- mathematical fraktur capital x + , { code = 0x1D51C, char = '𝔜', class = 'ord', cs = 'mfrakY', alphabet = 'fraktur' } -- mathematical fraktur capital y + , { code = 0x1D51E, char = '𝔞', class = 'ord', cs = 'mfraka', alphabet = 'fraktur' } -- mathematical fraktur small a + , { code = 0x1D51F, char = '𝔟', class = 'ord', cs = 'mfrakb', alphabet = 'fraktur' } -- mathematical fraktur small b + , { code = 0x1D520, char = '𝔠', class = 'ord', cs = 'mfrakc', alphabet = 'fraktur' } -- mathematical fraktur small c + , { code = 0x1D521, char = '𝔡', class = 'ord', cs = 'mfrakd', alphabet = 'fraktur' } -- mathematical fraktur small d + , { code = 0x1D522, char = '𝔢', class = 'ord', cs = 'mfrake', alphabet = 'fraktur' } -- mathematical fraktur small e + , { code = 0x1D523, char = '𝔣', class = 'ord', cs = 'mfrakf', alphabet = 'fraktur' } -- mathematical fraktur small f + , { code = 0x1D524, char = '𝔤', class = 'ord', cs = 'mfrakg', alphabet = 'fraktur' } -- mathematical fraktur small g + , { code = 0x1D525, char = '𝔥', class = 'ord', cs = 'mfrakh', alphabet = 'fraktur' } -- mathematical fraktur small h + , { code = 0x1D526, char = '𝔦', class = 'ord', cs = 'mfraki', alphabet = 'fraktur' } -- mathematical fraktur small i + , { code = 0x1D527, char = '𝔧', class = 'ord', cs = 'mfrakj', alphabet = 'fraktur' } -- mathematical fraktur small j + , { code = 0x1D528, char = '𝔨', class = 'ord', cs = 'mfrakk', alphabet = 'fraktur' } -- mathematical fraktur small k + , { code = 0x1D529, char = '𝔩', class = 'ord', cs = 'mfrakl', alphabet = 'fraktur' } -- mathematical fraktur small l + , { code = 0x1D52A, char = '𝔪', class = 'ord', cs = 'mfrakm', alphabet = 'fraktur' } -- mathematical fraktur small m + , { code = 0x1D52B, char = '𝔫', class = 'ord', cs = 'mfrakn', alphabet = 'fraktur' } -- mathematical fraktur small n + , { code = 0x1D52C, char = '𝔬', class = 'ord', cs = 'mfrako', alphabet = 'fraktur' } -- mathematical fraktur small o + , { code = 0x1D52D, char = '𝔭', class = 'ord', cs = 'mfrakp', alphabet = 'fraktur' } -- mathematical fraktur small p + , { code = 0x1D52E, char = '𝔮', class = 'ord', cs = 'mfrakq', alphabet = 'fraktur' } -- mathematical fraktur small q + , { code = 0x1D52F, char = '𝔯', class = 'ord', cs = 'mfrakr', alphabet = 'fraktur' } -- mathematical fraktur small r + , { code = 0x1D530, char = '𝔰', class = 'ord', cs = 'mfraks', alphabet = 'fraktur' } -- mathematical fraktur small s + , { code = 0x1D531, char = '𝔱', class = 'ord', cs = 'mfrakt', alphabet = 'fraktur' } -- mathematical fraktur small t + , { code = 0x1D532, char = '𝔲', class = 'ord', cs = 'mfraku', alphabet = 'fraktur' } -- mathematical fraktur small u + , { code = 0x1D533, char = '𝔳', class = 'ord', cs = 'mfrakv', alphabet = 'fraktur' } -- mathematical fraktur small v + , { code = 0x1D534, char = '𝔴', class = 'ord', cs = 'mfrakw', alphabet = 'fraktur' } -- mathematical fraktur small w + , { code = 0x1D535, char = '𝔵', class = 'ord', cs = 'mfrakx', alphabet = 'fraktur' } -- mathematical fraktur small x + , { code = 0x1D536, char = '𝔶', class = 'ord', cs = 'mfraky', alphabet = 'fraktur' } -- mathematical fraktur small y + , { code = 0x1D537, char = '𝔷', class = 'ord', cs = 'mfrakz', alphabet = 'fraktur' } -- mathematical fraktur small z + , { code = 0x1D538, char = '𝔸', class = 'ord', cs = 'BbbA', alphabet = 'blackboard' } -- mathematical double-struck capital a + , { code = 0x1D539, char = '𝔹', class = 'ord', cs = 'BbbB', alphabet = 'blackboard' } -- mathematical double-struck capital b + , { code = 0x1D53B, char = '𝔻', class = 'ord', cs = 'BbbD', alphabet = 'blackboard' } -- mathematical double-struck capital d + , { code = 0x1D53C, char = '𝔼', class = 'ord', cs = 'BbbE', alphabet = 'blackboard' } -- mathematical double-struck capital e + , { code = 0x1D53D, char = '𝔽', class = 'ord', cs = 'BbbF', alphabet = 'blackboard' } -- mathematical double-struck capital f + , { code = 0x1D53E, char = '𝔾', class = 'ord', cs = 'BbbG', alphabet = 'blackboard' } -- mathematical double-struck capital g + , { code = 0x1D540, char = '𝕀', class = 'ord', cs = 'BbbI', alphabet = 'blackboard' } -- mathematical double-struck capital i + , { code = 0x1D541, char = '𝕁', class = 'ord', cs = 'BbbJ', alphabet = 'blackboard' } -- mathematical double-struck capital j + , { code = 0x1D542, char = '𝕂', class = 'ord', cs = 'BbbK', alphabet = 'blackboard' } -- mathematical double-struck capital k + , { code = 0x1D543, char = '𝕃', class = 'ord', cs = 'BbbL', alphabet = 'blackboard' } -- mathematical double-struck capital l + , { code = 0x1D544, char = '𝕄', class = 'ord', cs = 'BbbM', alphabet = 'blackboard' } -- mathematical double-struck capital m + , { code = 0x1D546, char = '𝕆', class = 'ord', cs = 'BbbO', alphabet = 'blackboard' } -- mathematical double-struck capital o + , { code = 0x1D54A, char = '𝕊', class = 'ord', cs = 'BbbS', alphabet = 'blackboard' } -- mathematical double-struck capital s + , { code = 0x1D54B, char = '𝕋', class = 'ord', cs = 'BbbT', alphabet = 'blackboard' } -- mathematical double-struck capital t + , { code = 0x1D54C, char = '𝕌', class = 'ord', cs = 'BbbU', alphabet = 'blackboard' } -- mathematical double-struck capital u + , { code = 0x1D54D, char = '𝕍', class = 'ord', cs = 'BbbV', alphabet = 'blackboard' } -- mathematical double-struck capital v + , { code = 0x1D54E, char = '𝕎', class = 'ord', cs = 'BbbW', alphabet = 'blackboard' } -- mathematical double-struck capital w + , { code = 0x1D54F, char = '𝕏', class = 'ord', cs = 'BbbX', alphabet = 'blackboard' } -- mathematical double-struck capital x + , { code = 0x1D550, char = '𝕐', class = 'ord', cs = 'BbbY', alphabet = 'blackboard' } -- mathematical double-struck capital y + , { code = 0x1D552, char = '𝕒', class = 'ord', cs = 'Bbba', alphabet = 'blackboard' } -- mathematical double-struck small a + , { code = 0x1D553, char = '𝕓', class = 'ord', cs = 'Bbbb', alphabet = 'blackboard' } -- mathematical double-struck small b + , { code = 0x1D554, char = '𝕔', class = 'ord', cs = 'Bbbc', alphabet = 'blackboard' } -- mathematical double-struck small c + , { code = 0x1D555, char = '𝕕', class = 'ord', cs = 'Bbbd', alphabet = 'blackboard' } -- mathematical double-struck small d + , { code = 0x1D556, char = '𝕖', class = 'ord', cs = 'Bbbe', alphabet = 'blackboard' } -- mathematical double-struck small e + , { code = 0x1D557, char = '𝕗', class = 'ord', cs = 'Bbbf', alphabet = 'blackboard' } -- mathematical double-struck small f + , { code = 0x1D558, char = '𝕘', class = 'ord', cs = 'Bbbg', alphabet = 'blackboard' } -- mathematical double-struck small g + , { code = 0x1D559, char = '𝕙', class = 'ord', cs = 'Bbbh', alphabet = 'blackboard' } -- mathematical double-struck small h + , { code = 0x1D55A, char = '𝕚', class = 'ord', cs = 'Bbbi', alphabet = 'blackboard' } -- mathematical double-struck small i + , { code = 0x1D55B, char = '𝕛', class = 'ord', cs = 'Bbbj', alphabet = 'blackboard' } -- mathematical double-struck small j + , { code = 0x1D55C, char = '𝕜', class = 'ord', cs = 'Bbbk', alphabet = 'blackboard' } -- mathematical double-struck small k + , { code = 0x1D55D, char = '𝕝', class = 'ord', cs = 'Bbbl', alphabet = 'blackboard' } -- mathematical double-struck small l + , { code = 0x1D55E, char = '𝕞', class = 'ord', cs = 'Bbbm', alphabet = 'blackboard' } -- mathematical double-struck small m + , { code = 0x1D55F, char = '𝕟', class = 'ord', cs = 'Bbbn', alphabet = 'blackboard' } -- mathematical double-struck small n + , { code = 0x1D560, char = '𝕠', class = 'ord', cs = 'Bbbo', alphabet = 'blackboard' } -- mathematical double-struck small o + , { code = 0x1D561, char = '𝕡', class = 'ord', cs = 'Bbbp', alphabet = 'blackboard' } -- mathematical double-struck small p + , { code = 0x1D562, char = '𝕢', class = 'ord', cs = 'Bbbq', alphabet = 'blackboard' } -- mathematical double-struck small q + , { code = 0x1D563, char = '𝕣', class = 'ord', cs = 'Bbbr', alphabet = 'blackboard' } -- mathematical double-struck small r + , { code = 0x1D564, char = '𝕤', class = 'ord', cs = 'Bbbs', alphabet = 'blackboard' } -- mathematical double-struck small s + , { code = 0x1D565, char = '𝕥', class = 'ord', cs = 'Bbbt', alphabet = 'blackboard' } -- mathematical double-struck small t + , { code = 0x1D566, char = '𝕦', class = 'ord', cs = 'Bbbu', alphabet = 'blackboard' } -- mathematical double-struck small u + , { code = 0x1D567, char = '𝕧', class = 'ord', cs = 'Bbbv', alphabet = 'blackboard' } -- mathematical double-struck small v + , { code = 0x1D568, char = '𝕨', class = 'ord', cs = 'Bbbw', alphabet = 'blackboard' } -- mathematical double-struck small w + , { code = 0x1D569, char = '𝕩', class = 'ord', cs = 'Bbbx', alphabet = 'blackboard' } -- mathematical double-struck small x + , { code = 0x1D56A, char = '𝕪', class = 'ord', cs = 'Bbby', alphabet = 'blackboard' } -- mathematical double-struck small y + , { code = 0x1D56B, char = '𝕫', class = 'ord', cs = 'Bbbz', alphabet = 'blackboard' } -- mathematical double-struck small z + , { code = 0x1D56C, char = '𝕬', class = 'ord', cs = 'mbffrakA', alphabet = 'fraktur' } -- mathematical bold fraktur capital a + , { code = 0x1D56D, char = '𝕭', class = 'ord', cs = 'mbffrakB', alphabet = 'fraktur' } -- mathematical bold fraktur capital b + , { code = 0x1D56E, char = '𝕮', class = 'ord', cs = 'mbffrakC', alphabet = 'fraktur' } -- mathematical bold fraktur capital c + , { code = 0x1D56F, char = '𝕯', class = 'ord', cs = 'mbffrakD', alphabet = 'fraktur' } -- mathematical bold fraktur capital d + , { code = 0x1D570, char = '𝕰', class = 'ord', cs = 'mbffrakE', alphabet = 'fraktur' } -- mathematical bold fraktur capital e + , { code = 0x1D571, char = '𝕱', class = 'ord', cs = 'mbffrakF', alphabet = 'fraktur' } -- mathematical bold fraktur capital f + , { code = 0x1D572, char = '𝕲', class = 'ord', cs = 'mbffrakG', alphabet = 'fraktur' } -- mathematical bold fraktur capital g + , { code = 0x1D573, char = '𝕳', class = 'ord', cs = 'mbffrakH', alphabet = 'fraktur' } -- mathematical bold fraktur capital h + , { code = 0x1D574, char = '𝕴', class = 'ord', cs = 'mbffrakI', alphabet = 'fraktur' } -- mathematical bold fraktur capital i + , { code = 0x1D575, char = '𝕵', class = 'ord', cs = 'mbffrakJ', alphabet = 'fraktur' } -- mathematical bold fraktur capital j + , { code = 0x1D576, char = '𝕶', class = 'ord', cs = 'mbffrakK', alphabet = 'fraktur' } -- mathematical bold fraktur capital k + , { code = 0x1D577, char = '𝕷', class = 'ord', cs = 'mbffrakL', alphabet = 'fraktur' } -- mathematical bold fraktur capital l + , { code = 0x1D578, char = '𝕸', class = 'ord', cs = 'mbffrakM', alphabet = 'fraktur' } -- mathematical bold fraktur capital m + , { code = 0x1D579, char = '𝕹', class = 'ord', cs = 'mbffrakN', alphabet = 'fraktur' } -- mathematical bold fraktur capital n + , { code = 0x1D57A, char = '𝕺', class = 'ord', cs = 'mbffrakO', alphabet = 'fraktur' } -- mathematical bold fraktur capital o + , { code = 0x1D57B, char = '𝕻', class = 'ord', cs = 'mbffrakP', alphabet = 'fraktur' } -- mathematical bold fraktur capital p + , { code = 0x1D57C, char = '𝕼', class = 'ord', cs = 'mbffrakQ', alphabet = 'fraktur' } -- mathematical bold fraktur capital q + , { code = 0x1D57D, char = '𝕽', class = 'ord', cs = 'mbffrakR', alphabet = 'fraktur' } -- mathematical bold fraktur capital r + , { code = 0x1D57E, char = '𝕾', class = 'ord', cs = 'mbffrakS', alphabet = 'fraktur' } -- mathematical bold fraktur capital s + , { code = 0x1D57F, char = '𝕿', class = 'ord', cs = 'mbffrakT', alphabet = 'fraktur' } -- mathematical bold fraktur capital t + , { code = 0x1D580, char = '𝖀', class = 'ord', cs = 'mbffrakU', alphabet = 'fraktur' } -- mathematical bold fraktur capital u + , { code = 0x1D581, char = '𝖁', class = 'ord', cs = 'mbffrakV', alphabet = 'fraktur' } -- mathematical bold fraktur capital v + , { code = 0x1D582, char = '𝖂', class = 'ord', cs = 'mbffrakW', alphabet = 'fraktur' } -- mathematical bold fraktur capital w + , { code = 0x1D583, char = '𝖃', class = 'ord', cs = 'mbffrakX', alphabet = 'fraktur' } -- mathematical bold fraktur capital x + , { code = 0x1D584, char = '𝖄', class = 'ord', cs = 'mbffrakY', alphabet = 'fraktur' } -- mathematical bold fraktur capital y + , { code = 0x1D585, char = '𝖅', class = 'ord', cs = 'mbffrakZ', alphabet = 'fraktur' } -- mathematical bold fraktur capital z + , { code = 0x1D586, char = '𝖆', class = 'ord', cs = 'mbffraka', alphabet = 'fraktur' } -- mathematical bold fraktur small a + , { code = 0x1D587, char = '𝖇', class = 'ord', cs = 'mbffrakb', alphabet = 'fraktur' } -- mathematical bold fraktur small b + , { code = 0x1D588, char = '𝖈', class = 'ord', cs = 'mbffrakc', alphabet = 'fraktur' } -- mathematical bold fraktur small c + , { code = 0x1D589, char = '𝖉', class = 'ord', cs = 'mbffrakd', alphabet = 'fraktur' } -- mathematical bold fraktur small d + , { code = 0x1D58A, char = '𝖊', class = 'ord', cs = 'mbffrake', alphabet = 'fraktur' } -- mathematical bold fraktur small e + , { code = 0x1D58B, char = '𝖋', class = 'ord', cs = 'mbffrakf', alphabet = 'fraktur' } -- mathematical bold fraktur small f + , { code = 0x1D58C, char = '𝖌', class = 'ord', cs = 'mbffrakg', alphabet = 'fraktur' } -- mathematical bold fraktur small g + , { code = 0x1D58D, char = '𝖍', class = 'ord', cs = 'mbffrakh', alphabet = 'fraktur' } -- mathematical bold fraktur small h + , { code = 0x1D58E, char = '𝖎', class = 'ord', cs = 'mbffraki', alphabet = 'fraktur' } -- mathematical bold fraktur small i + , { code = 0x1D58F, char = '𝖏', class = 'ord', cs = 'mbffrakj', alphabet = 'fraktur' } -- mathematical bold fraktur small j + , { code = 0x1D590, char = '𝖐', class = 'ord', cs = 'mbffrakk', alphabet = 'fraktur' } -- mathematical bold fraktur small k + , { code = 0x1D591, char = '𝖑', class = 'ord', cs = 'mbffrakl', alphabet = 'fraktur' } -- mathematical bold fraktur small l + , { code = 0x1D592, char = '𝖒', class = 'ord', cs = 'mbffrakm', alphabet = 'fraktur' } -- mathematical bold fraktur small m + , { code = 0x1D593, char = '𝖓', class = 'ord', cs = 'mbffrakn', alphabet = 'fraktur' } -- mathematical bold fraktur small n + , { code = 0x1D594, char = '𝖔', class = 'ord', cs = 'mbffrako', alphabet = 'fraktur' } -- mathematical bold fraktur small o + , { code = 0x1D595, char = '𝖕', class = 'ord', cs = 'mbffrakp', alphabet = 'fraktur' } -- mathematical bold fraktur small p + , { code = 0x1D596, char = '𝖖', class = 'ord', cs = 'mbffrakq', alphabet = 'fraktur' } -- mathematical bold fraktur small q + , { code = 0x1D597, char = '𝖗', class = 'ord', cs = 'mbffrakr', alphabet = 'fraktur' } -- mathematical bold fraktur small r + , { code = 0x1D598, char = '𝖘', class = 'ord', cs = 'mbffraks', alphabet = 'fraktur' } -- mathematical bold fraktur small s + , { code = 0x1D599, char = '𝖙', class = 'ord', cs = 'mbffrakt', alphabet = 'fraktur' } -- mathematical bold fraktur small t + , { code = 0x1D59A, char = '𝖚', class = 'ord', cs = 'mbffraku', alphabet = 'fraktur' } -- mathematical bold fraktur small u + , { code = 0x1D59B, char = '𝖛', class = 'ord', cs = 'mbffrakv', alphabet = 'fraktur' } -- mathematical bold fraktur small v + , { code = 0x1D59C, char = '𝖜', class = 'ord', cs = 'mbffrakw', alphabet = 'fraktur' } -- mathematical bold fraktur small w + , { code = 0x1D59D, char = '𝖝', class = 'ord', cs = 'mbffrakx', alphabet = 'fraktur' } -- mathematical bold fraktur small x + , { code = 0x1D59E, char = '𝖞', class = 'ord', cs = 'mbffraky', alphabet = 'fraktur' } -- mathematical bold fraktur small y + , { code = 0x1D59F, char = '𝖟', class = 'ord', cs = 'mbffrakz', alphabet = 'fraktur' } -- mathematical bold fraktur small z + , { code = 0x1D5A0, char = '𝖠', class = 'ord', cs = 'msansA', alphabet = 'sans' } -- mathematical sans-serif capital a + , { code = 0x1D5A1, char = '𝖡', class = 'ord', cs = 'msansB', alphabet = 'sans' } -- mathematical sans-serif capital b + , { code = 0x1D5A2, char = '𝖢', class = 'ord', cs = 'msansC', alphabet = 'sans' } -- mathematical sans-serif capital c + , { code = 0x1D5A3, char = '𝖣', class = 'ord', cs = 'msansD', alphabet = 'sans' } -- mathematical sans-serif capital d + , { code = 0x1D5A4, char = '𝖤', class = 'ord', cs = 'msansE', alphabet = 'sans' } -- mathematical sans-serif capital e + , { code = 0x1D5A5, char = '𝖥', class = 'ord', cs = 'msansF', alphabet = 'sans' } -- mathematical sans-serif capital f + , { code = 0x1D5A6, char = '𝖦', class = 'ord', cs = 'msansG', alphabet = 'sans' } -- mathematical sans-serif capital g + , { code = 0x1D5A7, char = '𝖧', class = 'ord', cs = 'msansH', alphabet = 'sans' } -- mathematical sans-serif capital h + , { code = 0x1D5A8, char = '𝖨', class = 'ord', cs = 'msansI', alphabet = 'sans' } -- mathematical sans-serif capital i + , { code = 0x1D5A9, char = '𝖩', class = 'ord', cs = 'msansJ', alphabet = 'sans' } -- mathematical sans-serif capital j + , { code = 0x1D5AA, char = '𝖪', class = 'ord', cs = 'msansK', alphabet = 'sans' } -- mathematical sans-serif capital k + , { code = 0x1D5AB, char = '𝖫', class = 'ord', cs = 'msansL', alphabet = 'sans' } -- mathematical sans-serif capital l + , { code = 0x1D5AC, char = '𝖬', class = 'ord', cs = 'msansM', alphabet = 'sans' } -- mathematical sans-serif capital m + , { code = 0x1D5AD, char = '𝖭', class = 'ord', cs = 'msansN', alphabet = 'sans' } -- mathematical sans-serif capital n + , { code = 0x1D5AE, char = '𝖮', class = 'ord', cs = 'msansO', alphabet = 'sans' } -- mathematical sans-serif capital o + , { code = 0x1D5AF, char = '𝖯', class = 'ord', cs = 'msansP', alphabet = 'sans' } -- mathematical sans-serif capital p + , { code = 0x1D5B0, char = '𝖰', class = 'ord', cs = 'msansQ', alphabet = 'sans' } -- mathematical sans-serif capital q + , { code = 0x1D5B1, char = '𝖱', class = 'ord', cs = 'msansR', alphabet = 'sans' } -- mathematical sans-serif capital r + , { code = 0x1D5B2, char = '𝖲', class = 'ord', cs = 'msansS', alphabet = 'sans' } -- mathematical sans-serif capital s + , { code = 0x1D5B3, char = '𝖳', class = 'ord', cs = 'msansT', alphabet = 'sans' } -- mathematical sans-serif capital t + , { code = 0x1D5B4, char = '𝖴', class = 'ord', cs = 'msansU', alphabet = 'sans' } -- mathematical sans-serif capital u + , { code = 0x1D5B5, char = '𝖵', class = 'ord', cs = 'msansV', alphabet = 'sans' } -- mathematical sans-serif capital v + , { code = 0x1D5B6, char = '𝖶', class = 'ord', cs = 'msansW', alphabet = 'sans' } -- mathematical sans-serif capital w + , { code = 0x1D5B7, char = '𝖷', class = 'ord', cs = 'msansX', alphabet = 'sans' } -- mathematical sans-serif capital x + , { code = 0x1D5B8, char = '𝖸', class = 'ord', cs = 'msansY', alphabet = 'sans' } -- mathematical sans-serif capital y + , { code = 0x1D5B9, char = '𝖹', class = 'ord', cs = 'msansZ', alphabet = 'sans' } -- mathematical sans-serif capital z + , { code = 0x1D5BA, char = '𝖺', class = 'ord', cs = 'msansa', alphabet = 'sans' } -- mathematical sans-serif small a + , { code = 0x1D5BB, char = '𝖻', class = 'ord', cs = 'msansb', alphabet = 'sans' } -- mathematical sans-serif small b + , { code = 0x1D5BC, char = '𝖼', class = 'ord', cs = 'msansc', alphabet = 'sans' } -- mathematical sans-serif small c + , { code = 0x1D5BD, char = '𝖽', class = 'ord', cs = 'msansd', alphabet = 'sans' } -- mathematical sans-serif small d + , { code = 0x1D5BE, char = '𝖾', class = 'ord', cs = 'msanse', alphabet = 'sans' } -- mathematical sans-serif small e + , { code = 0x1D5BF, char = '𝖿', class = 'ord', cs = 'msansf', alphabet = 'sans' } -- mathematical sans-serif small f + , { code = 0x1D5C0, char = '𝗀', class = 'ord', cs = 'msansg', alphabet = 'sans' } -- mathematical sans-serif small g + , { code = 0x1D5C1, char = '𝗁', class = 'ord', cs = 'msansh', alphabet = 'sans' } -- mathematical sans-serif small h + , { code = 0x1D5C2, char = '𝗂', class = 'ord', cs = 'msansi', alphabet = 'sans' } -- mathematical sans-serif small i + , { code = 0x1D5C3, char = '𝗃', class = 'ord', cs = 'msansj', alphabet = 'sans' } -- mathematical sans-serif small j + , { code = 0x1D5C4, char = '𝗄', class = 'ord', cs = 'msansk', alphabet = 'sans' } -- mathematical sans-serif small k + , { code = 0x1D5C5, char = '𝗅', class = 'ord', cs = 'msansl', alphabet = 'sans' } -- mathematical sans-serif small l + , { code = 0x1D5C6, char = '𝗆', class = 'ord', cs = 'msansm', alphabet = 'sans' } -- mathematical sans-serif small m + , { code = 0x1D5C7, char = '𝗇', class = 'ord', cs = 'msansn', alphabet = 'sans' } -- mathematical sans-serif small n + , { code = 0x1D5C8, char = '𝗈', class = 'ord', cs = 'msanso', alphabet = 'sans' } -- mathematical sans-serif small o + , { code = 0x1D5C9, char = '𝗉', class = 'ord', cs = 'msansp', alphabet = 'sans' } -- mathematical sans-serif small p + , { code = 0x1D5CA, char = '𝗊', class = 'ord', cs = 'msansq', alphabet = 'sans' } -- mathematical sans-serif small q + , { code = 0x1D5CB, char = '𝗋', class = 'ord', cs = 'msansr', alphabet = 'sans' } -- mathematical sans-serif small r + , { code = 0x1D5CC, char = '𝗌', class = 'ord', cs = 'msanss', alphabet = 'sans' } -- mathematical sans-serif small s + , { code = 0x1D5CD, char = '𝗍', class = 'ord', cs = 'msanst', alphabet = 'sans' } -- mathematical sans-serif small t + , { code = 0x1D5CE, char = '𝗎', class = 'ord', cs = 'msansu', alphabet = 'sans' } -- mathematical sans-serif small u + , { code = 0x1D5CF, char = '𝗏', class = 'ord', cs = 'msansv', alphabet = 'sans' } -- mathematical sans-serif small v + , { code = 0x1D5D0, char = '𝗐', class = 'ord', cs = 'msansw', alphabet = 'sans' } -- mathematical sans-serif small w + , { code = 0x1D5D1, char = '𝗑', class = 'ord', cs = 'msansx', alphabet = 'sans' } -- mathematical sans-serif small x + , { code = 0x1D5D2, char = '𝗒', class = 'ord', cs = 'msansy', alphabet = 'sans' } -- mathematical sans-serif small y + , { code = 0x1D5D3, char = '𝗓', class = 'ord', cs = 'msansz', alphabet = 'sans' } -- mathematical sans-serif small z + , { code = 0x1D5D4, char = '𝗔', class = 'ord', cs = 'mbfsansA', alphabet = 'sans' } -- mathematical sans-serif bold capital a + , { code = 0x1D5D5, char = '𝗕', class = 'ord', cs = 'mbfsansB', alphabet = 'sans' } -- mathematical sans-serif bold capital b + , { code = 0x1D5D6, char = '𝗖', class = 'ord', cs = 'mbfsansC', alphabet = 'sans' } -- mathematical sans-serif bold capital c + , { code = 0x1D5D7, char = '𝗗', class = 'ord', cs = 'mbfsansD', alphabet = 'sans' } -- mathematical sans-serif bold capital d + , { code = 0x1D5D8, char = '𝗘', class = 'ord', cs = 'mbfsansE', alphabet = 'sans' } -- mathematical sans-serif bold capital e + , { code = 0x1D5D9, char = '𝗙', class = 'ord', cs = 'mbfsansF', alphabet = 'sans' } -- mathematical sans-serif bold capital f + , { code = 0x1D5DA, char = '𝗚', class = 'ord', cs = 'mbfsansG', alphabet = 'sans' } -- mathematical sans-serif bold capital g + , { code = 0x1D5DB, char = '𝗛', class = 'ord', cs = 'mbfsansH', alphabet = 'sans' } -- mathematical sans-serif bold capital h + , { code = 0x1D5DC, char = '𝗜', class = 'ord', cs = 'mbfsansI', alphabet = 'sans' } -- mathematical sans-serif bold capital i + , { code = 0x1D5DD, char = '𝗝', class = 'ord', cs = 'mbfsansJ', alphabet = 'sans' } -- mathematical sans-serif bold capital j + , { code = 0x1D5DE, char = '𝗞', class = 'ord', cs = 'mbfsansK', alphabet = 'sans' } -- mathematical sans-serif bold capital k + , { code = 0x1D5DF, char = '𝗟', class = 'ord', cs = 'mbfsansL', alphabet = 'sans' } -- mathematical sans-serif bold capital l + , { code = 0x1D5E0, char = '𝗠', class = 'ord', cs = 'mbfsansM', alphabet = 'sans' } -- mathematical sans-serif bold capital m + , { code = 0x1D5E1, char = '𝗡', class = 'ord', cs = 'mbfsansN', alphabet = 'sans' } -- mathematical sans-serif bold capital n + , { code = 0x1D5E2, char = '𝗢', class = 'ord', cs = 'mbfsansO', alphabet = 'sans' } -- mathematical sans-serif bold capital o + , { code = 0x1D5E3, char = '𝗣', class = 'ord', cs = 'mbfsansP', alphabet = 'sans' } -- mathematical sans-serif bold capital p + , { code = 0x1D5E4, char = '𝗤', class = 'ord', cs = 'mbfsansQ', alphabet = 'sans' } -- mathematical sans-serif bold capital q + , { code = 0x1D5E5, char = '𝗥', class = 'ord', cs = 'mbfsansR', alphabet = 'sans' } -- mathematical sans-serif bold capital r + , { code = 0x1D5E6, char = '𝗦', class = 'ord', cs = 'mbfsansS', alphabet = 'sans' } -- mathematical sans-serif bold capital s + , { code = 0x1D5E7, char = '𝗧', class = 'ord', cs = 'mbfsansT', alphabet = 'sans' } -- mathematical sans-serif bold capital t + , { code = 0x1D5E8, char = '𝗨', class = 'ord', cs = 'mbfsansU', alphabet = 'sans' } -- mathematical sans-serif bold capital u + , { code = 0x1D5E9, char = '𝗩', class = 'ord', cs = 'mbfsansV', alphabet = 'sans' } -- mathematical sans-serif bold capital v + , { code = 0x1D5EA, char = '𝗪', class = 'ord', cs = 'mbfsansW', alphabet = 'sans' } -- mathematical sans-serif bold capital w + , { code = 0x1D5EB, char = '𝗫', class = 'ord', cs = 'mbfsansX', alphabet = 'sans' } -- mathematical sans-serif bold capital x + , { code = 0x1D5EC, char = '𝗬', class = 'ord', cs = 'mbfsansY', alphabet = 'sans' } -- mathematical sans-serif bold capital y + , { code = 0x1D5ED, char = '𝗭', class = 'ord', cs = 'mbfsansZ', alphabet = 'sans' } -- mathematical sans-serif bold capital z + , { code = 0x1D5EE, char = '𝗮', class = 'ord', cs = 'mbfsansa', alphabet = 'sans' } -- mathematical sans-serif bold small a + , { code = 0x1D5EF, char = '𝗯', class = 'ord', cs = 'mbfsansb', alphabet = 'sans' } -- mathematical sans-serif bold small b + , { code = 0x1D5F0, char = '𝗰', class = 'ord', cs = 'mbfsansc', alphabet = 'sans' } -- mathematical sans-serif bold small c + , { code = 0x1D5F1, char = '𝗱', class = 'ord', cs = 'mbfsansd', alphabet = 'sans' } -- mathematical sans-serif bold small d + , { code = 0x1D5F2, char = '𝗲', class = 'ord', cs = 'mbfsanse', alphabet = 'sans' } -- mathematical sans-serif bold small e + , { code = 0x1D5F3, char = '𝗳', class = 'ord', cs = 'mbfsansf', alphabet = 'sans' } -- mathematical sans-serif bold small f + , { code = 0x1D5F4, char = '𝗴', class = 'ord', cs = 'mbfsansg', alphabet = 'sans' } -- mathematical sans-serif bold small g + , { code = 0x1D5F5, char = '𝗵', class = 'ord', cs = 'mbfsansh', alphabet = 'sans' } -- mathematical sans-serif bold small h + , { code = 0x1D5F6, char = '𝗶', class = 'ord', cs = 'mbfsansi', alphabet = 'sans' } -- mathematical sans-serif bold small i + , { code = 0x1D5F7, char = '𝗷', class = 'ord', cs = 'mbfsansj', alphabet = 'sans' } -- mathematical sans-serif bold small j + , { code = 0x1D5F8, char = '𝗸', class = 'ord', cs = 'mbfsansk', alphabet = 'sans' } -- mathematical sans-serif bold small k + , { code = 0x1D5F9, char = '𝗹', class = 'ord', cs = 'mbfsansl', alphabet = 'sans' } -- mathematical sans-serif bold small l + , { code = 0x1D5FA, char = '𝗺', class = 'ord', cs = 'mbfsansm', alphabet = 'sans' } -- mathematical sans-serif bold small m + , { code = 0x1D5FB, char = '𝗻', class = 'ord', cs = 'mbfsansn', alphabet = 'sans' } -- mathematical sans-serif bold small n + , { code = 0x1D5FC, char = '𝗼', class = 'ord', cs = 'mbfsanso', alphabet = 'sans' } -- mathematical sans-serif bold small o + , { code = 0x1D5FD, char = '𝗽', class = 'ord', cs = 'mbfsansp', alphabet = 'sans' } -- mathematical sans-serif bold small p + , { code = 0x1D5FE, char = '𝗾', class = 'ord', cs = 'mbfsansq', alphabet = 'sans' } -- mathematical sans-serif bold small q + , { code = 0x1D5FF, char = '𝗿', class = 'ord', cs = 'mbfsansr', alphabet = 'sans' } -- mathematical sans-serif bold small r + , { code = 0x1D600, char = '𝘀', class = 'ord', cs = 'mbfsanss', alphabet = 'sans' } -- mathematical sans-serif bold small s + , { code = 0x1D601, char = '𝘁', class = 'ord', cs = 'mbfsanst', alphabet = 'sans' } -- mathematical sans-serif bold small t + , { code = 0x1D602, char = '𝘂', class = 'ord', cs = 'mbfsansu', alphabet = 'sans' } -- mathematical sans-serif bold small u + , { code = 0x1D603, char = '𝘃', class = 'ord', cs = 'mbfsansv', alphabet = 'sans' } -- mathematical sans-serif bold small v + , { code = 0x1D604, char = '𝘄', class = 'ord', cs = 'mbfsansw', alphabet = 'sans' } -- mathematical sans-serif bold small w + , { code = 0x1D605, char = '𝘅', class = 'ord', cs = 'mbfsansx', alphabet = 'sans' } -- mathematical sans-serif bold small x + , { code = 0x1D606, char = '𝘆', class = 'ord', cs = 'mbfsansy', alphabet = 'sans' } -- mathematical sans-serif bold small y + , { code = 0x1D607, char = '𝘇', class = 'ord', cs = 'mbfsansz', alphabet = 'sans' } -- mathematical sans-serif bold small z + , { code = 0x1D608, char = '𝘈', class = 'ord', cs = 'mitsansA', alphabet = 'sans' } -- mathematical sans-serif italic capital a + , { code = 0x1D609, char = '𝘉', class = 'ord', cs = 'mitsansB', alphabet = 'sans' } -- mathematical sans-serif italic capital b + , { code = 0x1D60A, char = '𝘊', class = 'ord', cs = 'mitsansC', alphabet = 'sans' } -- mathematical sans-serif italic capital c + , { code = 0x1D60B, char = '𝘋', class = 'ord', cs = 'mitsansD', alphabet = 'sans' } -- mathematical sans-serif italic capital d + , { code = 0x1D60C, char = '𝘌', class = 'ord', cs = 'mitsansE', alphabet = 'sans' } -- mathematical sans-serif italic capital e + , { code = 0x1D60D, char = '𝘍', class = 'ord', cs = 'mitsansF', alphabet = 'sans' } -- mathematical sans-serif italic capital f + , { code = 0x1D60E, char = '𝘎', class = 'ord', cs = 'mitsansG', alphabet = 'sans' } -- mathematical sans-serif italic capital g + , { code = 0x1D60F, char = '𝘏', class = 'ord', cs = 'mitsansH', alphabet = 'sans' } -- mathematical sans-serif italic capital h + , { code = 0x1D610, char = '𝘐', class = 'ord', cs = 'mitsansI', alphabet = 'sans' } -- mathematical sans-serif italic capital i + , { code = 0x1D611, char = '𝘑', class = 'ord', cs = 'mitsansJ', alphabet = 'sans' } -- mathematical sans-serif italic capital j + , { code = 0x1D612, char = '𝘒', class = 'ord', cs = 'mitsansK', alphabet = 'sans' } -- mathematical sans-serif italic capital k + , { code = 0x1D613, char = '𝘓', class = 'ord', cs = 'mitsansL', alphabet = 'sans' } -- mathematical sans-serif italic capital l + , { code = 0x1D614, char = '𝘔', class = 'ord', cs = 'mitsansM', alphabet = 'sans' } -- mathematical sans-serif italic capital m + , { code = 0x1D615, char = '𝘕', class = 'ord', cs = 'mitsansN', alphabet = 'sans' } -- mathematical sans-serif italic capital n + , { code = 0x1D616, char = '𝘖', class = 'ord', cs = 'mitsansO', alphabet = 'sans' } -- mathematical sans-serif italic capital o + , { code = 0x1D617, char = '𝘗', class = 'ord', cs = 'mitsansP', alphabet = 'sans' } -- mathematical sans-serif italic capital p + , { code = 0x1D618, char = '𝘘', class = 'ord', cs = 'mitsansQ', alphabet = 'sans' } -- mathematical sans-serif italic capital q + , { code = 0x1D619, char = '𝘙', class = 'ord', cs = 'mitsansR', alphabet = 'sans' } -- mathematical sans-serif italic capital r + , { code = 0x1D61A, char = '𝘚', class = 'ord', cs = 'mitsansS', alphabet = 'sans' } -- mathematical sans-serif italic capital s + , { code = 0x1D61B, char = '𝘛', class = 'ord', cs = 'mitsansT', alphabet = 'sans' } -- mathematical sans-serif italic capital t + , { code = 0x1D61C, char = '𝘜', class = 'ord', cs = 'mitsansU', alphabet = 'sans' } -- mathematical sans-serif italic capital u + , { code = 0x1D61D, char = '𝘝', class = 'ord', cs = 'mitsansV', alphabet = 'sans' } -- mathematical sans-serif italic capital v + , { code = 0x1D61E, char = '𝘞', class = 'ord', cs = 'mitsansW', alphabet = 'sans' } -- mathematical sans-serif italic capital w + , { code = 0x1D61F, char = '𝘟', class = 'ord', cs = 'mitsansX', alphabet = 'sans' } -- mathematical sans-serif italic capital x + , { code = 0x1D620, char = '𝘠', class = 'ord', cs = 'mitsansY', alphabet = 'sans' } -- mathematical sans-serif italic capital y + , { code = 0x1D621, char = '𝘡', class = 'ord', cs = 'mitsansZ', alphabet = 'sans' } -- mathematical sans-serif italic capital z + , { code = 0x1D622, char = '𝘢', class = 'ord', cs = 'mitsansa', alphabet = 'sans' } -- mathematical sans-serif italic small a + , { code = 0x1D623, char = '𝘣', class = 'ord', cs = 'mitsansb', alphabet = 'sans' } -- mathematical sans-serif italic small b + , { code = 0x1D624, char = '𝘤', class = 'ord', cs = 'mitsansc', alphabet = 'sans' } -- mathematical sans-serif italic small c + , { code = 0x1D625, char = '𝘥', class = 'ord', cs = 'mitsansd', alphabet = 'sans' } -- mathematical sans-serif italic small d + , { code = 0x1D626, char = '𝘦', class = 'ord', cs = 'mitsanse', alphabet = 'sans' } -- mathematical sans-serif italic small e + , { code = 0x1D627, char = '𝘧', class = 'ord', cs = 'mitsansf', alphabet = 'sans' } -- mathematical sans-serif italic small f + , { code = 0x1D628, char = '𝘨', class = 'ord', cs = 'mitsansg', alphabet = 'sans' } -- mathematical sans-serif italic small g + , { code = 0x1D629, char = '𝘩', class = 'ord', cs = 'mitsansh', alphabet = 'sans' } -- mathematical sans-serif italic small h + , { code = 0x1D62A, char = '𝘪', class = 'ord', cs = 'mitsansi', alphabet = 'sans' } -- mathematical sans-serif italic small i + , { code = 0x1D62B, char = '𝘫', class = 'ord', cs = 'mitsansj', alphabet = 'sans' } -- mathematical sans-serif italic small j + , { code = 0x1D62C, char = '𝘬', class = 'ord', cs = 'mitsansk', alphabet = 'sans' } -- mathematical sans-serif italic small k + , { code = 0x1D62D, char = '𝘭', class = 'ord', cs = 'mitsansl', alphabet = 'sans' } -- mathematical sans-serif italic small l + , { code = 0x1D62E, char = '𝘮', class = 'ord', cs = 'mitsansm', alphabet = 'sans' } -- mathematical sans-serif italic small m + , { code = 0x1D62F, char = '𝘯', class = 'ord', cs = 'mitsansn', alphabet = 'sans' } -- mathematical sans-serif italic small n + , { code = 0x1D630, char = '𝘰', class = 'ord', cs = 'mitsanso', alphabet = 'sans' } -- mathematical sans-serif italic small o + , { code = 0x1D631, char = '𝘱', class = 'ord', cs = 'mitsansp', alphabet = 'sans' } -- mathematical sans-serif italic small p + , { code = 0x1D632, char = '𝘲', class = 'ord', cs = 'mitsansq', alphabet = 'sans' } -- mathematical sans-serif italic small q + , { code = 0x1D633, char = '𝘳', class = 'ord', cs = 'mitsansr', alphabet = 'sans' } -- mathematical sans-serif italic small r + , { code = 0x1D634, char = '𝘴', class = 'ord', cs = 'mitsanss', alphabet = 'sans' } -- mathematical sans-serif italic small s + , { code = 0x1D635, char = '𝘵', class = 'ord', cs = 'mitsanst', alphabet = 'sans' } -- mathematical sans-serif italic small t + , { code = 0x1D636, char = '𝘶', class = 'ord', cs = 'mitsansu', alphabet = 'sans' } -- mathematical sans-serif italic small u + , { code = 0x1D637, char = '𝘷', class = 'ord', cs = 'mitsansv', alphabet = 'sans' } -- mathematical sans-serif italic small v + , { code = 0x1D638, char = '𝘸', class = 'ord', cs = 'mitsansw', alphabet = 'sans' } -- mathematical sans-serif italic small w + , { code = 0x1D639, char = '𝘹', class = 'ord', cs = 'mitsansx', alphabet = 'sans' } -- mathematical sans-serif italic small x + , { code = 0x1D63A, char = '𝘺', class = 'ord', cs = 'mitsansy', alphabet = 'sans' } -- mathematical sans-serif italic small y + , { code = 0x1D63B, char = '𝘻', class = 'ord', cs = 'mitsansz', alphabet = 'sans' } -- mathematical sans-serif italic small z + , { code = 0x1D63C, char = '𝘼', class = 'ord', cs = 'mbfitsansA', alphabet = 'sans' } -- mathematical sans-serif bold italic capital a + , { code = 0x1D63D, char = '𝘽', class = 'ord', cs = 'mbfitsansB', alphabet = 'sans' } -- mathematical sans-serif bold italic capital b + , { code = 0x1D63E, char = '𝘾', class = 'ord', cs = 'mbfitsansC', alphabet = 'sans' } -- mathematical sans-serif bold italic capital c + , { code = 0x1D63F, char = '𝘿', class = 'ord', cs = 'mbfitsansD', alphabet = 'sans' } -- mathematical sans-serif bold italic capital d + , { code = 0x1D640, char = '𝙀', class = 'ord', cs = 'mbfitsansE', alphabet = 'sans' } -- mathematical sans-serif bold italic capital e + , { code = 0x1D641, char = '𝙁', class = 'ord', cs = 'mbfitsansF', alphabet = 'sans' } -- mathematical sans-serif bold italic capital f + , { code = 0x1D642, char = '𝙂', class = 'ord', cs = 'mbfitsansG', alphabet = 'sans' } -- mathematical sans-serif bold italic capital g + , { code = 0x1D643, char = '𝙃', class = 'ord', cs = 'mbfitsansH', alphabet = 'sans' } -- mathematical sans-serif bold italic capital h + , { code = 0x1D644, char = '𝙄', class = 'ord', cs = 'mbfitsansI', alphabet = 'sans' } -- mathematical sans-serif bold italic capital i + , { code = 0x1D645, char = '𝙅', class = 'ord', cs = 'mbfitsansJ', alphabet = 'sans' } -- mathematical sans-serif bold italic capital j + , { code = 0x1D646, char = '𝙆', class = 'ord', cs = 'mbfitsansK', alphabet = 'sans' } -- mathematical sans-serif bold italic capital k + , { code = 0x1D647, char = '𝙇', class = 'ord', cs = 'mbfitsansL', alphabet = 'sans' } -- mathematical sans-serif bold italic capital l + , { code = 0x1D648, char = '𝙈', class = 'ord', cs = 'mbfitsansM', alphabet = 'sans' } -- mathematical sans-serif bold italic capital m + , { code = 0x1D649, char = '𝙉', class = 'ord', cs = 'mbfitsansN', alphabet = 'sans' } -- mathematical sans-serif bold italic capital n + , { code = 0x1D64A, char = '𝙊', class = 'ord', cs = 'mbfitsansO', alphabet = 'sans' } -- mathematical sans-serif bold italic capital o + , { code = 0x1D64B, char = '𝙋', class = 'ord', cs = 'mbfitsansP', alphabet = 'sans' } -- mathematical sans-serif bold italic capital p + , { code = 0x1D64C, char = '𝙌', class = 'ord', cs = 'mbfitsansQ', alphabet = 'sans' } -- mathematical sans-serif bold italic capital q + , { code = 0x1D64D, char = '𝙍', class = 'ord', cs = 'mbfitsansR', alphabet = 'sans' } -- mathematical sans-serif bold italic capital r + , { code = 0x1D64E, char = '𝙎', class = 'ord', cs = 'mbfitsansS', alphabet = 'sans' } -- mathematical sans-serif bold italic capital s + , { code = 0x1D64F, char = '𝙏', class = 'ord', cs = 'mbfitsansT', alphabet = 'sans' } -- mathematical sans-serif bold italic capital t + , { code = 0x1D650, char = '𝙐', class = 'ord', cs = 'mbfitsansU', alphabet = 'sans' } -- mathematical sans-serif bold italic capital u + , { code = 0x1D651, char = '𝙑', class = 'ord', cs = 'mbfitsansV', alphabet = 'sans' } -- mathematical sans-serif bold italic capital v + , { code = 0x1D652, char = '𝙒', class = 'ord', cs = 'mbfitsansW', alphabet = 'sans' } -- mathematical sans-serif bold italic capital w + , { code = 0x1D653, char = '𝙓', class = 'ord', cs = 'mbfitsansX', alphabet = 'sans' } -- mathematical sans-serif bold italic capital x + , { code = 0x1D654, char = '𝙔', class = 'ord', cs = 'mbfitsansY', alphabet = 'sans' } -- mathematical sans-serif bold italic capital y + , { code = 0x1D655, char = '𝙕', class = 'ord', cs = 'mbfitsansZ', alphabet = 'sans' } -- mathematical sans-serif bold italic capital z + , { code = 0x1D656, char = '𝙖', class = 'ord', cs = 'mbfitsansa', alphabet = 'sans' } -- mathematical sans-serif bold italic small a + , { code = 0x1D657, char = '𝙗', class = 'ord', cs = 'mbfitsansb', alphabet = 'sans' } -- mathematical sans-serif bold italic small b + , { code = 0x1D658, char = '𝙘', class = 'ord', cs = 'mbfitsansc', alphabet = 'sans' } -- mathematical sans-serif bold italic small c + , { code = 0x1D659, char = '𝙙', class = 'ord', cs = 'mbfitsansd', alphabet = 'sans' } -- mathematical sans-serif bold italic small d + , { code = 0x1D65A, char = '𝙚', class = 'ord', cs = 'mbfitsanse', alphabet = 'sans' } -- mathematical sans-serif bold italic small e + , { code = 0x1D65B, char = '𝙛', class = 'ord', cs = 'mbfitsansf', alphabet = 'sans' } -- mathematical sans-serif bold italic small f + , { code = 0x1D65C, char = '𝙜', class = 'ord', cs = 'mbfitsansg', alphabet = 'sans' } -- mathematical sans-serif bold italic small g + , { code = 0x1D65D, char = '𝙝', class = 'ord', cs = 'mbfitsansh', alphabet = 'sans' } -- mathematical sans-serif bold italic small h + , { code = 0x1D65E, char = '𝙞', class = 'ord', cs = 'mbfitsansi', alphabet = 'sans' } -- mathematical sans-serif bold italic small i + , { code = 0x1D65F, char = '𝙟', class = 'ord', cs = 'mbfitsansj', alphabet = 'sans' } -- mathematical sans-serif bold italic small j + , { code = 0x1D660, char = '𝙠', class = 'ord', cs = 'mbfitsansk', alphabet = 'sans' } -- mathematical sans-serif bold italic small k + , { code = 0x1D661, char = '𝙡', class = 'ord', cs = 'mbfitsansl', alphabet = 'sans' } -- mathematical sans-serif bold italic small l + , { code = 0x1D662, char = '𝙢', class = 'ord', cs = 'mbfitsansm', alphabet = 'sans' } -- mathematical sans-serif bold italic small m + , { code = 0x1D663, char = '𝙣', class = 'ord', cs = 'mbfitsansn', alphabet = 'sans' } -- mathematical sans-serif bold italic small n + , { code = 0x1D664, char = '𝙤', class = 'ord', cs = 'mbfitsanso', alphabet = 'sans' } -- mathematical sans-serif bold italic small o + , { code = 0x1D665, char = '𝙥', class = 'ord', cs = 'mbfitsansp', alphabet = 'sans' } -- mathematical sans-serif bold italic small p + , { code = 0x1D666, char = '𝙦', class = 'ord', cs = 'mbfitsansq', alphabet = 'sans' } -- mathematical sans-serif bold italic small q + , { code = 0x1D667, char = '𝙧', class = 'ord', cs = 'mbfitsansr', alphabet = 'sans' } -- mathematical sans-serif bold italic small r + , { code = 0x1D668, char = '𝙨', class = 'ord', cs = 'mbfitsanss', alphabet = 'sans' } -- mathematical sans-serif bold italic small s + , { code = 0x1D669, char = '𝙩', class = 'ord', cs = 'mbfitsanst', alphabet = 'sans' } -- mathematical sans-serif bold italic small t + , { code = 0x1D66A, char = '𝙪', class = 'ord', cs = 'mbfitsansu', alphabet = 'sans' } -- mathematical sans-serif bold italic small u + , { code = 0x1D66B, char = '𝙫', class = 'ord', cs = 'mbfitsansv', alphabet = 'sans' } -- mathematical sans-serif bold italic small v + , { code = 0x1D66C, char = '𝙬', class = 'ord', cs = 'mbfitsansw', alphabet = 'sans' } -- mathematical sans-serif bold italic small w + , { code = 0x1D66D, char = '𝙭', class = 'ord', cs = 'mbfitsansx', alphabet = 'sans' } -- mathematical sans-serif bold italic small x + , { code = 0x1D66E, char = '𝙮', class = 'ord', cs = 'mbfitsansy', alphabet = 'sans' } -- mathematical sans-serif bold italic small y + , { code = 0x1D66F, char = '𝙯', class = 'ord', cs = 'mbfitsansz', alphabet = 'sans' } -- mathematical sans-serif bold italic small z + , { code = 0x1D670, char = '𝙰', class = 'ord', cs = 'mttA', alphabet = 'mono' } -- mathematical monospace capital a + , { code = 0x1D671, char = '𝙱', class = 'ord', cs = 'mttB', alphabet = 'mono' } -- mathematical monospace capital b + , { code = 0x1D672, char = '𝙲', class = 'ord', cs = 'mttC', alphabet = 'mono' } -- mathematical monospace capital c + , { code = 0x1D673, char = '𝙳', class = 'ord', cs = 'mttD', alphabet = 'mono' } -- mathematical monospace capital d + , { code = 0x1D674, char = '𝙴', class = 'ord', cs = 'mttE', alphabet = 'mono' } -- mathematical monospace capital e + , { code = 0x1D675, char = '𝙵', class = 'ord', cs = 'mttF', alphabet = 'mono' } -- mathematical monospace capital f + , { code = 0x1D676, char = '𝙶', class = 'ord', cs = 'mttG', alphabet = 'mono' } -- mathematical monospace capital g + , { code = 0x1D677, char = '𝙷', class = 'ord', cs = 'mttH', alphabet = 'mono' } -- mathematical monospace capital h + , { code = 0x1D678, char = '𝙸', class = 'ord', cs = 'mttI', alphabet = 'mono' } -- mathematical monospace capital i + , { code = 0x1D679, char = '𝙹', class = 'ord', cs = 'mttJ', alphabet = 'mono' } -- mathematical monospace capital j + , { code = 0x1D67A, char = '𝙺', class = 'ord', cs = 'mttK', alphabet = 'mono' } -- mathematical monospace capital k + , { code = 0x1D67B, char = '𝙻', class = 'ord', cs = 'mttL', alphabet = 'mono' } -- mathematical monospace capital l + , { code = 0x1D67C, char = '𝙼', class = 'ord', cs = 'mttM', alphabet = 'mono' } -- mathematical monospace capital m + , { code = 0x1D67D, char = '𝙽', class = 'ord', cs = 'mttN', alphabet = 'mono' } -- mathematical monospace capital n + , { code = 0x1D67E, char = '𝙾', class = 'ord', cs = 'mttO', alphabet = 'mono' } -- mathematical monospace capital o + , { code = 0x1D67F, char = '𝙿', class = 'ord', cs = 'mttP', alphabet = 'mono' } -- mathematical monospace capital p + , { code = 0x1D680, char = '𝚀', class = 'ord', cs = 'mttQ', alphabet = 'mono' } -- mathematical monospace capital q + , { code = 0x1D681, char = '𝚁', class = 'ord', cs = 'mttR', alphabet = 'mono' } -- mathematical monospace capital r + , { code = 0x1D682, char = '𝚂', class = 'ord', cs = 'mttS', alphabet = 'mono' } -- mathematical monospace capital s + , { code = 0x1D683, char = '𝚃', class = 'ord', cs = 'mttT', alphabet = 'mono' } -- mathematical monospace capital t + , { code = 0x1D684, char = '𝚄', class = 'ord', cs = 'mttU', alphabet = 'mono' } -- mathematical monospace capital u + , { code = 0x1D685, char = '𝚅', class = 'ord', cs = 'mttV', alphabet = 'mono' } -- mathematical monospace capital v + , { code = 0x1D686, char = '𝚆', class = 'ord', cs = 'mttW', alphabet = 'mono' } -- mathematical monospace capital w + , { code = 0x1D687, char = '𝚇', class = 'ord', cs = 'mttX', alphabet = 'mono' } -- mathematical monospace capital x + , { code = 0x1D688, char = '𝚈', class = 'ord', cs = 'mttY', alphabet = 'mono' } -- mathematical monospace capital y + , { code = 0x1D689, char = '𝚉', class = 'ord', cs = 'mttZ', alphabet = 'mono' } -- mathematical monospace capital z + , { code = 0x1D68A, char = '𝚊', class = 'ord', cs = 'mtta', alphabet = 'mono' } -- mathematical monospace small a + , { code = 0x1D68B, char = '𝚋', class = 'ord', cs = 'mttb', alphabet = 'mono' } -- mathematical monospace small b + , { code = 0x1D68C, char = '𝚌', class = 'ord', cs = 'mttc', alphabet = 'mono' } -- mathematical monospace small c + , { code = 0x1D68D, char = '𝚍', class = 'ord', cs = 'mttd', alphabet = 'mono' } -- mathematical monospace small d + , { code = 0x1D68E, char = '𝚎', class = 'ord', cs = 'mtte', alphabet = 'mono' } -- mathematical monospace small e + , { code = 0x1D68F, char = '𝚏', class = 'ord', cs = 'mttf', alphabet = 'mono' } -- mathematical monospace small f + , { code = 0x1D690, char = '𝚐', class = 'ord', cs = 'mttg', alphabet = 'mono' } -- mathematical monospace small g + , { code = 0x1D691, char = '𝚑', class = 'ord', cs = 'mtth', alphabet = 'mono' } -- mathematical monospace small h + , { code = 0x1D692, char = '𝚒', class = 'ord', cs = 'mtti', alphabet = 'mono' } -- mathematical monospace small i + , { code = 0x1D693, char = '𝚓', class = 'ord', cs = 'mttj', alphabet = 'mono' } -- mathematical monospace small j + , { code = 0x1D694, char = '𝚔', class = 'ord', cs = 'mttk', alphabet = 'mono' } -- mathematical monospace small k + , { code = 0x1D695, char = '𝚕', class = 'ord', cs = 'mttl', alphabet = 'mono' } -- mathematical monospace small l + , { code = 0x1D696, char = '𝚖', class = 'ord', cs = 'mttm', alphabet = 'mono' } -- mathematical monospace small m + , { code = 0x1D697, char = '𝚗', class = 'ord', cs = 'mttn', alphabet = 'mono' } -- mathematical monospace small n + , { code = 0x1D698, char = '𝚘', class = 'ord', cs = 'mtto', alphabet = 'mono' } -- mathematical monospace small o + , { code = 0x1D699, char = '𝚙', class = 'ord', cs = 'mttp', alphabet = 'mono' } -- mathematical monospace small p + , { code = 0x1D69A, char = '𝚚', class = 'ord', cs = 'mttq', alphabet = 'mono' } -- mathematical monospace small q + , { code = 0x1D69B, char = '𝚛', class = 'ord', cs = 'mttr', alphabet = 'mono' } -- mathematical monospace small r + , { code = 0x1D69C, char = '𝚜', class = 'ord', cs = 'mtts', alphabet = 'mono' } -- mathematical monospace small s + , { code = 0x1D69D, char = '𝚝', class = 'ord', cs = 'mttt', alphabet = 'mono' } -- mathematical monospace small t + , { code = 0x1D69E, char = '𝚞', class = 'ord', cs = 'mttu', alphabet = 'mono' } -- mathematical monospace small u + , { code = 0x1D69F, char = '𝚟', class = 'ord', cs = 'mttv', alphabet = 'mono' } -- mathematical monospace small v + , { code = 0x1D6A0, char = '𝚠', class = 'ord', cs = 'mttw', alphabet = 'mono' } -- mathematical monospace small w + , { code = 0x1D6A1, char = '𝚡', class = 'ord', cs = 'mttx', alphabet = 'mono' } -- mathematical monospace small x + , { code = 0x1D6A2, char = '𝚢', class = 'ord', cs = 'mtty', alphabet = 'mono' } -- mathematical monospace small y + , { code = 0x1D6A3, char = '𝚣', class = 'ord', cs = 'mttz', alphabet = 'mono' } -- mathematical monospace small z + , { code = 0x1D6A4, char = '𝚤', class = 'ord', cs = 'imath' } -- mathematical italic small dotless i + , { code = 0x1D6A5, char = '𝚥', class = 'ord', cs = 'jmath' } -- mathematical italic small dotless j + , { code = 0x1D6A8, char = '𝚨', class = 'ord', cs = 'mbfAlpha', alphabet = 'boldgreek' } -- mathematical bold capital alpha + , { code = 0x1D6A9, char = '𝚩', class = 'ord', cs = 'mbfBeta', alphabet = 'boldgreek' } -- mathematical bold capital beta + , { code = 0x1D6AA, char = '𝚪', class = 'ord', cs = 'mbfGamma', alphabet = 'boldgreek' } -- mathematical bold capital gamma + , { code = 0x1D6AB, char = '𝚫', class = 'ord', cs = 'mbfDelta', alphabet = 'boldgreek' } -- mathematical bold capital delta + , { code = 0x1D6AC, char = '𝚬', class = 'ord', cs = 'mbfEpsilon', alphabet = 'boldgreek'} -- mathematical bold capital epsilon + , { code = 0x1D6AD, char = '𝚭', class = 'ord', cs = 'mbfZeta', alphabet = 'boldgreek' } -- mathematical bold capital zeta + , { code = 0x1D6AE, char = '𝚮', class = 'ord', cs = 'mbfEta', alphabet = 'boldgreek' } -- mathematical bold capital eta + , { code = 0x1D6AF, char = '𝚯', class = 'ord', cs = 'mbfTheta', alphabet = 'boldgreek' } -- mathematical bold capital theta + , { code = 0x1D6B0, char = '𝚰', class = 'ord', cs = 'mbfIota', alphabet = 'boldgreek' } -- mathematical bold capital iota + , { code = 0x1D6B1, char = '𝚱', class = 'ord', cs = 'mbfKappa', alphabet = 'boldgreek' } -- mathematical bold capital kappa + , { code = 0x1D6B2, char = '𝚲', class = 'ord', cs = 'mbfLambda', alphabet = 'boldgreek' } -- mathematical bold capital lamda + , { code = 0x1D6B3, char = '𝚳', class = 'ord', cs = 'mbfMu', alphabet = 'boldgreek' } -- mathematical bold capital mu + , { code = 0x1D6B4, char = '𝚴', class = 'ord', cs = 'mbfNu', alphabet = 'boldgreek' } -- mathematical bold capital nu + , { code = 0x1D6B5, char = '𝚵', class = 'ord', cs = 'mbfXi', alphabet = 'boldgreek' } -- mathematical bold capital xi + , { code = 0x1D6B6, char = '𝚶', class = 'ord', cs = 'mbfOmicron', alphabet = 'boldgreek'} -- mathematical bold capital omicron + , { code = 0x1D6B7, char = '𝚷', class = 'ord', cs = 'mbfPi', alphabet = 'boldgreek' } -- mathematical bold capital pi + , { code = 0x1D6B8, char = '𝚸', class = 'ord', cs = 'mbfRho', alphabet = 'boldgreek' } -- mathematical bold capital rho + , { code = 0x1D6B9, char = '𝚹', class = 'ord', cs = 'mbfvarTheta', alphabet = 'boldgreek'} -- mathematical bold capital theta symbol + , { code = 0x1D6BA, char = '𝚺', class = 'ord', cs = 'mbfSigma', alphabet = 'boldgreek' } -- mathematical bold capital sigma + , { code = 0x1D6BB, char = '𝚻', class = 'ord', cs = 'mbfTau', alphabet = 'boldgreek' } -- mathematical bold capital tau + , { code = 0x1D6BC, char = '𝚼', class = 'ord', cs = 'mbfUpsilon', alphabet = 'boldgreek'} -- mathematical bold capital upsilon + , { code = 0x1D6BD, char = '𝚽', class = 'ord', cs = 'mbfPhi', alphabet = 'boldgreek' } -- mathematical bold capital phi + , { code = 0x1D6BE, char = '𝚾', class = 'ord', cs = 'mbfChi', alphabet = 'boldgreek' } -- mathematical bold capital chi + , { code = 0x1D6BF, char = '𝚿', class = 'ord', cs = 'mbfPsi', alphabet = 'boldgreek' } -- mathematical bold capital psi + , { code = 0x1D6C0, char = '𝛀', class = 'ord', cs = 'mbfOmega', alphabet = 'boldgreek' } -- mathematical bold capital omega + , { code = 0x1D6C1, char = '𝛁', class = 'ord', cs = 'mbfnabla' } -- mathematical bold nabla + , { code = 0x1D6C2, char = '𝛂', class = 'ord', cs = 'mbfalpha', alphabet = 'boldgreek' } -- mathematical bold small alpha + , { code = 0x1D6C3, char = '𝛃', class = 'ord', cs = 'mbfbeta', alphabet = 'boldgreek' } -- mathematical bold small beta + , { code = 0x1D6C4, char = '𝛄', class = 'ord', cs = 'mbfgamma', alphabet = 'boldgreek' } -- mathematical bold small gamma + , { code = 0x1D6C5, char = '𝛅', class = 'ord', cs = 'mbfdelta', alphabet = 'boldgreek' } -- mathematical bold small delta + , { code = 0x1D6C6, char = '𝛆', class = 'ord', cs = 'mbfepsilon', alphabet = 'boldgreek'} -- mathematical bold small epsilon + , { code = 0x1D6C7, char = '𝛇', class = 'ord', cs = 'mbfzeta', alphabet = 'boldgreek' } -- mathematical bold small zeta + , { code = 0x1D6C8, char = '𝛈', class = 'ord', cs = 'mbfeta', alphabet = 'boldgreek' } -- mathematical bold small eta + , { code = 0x1D6C9, char = '𝛉', class = 'ord', cs = 'mbftheta', alphabet = 'boldgreek' } -- mathematical bold small theta + , { code = 0x1D6CA, char = '𝛊', class = 'ord', cs = 'mbfiota', alphabet = 'boldgreek' } -- mathematical bold small iota + , { code = 0x1D6CB, char = '𝛋', class = 'ord', cs = 'mbfkappa', alphabet = 'boldgreek' } -- mathematical bold small kappa + , { code = 0x1D6CC, char = '𝛌', class = 'ord', cs = 'mbflambda', alphabet = 'boldgreek' } -- mathematical bold small lamda + , { code = 0x1D6CD, char = '𝛍', class = 'ord', cs = 'mbfmu', alphabet = 'boldgreek' } -- mathematical bold small mu + , { code = 0x1D6CE, char = '𝛎', class = 'ord', cs = 'mbfnu', alphabet = 'boldgreek' } -- mathematical bold small nu + , { code = 0x1D6CF, char = '𝛏', class = 'ord', cs = 'mbfxi', alphabet = 'boldgreek' } -- mathematical bold small xi + , { code = 0x1D6D0, char = '𝛐', class = 'ord', cs = 'mbfomicron', alphabet = 'boldgreek'} -- mathematical bold small omicron + , { code = 0x1D6D1, char = '𝛑', class = 'ord', cs = 'mbfpi', alphabet = 'boldgreek' } -- mathematical bold small pi + , { code = 0x1D6D2, char = '𝛒', class = 'ord', cs = 'mbfrho', alphabet = 'boldgreek' } -- mathematical bold small rho + , { code = 0x1D6D3, char = '𝛓', class = 'ord', cs = 'mbfvarsigma', alphabet = 'boldgreek'} -- mathematical bold small final sigma + , { code = 0x1D6D4, char = '𝛔', class = 'ord', cs = 'mbfsigma', alphabet = 'boldgreek' } -- mathematical bold small sigma + , { code = 0x1D6D5, char = '𝛕', class = 'ord', cs = 'mbftau', alphabet = 'boldgreek' } -- mathematical bold small tau + , { code = 0x1D6D6, char = '𝛖', class = 'ord', cs = 'mbfupsilon', alphabet = 'boldgreek'} -- mathematical bold small upsilon + , { code = 0x1D6D7, char = '𝛗', class = 'ord', cs = 'mbfphi', alphabet = 'boldgreek' } -- mathematical bold small phi + , { code = 0x1D6D8, char = '𝛘', class = 'ord', cs = 'mbfchi', alphabet = 'boldgreek' } -- mathematical bold small chi + , { code = 0x1D6D9, char = '𝛙', class = 'ord', cs = 'mbfpsi', alphabet = 'boldgreek' } -- mathematical bold small psi + , { code = 0x1D6DA, char = '𝛚', class = 'ord', cs = 'mbfomega', alphabet = 'boldgreek' } -- mathematical bold small omega + , { code = 0x1D6DB, char = '𝛛', class = 'ord', cs = 'mbfpartial' } -- mathematical bold partial differential + , { code = 0x1D6DC, char = '𝛜', class = 'ord', cs = 'mbfvarepsilon', alphabet = 'boldgreek'} -- mathematical bold epsilon symbol + , { code = 0x1D6DD, char = '𝛝', class = 'ord', cs = 'mbfvartheta', alphabet = 'boldgreek'} -- mathematical bold theta symbol + , { code = 0x1D6DE, char = '𝛞', class = 'ord', cs = 'mbfvarkappa', alphabet = 'boldgreek'} -- mathematical bold kappa symbol + , { code = 0x1D6DF, char = '𝛟', class = 'ord', cs = 'mbfvarphi', alphabet = 'boldgreek' } -- mathematical bold phi symbol + , { code = 0x1D6E0, char = '𝛠', class = 'ord', cs = 'mbfvarrho', alphabet = 'boldgreek' } -- mathematical bold rho symbol + , { code = 0x1D6E1, char = '𝛡', class = 'ord', cs = 'mbfvarpi', alphabet = 'boldgreek' } -- mathematical bold pi symbol + , { code = 0x1D6E2, char = '𝛢', class = 'ord', cs = 'mitAlpha' } -- mathematical italic capital alpha + , { code = 0x1D6E3, char = '𝛣', class = 'ord', cs = 'mitBeta' } -- mathematical italic capital beta + , { code = 0x1D6E4, char = '𝛤', class = 'ord', cs = 'mitGamma' } -- mathematical italic capital gamma + , { code = 0x1D6E5, char = '𝛥', class = 'ord', cs = 'mitDelta' } -- mathematical italic capital delta + , { code = 0x1D6E6, char = '𝛦', class = 'ord', cs = 'mitEpsilon' } -- mathematical italic capital epsilon + , { code = 0x1D6E7, char = '𝛧', class = 'ord', cs = 'mitZeta' } -- mathematical italic capital zeta + , { code = 0x1D6E8, char = '𝛨', class = 'ord', cs = 'mitEta' } -- mathematical italic capital eta + , { code = 0x1D6E9, char = '𝛩', class = 'ord', cs = 'mitTheta' } -- mathematical italic capital theta + , { code = 0x1D6EA, char = '𝛪', class = 'ord', cs = 'mitIota' } -- mathematical italic capital iota + , { code = 0x1D6EB, char = '𝛫', class = 'ord', cs = 'mitKappa' } -- mathematical italic capital kappa + , { code = 0x1D6EC, char = '𝛬', class = 'ord', cs = 'mitLambda' } -- mathematical italic capital lamda + , { code = 0x1D6ED, char = '𝛭', class = 'ord', cs = 'mitMu' } -- mathematical italic capital mu + , { code = 0x1D6EE, char = '𝛮', class = 'ord', cs = 'mitNu' } -- mathematical italic capital nu + , { code = 0x1D6EF, char = '𝛯', class = 'ord', cs = 'mitXi' } -- mathematical italic capital xi + , { code = 0x1D6F0, char = '𝛰', class = 'ord', cs = 'mitOmicron' } -- mathematical italic capital omicron + , { code = 0x1D6F1, char = '𝛱', class = 'ord', cs = 'mitPi' } -- mathematical italic capital pi + , { code = 0x1D6F2, char = '𝛲', class = 'ord', cs = 'mitRho' } -- mathematical italic capital rho + , { code = 0x1D6F3, char = '𝛳', class = 'ord', cs = 'mitvarTheta' } -- mathematical italic capital theta symbol + , { code = 0x1D6F4, char = '𝛴', class = 'ord', cs = 'mitSigma' } -- mathematical italic capital sigma + , { code = 0x1D6F5, char = '𝛵', class = 'ord', cs = 'mitTau' } -- mathematical italic capital tau + , { code = 0x1D6F6, char = '𝛶', class = 'ord', cs = 'mitUpsilon' } -- mathematical italic capital upsilon + , { code = 0x1D6F7, char = '𝛷', class = 'ord', cs = 'mitPhi' } -- mathematical italic capital phi + , { code = 0x1D6F8, char = '𝛸', class = 'ord', cs = 'mitChi' } -- mathematical italic capital chi + , { code = 0x1D6F9, char = '𝛹', class = 'ord', cs = 'mitPsi' } -- mathematical italic capital psi + , { code = 0x1D6FA, char = '𝛺', class = 'ord', cs = 'mitOmega' } -- mathematical italic capital omega + , { code = 0x1D6FB, char = '𝛻', class = 'ord', cs = 'mitnabla' } -- mathematical italic nabla + , { code = 0x1D6FC, char = '𝛼', class = 'ord', cs = 'mitalpha' } -- mathematical italic small alpha + , { code = 0x1D6FD, char = '𝛽', class = 'ord', cs = 'mitbeta' } -- mathematical italic small beta + , { code = 0x1D6FE, char = '𝛾', class = 'ord', cs = 'mitgamma' } -- mathematical italic small gamma + , { code = 0x1D6FF, char = '𝛿', class = 'ord', cs = 'mitdelta' } -- mathematical italic small delta + , { code = 0x1D700, char = '𝜀', class = 'ord', cs = 'mitepsilon' } -- mathematical italic small epsilon + , { code = 0x1D701, char = '𝜁', class = 'ord', cs = 'mitzeta' } -- mathematical italic small zeta + , { code = 0x1D702, char = '𝜂', class = 'ord', cs = 'miteta' } -- mathematical italic small eta + , { code = 0x1D703, char = '𝜃', class = 'ord', cs = 'mittheta' } -- mathematical italic small theta + , { code = 0x1D704, char = '𝜄', class = 'ord', cs = 'mitiota' } -- mathematical italic small iota + , { code = 0x1D705, char = '𝜅', class = 'ord', cs = 'mitkappa' } -- mathematical italic small kappa + , { code = 0x1D706, char = '𝜆', class = 'ord', cs = 'mitlambda' } -- mathematical italic small lamda + , { code = 0x1D707, char = '𝜇', class = 'ord', cs = 'mitmu' } -- mathematical italic small mu + , { code = 0x1D708, char = '𝜈', class = 'ord', cs = 'mitnu' } -- mathematical italic small nu + , { code = 0x1D709, char = '𝜉', class = 'ord', cs = 'mitxi' } -- mathematical italic small xi + , { code = 0x1D70A, char = '𝜊', class = 'ord', cs = 'mitomicron' } -- mathematical italic small omicron + , { code = 0x1D70B, char = '𝜋', class = 'ord', cs = 'mitpi' } -- mathematical italic small pi + , { code = 0x1D70C, char = '𝜌', class = 'ord', cs = 'mitrho' } -- mathematical italic small rho + , { code = 0x1D70D, char = '𝜍', class = 'ord', cs = 'mitvarsigma' } -- mathematical italic small final sigma + , { code = 0x1D70E, char = '𝜎', class = 'ord', cs = 'mitsigma' } -- mathematical italic small sigma + , { code = 0x1D70F, char = '𝜏', class = 'ord', cs = 'mittau' } -- mathematical italic small tau + , { code = 0x1D710, char = '𝜐', class = 'ord', cs = 'mitupsilon' } -- mathematical italic small upsilon + , { code = 0x1D711, char = '𝜑', class = 'ord', cs = 'mitphi' } -- mathematical italic small phi + , { code = 0x1D712, char = '𝜒', class = 'ord', cs = 'mitchi' } -- mathematical italic small chi + , { code = 0x1D713, char = '𝜓', class = 'ord', cs = 'mitpsi' } -- mathematical italic small psi + , { code = 0x1D714, char = '𝜔', class = 'ord', cs = 'mitomega' } -- mathematical italic small omega + , { code = 0x1D715, char = '𝜕', class = 'ord', cs = 'mitpartial' } -- mathematical italic partial differential + , { code = 0x1D716, char = '𝜖', class = 'ord', cs = 'mitvarepsilon' } -- mathematical italic epsilon symbol + , { code = 0x1D717, char = '𝜗', class = 'ord', cs = 'mitvartheta' } -- mathematical italic theta symbol + , { code = 0x1D718, char = '𝜘', class = 'ord', cs = 'mitvarkappa' } -- mathematical italic kappa symbol + , { code = 0x1D719, char = '𝜙', class = 'ord', cs = 'mitvarphi' } -- mathematical italic phi symbol + , { code = 0x1D71A, char = '𝜚', class = 'ord', cs = 'mitvarrho' } -- mathematical italic rho symbol + , { code = 0x1D71B, char = '𝜛', class = 'ord', cs = 'mitvarpi' } -- mathematical italic pi symbol + , { code = 0x1D71C, char = '𝜜', class = 'ord', cs = 'mbfitAlpha', alphabet = 'boldgreek' } -- mathematical bold italic capital alpha + , { code = 0x1D71D, char = '𝜝', class = 'ord', cs = 'mbfitBeta', alphabet = 'boldgreek' } -- mathematical bold italic capital beta + , { code = 0x1D71E, char = '𝜞', class = 'ord', cs = 'mbfitGamma', alphabet = 'boldgreek' } -- mathematical bold italic capital gamma + , { code = 0x1D71F, char = '𝜟', class = 'ord', cs = 'mbfitDelta', alphabet = 'boldgreek' } -- mathematical bold italic capital delta + , { code = 0x1D720, char = '𝜠', class = 'ord', cs = 'mbfitEpsilon', alphabet = 'boldgreek'} -- mathematical bold italic capital epsilon + , { code = 0x1D721, char = '𝜡', class = 'ord', cs = 'mbfitZeta', alphabet = 'boldgreek' } -- mathematical bold italic capital zeta + , { code = 0x1D722, char = '𝜢', class = 'ord', cs = 'mbfitEta', alphabet = 'boldgreek' } -- mathematical bold italic capital eta + , { code = 0x1D723, char = '𝜣', class = 'ord', cs = 'mbfitTheta', alphabet = 'boldgreek' } -- mathematical bold italic capital theta + , { code = 0x1D724, char = '𝜤', class = 'ord', cs = 'mbfitIota', alphabet = 'boldgreek' } -- mathematical bold italic capital iota + , { code = 0x1D725, char = '𝜥', class = 'ord', cs = 'mbfitKappa', alphabet = 'boldgreek' } -- mathematical bold italic capital kappa + , { code = 0x1D726, char = '𝜦', class = 'ord', cs = 'mbfitLambda', alphabet = 'boldgreek'} -- mathematical bold italic capital lamda + , { code = 0x1D727, char = '𝜧', class = 'ord', cs = 'mbfitMu', alphabet = 'boldgreek' } -- mathematical bold italic capital mu + , { code = 0x1D728, char = '𝜨', class = 'ord', cs = 'mbfitNu', alphabet = 'boldgreek' } -- mathematical bold italic capital nu + , { code = 0x1D729, char = '𝜩', class = 'ord', cs = 'mbfitXi', alphabet = 'boldgreek' } -- mathematical bold italic capital xi + , { code = 0x1D72A, char = '𝜪', class = 'ord', cs = 'mbfitOmicron', alphabet = 'boldgreek'} -- mathematical bold italic capital omicron + , { code = 0x1D72B, char = '𝜫', class = 'ord', cs = 'mbfitPi', alphabet = 'boldgreek' } -- mathematical bold italic capital pi + , { code = 0x1D72C, char = '𝜬', class = 'ord', cs = 'mbfitRho', alphabet = 'boldgreek' } -- mathematical bold italic capital rho + , { code = 0x1D72D, char = '𝜭', class = 'ord', cs = 'mbfitvarTheta', alphabet = 'boldgreek'} -- mathematical bold italic capital theta symbol + , { code = 0x1D72E, char = '𝜮', class = 'ord', cs = 'mbfitSigma', alphabet = 'boldgreek' } -- mathematical bold italic capital sigma + , { code = 0x1D72F, char = '𝜯', class = 'ord', cs = 'mbfitTau', alphabet = 'boldgreek' } -- mathematical bold italic capital tau + , { code = 0x1D730, char = '𝜰', class = 'ord', cs = 'mbfitUpsilon', alphabet = 'boldgreek'} -- mathematical bold italic capital upsilon + , { code = 0x1D731, char = '𝜱', class = 'ord', cs = 'mbfitPhi', alphabet = 'boldgreek' } -- mathematical bold italic capital phi + , { code = 0x1D732, char = '𝜲', class = 'ord', cs = 'mbfitChi', alphabet = 'boldgreek' } -- mathematical bold italic capital chi + , { code = 0x1D733, char = '𝜳', class = 'ord', cs = 'mbfitPsi', alphabet = 'boldgreek' } -- mathematical bold italic capital psi + , { code = 0x1D734, char = '𝜴', class = 'ord', cs = 'mbfitOmega', alphabet = 'boldgreek' } -- mathematical bold italic capital omega + , { code = 0x1D735, char = '𝜵', class = 'ord', cs = 'mbfitnabla' } -- mathematical bold italic nabla + , { code = 0x1D736, char = '𝜶', class = 'ord', cs = 'mbfitalpha', alphabet = 'boldgreek' } -- mathematical bold italic small alpha + , { code = 0x1D737, char = '𝜷', class = 'ord', cs = 'mbfitbeta', alphabet = 'boldgreek' } -- mathematical bold italic small beta + , { code = 0x1D738, char = '𝜸', class = 'ord', cs = 'mbfitgamma', alphabet = 'boldgreek' } -- mathematical bold italic small gamma + , { code = 0x1D739, char = '𝜹', class = 'ord', cs = 'mbfitdelta', alphabet = 'boldgreek' } -- mathematical bold italic small delta + , { code = 0x1D73A, char = '𝜺', class = 'ord', cs = 'mbfitepsilon', alphabet = 'boldgreek'} -- mathematical bold italic small epsilon + , { code = 0x1D73B, char = '𝜻', class = 'ord', cs = 'mbfitzeta', alphabet = 'boldgreek' } -- mathematical bold italic small zeta + , { code = 0x1D73C, char = '𝜼', class = 'ord', cs = 'mbfiteta', alphabet = 'boldgreek' } -- mathematical bold italic small eta + , { code = 0x1D73D, char = '𝜽', class = 'ord', cs = 'mbfittheta', alphabet = 'boldgreek' } -- mathematical bold italic small theta + , { code = 0x1D73E, char = '𝜾', class = 'ord', cs = 'mbfitiota', alphabet = 'boldgreek' } -- mathematical bold italic small iota + , { code = 0x1D73F, char = '𝜿', class = 'ord', cs = 'mbfitkappa', alphabet = 'boldgreek' } -- mathematical bold italic small kappa + , { code = 0x1D740, char = '𝝀', class = 'ord', cs = 'mbfitlambda', alphabet = 'boldgreek'} -- mathematical bold italic small lamda + , { code = 0x1D741, char = '𝝁', class = 'ord', cs = 'mbfitmu', alphabet = 'boldgreek' } -- mathematical bold italic small mu + , { code = 0x1D742, char = '𝝂', class = 'ord', cs = 'mbfitnu', alphabet = 'boldgreek' } -- mathematical bold italic small nu + , { code = 0x1D743, char = '𝝃', class = 'ord', cs = 'mbfitxi', alphabet = 'boldgreek' } -- mathematical bold italic small xi + , { code = 0x1D744, char = '𝝄', class = 'ord', cs = 'mbfitomicron', alphabet = 'boldgreek'} -- mathematical bold italic small omicron + , { code = 0x1D745, char = '𝝅', class = 'ord', cs = 'mbfitpi', alphabet = 'boldgreek' } -- mathematical bold italic small pi + , { code = 0x1D746, char = '𝝆', class = 'ord', cs = 'mbfitrho', alphabet = 'boldgreek' } -- mathematical bold italic small rho + , { code = 0x1D747, char = '𝝇', class = 'ord', cs = 'mbfitvarsigma', alphabet = 'boldgreek'} -- mathematical bold italic small final sigma + , { code = 0x1D748, char = '𝝈', class = 'ord', cs = 'mbfitsigma', alphabet = 'boldgreek' } -- mathematical bold italic small sigma + , { code = 0x1D749, char = '𝝉', class = 'ord', cs = 'mbfittau', alphabet = 'boldgreek' } -- mathematical bold italic small tau + , { code = 0x1D74A, char = '𝝊', class = 'ord', cs = 'mbfitupsilon', alphabet = 'boldgreek'} -- mathematical bold italic small upsilon + , { code = 0x1D74B, char = '𝝋', class = 'ord', cs = 'mbfitphi', alphabet = 'boldgreek' } -- mathematical bold italic small phi + , { code = 0x1D74C, char = '𝝌', class = 'ord', cs = 'mbfitchi', alphabet = 'boldgreek' } -- mathematical bold italic small chi + , { code = 0x1D74D, char = '𝝍', class = 'ord', cs = 'mbfitpsi', alphabet = 'boldgreek' } -- mathematical bold italic small psi + , { code = 0x1D74E, char = '𝝎', class = 'ord', cs = 'mbfitomega', alphabet = 'boldgreek' } -- mathematical bold italic small omega + , { code = 0x1D74F, char = '𝝏', class = 'ord', cs = 'mbfitpartial' } -- mathematical bold italic partial differential + , { code = 0x1D750, char = '𝝐', class = 'ord', cs = 'mbfitvarepsilon', alphabet = 'boldgreek'} -- mathematical bold italic epsilon symbol + , { code = 0x1D751, char = '𝝑', class = 'ord', cs = 'mbfitvartheta', alphabet = 'boldgreek'} -- mathematical bold italic theta symbol + , { code = 0x1D752, char = '𝝒', class = 'ord', cs = 'mbfitvarkappa', alphabet = 'boldgreek'} -- mathematical bold italic kappa symbol + , { code = 0x1D753, char = '𝝓', class = 'ord', cs = 'mbfitvarphi', alphabet = 'boldgreek'} -- mathematical bold italic phi symbol + , { code = 0x1D754, char = '𝝔', class = 'ord', cs = 'mbfitvarrho', alphabet = 'boldgreek'} -- mathematical bold italic rho symbol + , { code = 0x1D755, char = '𝝕', class = 'ord', cs = 'mbfitvarpi', alphabet = 'boldgreek' } -- mathematical bold italic pi symbol + , { code = 0x1D756, char = '𝝖', class = 'ord', cs = 'mbfsansAlpha', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital alpha + , { code = 0x1D757, char = '𝝗', class = 'ord', cs = 'mbfsansBeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital beta + , { code = 0x1D758, char = '𝝘', class = 'ord', cs = 'mbfsansGamma', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital gamma + , { code = 0x1D759, char = '𝝙', class = 'ord', cs = 'mbfsansDelta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital delta + , { code = 0x1D75A, char = '𝝚', class = 'ord', cs = 'mbfsansEpsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital epsilon + , { code = 0x1D75B, char = '𝝛', class = 'ord', cs = 'mbfsansZeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital zeta + , { code = 0x1D75C, char = '𝝜', class = 'ord', cs = 'mbfsansEta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital eta + , { code = 0x1D75D, char = '𝝝', class = 'ord', cs = 'mbfsansTheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital theta + , { code = 0x1D75E, char = '𝝞', class = 'ord', cs = 'mbfsansIota', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital iota + , { code = 0x1D75F, char = '𝝟', class = 'ord', cs = 'mbfsansKappa', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital kappa + , { code = 0x1D760, char = '𝝠', class = 'ord', cs = 'mbfsansLambda', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital lamda + , { code = 0x1D761, char = '𝝡', class = 'ord', cs = 'mbfsansMu', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital mu + , { code = 0x1D762, char = '𝝢', class = 'ord', cs = 'mbfsansNu', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital nu + , { code = 0x1D763, char = '𝝣', class = 'ord', cs = 'mbfsansXi', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital xi + , { code = 0x1D764, char = '𝝤', class = 'ord', cs = 'mbfsansOmicron', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital omicron + , { code = 0x1D765, char = '𝝥', class = 'ord', cs = 'mbfsansPi', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital pi + , { code = 0x1D766, char = '𝝦', class = 'ord', cs = 'mbfsansRho', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital rho + , { code = 0x1D767, char = '𝝧', class = 'ord', cs = 'mbfsansvarTheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital theta symbol + , { code = 0x1D768, char = '𝝨', class = 'ord', cs = 'mbfsansSigma', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital sigma + , { code = 0x1D769, char = '𝝩', class = 'ord', cs = 'mbfsansTau', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital tau + , { code = 0x1D76A, char = '𝝪', class = 'ord', cs = 'mbfsansUpsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital upsilon + , { code = 0x1D76B, char = '𝝫', class = 'ord', cs = 'mbfsansPhi', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital phi + , { code = 0x1D76C, char = '𝝬', class = 'ord', cs = 'mbfsansChi', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital chi + , { code = 0x1D76D, char = '𝝭', class = 'ord', cs = 'mbfsansPsi', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital psi + , { code = 0x1D76E, char = '𝝮', class = 'ord', cs = 'mbfsansOmega', alphabet = 'sansgreek' } -- mathematical sans-serif bold capital omega + , { code = 0x1D76F, char = '𝝯', class = 'ord', cs = 'mbfsansnabla' } -- mathematical sans-serif bold nabla + , { code = 0x1D770, char = '𝝰', class = 'ord', cs = 'mbfsansalpha', alphabet = 'sansgreek' } -- mathematical sans-serif bold small alpha + , { code = 0x1D771, char = '𝝱', class = 'ord', cs = 'mbfsansbeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold small beta + , { code = 0x1D772, char = '𝝲', class = 'ord', cs = 'mbfsansgamma', alphabet = 'sansgreek' } -- mathematical sans-serif bold small gamma + , { code = 0x1D773, char = '𝝳', class = 'ord', cs = 'mbfsansdelta', alphabet = 'sansgreek' } -- mathematical sans-serif bold small delta + , { code = 0x1D774, char = '𝝴', class = 'ord', cs = 'mbfsansepsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold small epsilon + , { code = 0x1D775, char = '𝝵', class = 'ord', cs = 'mbfsanszeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold small zeta + , { code = 0x1D776, char = '𝝶', class = 'ord', cs = 'mbfsanseta', alphabet = 'sansgreek' } -- mathematical sans-serif bold small eta + , { code = 0x1D777, char = '𝝷', class = 'ord', cs = 'mbfsanstheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold small theta + , { code = 0x1D778, char = '𝝸', class = 'ord', cs = 'mbfsansiota', alphabet = 'sansgreek' } -- mathematical sans-serif bold small iota + , { code = 0x1D779, char = '𝝹', class = 'ord', cs = 'mbfsanskappa', alphabet = 'sansgreek' } -- mathematical sans-serif bold small kappa + , { code = 0x1D77A, char = '𝝺', class = 'ord', cs = 'mbfsanslambda', alphabet = 'sansgreek' } -- mathematical sans-serif bold small lamda + , { code = 0x1D77B, char = '𝝻', class = 'ord', cs = 'mbfsansmu', alphabet = 'sansgreek' } -- mathematical sans-serif bold small mu + , { code = 0x1D77C, char = '𝝼', class = 'ord', cs = 'mbfsansnu', alphabet = 'sansgreek' } -- mathematical sans-serif bold small nu + , { code = 0x1D77D, char = '𝝽', class = 'ord', cs = 'mbfsansxi', alphabet = 'sansgreek' } -- mathematical sans-serif bold small xi + , { code = 0x1D77E, char = '𝝾', class = 'ord', cs = 'mbfsansomicron', alphabet = 'sansgreek' } -- mathematical sans-serif bold small omicron + , { code = 0x1D77F, char = '𝝿', class = 'ord', cs = 'mbfsanspi', alphabet = 'sansgreek' } -- mathematical sans-serif bold small pi + , { code = 0x1D780, char = '𝞀', class = 'ord', cs = 'mbfsansrho', alphabet = 'sansgreek' } -- mathematical sans-serif bold small rho + , { code = 0x1D781, char = '𝞁', class = 'ord', cs = 'mbfsansvarsigma', alphabet = 'sansgreek' } -- mathematical sans-serif bold small final sigma + , { code = 0x1D782, char = '𝞂', class = 'ord', cs = 'mbfsanssigma', alphabet = 'sansgreek' } -- mathematical sans-serif bold small sigma + , { code = 0x1D783, char = '𝞃', class = 'ord', cs = 'mbfsanstau', alphabet = 'sansgreek' } -- mathematical sans-serif bold small tau + , { code = 0x1D784, char = '𝞄', class = 'ord', cs = 'mbfsansupsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold small upsilon + , { code = 0x1D785, char = '𝞅', class = 'ord', cs = 'mbfsansphi', alphabet = 'sansgreek' } -- mathematical sans-serif bold small phi + , { code = 0x1D786, char = '𝞆', class = 'ord', cs = 'mbfsanschi', alphabet = 'sansgreek' } -- mathematical sans-serif bold small chi + , { code = 0x1D787, char = '𝞇', class = 'ord', cs = 'mbfsanspsi', alphabet = 'sansgreek' } -- mathematical sans-serif bold small psi + , { code = 0x1D788, char = '𝞈', class = 'ord', cs = 'mbfsansomega', alphabet = 'sansgreek' } -- mathematical sans-serif bold small omega + , { code = 0x1D789, char = '𝞉', class = 'ord', cs = 'mbfsanspartial' } -- mathematical sans-serif bold partial differential + , { code = 0x1D78A, char = '𝞊', class = 'ord', cs = 'mbfsansvarepsilon', alphabet = 'sansgreek'} -- mathematical sans-serif bold epsilon symbol + , { code = 0x1D78B, char = '𝞋', class = 'ord', cs = 'mbfsansvartheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold theta symbol + , { code = 0x1D78C, char = '𝞌', class = 'ord', cs = 'mbfsansvarkappa', alphabet = 'sansgreek' } -- mathematical sans-serif bold kappa symbol + , { code = 0x1D78D, char = '𝞍', class = 'ord', cs = 'mbfsansvarphi', alphabet = 'sansgreek' } -- mathematical sans-serif bold phi symbol + , { code = 0x1D78E, char = '𝞎', class = 'ord', cs = 'mbfsansvarrho', alphabet = 'sansgreek' } -- mathematical sans-serif bold rho symbol + , { code = 0x1D78F, char = '𝞏', class = 'ord', cs = 'mbfsansvarpi', alphabet = 'sansgreek' } -- mathematical sans-serif bold pi symbol + , { code = 0x1D790, char = '𝞐', class = 'ord', cs = 'mbfitsansAlpha', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital alpha + , { code = 0x1D791, char = '𝞑', class = 'ord', cs = 'mbfitsansBeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital beta + , { code = 0x1D792, char = '𝞒', class = 'ord', cs = 'mbfitsansGamma', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital gamma + , { code = 0x1D793, char = '𝞓', class = 'ord', cs = 'mbfitsansDelta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital delta + , { code = 0x1D794, char = '𝞔', class = 'ord', cs = 'mbfitsansEpsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital epsilon + , { code = 0x1D795, char = '𝞕', class = 'ord', cs = 'mbfitsansZeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital zeta + , { code = 0x1D796, char = '𝞖', class = 'ord', cs = 'mbfitsansEta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital eta + , { code = 0x1D797, char = '𝞗', class = 'ord', cs = 'mbfitsansTheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital theta + , { code = 0x1D798, char = '𝞘', class = 'ord', cs = 'mbfitsansIota', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital iota + , { code = 0x1D799, char = '𝞙', class = 'ord', cs = 'mbfitsansKappa', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital kappa + , { code = 0x1D79A, char = '𝞚', class = 'ord', cs = 'mbfitsansLambda', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital lamda + , { code = 0x1D79B, char = '𝞛', class = 'ord', cs = 'mbfitsansMu', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital mu + , { code = 0x1D79C, char = '𝞜', class = 'ord', cs = 'mbfitsansNu', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital nu + , { code = 0x1D79D, char = '𝞝', class = 'ord', cs = 'mbfitsansXi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital xi + , { code = 0x1D79E, char = '𝞞', class = 'ord', cs = 'mbfitsansOmicron', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital omicron + , { code = 0x1D79F, char = '𝞟', class = 'ord', cs = 'mbfitsansPi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital pi + , { code = 0x1D7A0, char = '𝞠', class = 'ord', cs = 'mbfitsansRho', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital rho + , { code = 0x1D7A1, char = '𝞡', class = 'ord', cs = 'mbfitsansvarTheta', alphabet = 'sansgreek'} -- mathematical sans-serif bold italic capital theta symbol + , { code = 0x1D7A2, char = '𝞢', class = 'ord', cs = 'mbfitsansSigma', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital sigma + , { code = 0x1D7A3, char = '𝞣', class = 'ord', cs = 'mbfitsansTau', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital tau + , { code = 0x1D7A4, char = '𝞤', class = 'ord', cs = 'mbfitsansUpsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital upsilon + , { code = 0x1D7A5, char = '𝞥', class = 'ord', cs = 'mbfitsansPhi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital phi + , { code = 0x1D7A6, char = '𝞦', class = 'ord', cs = 'mbfitsansChi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital chi + , { code = 0x1D7A7, char = '𝞧', class = 'ord', cs = 'mbfitsansPsi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital psi + , { code = 0x1D7A8, char = '𝞨', class = 'ord', cs = 'mbfitsansOmega', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic capital omega + , { code = 0x1D7A9, char = '𝞩', class = 'ord', cs = 'mbfitsansnabla' } -- mathematical sans-serif bold italic nabla + , { code = 0x1D7AA, char = '𝞪', class = 'ord', cs = 'mbfitsansalpha', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small alpha + , { code = 0x1D7AB, char = '𝞫', class = 'ord', cs = 'mbfitsansbeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small beta + , { code = 0x1D7AC, char = '𝞬', class = 'ord', cs = 'mbfitsansgamma', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small gamma + , { code = 0x1D7AD, char = '𝞭', class = 'ord', cs = 'mbfitsansdelta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small delta + , { code = 0x1D7AE, char = '𝞮', class = 'ord', cs = 'mbfitsansepsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small epsilon + , { code = 0x1D7AF, char = '𝞯', class = 'ord', cs = 'mbfitsanszeta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small zeta + , { code = 0x1D7B0, char = '𝞰', class = 'ord', cs = 'mbfitsanseta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small eta + , { code = 0x1D7B1, char = '𝞱', class = 'ord', cs = 'mbfitsanstheta', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small theta + , { code = 0x1D7B2, char = '𝞲', class = 'ord', cs = 'mbfitsansiota', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small iota + , { code = 0x1D7B3, char = '𝞳', class = 'ord', cs = 'mbfitsanskappa', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small kappa + , { code = 0x1D7B4, char = '𝞴', class = 'ord', cs = 'mbfitsanslambda', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small lamda + , { code = 0x1D7B5, char = '𝞵', class = 'ord', cs = 'mbfitsansmu', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small mu + , { code = 0x1D7B6, char = '𝞶', class = 'ord', cs = 'mbfitsansnu', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small nu + , { code = 0x1D7B7, char = '𝞷', class = 'ord', cs = 'mbfitsansxi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small xi + , { code = 0x1D7B8, char = '𝞸', class = 'ord', cs = 'mbfitsansomicron', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small omicron + , { code = 0x1D7B9, char = '𝞹', class = 'ord', cs = 'mbfitsanspi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small pi + , { code = 0x1D7BA, char = '𝞺', class = 'ord', cs = 'mbfitsansrho', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small rho + , { code = 0x1D7BB, char = '𝞻', class = 'ord', cs = 'mbfitsansvarsigma', alphabet = 'sansgreek'} -- mathematical sans-serif bold italic small final sigma + , { code = 0x1D7BC, char = '𝞼', class = 'ord', cs = 'mbfitsanssigma', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small sigma + , { code = 0x1D7BD, char = '𝞽', class = 'ord', cs = 'mbfitsanstau', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small tau + , { code = 0x1D7BE, char = '𝞾', class = 'ord', cs = 'mbfitsansupsilon', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small upsilon + , { code = 0x1D7BF, char = '𝞿', class = 'ord', cs = 'mbfitsansphi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small phi + , { code = 0x1D7C0, char = '𝟀', class = 'ord', cs = 'mbfitsanschi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small chi + , { code = 0x1D7C1, char = '𝟁', class = 'ord', cs = 'mbfitsanspsi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small psi + , { code = 0x1D7C2, char = '𝟂', class = 'ord', cs = 'mbfitsansomega', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic small omega + , { code = 0x1D7C3, char = '𝟃', class = 'ord', cs = 'mbfitsanspartial' } -- mathematical sans-serif bold italic partial differential + , { code = 0x1D7C4, char = '𝟄', class = 'ord', cs = 'mbfitsansvarepsilon', alphabet = 'sansgreek'} -- mathematical sans-serif bold italic epsilon symbol + , { code = 0x1D7C5, char = '𝟅', class = 'ord', cs = 'mbfitsansvartheta', alphabet = 'sansgreek'} -- mathematical sans-serif bold italic theta symbol + , { code = 0x1D7C6, char = '𝟆', class = 'ord', cs = 'mbfitsansvarkappa', alphabet = 'sansgreek'} -- mathematical sans-serif bold italic kappa symbol + , { code = 0x1D7C7, char = '𝟇', class = 'ord', cs = 'mbfitsansvarphi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic phi symbol + , { code = 0x1D7C8, char = '𝟈', class = 'ord', cs = 'mbfitsansvarrho', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic rho symbol + , { code = 0x1D7C9, char = '𝟉', class = 'ord', cs = 'mbfitsansvarpi', alphabet = 'sansgreek' } -- mathematical sans-serif bold italic pi symbol + , { code = 0x1D7CA, char = '𝟊', class = 'ord', cs = 'mbfDigamma', alphabet = 'boldgreek'} -- mathematical bold capital digamma + , { code = 0x1D7CB, char = '𝟋', class = 'ord', cs = 'mbfdigamma', alphabet = 'boldgreek'} -- mathematical bold small digamma + , { code = 0x1D7CE, char = '𝟎', class = 'ord', cs = 'mbfzero', alphabet = 'bold' } -- mathematical bold digit zero + , { code = 0x1D7CF, char = '𝟏', class = 'ord', cs = 'mbfone', alphabet = 'bold' } -- mathematical bold digit one + , { code = 0x1D7D0, char = '𝟐', class = 'ord', cs = 'mbftwo', alphabet = 'bold' } -- mathematical bold digit two + , { code = 0x1D7D1, char = '𝟑', class = 'ord', cs = 'mbfthree', alphabet = 'bold' } -- mathematical bold digit three + , { code = 0x1D7D2, char = '𝟒', class = 'ord', cs = 'mbffour', alphabet = 'bold' } -- mathematical bold digit four + , { code = 0x1D7D3, char = '𝟓', class = 'ord', cs = 'mbffive', alphabet = 'bold' } -- mathematical bold digit five + , { code = 0x1D7D4, char = '𝟔', class = 'ord', cs = 'mbfsix', alphabet = 'bold' } -- mathematical bold digit six + , { code = 0x1D7D5, char = '𝟕', class = 'ord', cs = 'mbfseven', alphabet = 'bold' } -- mathematical bold digit seven + , { code = 0x1D7D6, char = '𝟖', class = 'ord', cs = 'mbfeight', alphabet = 'bold' } -- mathematical bold digit eight + , { code = 0x1D7D7, char = '𝟗', class = 'ord', cs = 'mbfnine', alphabet = 'bold' } -- mathematical bold digit nine + , { code = 0x1D7D8, char = '𝟘', class = 'ord', cs = 'Bbbzero', alphabet = 'blackboard' } -- mathematical double-struck digit zero + , { code = 0x1D7D9, char = '𝟙', class = 'ord', cs = 'Bbbone', alphabet = 'blackboard' } -- mathematical double-struck digit one + , { code = 0x1D7DA, char = '𝟚', class = 'ord', cs = 'Bbbtwo', alphabet = 'blackboard' } -- mathematical double-struck digit two + , { code = 0x1D7DB, char = '𝟛', class = 'ord', cs = 'Bbbthree', alphabet = 'blackboard' } -- mathematical double-struck digit three + , { code = 0x1D7DC, char = '𝟜', class = 'ord', cs = 'Bbbfour', alphabet = 'blackboard' } -- mathematical double-struck digit four + , { code = 0x1D7DD, char = '𝟝', class = 'ord', cs = 'Bbbfive', alphabet = 'blackboard' } -- mathematical double-struck digit five + , { code = 0x1D7DE, char = '𝟞', class = 'ord', cs = 'Bbbsix', alphabet = 'blackboard' } -- mathematical double-struck digit six + , { code = 0x1D7DF, char = '𝟟', class = 'ord', cs = 'Bbbseven', alphabet = 'blackboard' } -- mathematical double-struck digit seven + , { code = 0x1D7E0, char = '𝟠', class = 'ord', cs = 'Bbbeight', alphabet = 'blackboard' } -- mathematical double-struck digit eight + , { code = 0x1D7E1, char = '𝟡', class = 'ord', cs = 'Bbbnine', alphabet = 'blackboard' } -- mathematical double-struck digit nine + , { code = 0x1D7E2, char = '𝟢', class = 'ord', cs = 'msanszero', alphabet = 'sans' } -- mathematical sans-serif digit zero + , { code = 0x1D7E3, char = '𝟣', class = 'ord', cs = 'msansone', alphabet = 'sans' } -- mathematical sans-serif digit one + , { code = 0x1D7E4, char = '𝟤', class = 'ord', cs = 'msanstwo', alphabet = 'sans' } -- mathematical sans-serif digit two + , { code = 0x1D7E5, char = '𝟥', class = 'ord', cs = 'msansthree', alphabet = 'sans' } -- mathematical sans-serif digit three + , { code = 0x1D7E6, char = '𝟦', class = 'ord', cs = 'msansfour', alphabet = 'sans' } -- mathematical sans-serif digit four + , { code = 0x1D7E7, char = '𝟧', class = 'ord', cs = 'msansfive', alphabet = 'sans' } -- mathematical sans-serif digit five + , { code = 0x1D7E8, char = '𝟨', class = 'ord', cs = 'msanssix', alphabet = 'sans' } -- mathematical sans-serif digit six + , { code = 0x1D7E9, char = '𝟩', class = 'ord', cs = 'msansseven', alphabet = 'sans' } -- mathematical sans-serif digit seven + , { code = 0x1D7EA, char = '𝟪', class = 'ord', cs = 'msanseight', alphabet = 'sans' } -- mathematical sans-serif digit eight + , { code = 0x1D7EB, char = '𝟫', class = 'ord', cs = 'msansnine', alphabet = 'sans' } -- mathematical sans-serif digit nine + , { code = 0x1D7EC, char = '𝟬', class = 'ord', cs = 'mbfsanszero', alphabet = 'sans' } -- mathematical sans-serif bold digit zero + , { code = 0x1D7ED, char = '𝟭', class = 'ord', cs = 'mbfsansone', alphabet = 'sans' } -- mathematical sans-serif bold digit one + , { code = 0x1D7EE, char = '𝟮', class = 'ord', cs = 'mbfsanstwo', alphabet = 'sans' } -- mathematical sans-serif bold digit two + , { code = 0x1D7EF, char = '𝟯', class = 'ord', cs = 'mbfsansthree', alphabet = 'sans' } -- mathematical sans-serif bold digit three + , { code = 0x1D7F0, char = '𝟰', class = 'ord', cs = 'mbfsansfour', alphabet = 'sans' } -- mathematical sans-serif bold digit four + , { code = 0x1D7F1, char = '𝟱', class = 'ord', cs = 'mbfsansfive', alphabet = 'sans' } -- mathematical sans-serif bold digit five + , { code = 0x1D7F2, char = '𝟲', class = 'ord', cs = 'mbfsanssix', alphabet = 'sans' } -- mathematical sans-serif bold digit six + , { code = 0x1D7F3, char = '𝟳', class = 'ord', cs = 'mbfsansseven', alphabet = 'sans' } -- mathematical sans-serif bold digit seven + , { code = 0x1D7F4, char = '𝟴', class = 'ord', cs = 'mbfsanseight', alphabet = 'sans' } -- mathematical sans-serif bold digit eight + , { code = 0x1D7F5, char = '𝟵', class = 'ord', cs = 'mbfsansnine', alphabet = 'sans' } -- mathematical sans-serif bold digit nine + , { code = 0x1D7F6, char = '𝟶', class = 'ord', cs = 'mttzero', alphabet = 'mono' } -- mathematical monospace digit zero + , { code = 0x1D7F7, char = '𝟷', class = 'ord', cs = 'mttone', alphabet = 'mono' } -- mathematical monospace digit one + , { code = 0x1D7F8, char = '𝟸', class = 'ord', cs = 'mtttwo', alphabet = 'mono' } -- mathematical monospace digit two + , { code = 0x1D7F9, char = '𝟹', class = 'ord', cs = 'mttthree', alphabet = 'mono' } -- mathematical monospace digit three + , { code = 0x1D7FA, char = '𝟺', class = 'ord', cs = 'mttfour', alphabet = 'mono' } -- mathematical monospace digit four + , { code = 0x1D7FB, char = '𝟻', class = 'ord', cs = 'mttfive', alphabet = 'mono' } -- mathematical monospace digit five + , { code = 0x1D7FC, char = '𝟼', class = 'ord', cs = 'mttsix', alphabet = 'mono' } -- mathematical monospace digit six + , { code = 0x1D7FD, char = '𝟽', class = 'ord', cs = 'mttseven', alphabet = 'mono' } -- mathematical monospace digit seven + , { code = 0x1D7FE, char = '𝟾', class = 'ord', cs = 'mtteight', alphabet = 'mono' } -- mathematical monospace digit eight + , { code = 0x1D7FF, char = '𝟿', class = 'ord', cs = 'mttnine', alphabet = 'mono' } -- mathematical monospace digit nine +} diff --git a/Master/texmf-dist/tex/luatex/minim-math/minim-math.lua b/Master/texmf-dist/tex/luatex/minim-math/minim-math.lua new file mode 100644 index 00000000000..194e9388199 --- /dev/null +++ b/Master/texmf-dist/tex/luatex/minim-math/minim-math.lua @@ -0,0 +1,482 @@ + +local M = {} + +local alloc = require ('minim-alloc') +local callbacks = require ('minim-callbacks') + +alloc.remember('minim-math') + +--1 Alphabet tables + +--[[ There are gaps left in the unicode math alphabets +-- for characters that were already represented +-- elsewhere. These tables will be used for redirecting +-- characters mapped to these gaps. +--]] + +local gaps = + { [0x1d455] = 0x0210e -- H + , [0x1d49d] = 0x0212c -- script B + , [0x1d4a0] = 0x02130 -- script E + , [0x1d4a1] = 0x02131 -- script F + , [0x1d4a3] = 0x0210b -- script H + , [0x1d4a4] = 0x02110 -- script I + , [0x1d4a7] = 0x02112 -- script L + , [0x1d4a8] = 0x02133 -- script M + , [0x1d4ad] = 0x0211b -- script R + , [0x1d4ba] = 0x0212f -- script e + , [0x1d4bc] = 0x0210a -- script g + , [0x1d4c4] = 0x02134 -- script o + , [0x1d506] = 0x0212d -- fraktur C + , [0x1d50b] = 0x0210c -- fraktur H + , [0x1d50c] = 0x02111 -- fraktur I + , [0x1d515] = 0x0211c -- fraktur R + , [0x1d51d] = 0x02128 -- fraktur Z + , [0x1d53a] = 0x02102 -- bb C + , [0x1d53f] = 0x0210d -- bb H + , [0x1d545] = 0x02115 -- bb N + , [0x1d547] = 0x02119 -- bb P + , [0x1d548] = 0x0211a -- bb Q + , [0x1d549] = 0x0211d -- bb R + , [0x1d551] = 0x02124 -- bb Z + } + +-- greek variants have irregular upright values +local varcorr = + { [0x03f4] = 0x03a2 -- ϴ + , [0x2207] = 0x03aa -- ∇ + , [0x2202] = 0x03ca -- ∂ + , [0x03f5] = 0x03cb -- ϵ + , [0x03d1] = 0x03cc -- ϑ + , [0x03f0] = 0x03cd -- ϰ + , [0x03d5] = 0x03ce -- ϕ + , [0x03f1] = 0x03cf -- ϱ + , [0x03d6] = 0x03d0 -- ϖ + } + +--[[ When transforming to other stylistic variants, we need +-- to know which alphabet a character is in; the transformation +-- offsets differ for each alphabet. +--]] + +local function getalphabet (n) + if n >= 0x61 and n <= 0x7A then return 0x61 -- latin + elseif n >= 0x41 and n <= 0x5A then return 0x41 -- Latin + elseif n >= 0x30 and n <= 0x39 then return 0x30 -- digits + elseif n >= 0x3b1 and n <= 0x3c9 then return 0x3b1 -- greek + elseif n >= 0x391 and n <= 0x3a9 then return 0x391 -- Greek + elseif (varcorr[n] or 0xfff) < 0x3c0 then return 0x391 -- varGreek + elseif (varcorr[n] or 0xfff) < 0x3f0 then return 0x3b1 -- vargreek + else return 0 -- the character cannot transform + end +end + +--[[ In the offsets table, all transformations can be found for the first +-- character in the alphabet. The numbers in the table are increments. +--]] + +local offsets = + { [0] = {} + , [0x61] = -- latin + { [1] = 0x1d3ed -- it 𝑎 = 0x1d44e + , [3] = 0x1d421 -- bfit 𝒂 = 0x1d482 + , [4] = 0x1d4f1 -- bb 𝕒 = 0x1d552 + , [2] = 0x1d3b9 -- bf 𝐚 = 0x1d41a + , [5] = 0x1d4bd -- frak 𝔞 = 0x1d51e + , [6] = 0x1d525 -- bffrak 𝖆 = 0x1d586 + , [7] = 0x1d455 -- cal 𝒶 = 0x1d4b6 + , [8] = 0x1d489 -- bfcal 𝓪 = 0x1d4ea + , [9] = 0x1d559 -- sans 𝖺 = 0x1d5ba + , [10]= 0x1d5c1 -- sfit 𝘢 = 0x1d622 + , [11]= 0x1d58d -- sfbf 𝗮 = 0x1d5ee + , [12]= 0x1d5f5 -- sfbfit 𝙖 = 0x1d656 + , [13]= 0x1d629 -- mono 𝚊 = 0x1d68a + } + , [0x41] = -- Latin + { [1] = 0x1d3f3 -- it 𝐴 = 0x1d434 + , [3] = 0x1d427 -- bfit 𝑨 = 0x1d468 + , [4] = 0x1d4f7 -- bb 𝔸 = 0x1d538 + , [2] = 0x1d3bf -- bf 𝐀 = 0x1d400 + , [5] = 0x1d4c3 -- frak 𝔄 = 0x1d504 + , [6] = 0x1d52b -- bffrak 𝕬 = 0x1d56c + , [7] = 0x1d45b -- cal 𝒜 = 0x1d49c + , [8] = 0x1d48f -- bfcal 𝓐 = 0x1d4d0 + , [9] = 0x1d55f -- sans 𝖠 = 0x1d5a0 + , [10]= 0x1d5c7 -- sfit 𝘈 = 0x1d608 + , [11]= 0x1d593 -- sfbf 𝗔 = 0x1d5d4 + , [12]= 0x1d5fb -- sfbfit 𝘼 = 0x1d63c + , [13]= 0x1d62f -- mono 𝙰 = 0x1d670 + } + , [0x30] = -- digits + { [2] = 0x1d79e -- bf 𝐀 = 0x1d7ce + , [4] = 0x1d7a8 -- bb 𝔸 = 0x1d7d8 + , [9] = 0x1d7b2 -- sans 𝟬 = 0x1d47e2 + , [11]= 0x1d7bc -- bfsans 𝟬 = 0x1d47ec + , [13]= 0x1d7c6 -- mono 𝟬 = 0x1d47f7 + } + , [0x3b1] = -- greek + { [1] = 0x1d34b -- it 𝛼 = 0x1d6fc + , [2] = 0x1d311 -- bf 𝛂 = 0x1d6c2 + , [3] = 0x1d385 -- bfit 𝜶 = 0x1d736 + , [11]= 0x1d3bf -- sfbf 𝝖 = 0x1d756 + , [12]= 0x1d3f9 -- sfbfit 𝞪 = 0x1d7aa + } + , [0x391] = -- Greek + { [1] = 0x1d351 -- it 𝛢 = 0x1d6e2 + , [2] = 0x1d317 -- bf 𝚨 = 0x1d6a8 + , [3] = 0x1d38b -- bfit 𝜜 = 0x1d71c + , [11]= 0x1d3c5 -- sfbf 𝝖 = 0x1d756 + , [12]= 0x1d3ff -- sfbfit 𝞐 = 0x1d790 + } + } + +--[[ The function transform_char() returns a transformed character, or nil if +-- the character cannot be transformed like that. It is used by the setmap +-- function (which gives a warning on nil) and by the mlist callback (which +-- ignores nil). +--]] + +local function add_fam(num) + local _, fam, _ = tex.getmathcodes(num) + return num, fam +end + +local function transform_char(num, style) + if style == 0 then + return add_fam(num) + else + local base = getalphabet(num) + local n = offsets[base][style] + if n == nil then + return nil, nil + else + local res = varcorr[num] or num + res = gaps[n+res] or n+res + return add_fam(res) + end + end +end + +--1 Parsing user input + +--[[ We accept the following as argument to our lua-side functions: +-- * An alphabet or class name; +-- * A numerical range of the form [0-9]+@[0-9]+ +-- * Ordinary strings +--]] + +-- math alphabets like 𝒶𝒷𝒸, 𝔞𝔟𝔠, 𝕒𝕓𝕔, and classes like ord, rel etc. +local alphabets = alloc.saved_table('math:alphabets') + +local function add_to_alphabet(num, code) + alphabets[code] = (alphabets[code] or '') .. string.utfcharacter(num) +end + +local function chars_iterator(input) + local a = alphabets[input] + if a then + return string.utfvalues(a) + else + local from, to = string.match(input, '^([0-9]+)@([0-9]+)$') + if from then + local i, n = tonumber(from) - 1, tonumber(to) + return function() + i = i + 1 + if i <= n then return gaps[i] or i end + end + else + return string.utfvalues(input) + end + end +end + +local function apply_settings(input, fn, ...) + for char in chars_iterator(input) do + fn(char, ...) + end +end + +--1 Switching class and family + +--[[ Setting class and family information is rather simple: the difficult part +-- of this package is switching between math alphabets. +--]] + +local classes = {} +classes.ord = 0 +classes.op = 1 +classes.bin = 2 +classes.rel = 3 +classes.fence = 3 +classes.open = 4 +classes.close = 5 +classes.punct = 6 +classes.var = 7 + +local function setclass(char, class) + local _, fam , sym = tex.getmathcodes (char) + tex.setmathcode (char, classes[class] or class, fam, sym) +end + +local function setfam(char, fam) + local class, _, sym = tex.getmathcodes (char) + tex.setmathcode (char, class, fam, sym) +end + +function M.setclass (input, class) + apply_settings(input, setclass, class) +end + +function M.setfam (input, fam) + apply_settings(input, setfam, fam) +end + +--1 Character variants + +--[[ The settings of variant characters is not coupled to the style mechanism: +-- rather, it changes the \Umathcode-s directly. Of course, the variant +-- characters can transform. +--]] + +M.greek_variants = + { [0x3b5] = 0x3f5 -- ε ϵ + , [0x398] = 0x3f4 -- Θ ϴ + , [0x3b8] = 0x3d1 -- θ ϑ + , [0x3ba] = 0x3f0 -- κ ϰ + , [0x3c6] = 0x3d5 -- φ ϕ + , [0x3c1] = 0x3f1 -- ρ ϱ + , [0x3c0] = 0x3d6 -- π ϖ + } + +function M.usevariant (char) + for num in string.utfvalues (char) do + local class, fam, _ = tex.getmathcodes(num) + tex.setmathcode (num, class, fam, M.greek_variants[num] or num) + end +end + +function M.usedefault (char) + for num in string.utfvalues (char) do + local class, fam, _ = tex.getmathcodes(num) + tex.setmathcode (num, class, fam, num) + end +end + +--1 Styles + +--[[ The style table gives a numerical value to every math style. The value +-- `clear' unsets the style attribute. +--]] + +local styles = {} +styles.clear = alloc.unset +styles.up = 0 +styles.rm = 0 +styles.it = 1 +styles.mit = 1 +styles.bf = 2 +styles.bfit = 3 +styles.bb = 4 +styles.frak = 5 +styles.bffrak = 6 +styles.cal = 7 +styles.scr = 7 +styles.script = 7 +styles.bfcal = 8 +styles.bfscr = 8 +styles.sf = 9 +styles.sans = 9 +styles.sfit = 10 +styles.sfbf = 11 +styles.sfbfit = 12 +styles.mono = 13 +styles.tt = 13 + +local style_attribute = alloc.new_attribute ('math style attribute') + +function M.setstyle (style) + tex.setattribute (style_attribute, styles[style]) +end + +--1 Switching alphabets + +--[[ Which glyph a variable character should transform to is determined by +-- a tex \count register. This ensures that changes to the math style respect +-- grouping. +-- +-- On the lua side, we keep track of these counts in a table (it is filled +-- from the tex side). +--]] + +local transformcodes = alloc.saved_table ('math:transformcodes') + +-- set a character as transformable +local function set_transform (num, char) + c = alloc.new_count ('math transform '..char) + transformcodes[num] = c + tex.setcount ('global', c, num) +end + +-- query the destination +local function dest_char (num) + local c = transformcodes[num] + if c == nil then + return num, nil + else + return add_fam(tex.count[c]) + end +end + +-- set the destination +local function setmap (char, style) + local target = transform_char (char, styles[style]) + if target == nil then + texio.write_nl ('! minim warning: style '..style..' not available for char '..char..'.') + else + tex.count[transformcodes[char]] = target + end +end + +function M.setmap(input, style) + apply_settings(input, setmap, style) +end + +--[[ To allow saving and restoring math style settings, the following function +-- is a dump of \count and \Umathcode values. +--]] + +function M.save_mathstyles () + for _,v in pairs(transformcodes) do + tex.sprint('\\count'..v..'='..tex.count[v]..'\\relax') + end + for v,_ in pairs(M.greek_variants) do + local a,b,c = tex.getmathcodes(v) + tex.sprint('\\Umathcode'..v..'='..a..' '..b..' '..c..'\\relax') + end +end + +--1 The transformation callback + +--[[ The stilistic mappings are done in the mlist_to_mlist callback. The +-- function noad_iterator returns an iterator over the noad list; all +-- math_char nodes are inspected. +-- +-- The listmathfields table contains all noad fields that can contain another +-- list of noads. +--]] + +local listmathfields = { 'head', 'nucleus', 'sub', 'sup', 'accent', 'bot_accent', + 'display', 'text', 'script', 'scriptscript', 'num', 'denom', 'degree', 'next' } + +local function noad_iterator (head) + local nodelist = { link=nil, content=head } + return function () + if nodelist == nil then return nil end + local n = nodelist.content + nodelist = nodelist.link + for _,f in pairs(listmathfields) do + if node.has_field (n, f) and n[f] ~= nil then + nodelist = { link=nodelist, content=n[f] } + end + end + return n + end +end + +local math_char = node.id ('math_char') + +local function inspect_noads (h,d,n) + for nd in noad_iterator (h) do + if nd.id == math_char then + local sa = node.has_attribute(nd, style_attribute) + local char, fam + if sa then + char, fam = transform_char(nd.char, sa) + else + char, fam = dest_char(nd.char) + end + nd.char, nd.fam = char or nd.char, fam or nd.fam + end + end + -- if we would not use minim-callbacks, we would have to call + -- node.mlist_to_hlist (h,d,n) here + return true +end + +callbacks.register ('mlist_to_mlist', inspect_noads) + +--1 Reading the math character table + +--[[ The following are used for processing the character table. Control +-- sequences are defined from the lua side; for accents and radicals this +-- means using tex-side helper macros. +-- +-- When using the add_mathchar function with accents or radicals, please keep +-- in mind that it assumes \catcode`\:=11. +--]] + +local default_fam = 0 + +local accents = + { accent = 'accent{}' + , botaccent = 'accent{bottom}' + , overlay = 'accent{overlay}' + , over = 'stack{}' + , under = 'stack{bottom}' + } +local is_delimiter = + { fence = true + , open = true + , close = true + } + +local function tex_accent(class, num, char) + kind = kind or '' + return '\\math:'..accents[class]..'{'..num..'}'..char +end + +local function add_mathchar(code, char, class, cs, alphabet) + if char:sub(0,1) == ' ' then + -- accents can be given above a space (compare ' ́' with '́') + char = char:sub(2) + end + local class_nr = classes[class] + if class_nr then + tex.setmathcode(code, class_nr, default_fam, code) + if cs then token.set_macro(cs, char) end + if class_nr == 7 then set_transform(code, char) end + if is_delimiter[class] then tex.setdelcode(code, default_fam, code, 0, 0) end + elseif class == 'radical' then + if cs then + token.set_macro(cs, '\\math:radical{'..code..'}'..char) + tex.print('\\mathlet\\'..char..'\\'..cs) + end + else + -- TODO: in the future, allow accent characters by re-ordering them + tex.setmathcode(code, 0, default_fam, 0) -- provisional + if cs then token.set_macro(cs, tex_accent(class, code, char)) end + end + add_to_alphabet(code, class) + if alphabet then + add_to_alphabet(code, alphabet) + end +end + +function M.add_mathchar(t) + add_mathchar(t.code, t.char, t.class, t.cs, t.alphabet) +end + +--1 Tex-side user interface + +alloc.luadef('math:mathcls', function() M.setclass(token.scan_string(), token.scan_string()) end) +alloc.luadef('math:mathfam', function() M.setfam(token.scan_string(), token.scan_string()) end) +alloc.luadef('math:mathmap', function() M.setmap(token.scan_string(), token.scan_string()) end) + +alloc.luadef('usemathvariant', function() M.usevariant(token.scan_string()) end, 'protected') +alloc.luadef('usemathdefault', function() M.usedefault(token.scan_string()) end, 'protected') +alloc.luadef('mathstyle', function() M.setstyle(token.scan_string()) end, 'protected') + +-- + +return M + diff --git a/Master/texmf-dist/tex/luatex/minim-math/minim-math.tex b/Master/texmf-dist/tex/luatex/minim-math/minim-math.tex new file mode 100644 index 00000000000..e05ce17f7cb --- /dev/null +++ b/Master/texmf-dist/tex/luatex/minim-math/minim-math.tex @@ -0,0 +1,517 @@ + +\ifdefined \minimmathloaded + \message{(skipped)} + \expandafter\endinput \fi +\chardef\minimmathloaded=\catcode`: +\catcode`:=11 + +\input minim-alloc + +% \mathdef c {expansion} +\protected\def\mathdef#1#2{% + \def\mathdef:tmp{#2}% + \mathlet{#1}\mathdef:tmp} +% \mathlet c \csname +\protected\def\mathlet#1#2{% + \mathcode`#1="8000\relax + \letcharcode`#1=#2} + +% 1 Global style transformations + +% first, helper functions for parsing arguments + +\def\math:parselist#1#2#3#4{% \function \argwrap {list} {arg} + \edef\math:expandedlist{{#3}}% + \def\math:listaction##1{#1{##1}{#2{#4}}}% + \expandafter\splitcommalist + \expandafter\math:parseitem + \math:expandedlist} + +\def\math:parseitem#1{\math:getrange#1--\math:getrange} +\def\math:getrange#1-#2-{\def\math:tmp{#2}% + \ifx\math:tmp\empty \math:singleargument{#1}\fi + \math:rangeargument{#1}{#2}} +\def\math:singleargument#1#2\math:getrange{\fi% + \math:listaction{#1}} +\def\math:rangeargument#1#2#3\math:getrange{% + \math:listaction{\the\numexpr(#1)@\the\numexpr(#2)}} + +\def\math:simplequote#1{#1} +\def\math:tonumber#1{\the\numexpr(#1)\relax} + +% then, the user interface + +\protected\def\mathcls{\math:parselist\math:mathcls\math:simplequote} +\protected\def\mathfam{\math:parselist\math:mathfam\math:tonumber} +\protected\def\mathmap{\math:parselist\math:mathmap\math:simplequote} + +% defined from the lua side: \usemathvariant, \usemathdefault, \mathstyle + +% 1 Local style transformations + +% We use the variable class, but not the family mechanism +\fam = -1 +\let\setfam=\fam + +% for backwards compatibility with plain.tex +\newcount\math:famcount +\protected\def\fam{% + \afterassignment\math:fam + \math:famcount} +\def\math:fam{% + \ifcase\math:famcount + \mathstyle{up}\or + \mathstyle{it}\or + \mathstyle{cal}\or + \or % plain family 3 is \tenex + \mathstyle{it}\or + \mathstyle{sf}\or % slanted math not in unicode + \mathstyle{bf}\or + \mathstyle{tt}\fi} + +% style switches +\protected\def\mit#1{{\mathstyle{it}#1}} +\protected\def\mup#1{{\mathstyle{up}#1}} +\protected\def\mbf#1{{\mathstyle{bf}#1}} +\protected\def\mbfit#1{{\mathstyle{bfit}#1}} +\protected\def\mbb#1{{\mathstyle{bb}#1}} +\protected\def\frak#1{{\mathstyle{frak}#1}} +\protected\def\bffrak#1{{\mathstyle{bffrak}#1}} +\protected\def\scr#1{{\mathstyle{scr}#1}} \let\mcal = \cal +\protected\def\bfscr#1{{\mathstyle{bfscr}#1}} \let\bfcal = \bfscr + +% 1 Processing the character table + +\newcount \radicalfam \radicalfam = 0 +\newcount \accentfam \accentfam = 0 +\newcount \extensiblefam \extensiblefam = 0 + +\def\math:accent{\ifmmode% spec num char + \expandafter\math:mathaccent\else + \expandafter\math:textaccent\fi} +\def\math:mathaccent#1#2#3{\Umathaccent #1"0 \accentfam #2 } +\def\math:textaccent#1#2#3#4{#4#3}% might be a normal combining accent + +\def\math:stack#1#2#3{% spec num char + \withoptions[]{\math:stack:{#1}{#2}{#3}}} +\def\math:stack:#1#2#3[#4]#5{% + {\mathop{\math:accent{#1}{#2}{#3}{#5}}% + \ifx\math:stack#4\math:stack\else \limits + \ifx\math:stack#1\math:stack^\else_\fi{#4}\fi}} + +\def\math:radical{\ifmmode% num char + \expandafter\math:mathradical\else + \expandafter\math:textradical\fi} +\def\math:mathradical#1#2{\Uradical\radicalfam #1 } +\def\math:textradical#1#2{#2} + +% We initiate the processing here instead of from the lua side, because the lua +% file will be executed again inside \everyjob. We are only setting parameters +% here that will be saved to the format file, so we need not repeat it. + +\directlua{% + local m = require('minim-math') + local file = kpse.find_file('minim-math-table', 'lua') + local table = loadfile(file)() + for _, t in ipairs(table) do + m.add_mathchar(t) + end +} + +% 1 Fixing a few characters + +% fixing a math cs (prevents expansion loops) +\def\explicitmathchar#1{% + \expandafter\Umathcharnumdef + \expandafter#1% + \expandafter\Umathcodenum + \expandafter`#1} + +% special characters must be explicit +\explicitmathchar\lbrace \let\{=\lbrace +\explicitmathchar\rbrace \let\}=\rbrace +\explicitmathchar\percent +\explicitmathchar\mathdollar +\explicitmathchar\octothorpe +\explicitmathchar\ampersand + +% decimal comma settings +\explicitmathchar \comma +\protected\def\decimalcomma {\Umathcode`\, = 0 \Umathcharfam`\, `\,} +\protected\def\nodecimalcomma{\Umathcode`\, = 6 \Umathcharfam`\, `\,} + +% set the colon to how it used to be +\Umathcode`\:="3"0"2236 % \ratio +\Umathchardef\colon "6"0"3A + +% ldot as a punctuation mark +\Umathchardef\ldotp "6"0"2E +\let \period = \ldotp + +% remapping two characters +\mathlet * \ast +\mathlet - \minus + +% interpret the normal middle dot as the middle dot operator +\mathlet · \cdot +\Umathchardef\cdotp "6"0"B7 + +% some aliases +\let\neq = \ne +\let\le = \leq +\let\ge = \geq +\let\owns = \ni +\let\gets = \leftarrow +\let\to = \rightarrow +\let\land = \wedge +\let\lor = \vee +\let\lnot = \neg + +% replace \mathhexbox macros +\protected\def\mathcharbox#1{\leavevmode + \hbox{$\mathsurround0pt\relax#1$}} +\protected\def\dag{\mathcharbox†} +\protected\def\ddag{\mathcharbox‡} +\protected\def\S{\mathcharbox§} +\protected\def\P{\mathcharbox¶} +\protected\def\Orb{\mathcharbox◯} + +% wide accents are default +\let\widehat = \hat +\let\widetilde = \tilde +\let\overline = \overbar +\let\underline = \underbar + +% integrals +\let\intlimits=\nolimits + +\explicitmathchar\intop +\explicitmathchar\iintop +\explicitmathchar\iiintop +\explicitmathchar\ointop +\explicitmathchar\oiintop +\explicitmathchar\oiiintop +\explicitmathchar\intclockwiseop +\explicitmathchar\varointclockwiseop +\explicitmathchar\ointctrclockwiseop + +\edef\int {\intop\intlimits} +\edef\iint {\iintop\intlimits} +\edef\iiint {\iiintop\intlimits} +\edef\oint {\ointop\intlimits} +\edef\oiint {\oiintop\intlimits} +\edef\oiiint {\oiiintop\intlimits} +\edef\intclockwise {\intclockwiseop\intlimits} +\edef\varointclockwise {\varointclockwiseop\intlimits} +\edef\ointctrclockwise {\ointctrclockwiseop\intlimits} + +\mathlet ∫ \int +\mathlet ∬ \iint +\mathlet ∭ \iiint +\mathlet ∮ \oint +\mathlet ∯ \oiint +\mathlet ∰ \oiiint +\mathlet ∱ \intclockwise +\mathlet ∲ \varointclockwise +\mathlet ∳ \ointctrclockwise + +% 1 Roots + +\protected\def\sqrt{\sqrt:make{\Uradical\radicalfam"221A}} +\protected\def\root#1\of{\sqrt:make{\Uroot\radicalfam"221A{#1}}} +\def\sqrt:open#1#2{#1{#2}} % braces are necessary +\def\sqrt:close#1{\mathpalette{\sqrt:closed{#1}}} +\def\sqrt:closed#1#2#3{% root style content + \setbox0=\hbox{$#2\Uradical\radicalfam"221A{#3}$}% + #2#1{#3\mkern2mu}\kern-\Umathradicalrule#2% + \raise\dimexpr\ht0-1\Umathradicalkern#2-.5\Umathradicalrule#2\hbox + {\vrule height0pt depth.2\ht0 width\Umathradicalrule#2}% + \kern\Umathradicalkern#2} + +\protected\def\normalroots{\let\sqrt:make\sqrt:open} +\protected\def\closedroots{\let\sqrt:make\sqrt:close} + +\normalroots + +\mathlet √ \sqrt +\mathdef ∛ {\root3\of} +\mathdef ∜ {\root4\of} + +% 1 Dots + +% \vdots, \ddots, \adots +\newdimen\mathdots:pt +\newbox\mathdots:box +\def\mathdots:init#1#2{% + \mathdots:pt=.1\fontdimen6#20\relax + \setbox\mathdots:box=\hbox{$#1.$}% + \ht\mathdots:box=\mathdots:pt} +\def\mathdots:choice#1{\mathinner{\mathchoice + {\mathdots:init\displaystyle\textfont#1} + {\mathdots:init\textstyle\textfont#1} + {\mathdots:init\scriptstyle\scriptfont#1} + {\mathdots:init\scriptscriptstyle\scriptscriptfont#1}}} +\protected\def\texvdots{\mathdots:choice{\vbox{% + \baselineskip4\mathdots:pt\lineskiplimit0pt\relax \kern6\mathdots:pt + \copy\mathdots:box \copy\mathdots:box \copy\mathdots:box}}} +\protected\def\texddots{\mathdots:choice{\mkern1mu + \raise7\mathdots:pt \vbox{\kern7\mathdots:pt\copy\mathdots:box}\mkern2mu + \raise4\mathdots:pt \copy\mathdots:box\mkern2mu + \raise1\mathdots:pt \copy\mathdots:box\mkern1mu}} +\protected\def\texadots{\mathdots:choice{\mkern1mu + \raise1\mathdots:pt \copy\mathdots:box\mkern2mu + \raise4\mathdots:pt \copy\mathdots:box\mkern2mu + \raise7\mathdots:pt \vbox{\kern7\mathdots:pt\copy\mathdots:box}\mkern1mu}} + +% \ldots and \cdots are unchanged from plain.tex +\protected\edef\texldots{\ldots} +\protected\edef\texcdots{\cdots} + +% \traditionaldots +\protected\def\traditionaldots{% + \mathlet \⋮ \texvdots \let\vdots = \texvdots + \mathlet \⋯ \texcdots \let\cdots = \texcdots + \mathlet \⋰ \texadots \let\adots = \texadots + \mathlet \⋱ \texddots \let\ddots = \texddots + \mathlet \… \texldots \let\ldots = \texldots} + +% \unicodedots +\protected\def\unicodedots{% + \Umathcode `\⋮ = "3"0"22EE \let\vdots = \unicodevdots + \Umathcode `\⋯ = "0"0"22EF \let\cdots = \unicodecdots + \Umathcode `\⋰ = "3"0"22F0 \let\adots = \unicodeadots + \Umathcode `\⋱ = "3"0"22F1 \let\ddots = \unicodeddots + \Umathcode `\… = "3"0"2026 \let\ldots = \unicodeellipsis} + +\traditionaldots + +% 1 Primes + +% primes +\mathdef'{\math:prime{}} +\mathdef`{\math:bprime{}} +\def\math:prime#1{% + \nextifx'{\math:prime:plus{#1}}% + {^\csname#1prime\endcsname}} +\def\math:prime:plus#1'{% + \math:prime{#1p}} +\def\math:bprime#1{% + \nextifx`{\math:bprime:plus{#1}}% + {^\csname b#1prime\endcsname}} +\def\math:bprime:plus#1`{% + \math:bprime{#1p}} +% \pprime etc. +\let\pprime=\dprime +\let\ppprime=\trprime +\let\pppprime=\qprime +\let\bprime=\backprime +\let\bpprime=\backdprime +\let\bppprime=\backtrprime + +% 1 Superscripts and subscripts + +\edef\math:tmp{% + \mathdef\Uchar"00B2{^2} + \mathdef\Uchar"00B3{^3} + \mathdef\Uchar"00B9{^1} + \mathdef\Uchar"2070{^0} + \mathdef\Uchar"2071{^i} + \mathdef\Uchar"2074{^4} + \mathdef\Uchar"2075{^5} + \mathdef\Uchar"2076{^6} + \mathdef\Uchar"2077{^7} + \mathdef\Uchar"2078{^8} + \mathdef\Uchar"2079{^9} + \mathdef\Uchar"207A{^+} + \mathdef\Uchar"207B{^-} + \mathdef\Uchar"207C{^=} + \mathdef\Uchar"207D{^(} + \mathdef\Uchar"207E{^)} + \mathdef\Uchar"207F{^n} + \mathdef\Uchar"1D62{_i} + \mathdef\Uchar"1D63{_r} + \mathdef\Uchar"1D64{_u} + \mathdef\Uchar"1D65{_v} + \mathdef\Uchar"1D66{_β} + \mathdef\Uchar"1D67{_γ} + \mathdef\Uchar"1D68{_ρ} + \mathdef\Uchar"1D69{_φ} + \mathdef\Uchar"1D6A{_χ} + \mathdef\Uchar"2080{_0} + \mathdef\Uchar"2081{_1} + \mathdef\Uchar"2082{_2} + \mathdef\Uchar"2083{_3} + \mathdef\Uchar"2084{_4} + \mathdef\Uchar"2085{_5} + \mathdef\Uchar"2086{_6} + \mathdef\Uchar"2087{_7} + \mathdef\Uchar"2088{_8} + \mathdef\Uchar"2089{_9} + \mathdef\Uchar"208A{_+} + \mathdef\Uchar"208B{_-} + \mathdef\Uchar"208C{_=} + \mathdef\Uchar"208D{_(} + \mathdef\Uchar"208E{_)} + \mathdef\Uchar"2090{_a} + \mathdef\Uchar"2091{_e} + \mathdef\Uchar"2092{_o} + \mathdef\Uchar"2093{_x} + \mathdef\Uchar"2094{_ə} + \mathdef\Uchar"2095{_h} + \mathdef\Uchar"2096{_k} + \mathdef\Uchar"2097{_l} + \mathdef\Uchar"2098{_m} + \mathdef\Uchar"2099{_n} + \mathdef\Uchar"209A{_p} + \mathdef\Uchar"209B{_s} + \mathdef\Uchar"209C{_t} + \mathdef\Uchar"2C7C{_j}} +\math:tmp + +% 1 Long arrows + +\def\extend#1#2#3{\withoptions[]{\extend:#1{#2}{#3}}} +\def\extend:#1#2#3[#4]#5{\mathrel{% char left right below above + \mathpalette\extend:choose{#1{#2}{#3}{#4}{#5}}}} +\def\extend:choose#1#2{\extend:choose:#1#2} +\def\extend:choose:#1#2#3#4#5#6{% style char left right below above + \setbox0=\hbox{$#1#5$}\setbox2=\hbox{$#1#6$}% + \ifdim \wd0 < \wd2 + \mathop{\Uoverdelimiter \extensiblefam `#2 + {\mkern#3mu#6\mkern#4mu}}\limits_{#5}\else + \mathop{\Uunderdelimiter \extensiblefam `#2 + {\mkern#3mu#5\mkern#4mu}}\limits^{#6}\fi} + +\protected\def\xleftarrow {\extend←73} +\protected\def\xrightarrow{\extend→37} + +\protected\def\xLeftarrow {\extend⇐73} +\protected\def\xRightarrow{\extend⇒37} + +\protected\def\xleftrightarrow{\extend↔77} +\protected\def\xLeftrightarrow{\extend⇔77} + +\protected\def\xmapsto {\extend↦47} +\protected\def\xmapsfrom {\extend↤74} + +\protected\def\xhookrightarrow {\extend↪67} +\protected\def\xhookleftarrow {\extend↩76} + +\protected\def\xleftrightarrows {\extend⇆77} +\protected\def\xleftleftarrows {\extend⇇73} +\protected\def\xrightrightarrows {\extend⇉37} + +\protected\def\xeq{\extend=11} + +\let \→ \xrightarrow +\let \⇒ \xRightarrow +\let \← \xleftarrow +\let \⇐ \xLeftarrow +\let \↔ \xleftrightarrow +\let \⇔ \xLeftrightarrow +\let \↦ \xmapsto +\let \↤ \xmapsfrom + +% 1 Miscellaneous mathematical functions + +% \stackrel {super} {rel} +\protected\def\stackrel#1#2{\mathrel{\mathop{#2}\limits^{#1}}} +% \stackbin {super} {bin} +\protected\def\stackbin#1#2{\mathbin{\mathop{#2}\limits^{#1}}} + +% \text {text} +\newcount\textfam +\textfam=0 +\protected\def\text#1{{\mathchoice + {\hbox{\the\textfont\textfam#1}}% + {\hbox{\the\textfont\textfam#1}}% + {\hbox{\the\scriptfont\textfam#1}}% + {\hbox{\the\scriptscriptfont\textfam#1}}}} + +% some definitions with vertical lines +\def\bra#1{\left⟨#1\right\vert} +\def\ket#1{\left\vert#1\right⟩} +\def\braket#1#2{\left⟨#1\middle\vert#2\right⟩} +\def\norm#1{\left\vert#1\right\vert} \let \abs=\norm +\def\Norm#1{\left\Vert#1\right\Vert} + +% a smaller inverse-function sign +\protected\def\inv{^{\scriptscriptstyle + \mathbin{\setbox0=\hbox{$\scriptscriptstyle-$} + \kern.75\wd0 \pdfextension save + \pdfextension setmatrix{.75 0 0 1} + \kern-\wd0\box0 \pdfextension restore} + \mkern-2mu 1}} + +% upright multiletter symbols +\def\mord#1{\mathord{\mathstyle{up}#1}} +\def\mop #1{\mathop {\mathstyle{up}#1}\nolimits} +\def\mlop#1{\mathop {\mathstyle{up}#1}\limits} + +% \frac, \tfrac, \dfrac +\protected\def\frac#1#2{\Ustack{#1\over#2}} +\protected\def\tfrac#1#2{{\textstyle{#1\over#2}}} +\protected\def\dfrac#1#2{{\displaystyle{#1\over#2}}} + +% make a few plain macros \protected +\def\minim:protect#1{\protected\edef#1{\expandafter\unexpanded\expandafter{#1}}} +\minim:protect\smash +\minim:protect\dotfill + +% 1 Operators + +\def\newmathop#1{\protected\expandafter\def + \csname#1\endcsname{\mathop{\mathstyle{up}#1}\nolimits}} +\def\newlargemathop#1{\protected\expandafter\def + \csname#1\endcsname{\mathop{\mathstyle{up}#1}}} + +% ported operators +\newlargemathop {lim} +\newlargemathop {gcd} \newlargemathop {lcm} +\newlargemathop {max} \newlargemathop {min} +\newlargemathop {sup} \newlargemathop {inf} +\newlargemathop {det} +\newlargemathop {Pr} +\newmathop {log} \newmathop {lg} \newmathop {ln} +\newmathop {sin} \newmathop {arcsin} \newmathop {sinh} +\newmathop {cos} \newmathop {arccos} \newmathop {cosh} +\newmathop {tan} \newmathop {arctan} \newmathop {tanh} +\newmathop {cot} \newmathop {coth} +\newmathop {sec} \newmathop {csc} +\newmathop {arg} +\newmathop {ker} +\newmathop {dim} +\newmathop {hom} +\newmathop {exp} +\newmathop {deg} + +\protected\def\limsup{\mathop{\mathstyle{up}lim\,sup}} +\protected\def\liminf{\mathop{\mathstyle{up}lim\,inf}} + +\let\para=\parallel + +% additional operators +\newmathop {Tr} \newmathop {tr} \newmathop{Span} +\newmathop {GL} \newmathop {SL} +\newmathop {SU} \newmathop {U} +\newmathop {SO} \newmathop {O} +\newmathop {Sp} +\newmathop {im} +\newmathop {End} \newmathop {Aut} +\newmathop {Dom} \newmathop {Codom} + + +% standard mappings + +\mathstyle{clear} +\mathmap{latin, greek, Latin}{it} + +% map ħ (h-with-stroke) to ℏ (planck-constant) +\mathdef ħ {ℏ} + +% \reqno +\let\reqno = \eqno + +\let\math:tmp=\undefined +\catcode`:=\minimmathloaded + diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 37d05519816..b352073d978 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2081,6 +2081,9 @@ $standardtex 'midnight', '\.tex', 'mil3', 'NULL', 'minim', '\.(lua|tex|sty|ini)$', + 'minim-math', '\.(lua|tex)$', + 'minim-mp', '\.(lua|tex)$', + 'minim-pdf', '\.(lua|tex)$', 'minitoc', '\.ml[do]|' . $standardtex, 'misc', '\.sty|\.ltx|\.cls', 'mkpattern', 'mkpatter.tex', diff --git a/Master/tlpkg/tlpsrc/minim-math.tlpsrc b/Master/tlpkg/tlpsrc/minim-math.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/minim-math.tlpsrc |