зеркало из https://github.com/mozilla/gecko-dev.git
761 строка
49 KiB
Perl
761 строка
49 KiB
Perl
|
#!/bin/perl
|
|||
|
|
|||
|
#
|
|||
|
# The contents of this file are subject to the Mozilla Public
|
|||
|
# License Version 1.1 (the "License"); you may not use this file
|
|||
|
# except in compliance with the License. You may obtain a copy of
|
|||
|
# the License at http://www.mozilla.org/MPL/
|
|||
|
#
|
|||
|
# Software distributed under the License is distributed on an "AS
|
|||
|
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|||
|
# implied. See the License for the specific language governing
|
|||
|
# rights and limitations under the License.
|
|||
|
#
|
|||
|
# The Original Code is Mozilla MathML Project.
|
|||
|
#
|
|||
|
# The Initial Developer of the Original Code is The University Of
|
|||
|
# Queensland. Portions created by The University Of Queensland are
|
|||
|
# Copyright (C) 1999 The University Of Queensland. All
|
|||
|
# Rights Reserved.
|
|||
|
#
|
|||
|
# Contributor(s):
|
|||
|
# Roger B. Sidje <rbs@maths.uq.edu.au>
|
|||
|
#
|
|||
|
|
|||
|
# Purpose:
|
|||
|
# This script processes unicode points and generates a file that
|
|||
|
# contains the MathML DTD, i.e., the XML definitions of
|
|||
|
# MathML entities.
|
|||
|
# RBS - Aug 27, 1999.
|
|||
|
|
|||
|
$usage = <<USAGE;
|
|||
|
|
|||
|
Usage: gendtd.pl unicode_file [entity_file]
|
|||
|
|
|||
|
- unicode_file is the input file. It must either be: byalpha.txt
|
|||
|
or bycodes.txt.
|
|||
|
|
|||
|
The files byalpha.txt and bycodes.txt were simply obtained by visiting
|
|||
|
the links of the W3C MathML REC (see below) and using the Navigator's
|
|||
|
command "Save as text":
|
|||
|
byalpha.txt: http://www.w3.org/TR/REC-MathML/chap6/byalpha.html
|
|||
|
bycodes.txt: http://www.w3.org/TR/REC-MathML/chap6/bycodes.html
|
|||
|
|
|||
|
It is recommended to use byalpha.txt because it includes aliases (i.e.,
|
|||
|
all the entity names corresponding to the same unicode point)
|
|||
|
|
|||
|
- entity_file is the output file. It will contain the XML definitions
|
|||
|
of MathML entities. If entity_file is not provided, the default
|
|||
|
output file will be: mathml.dtd
|
|||
|
USAGE
|
|||
|
|
|||
|
$badusage = 0;
|
|||
|
$badusage = 1 if $#ARGV < 0;
|
|||
|
$badusage = 1 if $ARGV[0] ne "byalpha.txt" && $ARGV[0] ne "bycodes.txt";
|
|||
|
if ($badusage) {
|
|||
|
print $usage;
|
|||
|
exit(0);
|
|||
|
}
|
|||
|
|
|||
|
$unicode_file = $ARGV[0];
|
|||
|
$entity_file = $ARGV[1];
|
|||
|
$entity_file = "mathml.dtd" if !$entity_file;
|
|||
|
|
|||
|
print "\nINPUT: $unicode_file";
|
|||
|
print "\nOUTPUT: $entity_file\n";
|
|||
|
|
|||
|
# Output: the file $entity_file contains the definitions of XML
|
|||
|
# entities for all of MathML or for the TeX symbols and/or MathML operators.
|
|||
|
|
|||
|
# Note: other features are commented in the code.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
@IGNORE = ("amp", # these default XML entities will not be processed
|
|||
|
"lt",
|
|||
|
"gt");
|
|||
|
|
|||
|
&getTeX(); # Get the converted TeX entities as returned by TeX2MML.
|
|||
|
# Accuracy depends on the implementation of TeX2MML!
|
|||
|
|
|||
|
&getMathMLOperators(); # Get the MathML Operators - exact *copy-paste* from
|
|||
|
# http://www.w3.org/TR/REC-MathML/appendixC.html
|
|||
|
|
|||
|
&getUnicode($unicode_file); # $unicode_file = "byalpha.txt" or "bycodes.txt"
|
|||
|
# byalpha.txt, bycodes.txt are simply the Save as text of
|
|||
|
# http://www.w3.org/TR/REC-MathML/chap6/byalpha.html
|
|||
|
# http://www.w3.org/TR/REC-MathML/chap6/bycodes.html
|
|||
|
|
|||
|
|
|||
|
print "\nNumber of Symbols: TeX = " . ($#TEX+1) . " MathML Operators = " . ($#OPERATOR+1);
|
|||
|
|
|||
|
#Check if all MathML Operators have been assigned unicode points...
|
|||
|
|
|||
|
print "\n\nChecking MathML Operators...";
|
|||
|
for ($i=0; $i<=$#OPERATOR; ++$i) {
|
|||
|
if (!($UNICODE{$OPERATOR[$i]})) {
|
|||
|
print "\n$OPERATOR[$i] does not have its unicode point";
|
|||
|
# exit(0);
|
|||
|
}
|
|||
|
else {
|
|||
|
# print "\n$OPERATOR[$i] $UNICODE{$OPERATOR[$i]}";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#Check if all TeX Symbols have been assigned unicode points...
|
|||
|
|
|||
|
print "\n\nChecking TeX Symbols...";
|
|||
|
for ($i=0; $i<=$#TEX; ++$i) {
|
|||
|
if (!($UNICODE{$TEX[$i]})) {
|
|||
|
print "\n$TEX[$i] does not have its unicode point";
|
|||
|
# exit(0);
|
|||
|
}
|
|||
|
else {
|
|||
|
# print "\n$TEX[$i] $UNICODE{$TEX[$i]}";
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
################
|
|||
|
# Now extract the unicode points of the entities of interest.
|
|||
|
# Uncomment the appropriate case, and comment the others
|
|||
|
|
|||
|
#Case 1: Extrat the unicode points of *TeX symbols only*
|
|||
|
#@ENTITY_SET = @TEX;
|
|||
|
|
|||
|
#Case 2: Extract the unicode points of *MathML Operators only*
|
|||
|
#@ENTITY_SET = @OPERATOR;
|
|||
|
|
|||
|
#Case 3: Extract the unicode points of the union *TeX + MathML Operators*
|
|||
|
#@ENTITY_SET = (@TEX,@OPERATOR);
|
|||
|
|
|||
|
#Case 4: Extract *all* MathML entities
|
|||
|
#Case 4a: without aliases...
|
|||
|
#@ENTITY_SET = @ENTITY_LAST_ALIAS{keys %ENTITY_LAST_ALIAS}; # no aliases here
|
|||
|
#Case 4b: with aliases...
|
|||
|
@ENTITY_SET = @ENTITY; #aliases are here if it was getUnicode("byalpha.txt").
|
|||
|
|
|||
|
|
|||
|
#################
|
|||
|
open (OUTPUT_FILE, ">$entity_file") || die("can't open $entity_file");
|
|||
|
|
|||
|
print "\n\nBuilding the entity list and Saving into:\n$entity_file ...\n";
|
|||
|
|
|||
|
# collect the aliases in an array of strings.
|
|||
|
|
|||
|
$count = $pua = 0;
|
|||
|
$ignore = join(" ",@IGNORE);
|
|||
|
|
|||
|
for ($i=0; $i<=$#ENTITY_SET; ++$i) {
|
|||
|
$entity = $ENTITY_SET[$i];
|
|||
|
$unicode = $UNICODE{$entity};
|
|||
|
|
|||
|
#skip if entity should be ignored
|
|||
|
next if $ignore =~ /$entity/;
|
|||
|
|
|||
|
#skip if no unicode or entity is already in the table
|
|||
|
next if $unicode eq "" || $TABLE{$unicode} =~ /$entity/;
|
|||
|
|
|||
|
$TABLE{$unicode} .= " $entity";
|
|||
|
|
|||
|
$XML_DECLARATION{$unicode} .=
|
|||
|
'<!ENTITY ' . $entity . ' "&#x' . $unicode . ';"> ';
|
|||
|
++$count;
|
|||
|
|
|||
|
$XML_CONTENT .= '&' . $entity . ";\n";
|
|||
|
|
|||
|
if ($unicode ge "E000" && $unicode le "F8FF") {
|
|||
|
# print "PUA\n-------------------------\n" if $pua == 0;
|
|||
|
# print "$unicode $entity\n";
|
|||
|
$TABLE_PUA{$unicode} .= " $entity";
|
|||
|
++$pua;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
foreach $unicode (sort keys %TABLE_PUA) {
|
|||
|
$PUA .= "$unicode $TABLE_PUA{$unicode}\n";
|
|||
|
}
|
|||
|
|
|||
|
foreach $unicode (sort keys %TABLE) {
|
|||
|
# print OUTPUT_FILE "$unicode $TABLE{$unicode}\n";
|
|||
|
$XML_DOCTYPE .= $XML_DECLARATION{$unicode} . "\n";
|
|||
|
}
|
|||
|
|
|||
|
print OUTPUT_FILE <<HEADER_DATA;
|
|||
|
<!--
|
|||
|
* The contents of this file are subject to the Mozilla Public
|
|||
|
* License Version 1.1 (the "License"); you may not use this file
|
|||
|
* except in compliance with the License. You may obtain a copy of
|
|||
|
* the License at http://www.mozilla.org/MPL/
|
|||
|
*
|
|||
|
* Software distributed under the License is distributed on an "AS
|
|||
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|||
|
* implied. See the License for the specific language governing
|
|||
|
* rights and limitations under the License.
|
|||
|
*
|
|||
|
* The Original Code is Mozilla MathML Project.
|
|||
|
*
|
|||
|
* The Initial Developer of the Original Code is The University of
|
|||
|
* Queensland. Portions created by The University of Queensland are
|
|||
|
* Copyright (C) 1999 The University of Queensland. All
|
|||
|
* Rights Reserved.
|
|||
|
*
|
|||
|
* Contributor(s):
|
|||
|
* Roger B. Sidje <rbs\@maths.uq.edu.au>
|
|||
|
-->
|
|||
|
|
|||
|
<!-- MathML 1.01 entities - Auto-generated (Total in this list: $count) -->
|
|||
|
|
|||
|
HEADER_DATA
|
|||
|
|
|||
|
#print OUTPUT_FILE "<?xml version=\"1.0\"?>\n<!DOCTYPE math\n[\n";
|
|||
|
print OUTPUT_FILE "$XML_DOCTYPE";
|
|||
|
#print OUTPUT_FILE "]>\n";
|
|||
|
|
|||
|
|
|||
|
#print OUTPUT_FILE "<para>$XML_CONTENT</para>\n";
|
|||
|
#print <<XML;
|
|||
|
#<!--
|
|||
|
#$PUA
|
|||
|
#-->
|
|||
|
#XML
|
|||
|
|
|||
|
|
|||
|
close(OUTPUT_FILE);
|
|||
|
|
|||
|
print "Done $count unicode points. PUA: $pua\n";
|
|||
|
|
|||
|
exit(0);
|
|||
|
|
|||
|
################################
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# All outputs are global variables ...
|
|||
|
|
|||
|
#
|
|||
|
# extract all the symbols of the MathML REC byalpha.txt or bycodes.txt (the
|
|||
|
# name of the file is passed as argument)
|
|||
|
# INPUT: "byalpha.txt" or "bycodes.txt"
|
|||
|
# OUTPUT: - hash array %UNICODE holding $UNICODE{$entity} = $unicode
|
|||
|
# - array @ENTITY such $ENTITY[$i] is an entity name
|
|||
|
# - hash array %ENTITY_LAST_ALIAS such that
|
|||
|
# $ENTITY_LAST_ALIAS{$unicode} = last entity with that unicode
|
|||
|
sub getUnicode {
|
|||
|
local($infile) = @_[0];
|
|||
|
|
|||
|
$byalpha = $infile =~ /byalpha/;
|
|||
|
|
|||
|
print "\nScanning $infile ...";
|
|||
|
open (INFILE, $infile) || die("Can't open $infile");
|
|||
|
|
|||
|
$count = 0;
|
|||
|
while (<INFILE>) {
|
|||
|
#pattern byalpha: entity isolat2 377 unicode =capital Z, acute accent
|
|||
|
if ($byalpha) { # byalpha -- ALIASES ARE INCLUDED
|
|||
|
if ( /^([a-z\.]\S+)\s+\S+\s+\d+\s+(\S+)\s+.*/i ) {
|
|||
|
($entity,$unicode) = ($1,$2);
|
|||
|
if ($UNICODE{$entity}) { #conflicting mapping ?
|
|||
|
next if $UNICODE{$entity} eq $unicode;
|
|||
|
print "\nWARNING! Found: $entity -> $unicode <-- $map --> $UNICODE{$entity}";
|
|||
|
}
|
|||
|
|
|||
|
$UNICODE{$entity} = $unicode;
|
|||
|
$ENTITY_LAST_ALIAS{$unicode} = $entity;
|
|||
|
++$count;
|
|||
|
}
|
|||
|
}
|
|||
|
else { # bycodes -- ALIASES ARE NOT INCLUDED
|
|||
|
#pattern bycode: unicode 9 entity mmlextra tabulator stop; horizontal tabulation
|
|||
|
if ( /^(\S+)\s+\d+\s+([a-z\.]+)\s+\S+\s+.*/i ) {
|
|||
|
($unicode,$entity) = ($1,$2);
|
|||
|
# print "\n$entity $unicode";
|
|||
|
$UNICODE{$entity} = $unicode;
|
|||
|
$ENTITY_LAST_ALIAS{$unicode} = $entity;
|
|||
|
++$count;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
@ENTITY = (keys %UNICODE);
|
|||
|
print "\nFound: $count unicode points, " . ($#ENTITY+1) . " entities\n";
|
|||
|
}
|
|||
|
|
|||
|
#Get entity names of TeX Symbols
|
|||
|
#Symbols obtained by using TeX2MathML (http://hutchinson.belmont.ma.us/tth/mml/tthmmlform.html)
|
|||
|
#The input snippets were taken from David Carlisle's symbols.tex (ver 3.2)
|
|||
|
# INPUT:
|
|||
|
# OUTPUT: an array @TEX such that $TEX[$i] is the name of an entity
|
|||
|
sub getTeX {
|
|||
|
@SYMBOLS = <<TEX2MathML;
|
|||
|
αθoτβϑπυγιϖφ
|
|||
|
δκρϕελϱχϵμσ
|
|||
|
ψζνςωηiΓΛΣΨ
|
|||
|
ΔiϒΩΘΠΦ 
|
|||
|
±∩◊⊕∓∪\bigtriangleup\ominus<EFBFBD>\uplus
|
|||
|
\bigtriangledown⊗<EFBFBD>\sqcap\triangleleft<EFBFBD>*\sqcup\triangleright
|
|||
|
\odot☆∨\lhd\bigcircˆ∧\rhd\dagger•∖\unlhd\ddagger<EFBFBD>r\unrhd\amalg
|
|||
|
≤≥≡\models\prec\succ~⊥\preceq\succeq≈\mid <<
|
|||
|
>>\asymp∥⊂⊃≈\bowtie⊆⊇≅\Join\sqsubset\sqsupset≠
|
|||
|
\smile\sqsubseteq\sqsupseteq\doteq\frown∈∋∝=\vdash\dashv
|
|||
|
←←↑⇐⇐⇑→→↓⇒⇒⇑⇆⇆
|
|||
|
↓&lrArr;&lrArr;↓→\longmapsto\nearrow\hookleftarrow\hookrightarrow\searrow
|
|||
|
\leftharpoonup\rightharpoonup\swarrow\leftharpoondown\rightharpoondown\nwarrow\rightleftharpoons\leadsto
|
|||
|
……:ℵ'∀∞∅∃ı▿¬\Diamondȷ
|
|||
|
√\flat\triangleℓ⊤\natural♣℘⊥\sharp♦&rfraktur;
|
|||
|
\♥&ifraktur;∠∂♠\mho
|
|||
|
∑⋂\bigodotΠ⋃⨂\coprod\bigsqcup⨁∫⋁\biguplus∮⋀
|
|||
|
⪻
|
|||
|
()↑⇑[]↓⇑{}↓↓⌊⌋⌈⌉⟨⟩/\‖
|
|||
|
TEX2MathML
|
|||
|
|
|||
|
# extract the relevant part
|
|||
|
$count = 0;
|
|||
|
$string = join("",@SYMBOLS);
|
|||
|
$string =~ s#\n##g;
|
|||
|
$string =~ s#[^a-zA-Z\&;]##g;
|
|||
|
$string =~ s#;#;\n#g;
|
|||
|
while ($string =~ m#\&([a-zA-z]+);#g) {
|
|||
|
$TEX[$count] = $1;
|
|||
|
++$count;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#Get entity names of MathML Operators
|
|||
|
# INPUT:
|
|||
|
# OUTPUT: an array @OPERATOR such that $OPERATOR[$i] is the name of an operator entity
|
|||
|
sub getMathMLOperators {
|
|||
|
@SYMBOLS = <<MathMLOperatorDictionary;
|
|||
|
"(" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
")" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"[" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"]" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"{" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"}" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"”" form="postfix" fence="true" lspace="0em" rspace="0em"
|
|||
|
"’" form="postfix" fence="true" lspace="0em" rspace="0em"
|
|||
|
"⟨" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&LeftBracketingBar;" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⌈" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⟦" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&LeftDoubleBracketingBar;" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⌊" form="prefix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"“" form="prefix" fence="true" lspace="0em" rspace="0em"
|
|||
|
"‘" form="prefix" fence="true" lspace="0em" rspace="0em"
|
|||
|
"⟩" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&RightBracketingBar;" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⌉" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⟧" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&RightDoubleBracketingBar;" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⌋" form="postfix" fence="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&LeftSkeleton;" form="prefix" fence="true" lspace="0em" rspace="0em"
|
|||
|
"&RightSkeleton;" form="postfix" fence="true" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"⁣" form="infix" separator="true" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"," form="infix" separator="true" lspace="0em" rspace=".33333em"
|
|||
|
|
|||
|
"─" form="infix" stretchy="true" minsize="0" lspace="0em" rspace="0em"
|
|||
|
"|" form="infix" stretchy="true" minsize="0" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
";" form="infix" separator="true" lspace="0em" rspace=".27777em"
|
|||
|
";" form="postfix" separator="true" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
":=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≔" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"∵" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∴" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"❘" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"//" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"∷" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"&" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
"&" form="postfix" lspace=".27777em" rspace="0em"
|
|||
|
|
|||
|
"*=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"-=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"+=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"/=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"->" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
":" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
".." form="postfix" lspace=".22222em" rspace="0em"
|
|||
|
"..." form="postfix" lspace=".22222em" rspace="0em"
|
|||
|
|
|||
|
"∋" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"⫤" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊨" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊤" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊣" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊢" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"⇒" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥰" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"|" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"||" form="infix" lspace=".22222em" rspace=".22222em"
|
|||
|
"⩔" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
|
|||
|
"&&" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩓" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
|
|||
|
"&" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"!" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
"⫬" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
|
|||
|
"∃" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
"∀" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
"∄" form="prefix" lspace="0em" rspace=".27777em"
|
|||
|
|
|||
|
"∈" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∉" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∌" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊏̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋢" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊐̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋣" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊂⃒" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊈" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊃⃒" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊉" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∋" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊏" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊑" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊐" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊒" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋐" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊆" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊃" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊇" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"⇐" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇔" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇒" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥐" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥞" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↽" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥖" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥟" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇁" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥗" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"←" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇤" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇆" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↔" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥎" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↤" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥚" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↼" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥒" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↙" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↘" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"→" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇥" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇄" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↦" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥛" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇀" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⥓" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"←" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"→" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"↖" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"↗" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"<" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
">" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"!=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"==" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"<=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
">=" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≡" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≍" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≐" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∥" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩵" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≂" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇌" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"≥" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋛" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≧" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪢" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≷" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩾" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≳" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≎" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≏" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊲" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⧏" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊴" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≤" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋚" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≦" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≶" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪡" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩽" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≲" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≫" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≪" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≢" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≭" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∦" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≠" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≂̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≯" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≱" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≧̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≫̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≹" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩾̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≵" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≎̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≏̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋪" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⧏̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋬" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≮" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≰" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"&NotLessFullEqual;" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≪̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⩽̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≴" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪢̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪡̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊀" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪯̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋠" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"&NotPrecedesTilde;" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋫" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⧐̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋭" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊁" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪰̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⋡" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≿̸" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≁" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≄" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≇" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≉" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∤" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≺" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪯" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≼" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≾" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∷" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∝" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⇋" form="infix" stretchy="true" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊳" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⧐" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊵" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≻" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⪰" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≽" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≿" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∼" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≃" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≅" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"≈" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"⊥" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
"∣" form="infix" lspace=".27777em" rspace=".27777em"
|
|||
|
|
|||
|
"⊔" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
"⋃" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
"⊎" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
|
|||
|
"-" form="infix" lspace=".22222em" rspace=".22222em"
|
|||
|
"+" form="infix" lspace=".22222em" rspace=".22222em"
|
|||
|
"⋂" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
"∓" form="infix" lspace=".22222em" rspace=".22222em"
|
|||
|
"±" form="infix" lspace=".22222em" rspace=".22222em"
|
|||
|
"⊓" form="infix" stretchy="true" lspace=".22222em" rspace=".22222em"
|
|||
|
|
|||
|
"⋁" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"⊖" form="prefix" largeop="true" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
"⊕" form="prefix" largeop="true" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
"∑" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"⋃" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"⊎" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"lim" form="prefix" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
"max" form="prefix" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
"min" form="prefix" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
|
|||
|
"⊖" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
"⊕" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"∲" form="prefix" largeop="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"∮" form="prefix" largeop="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"∳" form="prefix" largeop="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"∯" form="prefix" largeop="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"∫" form="prefix" largeop="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"⋓" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋒" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"≀" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋀" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"⊗" form="prefix" largeop="true" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
"∐" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"∏" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
"⋂" form="prefix" largeop="true" movablelimits="true" stretchy="true" lspace="0em" rspace=".16666em"
|
|||
|
|
|||
|
"∐" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋆" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⊙" form="prefix" largeop="true" movablelimits="true" lspace="0em" rspace=".16666em"
|
|||
|
|
|||
|
"*" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
"⁢" form="infix" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"·" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⊗" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋁" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋀" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"⋄" form="infix" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"∖" form="infix" stretchy="true" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"/" form="infix" stretchy="true" lspace=".16666em" rspace=".16666em"
|
|||
|
|
|||
|
"-" form="prefix" lspace="0em" rspace=".05555em"
|
|||
|
"+" form="prefix" lspace="0em" rspace=".05555em"
|
|||
|
"∓" form="prefix" lspace="0em" rspace=".05555em"
|
|||
|
"±" form="prefix" lspace="0em" rspace=".05555em"
|
|||
|
|
|||
|
"." form="infix" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"⨯" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"**" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"⊙" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"∘" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"□" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
|
|||
|
"∇" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
"∂" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
|
|||
|
"ⅅ" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
"ⅆ" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
|
|||
|
"√" form="prefix" stretchy="true" lspace="0em" rspace=".11111em"
|
|||
|
|
|||
|
"⇓" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟸" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟺" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟹" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇑" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇕" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↓" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⤓" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇵" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↧" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥡" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇃" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥙" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥑" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥠" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↿" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥘" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟵" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟷" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⟶" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥯" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥝" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇂" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥕" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥏" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥜" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↾" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥔" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↓" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
"↑" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
"↑" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⤒" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⇅" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↕" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"⥮" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
"↥" form="infix" stretchy="true" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"^" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"<>" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"'" form="postfix" lspace=".11111em" rspace="0em"
|
|||
|
|
|||
|
"!" form="postfix" lspace=".11111em" rspace="0em"
|
|||
|
"!!" form="postfix" lspace=".11111em" rspace="0em"
|
|||
|
|
|||
|
"~" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"@" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"--" form="postfix" lspace=".11111em" rspace="0em"
|
|||
|
"--" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
"++" form="postfix" lspace=".11111em" rspace="0em"
|
|||
|
"++" form="prefix" lspace="0em" rspace=".11111em"
|
|||
|
|
|||
|
"⁡" form="infix" lspace="0em" rspace="0em"
|
|||
|
|
|||
|
"?" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"_" form="infix" lspace=".11111em" rspace=".11111em"
|
|||
|
|
|||
|
"˘" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"¸" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"`" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"˙" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"˝" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalLeftArrow;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalLeftRightArrow;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalLeftRightVector;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalLeftVector;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"´" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalRightArrow;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"&DiacriticalRightVector;" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"˜" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"¨" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"̑" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"ˇ" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"^" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"‾" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⏞" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⎴" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⏜" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⃛" form="postfix" accent="true" lspace="0em" rspace="0em"
|
|||
|
"_" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⏟" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⎵" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
"⏝" form="postfix" accent="true" stretchy="true" lspace="0em" rspace="0em"
|
|||
|
MathMLOperatorDictionary
|
|||
|
|
|||
|
# extract the relevant part
|
|||
|
$count = 0;
|
|||
|
$string = join("",@SYMBOLS);
|
|||
|
$string =~ s#\n##g;
|
|||
|
$string =~ s#[^a-zA-Z\&;]##g;
|
|||
|
$string =~ s#;#;\n#g;
|
|||
|
while ($string =~ m#\&([a-zA-z]+);#g) {
|
|||
|
$OPERATOR[$count] = $1;
|
|||
|
++$count;
|
|||
|
}
|
|||
|
}
|