1 ;; One-way conversion of some TeXmacs symbols to Unicode.
3 ;; (C) 2003 David Allouche
5 ;; This software falls under the GNU general public license version 3 or later.
6 ;; It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
7 ;; in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
9 ;; Those symbols have a sensible unicode translation, so they can be exported.
10 ;; But another symbol was chosen for the importation of the corresponding
11 ;; unicode character. So the exportation is one-way only.
13 ;;; Synonyms for other symbols
15 ;; Alternate symbol names. They use the same glyph and are converted to the
16 ;; same unicode character as another symbol.
18 ("<dag>" "#2020") ; see <dagger>
19 ("<ddag>" "#2021") ; see <ddagger>
20 ("<Im>" "#2111") ; see <frak-I>
21 ("<Re>" "#211C") ; see <frak-R>
22 ("<agemO>" "#2127") ; see <Mho>
23 ("<to>" "#2192") ; see <rigtharrow>
24 ("<notin>" "#2209") ; see <nin>
25 ("<notni>" "#220C") ; see <nni>
26 ("<asterisk>" "#2217") ; see <ast>
27 ("<le>" "#2264") ; see <leq>
28 ("<ge>" "#2265") ; see <geq>
29 ("<perp>" "#22A5") ; see <bot>
30 ("<lhd>" "#22B2") ; see <vartriangleleft>
31 ("<wasylhd>" "#22B2") ; see <vartriangleleft>
32 ("<rhd>" "#22B3") ; see <vartriangleright>
33 ("<wasyrhd>" "#22B3") ; see <vartriangleright>
34 ("<unlhd>" "#22B4") ; see <trianglelefteq>
35 ("<wasyunlhd>" "#22B4") ; see <trianglelefteq>
36 ("<unrhd>" "#22B5") ; see <trianglerighteq>
37 ("<wasyunrhd>" "#22B5") ; see <trianglerighteq>
38 ("<box>" "#25A1") ; see <square>
39 ("<Box>" "#25A1") ; see <square>
40 ("<wasy-38>" "#2641") ; see <earth>
41 ("<fullmoon>" "#25CB") ; see <Circle>
42 ("<newmoon>" "#25CF") ; see <CIRCLE>
46 ;; TeXmacs makes a difference in the baseline position, but Unicode
47 ;; does not have separate characters. The chosen main symbols where
48 ;; those which where closest to the baseline.
50 ("<venus>" "#2640") ; see <female>
51 ("<mars>" "#2642") ; see <male>
55 ;; Symbols for alternate glyphs. They are converted to the same unicode
56 ;; character as another symbol but are associated to a slightly different
59 ;; They might be exported conservatively using "Variant Selectors" (FE00--FE0F)
60 ;; combining characters. See the MathML rec (chap. 6) for allowed combinations.
62 ("<binampersand>" "#0026") ; variant of "&", same look as <bindnasrepma>
63 ("<i*>" "#0131") ; variant (straight) of <imath>
64 ("<hbar>" "#210F") ; variant of <hslash>
65 ("<varlightning>" "#21AF") ; variant of <lightning>
66 ("<varnothing>" "#2205") ; variant of <emptyset>
67 ("<smallsetminus>" "#2216") ; variant of <setminus>
68 ("<shortmid>" "#2223") ; variant of <mid>
69 ("<shortparallel>" "#2225") ; variant of <parallel>
70 ("<nshortparallel>" "#2226") ; variant of <nparallel>
71 ("<wasytherefore>" "#2234") ; variant of <therefore>
72 ("<thicksim>" "#223C") ; variant of <sim>
73 ("<thickapprox>" "#2248") ; variant of <approx>
74 ("<oplus>" "#2295") ; variant of <varoplus>
75 ("<ominus>" "#2296") ; variant of <varominus>
76 ("<otimes>" "#2297") ; variant of <varotimes>
77 ("<oslash>" "#2298") ; variant of <varoslash>
78 ("<odot>" "#2299") ; variant of <varodot>
79 ("<circledcirc>" "#229A") ; variant of <varocircle>
80 ("<circledast>" "#229B") ; variant of <varoast>
81 ("<wasysqsubset>" "#228F") ; variant of <sqsubset>
82 ("<wasysqsupset>" "#2290") ; variant of <sqsupset>
83 ("<LEFTarrow>" "#25C2") ; variant of <blacktriangleleft>
84 ("<RIGHTarrow>" "#25B8") ; variant of <blacktriangleright>
85 ("<UParrow>" "#25B4") ; variant of <blacktriangleup>
86 ("<DOWNarrow>" "#25BE") ; variant of <blacktriangledown>
87 ("<bigcirc>" "#25EF") ; variant of <varbigcirc> (slightly oval)
88 ("<varangle>" "#2222") ; variant of <sphericalangle>
89 ("<Bbbk>" "#1D55C") ; variant of <bb-k>
90 ("<triangle>" "#25B3") ; variant of <bigtriangleup>
91 ("<nshortmid>" "#2224") ; variant of <nmid>
95 ;; These symbols should only be used internally by TeXmacs in the
96 ;; LEFT, RIGHT, MID and BIG primitive. If they are explicitly
97 ;; present, they are exported as a regular-sized character.
99 ("<large-less-0>" "<")
100 ("<large-gtr-0>" ">")
109 ("<large-lceil>" "#2308")
110 ("<large-rceil>" "#2309")
111 ("<large-lfloor>" "#230A")
112 ("<large-rfloor>" "#230B")
113 ("<large-lceil-0>" "#2308")
114 ("<large-rceil-0>" "#2309")
115 ("<large-lfloor-0>" "#230A")
116 ("<large-rfloor-0>" "#230B")
122 ("<large-||>" "#2016")
124 ("<large-||-0>" "#2016")
125 ("<large-llbracket>" "#27E6")
126 ("<large-rrbracket>" "#27E7")
127 ("<large-llbracket-0>" "#27E6")
128 ("<large-rrbracket-0>" "#27E7")
129 ("<large-langle>" "#27E8")
130 ("<large-rangle>" "#27E9")
131 ("<large-langle-0>" "#27E8")
132 ("<large-rangle-0>" "#27E9")
136 ;; These symbols should only be use internally by TeXmacs in BIG
137 ;; primitives or other special constructs. If they are explicitely
138 ;; present, they are exported as a regular-sized character.
140 ("<large-sqrt-0>" "#221A") ; FIXME: wrong baseline
145 ;; These symbols are displayed in the same as their base variant, but TeXmacs
146 ;; displays right subscripts _under_ the symbol instead of at the lower right.
147 ;; The difference with the base symbols must be expressed by markup.
149 ("<leftarrowlim>" "#2190")
150 ("<rightarrowlim>" "#2192")
151 ("<leftrightarrowlim>" "#2194")
152 ("<mapstolim>" "#21A6")
153 ("<longleftarrowlim>" "#27F5")
154 ("<longrightarrowlim>" "#27F6")
155 ("<longleftrightarrowlim>" "#27F7")
156 ("<longmapstolim>" "#27FC")
157 ("<Leftarrowlim>" "#21D0")
158 ("<Leftrightarrowlim>" "#21D4")
159 ("<Longleftarrowlim>" "#27F8")
160 ("<Longleftrightarrowlim>" "#27FA")
161 ("<Longrightarrowlim>" "#27F9")
162 ("<Rightarrowlim>" "#21D2")
164 ("<longequallim>" "#FF1D")
168 ;; These arrows have no long variant in unicode. They are exported as regular
171 ;; No long "two headed" arrow
172 ("<longtwoheadleftarrow>" "#219E")
173 ("<longtwoheadrightarrow>" "#21A0")
175 ;; No "long upwards arrow" or "long downwards arrow"
176 ("<longuparrow>" "#2191")
177 ("<longdownarrow>" "#2193")
178 ("<longupdownarrow>" "#2195")
179 ("<Longuparrow>" "#21D1")
180 ("<Longdownarrow>" "#21D3")
181 ("<Longupdownarrow>" "#21D5")
182 ("<longhookrightarrow>" "#21AA")
184 ;("<longmapsdown>" "")
186 ;;; Unary operator variants
188 ;; Unicode makes no distinction between unary and binary operators. TeXmacs
189 ;; unary operator variants are exported as binary operators. The import filter
190 ;; should take care of using unary operators where appropriate.
192 ("<upm>" "#B1") ; see <pm>
193 ("<um>" "#2212") ; see <minus>
194 ("<ump>" "#2213") ; see <mp>
196 ;;; Extra Mathematical Alphanumeric Symbols
198 ;; Unicode has no character for those symbols. Their font style must
199 ;; be exported using markup and the import filter should import the
200 ;; marked-up base symbol as the correct styled symbol.
202 ("<b-backepsilon>" "#03F6") ; see <backepsilon>
203 ("<b-ell>" "#2113") ; see <ell>
204 ("<b-Mho>" "#2127") ; see <Mho>