1use core::fmt::{self, Debug};
2
3#[cfg(feature = "serde")]
4use serde::Serialize;
5
6use crate::super_char::{OverlayChar, SuperChar, VariationSelector};
7
8#[derive(Clone, Copy, Debug, PartialEq, Eq)]
13#[cfg_attr(feature = "serde", derive(Serialize))]
14#[repr(transparent)]
15#[cfg_attr(feature = "serde", serde(transparent))]
16pub struct MathMLOperator(SuperChar);
17
18impl MathMLOperator {
19 #[inline]
20 const fn from_char(c: char) -> Self {
25 Self(SuperChar::from_char(c))
26 }
27
28 #[inline]
29 pub const fn as_superchar(self) -> SuperChar {
30 self.0
31 }
32
33 #[inline]
34 pub fn with_overlay(self, overlay: OverlayChar) -> Self {
35 Self(self.0.with_overlay(overlay))
36 }
37
38 #[inline]
39 pub fn as_chars(self) -> impl Iterator<Item = char> {
40 self.0.chars()
41 }
42
43 #[inline]
44 pub const fn try_as_char(self) -> Option<char> {
45 self.0.try_as_char()
46 }
47}
48
49impl fmt::Display for MathMLOperator {
50 #[inline]
51 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
53 for c in self.0.chars() {
54 match c {
55 '<' => write!(f, "<")?,
56 '>' => write!(f, ">")?,
57 '&' => write!(f, "&")?,
58 _ => write!(f, "{c}")?,
59 }
60 }
61 Ok(())
62 }
63}
64
65#[derive(Clone, Copy, PartialEq, Eq)]
70struct BMPChar {
71 char: u16,
72}
73
74impl BMPChar {
75 const fn new(ch: char) -> Self {
76 assert!(ch as u32 <= u16::MAX as u32, "Character is outside the BMP");
77 BMPChar { char: ch as u16 }
78 }
79
80 #[inline]
81 pub const fn as_char(self) -> char {
82 debug_assert!(char::from_u32(self.char as u32).is_some(), "Invalid char.");
83 unsafe { char::from_u32_unchecked(self.char as u32) }
84 }
85}
86
87impl Debug for BMPChar {
89 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
90 f.write_fmt(format_args!("{:?}", self.as_char()))
91 }
92}
93
94#[derive(Clone, Copy, Debug, PartialEq)]
97pub struct BMPOperator(BMPChar);
98
99impl BMPOperator {
100 #[inline]
101 pub const fn new(ch: char) -> Self {
102 BMPOperator(BMPChar::new(ch))
103 }
104
105 #[inline]
106 pub const fn as_op(self) -> MathMLOperator {
107 MathMLOperator::from_char(self.0.as_char())
108 }
109
110 #[inline]
111 pub const fn as_char(self) -> char {
112 self.0.as_char()
113 }
114}
115
116macro_rules! make_character_class {
117 ($(#[$meta:meta])* $struct_name:ident, $cat_type:ty) => {
118 $(#[$meta])*
119 #[derive(Clone, Copy, Debug, PartialEq, Eq)]
120 pub struct $struct_name {
121 char: BMPChar,
122 cat: $cat_type,
123 has_vs1: bool,
124 }
125
126 impl $struct_name {
127 const fn new(ch: char, cat: $cat_type) -> $struct_name {
128 $struct_name {
129 char: BMPChar::new(ch),
130 cat,
131 has_vs1: false,
132 }
133 }
134
135 #[allow(unused)]
136 const fn new_vs1(ch: char, cat: $cat_type) -> $struct_name {
137 $struct_name {
138 char: BMPChar::new(ch),
139 cat,
140 has_vs1: true,
141 }
142 }
143
144 #[inline]
145 pub const fn as_op(&self) -> MathMLOperator {
146 let s = if self.has_vs1 {
147 SuperChar::from_char_with_vs(self.char.as_char(), VariationSelector::Vs1)
148 } else {
149 SuperChar::from_char(self.char.as_char())
150 };
151 MathMLOperator(s)
152 }
153
154 #[inline]
155 pub const fn as_bmp_op(&self) -> BMPOperator {
156 BMPOperator(self.char)
157 }
158
159 #[inline]
160 pub const fn category(&self) -> $cat_type {
161 self.cat
162 }
163 }
164 };
165}
166
167#[derive(Clone, Copy, Debug, PartialEq, Eq)]
168pub enum OrdCategory {
169 D,
171 E,
173 DE,
175 F,
178 G,
181 FG,
184 FGandForceDefault,
187 I,
190 K,
192 IK,
194 KButUsedToBeB,
198}
199
200make_character_class!(
201 OrdLike,
203 OrdCategory
204);
205
206#[derive(Clone, Copy, Debug, PartialEq, Eq)]
207pub enum OpCategory {
208 C,
210 H,
212 J,
215 CJ,
217}
218
219make_character_class!(
220 Op,
222 OpCategory
223);
224
225#[derive(Clone, Copy, Debug, PartialEq, Eq)]
226pub enum BinCategory {
227 B,
229 BD,
231}
232
233make_character_class!(
234 Bin,
236 BinCategory
237);
238
239#[derive(Clone, Copy, Debug, PartialEq, Eq)]
240pub enum RelCategory {
241 Default,
243 A,
245 DandForceDefault,
248}
249
250make_character_class!(
251 Rel,
253 RelCategory
254);
255
256#[derive(Clone, Copy, Debug, PartialEq, Eq)]
258#[repr(transparent)]
259pub struct Punct(char);
260
261impl Punct {
262 #[inline]
263 pub const fn as_op(&self) -> MathMLOperator {
264 MathMLOperator::from_char(self.0)
265 }
266}
267
268pub const EXCLAMATION_MARK: OrdLike = OrdLike::new('!', OrdCategory::DE);
272pub const NUMBER_SIGN: char = '#';
274pub const DOLLAR_SIGN: char = '$';
275pub const PERCENT_SIGN: char = '%';
276pub const AMPERSAND: OrdLike = OrdLike::new('&', OrdCategory::E);
277pub const LEFT_PARENTHESIS: OrdLike = OrdLike::new('(', OrdCategory::F);
279pub const RIGHT_PARENTHESIS: OrdLike = OrdLike::new(')', OrdCategory::G);
280pub const PLUS_SIGN: Bin = Bin::new('+', BinCategory::BD);
282pub const COMMA: Punct = Punct(',');
283pub const FULL_STOP: Op = Op::new('.', OpCategory::C);
284pub const SOLIDUS: OrdLike = OrdLike::new('/', OrdCategory::KButUsedToBeB);
285
286pub const COLON: Punct = Punct(':');
287pub const SEMICOLON: Punct = Punct(';');
288pub const LESS_THAN_SIGN: Rel = Rel::new('<', RelCategory::Default);
289pub const EQUALS_SIGN: Rel = Rel::new('=', RelCategory::Default);
290pub const GREATER_THAN_SIGN: Rel = Rel::new('>', RelCategory::Default);
291pub const LEFT_SQUARE_BRACKET: OrdLike = OrdLike::new('[', OrdCategory::F);
295pub const REVERSE_SOLIDUS: OrdLike = OrdLike::new('\\', OrdCategory::K);
296pub const RIGHT_SQUARE_BRACKET: OrdLike = OrdLike::new(']', OrdCategory::G);
297pub const LOW_LINE: OrdLike = OrdLike::new('_', OrdCategory::IK);
299pub const GRAVE_ACCENT: BMPOperator = BMPOperator::new('`');
300
301pub const LEFT_CURLY_BRACKET: OrdLike = OrdLike::new('{', OrdCategory::F);
302pub const VERTICAL_LINE: OrdLike = OrdLike::new('|', OrdCategory::FGandForceDefault);
303pub const RIGHT_CURLY_BRACKET: OrdLike = OrdLike::new('}', OrdCategory::G);
304pub const TILDE: OrdLike = OrdLike::new('~', OrdCategory::I);
305
306pub const NO_BREAK_SPACE: char = '\u{A0}';
310pub const POUND_SIGN: char = '£';
313
314pub const YEN_SIGN: char = '¥';
315
316pub const SECTION_SIGN: char = '§';
317pub const DIAERESIS: BMPOperator = BMPOperator::new('¨');
318pub const COPYRIGHT_SIGN: char = '©';
319
320pub const NOT_SIGN: OrdLike = OrdLike::new('¬', OrdCategory::D);
321pub const DEGREE_SIGN: char = '°';
322
323pub const MACRON: BMPOperator = BMPOperator::new('¯');
324
325pub const PLUS_MINUS_SIGN: Bin = Bin::new('±', BinCategory::BD);
326
327pub const ACUTE_ACCENT: BMPOperator = BMPOperator::new('´');
328
329pub const PILCROW_SIGN: char = '¶';
330pub const MIDDLE_DOT: Op = Op::new('·', OpCategory::C);
331
332pub const MULTIPLICATION_SIGN: Op = Op::new('×', OpCategory::C);
333
334pub const LATIN_SMALL_LETTER_ETH: char = 'ð';
335
336pub const DIVISION_SIGN: Bin = Bin::new('÷', BinCategory::B);
337
338pub const LATIN_SMALL_LETTER_DOTLESS_I: char = 'ı';
342
343pub const LATIN_SMALL_LETTER_DOTLESS_J: char = 'ȷ';
347
348pub const MODIFIER_LETTER_CIRCUMFLEX_ACCENT: BMPOperator = BMPOperator::new('ˆ');
352pub const CARON: BMPOperator = BMPOperator::new('ˇ');
353
354pub const BREVE: BMPOperator = BMPOperator::new('˘');
355pub const DOT_ABOVE: BMPOperator = BMPOperator::new('˙');
356pub const RING_ABOVE: BMPOperator = BMPOperator::new('˚');
357
358pub const SMALL_TILDE: BMPOperator = BMPOperator::new('˜');
359
360pub const COMBINING_GRAVE_ACCENT: char = '\u{300}';
364pub const COMBINING_ACUTE_ACCENT: char = '\u{301}';
365pub const COMBINING_CIRCUMFLEX_ACCENT: BMPOperator = BMPOperator::new('\u{302}');
366pub const COMBINING_TILDE: char = '\u{303}';
367pub const COMBINING_MACRON: char = '\u{304}';
368pub const COMBINING_BREVE: char = '\u{306}';
370pub const COMBINING_DOT_ABOVE: char = '\u{307}';
371pub const COMBINING_DIAERESIS: char = '\u{308}';
372pub const COMBINING_RING_ABOVE: char = '\u{30A}';
374pub const COMBINING_DOUBLE_ACUTE_ACCENT: char = '\u{30B}';
375pub const COMBINING_CARON: char = '\u{30C}';
376
377pub const COMBINING_CEDILLA: char = '\u{327}';
378
379pub const COMBINING_LOW_LINE: BMPOperator = BMPOperator::new('\u{332}');
380
381pub const COMBINING_LONG_SOLIDUS_OVERLAY: char = '\u{338}';
382
383pub const GREEK_CAPITAL_LETTER_ALPHA: char = 'Α';
387pub const GREEK_CAPITAL_LETTER_BETA: char = 'Β';
388pub const GREEK_CAPITAL_LETTER_GAMMA: char = 'Γ';
389pub const GREEK_CAPITAL_LETTER_DELTA: char = 'Δ';
390pub const GREEK_CAPITAL_LETTER_EPSILON: char = 'Ε';
391pub const GREEK_CAPITAL_LETTER_ZETA: char = 'Ζ';
392pub const GREEK_CAPITAL_LETTER_ETA: char = 'Η';
393pub const GREEK_CAPITAL_LETTER_THETA: char = 'Θ';
394pub const GREEK_CAPITAL_LETTER_IOTA: char = 'Ι';
395pub const GREEK_CAPITAL_LETTER_KAPPA: char = 'Κ';
396pub const GREEK_CAPITAL_LETTER_LAMBDA: char = 'Λ';
397pub const GREEK_CAPITAL_LETTER_MU: char = 'Μ';
398pub const GREEK_CAPITAL_LETTER_NU: char = 'Ν';
399pub const GREEK_CAPITAL_LETTER_XI: char = 'Ξ';
400pub const GREEK_CAPITAL_LETTER_OMICRON: char = 'Ο';
401pub const GREEK_CAPITAL_LETTER_PI: char = 'Π';
402pub const GREEK_CAPITAL_LETTER_RHO: char = 'Ρ';
403pub const GREEK_CAPITAL_LETTER_SIGMA: char = 'Σ';
404pub const GREEK_CAPITAL_LETTER_TAU: char = 'Τ';
405pub const GREEK_CAPITAL_LETTER_UPSILON: char = 'Υ';
406pub const GREEK_CAPITAL_LETTER_PHI: char = 'Φ';
407pub const GREEK_CAPITAL_LETTER_CHI: char = 'Χ';
408pub const GREEK_CAPITAL_LETTER_PSI: char = 'Ψ';
409pub const GREEK_CAPITAL_LETTER_OMEGA: char = 'Ω';
410
411pub const GREEK_SMALL_LETTER_ALPHA: char = 'α';
412pub const GREEK_SMALL_LETTER_BETA: char = 'β';
413pub const GREEK_SMALL_LETTER_GAMMA: char = 'γ';
414pub const GREEK_SMALL_LETTER_DELTA: char = 'δ';
415pub const GREEK_SMALL_LETTER_EPSILON: char = 'ε';
416pub const GREEK_SMALL_LETTER_ZETA: char = 'ζ';
417pub const GREEK_SMALL_LETTER_ETA: char = 'η';
418pub const GREEK_SMALL_LETTER_THETA: char = 'θ';
419pub const GREEK_SMALL_LETTER_IOTA: char = 'ι';
420pub const GREEK_SMALL_LETTER_KAPPA: char = 'κ';
421pub const GREEK_SMALL_LETTER_LAMBDA: char = 'λ';
422pub const GREEK_SMALL_LETTER_MU: char = 'μ';
423pub const GREEK_SMALL_LETTER_NU: char = 'ν';
424pub const GREEK_SMALL_LETTER_XI: char = 'ξ';
425pub const GREEK_SMALL_LETTER_OMICRON: char = 'ο';
426pub const GREEK_SMALL_LETTER_PI: char = 'π';
427pub const GREEK_SMALL_LETTER_RHO: char = 'ρ';
428pub const GREEK_SMALL_LETTER_FINAL_SIGMA: char = 'ς';
429pub const GREEK_SMALL_LETTER_SIGMA: char = 'σ';
430pub const GREEK_SMALL_LETTER_TAU: char = 'τ';
431pub const GREEK_SMALL_LETTER_UPSILON: char = 'υ';
432pub const GREEK_SMALL_LETTER_PHI: char = 'φ';
433pub const GREEK_SMALL_LETTER_CHI: char = 'χ';
434pub const GREEK_SMALL_LETTER_PSI: char = 'ψ';
435pub const GREEK_SMALL_LETTER_OMEGA: char = 'ω';
436
437pub const GREEK_THETA_SYMBOL: char = 'ϑ';
438pub const GREEK_PHI_SYMBOL: char = 'ϕ';
441pub const GREEK_PI_SYMBOL: char = 'ϖ';
442
443pub const GREEK_SMALL_LETTER_DIGAMMA: char = 'ϝ';
445
446pub const GREEK_KAPPA_SYMBOL: char = 'ϰ';
447pub const GREEK_RHO_SYMBOL: char = 'ϱ';
448
449pub const GREEK_LUNATE_EPSILON_SYMBOL: char = 'ϵ';
452pub const GREEK_REVERSED_LUNATE_EPSILON_SYMBOL: char = '϶';
453
454pub const EN_SPACE: char = '\u{2002}';
459pub const EM_SPACE: char = '\u{2003}';
460pub const THREE_PER_EM_SPACE: char = '\u{2004}';
461pub const THIN_SPACE: char = '\u{2009}';
462
463pub const DOUBLE_VERTICAL_LINE: OrdLike = OrdLike::new('‖', OrdCategory::FGandForceDefault); pub const LEFT_SINGLE_QUOTATION_MARK: char = '‘';
467pub const RIGHT_SINGLE_QUOTATION_MARK: char = '’';
468pub const RIGHT_DOUBLE_QUOTATION_MARK: char = '”';
472pub const DAGGER: MathMLOperator = MathMLOperator::from_char('†');
476pub const DOUBLE_DAGGER: MathMLOperator = MathMLOperator::from_char('‡');
477pub const BULLET: MathMLOperator = MathMLOperator::from_char('•');
478pub const HORIZONTAL_ELLIPSIS: char = '…';
479
480pub const PRIME: OrdLike = OrdLike::new('′', OrdCategory::E);
481pub const DOUBLE_PRIME: OrdLike = OrdLike::new('″', OrdCategory::E);
482pub const TRIPLE_PRIME: OrdLike = OrdLike::new('‴', OrdCategory::E);
483pub const REVERSED_PRIME: OrdLike = OrdLike::new('‵', OrdCategory::E);
484pub const REVERSED_DOUBLE_PRIME: OrdLike = OrdLike::new('‶', OrdCategory::E);
485pub const REVERSED_TRIPLE_PRIME: OrdLike = OrdLike::new('‷', OrdCategory::E);
486pub const OVERLINE: BMPOperator = BMPOperator::new('‾');
497pub const CHARACTER_TIE: MathMLOperator = MathMLOperator::from_char('⁀');
498pub const FRACTION_SLASH: Bin = Bin::new('⁄', BinCategory::B);
499
500pub const QUADRUPLE_PRIME: OrdLike = OrdLike::new('⁗', OrdCategory::E);
501
502pub const MEDIUM_MATHEMATICAL_SPACE: char = '\u{205F}';
503
504pub const FUNCTION_APPLICATION: OrdLike = OrdLike::new('\u{2061}', OrdCategory::K);
505pub const INVISIBLE_TIMES: OrdLike = OrdLike::new('\u{2062}', OrdCategory::K);
506pub const INVISIBLE_SEPARATOR: OrdLike = OrdLike::new('\u{2063}', OrdCategory::K);
507
508pub const COMBINING_LONG_VERTICAL_LINE_OVERLAY: char = '\u{20D2}';
512
513pub const COMBINING_RIGHT_ARROW_ABOVE: BMPOperator = BMPOperator::new('\u{20D7}');
514
515pub const COMBINING_THREE_DOTS_ABOVE: BMPOperator = BMPOperator::new('\u{20DB}');
516pub const COMBINING_FOUR_DOTS_ABOVE: BMPOperator = BMPOperator::new('\u{20DC}');
517
518pub const PLANCK_CONSTANT_OVER_TWO_PI: char = 'ℏ';
522pub const BLACK_LETTER_CAPITAL_I: char = 'ℑ';
524pub const SCRIPT_SMALL_L: char = 'ℓ';
526
527pub const DOUBLE_STRUCK_CAPITAL_C: char = 'ℂ';
528
529pub const DOUBLE_STRUCK_CAPITAL_N: char = 'ℕ';
530
531pub const SCRIPT_CAPITAL_P: char = '℘';
532
533pub const BLACK_LETTER_CAPITAL_R: char = 'ℜ';
534pub const DOUBLE_STRUCK_CAPITAL_R: char = 'ℝ';
535
536pub const DOUBLE_STRUCK_CAPITAL_Z: char = 'ℤ';
537
538pub const INVERTED_OHM_SIGN: char = '℧';
539
540pub const TURNED_CAPITAL_F: char = 'Ⅎ';
541
542pub const ALEF_SYMBOL: char = 'ℵ';
543pub const BET_SYMBOL: char = 'ℶ';
544pub const GIMEL_SYMBOL: char = 'ℷ';
545pub const DALET_SYMBOL: char = 'ℸ';
546
547pub const DOUBLE_STRUCK_N_ARY_SUMMATION: MathMLOperator = MathMLOperator::from_char('⅀');
548
549pub const TURNED_SANS_SERIF_CAPITAL_G: char = '⅁';
550
551pub const TURNED_AMPERSAND: MathMLOperator = MathMLOperator::from_char('⅋');
552
553pub const LEFTWARDS_ARROW: Rel = Rel::new('←', RelCategory::A);
557pub const UPWARDS_ARROW: Rel = Rel::new('↑', RelCategory::A);
558pub const RIGHTWARDS_ARROW: Rel = Rel::new('→', RelCategory::A);
559pub const DOWNWARDS_ARROW: Rel = Rel::new('↓', RelCategory::A);
560pub const LEFT_RIGHT_ARROW: Rel = Rel::new('↔', RelCategory::A);
561pub const UP_DOWN_ARROW: Rel = Rel::new('↕', RelCategory::A);
562pub const NORTH_WEST_ARROW: Rel = Rel::new('↖', RelCategory::Default);
563pub const NORTH_EAST_ARROW: Rel = Rel::new('↗', RelCategory::Default);
564pub const SOUTH_EAST_ARROW: Rel = Rel::new('↘', RelCategory::Default);
565pub const SOUTH_WEST_ARROW: Rel = Rel::new('↙', RelCategory::Default);
566pub const LEFTWARDS_ARROW_WITH_STROKE: Rel = Rel::new('↚', RelCategory::A);
567pub const RIGHTWARDS_ARROW_WITH_STROKE: Rel = Rel::new('↛', RelCategory::A);
568pub const LEFTWARDS_WAVE_ARROW: Rel = Rel::new('↜', RelCategory::A);
569pub const RIGHTWARDS_WAVE_ARROW: Rel = Rel::new('↝', RelCategory::A);
570pub const LEFTWARDS_TWO_HEADED_ARROW: Rel = Rel::new('↞', RelCategory::A);
571pub const UPWARDS_TWO_HEADED_ARROW: Rel = Rel::new('↟', RelCategory::A);
572pub const RIGHTWARDS_TWO_HEADED_ARROW: Rel = Rel::new('↠', RelCategory::A);
573pub const DOWNWARDS_TWO_HEADED_ARROW: Rel = Rel::new('↡', RelCategory::A);
574pub const LEFTWARDS_ARROW_WITH_TAIL: Rel = Rel::new('↢', RelCategory::A);
575pub const RIGHTWARDS_ARROW_WITH_TAIL: Rel = Rel::new('↣', RelCategory::A);
576pub const LEFTWARDS_ARROW_FROM_BAR: Rel = Rel::new('↤', RelCategory::A);
577pub const UPWARDS_ARROW_FROM_BAR: Rel = Rel::new('↥', RelCategory::A);
578pub const RIGHTWARDS_ARROW_FROM_BAR: Rel = Rel::new('↦', RelCategory::A);
579pub const DOWNWARDS_ARROW_FROM_BAR: Rel = Rel::new('↧', RelCategory::A);
580pub const UP_DOWN_ARROW_WITH_BASE: Rel = Rel::new('↨', RelCategory::A);
581pub const LEFTWARDS_ARROW_WITH_HOOK: Rel = Rel::new('↩', RelCategory::A);
582pub const RIGHTWARDS_ARROW_WITH_HOOK: Rel = Rel::new('↪', RelCategory::A);
583pub const LEFTWARDS_ARROW_WITH_LOOP: Rel = Rel::new('↫', RelCategory::A);
584pub const RIGHTWARDS_ARROW_WITH_LOOP: Rel = Rel::new('↬', RelCategory::A);
585pub const LEFT_RIGHT_WAVE_ARROW: Rel = Rel::new('↭', RelCategory::A);
586pub const LEFT_RIGHT_ARROW_WITH_STROKE: Rel = Rel::new('↮', RelCategory::A);
587pub const DOWNWARDS_ZIGZAG_ARROW: Rel = Rel::new('↯', RelCategory::Default);
588pub const UPWARDS_ARROW_WITH_TIP_LEFTWARDS: Rel = Rel::new('↰', RelCategory::A);
589pub const UPWARDS_ARROW_WITH_TIP_RIGHTWARDS: Rel = Rel::new('↱', RelCategory::A);
590pub const DOWNWARDS_ARROW_WITH_TIP_LEFTWARDS: Rel = Rel::new('↲', RelCategory::A);
591pub const DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS: Rel = Rel::new('↳', RelCategory::A);
592pub const RIGHTWARDS_ARROW_WITH_CORNER_DOWNWARDS: Rel = Rel::new('↴', RelCategory::A);
593pub const DOWNWARDS_ARROW_WITH_CORNER_LEFTWARDS: Rel = Rel::new('↵', RelCategory::A);
594pub const ANTICLOCKWISE_TOP_SEMICIRCLE_ARROW: Rel = Rel::new('↶', RelCategory::Default);
595pub const CLOCKWISE_TOP_SEMICIRCLE_ARROW: Rel = Rel::new('↷', RelCategory::Default);
596pub const NORTH_WEST_ARROW_TO_LONG_BAR: Rel = Rel::new('↸', RelCategory::Default);
597pub const LEFTWARDS_ARROW_TO_BAR_OVER_RIGHTWARDS_ARROW_TO_BAR: Rel = Rel::new('↹', RelCategory::A);
598pub const ANTICLOCKWISE_OPEN_CIRCLE_ARROW: Rel = Rel::new('↺', RelCategory::Default);
599pub const CLOCKWISE_OPEN_CIRCLE_ARROW: Rel = Rel::new('↻', RelCategory::Default);
600pub const LEFTWARDS_HARPOON_WITH_BARB_UPWARDS: Rel = Rel::new('↼', RelCategory::A);
601pub const LEFTWARDS_HARPOON_WITH_BARB_DOWNWARDS: Rel = Rel::new('↽', RelCategory::A);
602pub const UPWARDS_HARPOON_WITH_BARB_RIGHTWARDS: Rel = Rel::new('↾', RelCategory::A);
603pub const UPWARDS_HARPOON_WITH_BARB_LEFTWARDS: Rel = Rel::new('↿', RelCategory::A);
604pub const RIGHTWARDS_HARPOON_WITH_BARB_UPWARDS: Rel = Rel::new('⇀', RelCategory::A);
605pub const RIGHTWARDS_HARPOON_WITH_BARB_DOWNWARDS: Rel = Rel::new('⇁', RelCategory::A);
606pub const DOWNWARDS_HARPOON_WITH_BARB_RIGHTWARDS: Rel = Rel::new('⇂', RelCategory::A);
607pub const DOWNWARDS_HARPOON_WITH_BARB_LEFTWARDS: Rel = Rel::new('⇃', RelCategory::A);
608pub const RIGHTWARDS_ARROW_OVER_LEFTWARDS_ARROW: Rel = Rel::new('⇄', RelCategory::A);
609pub const UPWARDS_ARROW_LEFTWARDS_OF_DOWNWARDS_ARROW: Rel = Rel::new('⇅', RelCategory::A);
610pub const LEFTWARDS_ARROW_OVER_RIGHTWARDS_ARROW: Rel = Rel::new('⇆', RelCategory::A);
611pub const LEFTWARDS_PAIRED_ARROWS: Rel = Rel::new('⇇', RelCategory::A);
612pub const UPWARDS_PAIRED_ARROWS: Rel = Rel::new('⇈', RelCategory::A);
613pub const RIGHTWARDS_PAIRED_ARROWS: Rel = Rel::new('⇉', RelCategory::A);
614pub const DOWNWARDS_PAIRED_ARROWS: Rel = Rel::new('⇊', RelCategory::A);
615pub const LEFTWARDS_HARPOON_OVER_RIGHTWARDS_HARPOON: Rel = Rel::new('⇋', RelCategory::A);
616pub const RIGHTWARDS_HARPOON_OVER_LEFTWARDS_HARPOON: Rel = Rel::new('⇌', RelCategory::A);
617pub const LEFTWARDS_DOUBLE_ARROW_WITH_STROKE: Rel = Rel::new('⇍', RelCategory::A);
618pub const LEFT_RIGHT_DOUBLE_ARROW_WITH_STROKE: Rel = Rel::new('⇎', RelCategory::A);
619pub const RIGHTWARDS_DOUBLE_ARROW_WITH_STROKE: Rel = Rel::new('⇏', RelCategory::A);
620pub const LEFTWARDS_DOUBLE_ARROW: Rel = Rel::new('⇐', RelCategory::A);
621pub const UPWARDS_DOUBLE_ARROW: Rel = Rel::new('⇑', RelCategory::A);
622pub const RIGHTWARDS_DOUBLE_ARROW: Rel = Rel::new('⇒', RelCategory::A);
623pub const DOWNWARDS_DOUBLE_ARROW: Rel = Rel::new('⇓', RelCategory::A);
624pub const LEFT_RIGHT_DOUBLE_ARROW: Rel = Rel::new('⇔', RelCategory::A);
625pub const UP_DOWN_DOUBLE_ARROW: Rel = Rel::new('⇕', RelCategory::A);
626pub const NORTH_WEST_DOUBLE_ARROW: Rel = Rel::new('⇖', RelCategory::Default);
627pub const NORTH_EAST_DOUBLE_ARROW: Rel = Rel::new('⇗', RelCategory::Default);
628pub const SOUTH_EAST_DOUBLE_ARROW: Rel = Rel::new('⇘', RelCategory::Default);
629pub const SOUTH_WEST_DOUBLE_ARROW: Rel = Rel::new('⇙', RelCategory::Default);
630pub const LEFTWARDS_TRIPLE_ARROW: Rel = Rel::new('⇚', RelCategory::A);
631pub const RIGHTWARDS_TRIPLE_ARROW: Rel = Rel::new('⇛', RelCategory::A);
632pub const LEFTWARDS_SQUIGGLE_ARROW: Rel = Rel::new('⇜', RelCategory::A);
633pub const RIGHTWARDS_SQUIGGLE_ARROW: Rel = Rel::new('⇝', RelCategory::A);
634pub const UPWARDS_ARROW_WITH_DOUBLE_STROKE: Rel = Rel::new('⇞', RelCategory::A);
635pub const DOWNWARDS_ARROW_WITH_DOUBLE_STROKE: Rel = Rel::new('⇟', RelCategory::A);
636pub const LEFTWARDS_DASHED_ARROW: Rel = Rel::new('⇠', RelCategory::A);
637pub const UPWARDS_DASHED_ARROW: Rel = Rel::new('⇡', RelCategory::A);
638pub const RIGHTWARDS_DASHED_ARROW: Rel = Rel::new('⇢', RelCategory::A);
639pub const DOWNWARDS_DASHED_ARROW: Rel = Rel::new('⇣', RelCategory::A);
640pub const LEFTWARDS_ARROW_TO_BAR: Rel = Rel::new('⇤', RelCategory::A);
641pub const RIGHTWARDS_ARROW_TO_BAR: Rel = Rel::new('⇥', RelCategory::A);
642pub const LEFTWARDS_WHITE_ARROW: Rel = Rel::new('⇦', RelCategory::A);
643pub const UPWARDS_WHITE_ARROW: Rel = Rel::new('⇧', RelCategory::A);
644pub const RIGHTWARDS_WHITE_ARROW: Rel = Rel::new('⇨', RelCategory::A);
645pub const DOWNWARDS_WHITE_ARROW: Rel = Rel::new('⇩', RelCategory::A);
646pub const UPWARDS_WHITE_ARROW_FROM_BAR: Rel = Rel::new('⇪', RelCategory::A);
647pub const RIGHT_ARROW_WITH_SMALL_CIRCLE: Rel = Rel::new('⇴', RelCategory::A);
657pub const DOWNWARDS_ARROW_LEFTWARDS_OF_UPWARDS_ARROW: Rel = Rel::new('⇵', RelCategory::A);
658pub const THREE_RIGHTWARDS_ARROWS: Rel = Rel::new('⇶', RelCategory::A);
659pub const LEFTWARDS_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⇷', RelCategory::A);
660pub const RIGHTWARDS_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⇸', RelCategory::A);
661pub const LEFT_RIGHT_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⇹', RelCategory::A);
662pub const LEFTWARDS_ARROW_WITH_DOUBLE_VERTICAL_STROKE: Rel = Rel::new('⇺', RelCategory::A);
663pub const RIGHTWARDS_ARROW_WITH_DOUBLE_VERTICAL_STROKE: Rel = Rel::new('⇻', RelCategory::A);
664pub const LEFT_RIGHT_ARROW_WITH_DOUBLE_VERTICAL_STROKE: Rel = Rel::new('⇼', RelCategory::A);
665pub const LEFTWARDS_OPEN_HEADED_ARROW: Rel = Rel::new('⇽', RelCategory::A);
666pub const RIGHTWARDS_OPEN_HEADED_ARROW: Rel = Rel::new('⇾', RelCategory::A);
667pub const LEFT_RIGHT_OPEN_HEADED_ARROW: Rel = Rel::new('⇿', RelCategory::A);
668
669pub const FOR_ALL: OrdLike = OrdLike::new('∀', OrdCategory::D);
673pub const COMPLEMENT: OrdLike = OrdLike::new('∁', OrdCategory::D);
674pub const PARTIAL_DIFFERENTIAL: char = '∂'; pub const THERE_EXISTS: OrdLike = OrdLike::new('∃', OrdCategory::D);
676pub const THERE_DOES_NOT_EXIST: OrdLike = OrdLike::new('∄', OrdCategory::D);
677pub const EMPTY_SET: char = '∅';
678pub const EMPTY_SET_ZERO_WITH_LONG_DIAGONAL_STROKE_OVERLAY_FORM: SuperChar =
679 SuperChar::from_char_with_vs(EMPTY_SET, VariationSelector::Vs1);
680
681pub const INCREMENT: char = '∆';
682pub const NABLA: char = '∇'; pub const ELEMENT_OF: Rel = Rel::new('∈', RelCategory::Default);
684pub const NOT_AN_ELEMENT_OF: Rel = Rel::new('∉', RelCategory::Default);
685pub const SMALL_ELEMENT_OF: Rel = Rel::new('∊', RelCategory::Default);
686pub const CONTAINS_AS_MEMBER: Rel = Rel::new('∋', RelCategory::Default);
687pub const DOES_NOT_CONTAIN_AS_MEMBER: Rel = Rel::new('∌', RelCategory::Default);
688pub const SMALL_CONTAINS_AS_MEMBER: Rel = Rel::new('∍', RelCategory::Default);
689pub const END_OF_PROOF: char = '∎';
690pub const N_ARY_PRODUCT: Op = Op::new('∏', OpCategory::J);
691pub const N_ARY_COPRODUCT: Op = Op::new('∐', OpCategory::J);
692pub const N_ARY_SUMMATION: Op = Op::new('∑', OpCategory::J);
693pub const MINUS_SIGN: Bin = Bin::new('−', BinCategory::BD);
694pub const MINUS_OR_PLUS_SIGN: Bin = Bin::new('∓', BinCategory::BD);
695pub const DOT_PLUS: Bin = Bin::new('∔', BinCategory::B);
696pub const DIVISION_SLASH: Bin = Bin::new('∕', BinCategory::B);
697pub const SET_MINUS: Bin = Bin::new('∖', BinCategory::B);
698pub const ASTERISK_OPERATOR: Op = Op::new('∗', OpCategory::C);
699pub const RING_OPERATOR: Op = Op::new('∘', OpCategory::C);
700pub const BULLET_OPERATOR: Op = Op::new('∙', OpCategory::C);
701pub const PROPORTIONAL_TO: Rel = Rel::new('∝', RelCategory::Default);
705pub const INFINITY: char = '∞';
706pub const RIGHT_ANGLE: char = '∟';
707pub const ANGLE: char = '∠';
708pub const MEASURED_ANGLE: char = '∡';
709pub const SPHERICAL_ANGLE: char = '∢';
710pub const DIVIDES: Rel = Rel::new('∣', RelCategory::Default);
711pub const DOES_NOT_DIVIDE: Rel = Rel::new('∤', RelCategory::Default);
712pub const PARALLEL_TO: Rel = Rel::new('∥', RelCategory::Default);
713pub const NOT_PARALLEL_TO: Rel = Rel::new('∦', RelCategory::Default);
714pub const LOGICAL_AND: Bin = Bin::new('∧', BinCategory::B);
715pub const LOGICAL_OR: Bin = Bin::new('∨', BinCategory::B);
716pub const INTERSECTION: Bin = Bin::new('∩', BinCategory::B);
717pub const UNION: Bin = Bin::new('∪', BinCategory::B);
718pub const INTEGRAL: Op = Op::new('∫', OpCategory::H);
719pub const DOUBLE_INTEGRAL: Op = Op::new('∬', OpCategory::H);
720pub const TRIPLE_INTEGRAL: Op = Op::new('∭', OpCategory::H);
721pub const CONTOUR_INTEGRAL: Op = Op::new('∮', OpCategory::H);
722pub const SURFACE_INTEGRAL: Op = Op::new('∯', OpCategory::H);
723pub const VOLUME_INTEGRAL: Op = Op::new('∰', OpCategory::H);
724pub const CLOCKWISE_INTEGRAL: Op = Op::new('∱', OpCategory::H);
725pub const CLOCKWISE_CONTOUR_INTEGRAL: Op = Op::new('∲', OpCategory::H);
726pub const ANTICLOCKWISE_CONTOUR_INTEGRAL: Op = Op::new('∳', OpCategory::H);
727pub const THEREFORE: OrdLike = OrdLike::new('∴', OrdCategory::D);
728pub const BECAUSE: OrdLike = OrdLike::new('∵', OrdCategory::D);
729pub const RATIO: Bin = Bin::new('∶', BinCategory::B);
730pub const PROPORTION: Rel = Rel::new('∷', RelCategory::Default);
731pub const DOT_MINUS: Bin = Bin::new('∸', BinCategory::B);
732pub const EXCESS: Rel = Rel::new('∹', RelCategory::Default);
733pub const GEOMETRIC_PROPORTION: Rel = Rel::new('∺', RelCategory::Default);
734pub const HOMOTHETIC: Rel = Rel::new('∻', RelCategory::Default);
735pub const TILDE_OPERATOR: Rel = Rel::new('∼', RelCategory::DandForceDefault);
736pub const REVERSED_TILDE: Rel = Rel::new('∽', RelCategory::Default);
737pub const INVERTED_LAZY_S: MathMLOperator = MathMLOperator::from_char('∾');
738pub const SINE_WAVE: char = '∿';
739pub const WREATH_PRODUCT: Op = Op::new('≀', OpCategory::C);
740pub const NOT_TILDE: Rel = Rel::new('≁', RelCategory::Default);
741pub const MINUS_TILDE: Rel = Rel::new('≂', RelCategory::Default);
742pub const ASYMPTOTICALLY_EQUAL_TO: Rel = Rel::new('≃', RelCategory::Default);
743pub const NOT_ASYMPTOTICALLY_EQUAL_TO: Rel = Rel::new('≄', RelCategory::Default);
744pub const APPROXIMATELY_EQUAL_TO: Rel = Rel::new('≅', RelCategory::Default);
745pub const APPROXIMATELY_BUT_NOT_ACTUALLY_EQUAL_TO: Rel = Rel::new('≆', RelCategory::Default);
746pub const NEITHER_APPROXIMATELY_NOR_ACTUALLY_EQUAL_TO: Rel = Rel::new('≇', RelCategory::Default);
747pub const ALMOST_EQUAL_TO: Rel = Rel::new('≈', RelCategory::Default);
748pub const NOT_ALMOST_EQUAL_TO: Rel = Rel::new('≉', RelCategory::Default);
749pub const ALMOST_EQUAL_OR_EQUAL_TO: Rel = Rel::new('≊', RelCategory::Default);
750pub const TRIPLE_TILDE: Rel = Rel::new('≋', RelCategory::Default);
751pub const ALL_EQUAL_TO: Rel = Rel::new('≌', RelCategory::Default);
752pub const EQUIVALENT_TO: Rel = Rel::new('≍', RelCategory::Default);
753pub const GEOMETRICALLY_EQUIVALENT_TO: Rel = Rel::new('≎', RelCategory::Default);
754pub const DIFFERENCE_BETWEEN: Rel = Rel::new('≏', RelCategory::Default);
755pub const APPROACHES_THE_LIMIT: Rel = Rel::new('≐', RelCategory::Default);
756pub const GEOMETRICALLY_EQUAL_TO: Rel = Rel::new('≑', RelCategory::Default);
757pub const APPROXIMATELY_EQUAL_TO_OR_THE_IMAGE_OF: Rel = Rel::new('≒', RelCategory::Default);
758pub const IMAGE_OF_OR_APPROXIMATELY_EQUAL_TO: Rel = Rel::new('≓', RelCategory::Default);
759pub const COLON_EQUALS: Rel = Rel::new('≔', RelCategory::Default);
760pub const EQUALS_COLON: Rel = Rel::new('≕', RelCategory::Default);
761pub const RING_IN_EQUAL_TO: Rel = Rel::new('≖', RelCategory::Default);
762pub const RING_EQUAL_TO: Rel = Rel::new('≗', RelCategory::Default);
763pub const CORRESPONDS_TO: Rel = Rel::new('≘', RelCategory::Default);
764pub const ESTIMATES: Rel = Rel::new('≙', RelCategory::Default);
765pub const EQUIANGULAR_TO: Rel = Rel::new('≚', RelCategory::Default);
766pub const STAR_EQUALS: Rel = Rel::new('≛', RelCategory::Default);
767pub const DELTA_EQUAL_TO: Rel = Rel::new('≜', RelCategory::Default);
768pub const EQUAL_TO_BY_DEFINITION: Rel = Rel::new('≝', RelCategory::Default);
769pub const MEASURED_BY: Rel = Rel::new('≞', RelCategory::Default);
770pub const QUESTIONED_EQUAL_TO: Rel = Rel::new('≟', RelCategory::Default);
771pub const NOT_EQUAL_TO: Rel = Rel::new('≠', RelCategory::Default);
772pub const IDENTICAL_TO: Rel = Rel::new('≡', RelCategory::Default);
773pub const NOT_IDENTICAL_TO: Rel = Rel::new('≢', RelCategory::Default);
774pub const STRICTLY_EQUIVALENT_TO: Rel = Rel::new('≣', RelCategory::Default);
775pub const LESS_THAN_OR_EQUAL_TO: Rel = Rel::new('≤', RelCategory::Default);
776pub const GREATER_THAN_OR_EQUAL_TO: Rel = Rel::new('≥', RelCategory::Default);
777pub const LESS_THAN_OVER_EQUAL_TO: Rel = Rel::new('≦', RelCategory::Default);
778pub const GREATER_THAN_OVER_EQUAL_TO: Rel = Rel::new('≧', RelCategory::Default);
779pub const LESS_THAN_BUT_NOT_EQUAL_TO: Rel = Rel::new('≨', RelCategory::Default);
780pub const LESS_THAN_BUT_NOT_EQUAL_TO_WITH_VERTICAL_STROKE: Rel =
781 Rel::new_vs1('≨', RelCategory::Default);
782pub const GREATER_THAN_BUT_NOT_EQUAL_TO: Rel = Rel::new('≩', RelCategory::Default);
783pub const GREATER_THAN_BUT_NOT_EQUAL_TO_WITH_VERTICAL_STROKE: Rel =
784 Rel::new_vs1('≩', RelCategory::Default);
785pub const MUCH_LESS_THAN: Rel = Rel::new('≪', RelCategory::Default);
786pub const MUCH_GREATER_THAN: Rel = Rel::new('≫', RelCategory::Default);
787pub const BETWEEN: Rel = Rel::new('≬', RelCategory::Default);
788pub const NOT_EQUIVALENT_TO: Rel = Rel::new('≭', RelCategory::Default);
789pub const NOT_LESS_THAN: Rel = Rel::new('≮', RelCategory::Default);
790pub const NOT_GREATER_THAN: Rel = Rel::new('≯', RelCategory::Default);
791pub const NEITHER_LESS_THAN_NOR_EQUAL_TO: Rel = Rel::new('≰', RelCategory::Default);
792pub const NEITHER_GREATER_THAN_NOR_EQUAL_TO: Rel = Rel::new('≱', RelCategory::Default);
793pub const LESS_THAN_OR_EQUIVALENT_TO: Rel = Rel::new('≲', RelCategory::Default);
794pub const GREATER_THAN_OR_EQUIVALENT_TO: Rel = Rel::new('≳', RelCategory::Default);
795pub const NEITHER_LESS_THAN_NOR_EQUIVALENT_TO: Rel = Rel::new('≴', RelCategory::Default);
796pub const NEITHER_GREATER_THAN_NOR_EQUIVALENT_TO: Rel = Rel::new('≵', RelCategory::Default);
797pub const LESS_THAN_OR_GREATER_THAN: Rel = Rel::new('≶', RelCategory::Default);
798pub const GREATER_THAN_OR_LESS_THAN: Rel = Rel::new('≷', RelCategory::Default);
799pub const NEITHER_LESS_THAN_NOR_GREATER_THAN: Rel = Rel::new('≸', RelCategory::Default);
800pub const NEITHER_GREATER_THAN_NOR_LESS_THAN: Rel = Rel::new('≹', RelCategory::Default);
801pub const PRECEDES: Rel = Rel::new('≺', RelCategory::Default);
802pub const SUCCEEDS: Rel = Rel::new('≻', RelCategory::Default);
803pub const PRECEDES_OR_EQUAL_TO: Rel = Rel::new('≼', RelCategory::Default);
804pub const SUCCEEDS_OR_EQUAL_TO: Rel = Rel::new('≽', RelCategory::Default);
805pub const PRECEDES_OR_EQUIVALENT_TO: Rel = Rel::new('≾', RelCategory::Default);
806pub const SUCCEEDS_OR_EQUIVALENT_TO: Rel = Rel::new('≿', RelCategory::Default);
807pub const DOES_NOT_PRECEDE: Rel = Rel::new('⊀', RelCategory::Default);
808pub const DOES_NOT_SUCCEED: Rel = Rel::new('⊁', RelCategory::Default);
809pub const SUBSET_OF: Rel = Rel::new('⊂', RelCategory::Default);
810pub const SUPERSET_OF: Rel = Rel::new('⊃', RelCategory::Default);
811pub const NOT_A_SUBSET_OF: Rel = Rel::new('⊄', RelCategory::Default);
812pub const NOT_A_SUPERSET_OF: Rel = Rel::new('⊅', RelCategory::Default);
813pub const SUBSET_OF_OR_EQUAL_TO: Rel = Rel::new('⊆', RelCategory::Default);
814pub const SUPERSET_OF_OR_EQUAL_TO: Rel = Rel::new('⊇', RelCategory::Default);
815pub const NEITHER_A_SUBSET_OF_NOR_EQUAL_TO: Rel = Rel::new('⊈', RelCategory::Default);
816pub const NEITHER_A_SUPERSET_OF_NOR_EQUAL_TO: Rel = Rel::new('⊉', RelCategory::Default);
817pub const SUBSET_OF_WITH_NOT_EQUAL_TO: Rel = Rel::new('⊊', RelCategory::Default);
818pub const SUBSET_OF_WITH_NOT_EQUAL_TO_WITH_STROKE_THROUGH_BOTTOM_MEMBERS: Rel =
819 Rel::new_vs1('⊊', RelCategory::Default);
820
821pub const SUPERSET_OF_WITH_NOT_EQUAL_TO: Rel = Rel::new('⊋', RelCategory::Default);
822pub const SUPERSET_OF_WITH_NOT_EQUAL_TO_WITH_STROKE_THROUGH_BOTTOM_MEMBERS: Rel =
823 Rel::new_vs1('⊋', RelCategory::Default);
824pub const MULTISET: Bin = Bin::new('⊌', BinCategory::B);
825pub const MULTISET_MULTIPLICATION: Bin = Bin::new('⊍', BinCategory::B);
826pub const MULTISET_UNION: Bin = Bin::new('⊎', BinCategory::B);
827pub const SQUARE_IMAGE_OF: Rel = Rel::new('⊏', RelCategory::Default);
828pub const SQUARE_ORIGINAL_OF: Rel = Rel::new('⊐', RelCategory::Default);
829pub const SQUARE_IMAGE_OF_OR_EQUAL_TO: Rel = Rel::new('⊑', RelCategory::Default);
830pub const SQUARE_ORIGINAL_OF_OR_EQUAL_TO: Rel = Rel::new('⊒', RelCategory::Default);
831pub const SQUARE_CAP: Bin = Bin::new('⊓', BinCategory::B);
832pub const SQUARE_CUP: Bin = Bin::new('⊔', BinCategory::B);
833pub const CIRCLED_PLUS: Bin = Bin::new('⊕', BinCategory::B);
834pub const CIRCLED_MINUS: Bin = Bin::new('⊖', BinCategory::B);
835pub const CIRCLED_TIMES: Op = Op::new('⊗', OpCategory::C);
836pub const CIRCLED_DIVISION_SLASH: Bin = Bin::new('⊘', BinCategory::B);
837pub const CIRCLED_DOT_OPERATOR: Op = Op::new('⊙', OpCategory::C);
838pub const CIRCLED_RING_OPERATOR: Op = Op::new('⊚', OpCategory::C);
839pub const CIRCLED_ASTERISK_OPERATOR: Op = Op::new('⊛', OpCategory::C);
840pub const CIRCLED_EQUALS: Rel = Rel::new('⊜', RelCategory::Default);
841pub const CIRCLED_DASH: Bin = Bin::new('⊝', BinCategory::B);
842pub const SQUARED_PLUS: Bin = Bin::new('⊞', BinCategory::B);
843pub const SQUARED_MINUS: Bin = Bin::new('⊟', BinCategory::B);
844pub const SQUARED_TIMES: Op = Op::new('⊠', OpCategory::C);
845pub const SQUARED_DOT_OPERATOR: Op = Op::new('⊡', OpCategory::C);
846pub const RIGHT_TACK: Rel = Rel::new('⊢', RelCategory::Default);
847pub const LEFT_TACK: Rel = Rel::new('⊣', RelCategory::Default);
848pub const DOWN_TACK: char = '⊤';
849pub const UP_TACK: char = '⊥';
850pub const ASSERTION: Rel = Rel::new('⊦', RelCategory::Default);
851pub const MODELS: Rel = Rel::new('⊧', RelCategory::Default);
852pub const TRUE: Rel = Rel::new('⊨', RelCategory::Default);
853pub const FORCES: Rel = Rel::new('⊩', RelCategory::Default);
854pub const TRIPLE_VERTICAL_BAR_RIGHT_TURNSTILE: Rel = Rel::new('⊪', RelCategory::Default);
855pub const DOUBLE_VERTICAL_BAR_DOUBLE_RIGHT_TURNSTILE: Rel = Rel::new('⊫', RelCategory::Default);
856pub const DOES_NOT_PROVE: Rel = Rel::new('⊬', RelCategory::Default);
857pub const NOT_TRUE: Rel = Rel::new('⊭', RelCategory::Default);
858pub const DOES_NOT_FORCE: Rel = Rel::new('⊮', RelCategory::Default);
859pub const NEGATED_DOUBLE_VERTICAL_BAR_DOUBLE_RIGHT_TURNSTILE: Rel =
860 Rel::new('⊯', RelCategory::Default);
861pub const PRECEDES_UNDER_RELATION: Rel = Rel::new('⊰', RelCategory::Default);
862pub const SUCCEEDS_UNDER_RELATION: Rel = Rel::new('⊱', RelCategory::Default);
863pub const NORMAL_SUBGROUP_OF: Rel = Rel::new('⊲', RelCategory::Default);
864pub const CONTAINS_AS_NORMAL_SUBGROUP: Rel = Rel::new('⊳', RelCategory::Default);
865pub const NORMAL_SUBGROUP_OF_OR_EQUAL_TO: Rel = Rel::new('⊴', RelCategory::Default);
866pub const CONTAINS_AS_NORMAL_SUBGROUP_OR_EQUAL_TO: Rel = Rel::new('⊵', RelCategory::Default);
867pub const ORIGINAL_OF: Rel = Rel::new('⊶', RelCategory::Default);
868pub const IMAGE_OF: Rel = Rel::new('⊷', RelCategory::Default);
869pub const MULTIMAP: Rel = Rel::new('⊸', RelCategory::Default);
870pub const HERMITIAN_CONJUGATE_MATRIX: char = '⊹';
871pub const INTERCALATE: Op = Op::new('⊺', OpCategory::C);
872pub const XOR: Bin = Bin::new('⊻', BinCategory::B);
873pub const NAND: Bin = Bin::new('⊼', BinCategory::B);
874pub const NOR: Bin = Bin::new('⊽', BinCategory::B);
875pub const RIGHT_ANGLE_WITH_ARC: char = '⊾';
876pub const RIGHT_TRIANGLE: char = '⊿';
877pub const N_ARY_LOGICAL_AND: Op = Op::new('⋀', OpCategory::J);
878pub const N_ARY_LOGICAL_OR: Op = Op::new('⋁', OpCategory::J);
879pub const N_ARY_INTERSECTION: Op = Op::new('⋂', OpCategory::J);
880pub const N_ARY_UNION: Op = Op::new('⋃', OpCategory::J);
881pub const DIAMOND_OPERATOR: Op = Op::new('⋄', OpCategory::C);
882pub const DOT_OPERATOR: Op = Op::new('⋅', OpCategory::C);
883pub const STAR_OPERATOR: Op = Op::new('⋆', OpCategory::C);
884pub const DIVISION_TIMES: Op = Op::new('⋇', OpCategory::C);
885pub const BOWTIE: Rel = Rel::new('⋈', RelCategory::Default);
886pub const LEFT_NORMAL_FACTOR_SEMIDIRECT_PRODUCT: Op = Op::new('⋉', OpCategory::C);
887pub const RIGHT_NORMAL_FACTOR_SEMIDIRECT_PRODUCT: Op = Op::new('⋊', OpCategory::C);
888pub const LEFT_SEMIDIRECT_PRODUCT: Op = Op::new('⋋', OpCategory::C);
889pub const RIGHT_SEMIDIRECT_PRODUCT: Op = Op::new('⋌', OpCategory::C);
890pub const REVERSED_TILDE_EQUALS: Rel = Rel::new('⋍', RelCategory::Default);
891pub const CURLY_LOGICAL_OR: Bin = Bin::new('⋎', BinCategory::B);
892pub const CURLY_LOGICAL_AND: Bin = Bin::new('⋏', BinCategory::B);
893pub const DOUBLE_SUBSET: Rel = Rel::new('⋐', RelCategory::Default);
894pub const DOUBLE_SUPERSET: Rel = Rel::new('⋑', RelCategory::Default);
895pub const DOUBLE_INTERSECTION: Bin = Bin::new('⋒', BinCategory::B);
896pub const DOUBLE_UNION: Bin = Bin::new('⋓', BinCategory::B);
897pub const PITCHFORK: Rel = Rel::new('⋔', RelCategory::Default);
898pub const EQUAL_AND_PARALLEL_TO: Rel = Rel::new('⋕', RelCategory::Default);
899pub const LESS_THAN_WITH_DOT: Rel = Rel::new('⋖', RelCategory::Default);
900pub const GREATER_THAN_WITH_DOT: Rel = Rel::new('⋗', RelCategory::Default);
901pub const VERY_MUCH_LESS_THAN: Rel = Rel::new('⋘', RelCategory::Default);
902pub const VERY_MUCH_GREATER_THAN: Rel = Rel::new('⋙', RelCategory::Default);
903pub const LESS_THAN_EQUAL_TO_OR_GREATER_THAN: Rel = Rel::new('⋚', RelCategory::Default);
904pub const GREATER_THAN_EQUAL_TO_OR_LESS_THAN: Rel = Rel::new('⋛', RelCategory::Default);
905pub const EQUAL_TO_OR_LESS_THAN: Rel = Rel::new('⋜', RelCategory::Default);
906pub const EQUAL_TO_OR_GREATER_THAN: Rel = Rel::new('⋝', RelCategory::Default);
907pub const EQUAL_TO_OR_PRECEDES: Rel = Rel::new('⋞', RelCategory::Default);
908pub const EQUAL_TO_OR_SUCCEEDS: Rel = Rel::new('⋟', RelCategory::Default);
909pub const DOES_NOT_PRECEDE_OR_EQUAL: Rel = Rel::new('⋠', RelCategory::Default);
910pub const DOES_NOT_SUCCEED_OR_EQUAL: Rel = Rel::new('⋡', RelCategory::Default);
911pub const NOT_SQUARE_IMAGE_OF_OR_EQUAL_TO: Rel = Rel::new('⋢', RelCategory::Default);
912pub const NOT_SQUARE_ORIGINAL_OF_OR_EQUAL_TO: Rel = Rel::new('⋣', RelCategory::Default);
913pub const SQUARE_IMAGE_OF_OR_NOT_EQUAL_TO: Rel = Rel::new('⋤', RelCategory::Default);
914pub const SQUARE_ORIGINAL_OF_OR_NOT_EQUAL_TO: Rel = Rel::new('⋥', RelCategory::Default);
915pub const LESS_THAN_BUT_NOT_EQUIVALENT_TO: Rel = Rel::new('⋦', RelCategory::Default);
916pub const GREATER_THAN_BUT_NOT_EQUIVALENT_TO: Rel = Rel::new('⋧', RelCategory::Default);
917pub const PRECEDES_BUT_NOT_EQUIVALENT_TO: Rel = Rel::new('⋨', RelCategory::Default);
918pub const SUCCEEDS_BUT_NOT_EQUIVALENT_TO: Rel = Rel::new('⋩', RelCategory::Default);
919pub const NOT_NORMAL_SUBGROUP_OF: Rel = Rel::new('⋪', RelCategory::Default);
920pub const DOES_NOT_CONTAIN_AS_NORMAL_SUBGROUP: Rel = Rel::new('⋫', RelCategory::Default);
921pub const NOT_NORMAL_SUBGROUP_OF_OR_EQUAL_TO: Rel = Rel::new('⋬', RelCategory::Default);
922pub const DOES_NOT_CONTAIN_AS_NORMAL_SUBGROUP_OR_EQUAL: Rel = Rel::new('⋭', RelCategory::Default);
923pub const VERTICAL_ELLIPSIS: Rel = Rel::new('⋮', RelCategory::Default);
924pub const MIDLINE_HORIZONTAL_ELLIPSIS: Rel = Rel::new('⋯', RelCategory::Default);
925pub const UP_RIGHT_DIAGONAL_ELLIPSIS: Rel = Rel::new('⋰', RelCategory::Default);
926pub const DOWN_RIGHT_DIAGONAL_ELLIPSIS: Rel = Rel::new('⋱', RelCategory::Default);
927pub const ELEMENT_OF_WITH_LONG_HORIZONTAL_STROKE: Rel = Rel::new('⋲', RelCategory::Default);
928pub const ELEMENT_OF_WITH_VERTICAL_BAR_AT_END_OF_HORIZONTAL_STROKE: Rel =
929 Rel::new('⋳', RelCategory::Default);
930pub const SMALL_ELEMENT_OF_WITH_VERTICAL_BAR_AT_END_OF_HORIZONTAL_STROKE: Rel =
931 Rel::new('⋴', RelCategory::Default);
932pub const ELEMENT_OF_WITH_DOT_ABOVE: Rel = Rel::new('⋵', RelCategory::Default);
933pub const ELEMENT_OF_WITH_OVERBAR: Rel = Rel::new('⋶', RelCategory::Default);
934pub const SMALL_ELEMENT_OF_WITH_OVERBAR: Rel = Rel::new('⋷', RelCategory::Default);
935pub const ELEMENT_OF_WITH_UNDERBAR: Rel = Rel::new('⋸', RelCategory::Default);
936pub const ELEMENT_OF_WITH_TWO_HORIZONTAL_STROKES: Rel = Rel::new('⋹', RelCategory::Default);
937pub const CONTAINS_WITH_LONG_HORIZONTAL_STROKE: Rel = Rel::new('⋺', RelCategory::Default);
938pub const CONTAINS_WITH_VERTICAL_BAR_AT_END_OF_HORIZONTAL_STROKE: Rel =
939 Rel::new('⋻', RelCategory::Default);
940pub const SMALL_CONTAINS_WITH_VERTICAL_BAR_AT_END_OF_HORIZONTAL_STROKE: Rel =
941 Rel::new('⋼', RelCategory::Default);
942pub const CONTAINS_WITH_OVERBAR: Rel = Rel::new('⋽', RelCategory::Default);
943pub const SMALL_CONTAINS_WITH_OVERBAR: Rel = Rel::new('⋾', RelCategory::Default);
944pub const Z_NOTATION_BAG_MEMBERSHIP: Rel = Rel::new('⋿', RelCategory::Default);
945
946pub const LEFT_CEILING: OrdLike = OrdLike::new('⌈', OrdCategory::F);
954pub const RIGHT_CEILING: OrdLike = OrdLike::new('⌉', OrdCategory::G);
955pub const LEFT_FLOOR: OrdLike = OrdLike::new('⌊', OrdCategory::F);
956pub const RIGHT_FLOOR: OrdLike = OrdLike::new('⌋', OrdCategory::G);
957pub const TOP_LEFT_CORNER: MathMLOperator = MathMLOperator::from_char('⌜');
958pub const TOP_RIGHT_CORNER: MathMLOperator = MathMLOperator::from_char('⌝');
959pub const BOTTOM_LEFT_CORNER: MathMLOperator = MathMLOperator::from_char('⌞');
960pub const BOTTOM_RIGHT_CORNER: MathMLOperator = MathMLOperator::from_char('⌟');
961pub const FROWN: OrdLike = OrdLike::new('⌢', OrdCategory::I);
962pub const SMILE: OrdLike = OrdLike::new('⌣', OrdCategory::I);
963
964pub const UPPER_LEFT_OR_LOWER_RIGHT_CURLY_BRACKET_SECTION: MathMLOperator =
967 MathMLOperator::from_char('⎰');
968pub const UPPER_RIGHT_OR_LOWER_LEFT_CURLY_BRACKET_SECTION: MathMLOperator =
969 MathMLOperator::from_char('⎱');
970pub const TOP_SQUARE_BRACKET: OrdLike = OrdLike::new('⎴', OrdCategory::I);
971pub const BOTTOM_SQUARE_BRACKET: OrdLike = OrdLike::new('⎵', OrdCategory::I);
972pub const TOP_PARENTHESIS: OrdLike = OrdLike::new('⏜', OrdCategory::I);
973pub const BOTTOM_PARENTHESIS: OrdLike = OrdLike::new('⏝', OrdCategory::I);
974pub const TOP_CURLY_BRACKET: OrdLike = OrdLike::new('⏞', OrdCategory::I);
975pub const BOTTOM_CURLY_BRACKET: OrdLike = OrdLike::new('⏟', OrdCategory::I);
976pub const TOP_TORTOISE_SHELL_BRACKET: OrdLike = OrdLike::new('⏠', OrdCategory::I);
977pub const BOTTOM_TORTOISE_SHELL_BRACKET: OrdLike = OrdLike::new('⏡', OrdCategory::I);
978
979pub const CIRCLED_LATIN_CAPITAL_LETTER_R: char = 'Ⓡ';
983pub const CIRCLED_LATIN_CAPITAL_LETTER_S: char = 'Ⓢ';
984
985pub const BLACK_SQUARE: char = '■';
989pub const WHITE_SQUARE: char = '□';
990
991pub const WHITE_UP_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('△');
993pub const BLACK_UP_POINTING_SMALL_TRIANGLE: char = '▴';
994pub const WHITE_UP_POINTING_SMALL_TRIANGLE: MathMLOperator = MathMLOperator::from_char('▵');
995pub const BLACK_RIGHT_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('▶');
996pub const WHITE_RIGHT_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('▷');
997
998pub const WHITE_DOWN_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('▽');
1000pub const BLACK_DOWN_POINTING_SMALL_TRIANGLE: char = '▾';
1001pub const WHITE_DOWN_POINTING_SMALL_TRIANGLE: MathMLOperator = MathMLOperator::from_char('▿');
1002
1003pub const BLACK_LEFT_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('◀');
1004pub const WHITE_LEFT_POINTING_TRIANGLE: MathMLOperator = MathMLOperator::from_char('◁');
1005
1006pub const LOZENGE: char = '◊';
1007pub const WHITE_CIRCLE: MathMLOperator = MathMLOperator::from_char('○');
1008
1009pub const WHITE_SQUARE_WITH_VERTICAL_BISECTING_LINE: MathMLOperator =
1010 MathMLOperator::from_char('◫');
1011pub const LARGE_CIRCLE: char = '◯';
1012
1013pub const WHITE_MEDIUM_SQUARE: char = '◻';
1014
1015pub const BLACK_STAR: char = '★';
1019
1020pub const ASCENDING_NODE: char = '☊';
1021
1022pub const BLACK_SPADE_SUIT: char = '♠';
1023pub const WHITE_HEART_SUIT: char = '♡';
1024pub const WHITE_DIAMOND_SUIT: char = '♢';
1025pub const BLACK_CLUB_SUIT: char = '♣';
1026pub const MUSIC_FLAT_SIGN: char = '♭';
1032pub const MUSIC_NATURAL_SIGN: char = '♮';
1033pub const MUSIC_SHARP_SIGN: char = '♯';
1034
1035pub const CHECK_MARK: char = '✓';
1039
1040pub const MALTESE_CROSS: char = '✠';
1041
1042pub const LIGHT_LEFT_TORTOISE_SHELL_BRACKET_ORNAMENT: OrdLike = OrdLike::new('❲', OrdCategory::F);
1043pub const LIGHT_RIGHT_TORTOISE_SHELL_BRACKET_ORNAMENT: OrdLike = OrdLike::new('❳', OrdCategory::G);
1044
1045pub const PERPENDICULAR: Rel = Rel::new('⟂', RelCategory::Default);
1049
1050pub const LEFT_S_SHAPED_BAG_DELIMITER: MathMLOperator = MathMLOperator::from_char('⟅');
1051pub const RIGHT_S_SHAPED_BAG_DELIMITER: MathMLOperator = MathMLOperator::from_char('⟆');
1052pub const OR_WITH_DOT_INSIDE: MathMLOperator = MathMLOperator::from_char('⟇');
1053
1054pub const MATHEMATICAL_RISING_DIAGONAL: Op = Op::new('⟋', OpCategory::C);
1055pub const MATHEMATICAL_FALLING_DIAGONAL: Op = Op::new('⟍', OpCategory::C);
1056
1057pub const REVERSE_SOLIDUS_PRECEDING_SUPERSET: Rel = Rel::new('⟈', RelCategory::Default);
1058pub const SUPERSET_PRECEDING_SOLIDUS: Rel = Rel::new('⟉', RelCategory::Default);
1059
1060pub const AND_WITH_DOT: MathMLOperator = MathMLOperator::from_char('⟑');
1061pub const ELEMENT_OF_OPENING_UPWARDS: Rel = Rel::new('⟒', RelCategory::Default);
1062
1063pub const LEFT_OUTER_JOIN: MathMLOperator = MathMLOperator::from_char('⟕');
1064pub const RIGHT_OUTER_JOIN: MathMLOperator = MathMLOperator::from_char('⟖');
1065pub const FULL_OUTER_JOIN: MathMLOperator = MathMLOperator::from_char('⟗');
1066
1067pub const LARGE_UP_TACK: MathMLOperator = MathMLOperator::from_char('⟘');
1068pub const LARGE_DOWN_TACK: MathMLOperator = MathMLOperator::from_char('⟙');
1069
1070pub const LEFT_AND_RIGHT_DOUBLE_TURNSTILE: Rel = Rel::new('⟚', RelCategory::Default);
1071pub const LEFT_AND_RIGHT_TACK: Rel = Rel::new('⟛', RelCategory::Default);
1072pub const LEFT_MULTIMAP: Rel = Rel::new('⟜', RelCategory::Default);
1073pub const LONG_RIGHT_TACK: Rel = Rel::new('⟝', RelCategory::Default);
1074pub const LONG_LEFT_TACK: Rel = Rel::new('⟞', RelCategory::Default);
1075pub const UP_TACK_WITH_CIRCLE_ABOVE: Rel = Rel::new('⟟', RelCategory::Default);
1076
1077pub const MATHEMATICAL_LEFT_WHITE_SQUARE_BRACKET: OrdLike = OrdLike::new('⟦', OrdCategory::F);
1078pub const MATHEMATICAL_RIGHT_WHITE_SQUARE_BRACKET: OrdLike = OrdLike::new('⟧', OrdCategory::G);
1079pub const MATHEMATICAL_LEFT_ANGLE_BRACKET: OrdLike = OrdLike::new('⟨', OrdCategory::F);
1080pub const MATHEMATICAL_RIGHT_ANGLE_BRACKET: OrdLike = OrdLike::new('⟩', OrdCategory::G);
1081pub const MATHEMATICAL_LEFT_DOUBLE_ANGLE_BRACKET: OrdLike = OrdLike::new('⟪', OrdCategory::F);
1082pub const MATHEMATICAL_RIGHT_DOUBLE_ANGLE_BRACKET: OrdLike = OrdLike::new('⟫', OrdCategory::G);
1083pub const MATHEMATICAL_LEFT_WHITE_TORTOISE_SHELL_BRACKET: OrdLike =
1084 OrdLike::new('⟬', OrdCategory::F);
1085pub const MATHEMATICAL_RIGHT_WHITE_TORTOISE_SHELL_BRACKET: OrdLike =
1086 OrdLike::new('⟭', OrdCategory::G);
1087pub const MATHEMATICAL_LEFT_FLATTENED_PARENTHESIS: OrdLike = OrdLike::new('⟮', OrdCategory::F);
1088pub const MATHEMATICAL_RIGHT_FLATTENED_PARENTHESIS: OrdLike = OrdLike::new('⟯', OrdCategory::G);
1089
1090pub const UPWARDS_QUADRUPLE_ARROW: Rel = Rel::new('⟰', RelCategory::A);
1094pub const DOWNWARDS_QUADRUPLE_ARROW: Rel = Rel::new('⟱', RelCategory::A);
1095
1096pub const RIGHT_ARROW_WITH_CIRCLED_PLUS: Rel = Rel::new('⟴', RelCategory::A);
1097pub const ANTICLOCKWISE_GAPPED_CIRCLE_ARROW: Rel = Rel::new('⟲', RelCategory::Default);
1098pub const CLOCKWISE_GAPPED_CIRCLE_ARROW: Rel = Rel::new('⟳', RelCategory::Default);
1099
1100pub const LONG_LEFTWARDS_ARROW: Rel = Rel::new('⟵', RelCategory::A);
1101pub const LONG_RIGHTWARDS_ARROW: Rel = Rel::new('⟶', RelCategory::A);
1102pub const LONG_LEFT_RIGHT_ARROW: Rel = Rel::new('⟷', RelCategory::A);
1103pub const LONG_LEFTWARDS_DOUBLE_ARROW: Rel = Rel::new('⟸', RelCategory::A);
1104pub const LONG_RIGHTWARDS_DOUBLE_ARROW: Rel = Rel::new('⟹', RelCategory::A);
1105pub const LONG_LEFT_RIGHT_DOUBLE_ARROW: Rel = Rel::new('⟺', RelCategory::A);
1106pub const LONG_LEFTWARDS_ARROW_FROM_BAR: Rel = Rel::new('⟻', RelCategory::A);
1107pub const LONG_RIGHTWARDS_ARROW_FROM_BAR: Rel = Rel::new('⟼', RelCategory::A);
1108pub const LONG_LEFTWARDS_DOUBLE_ARROW_FROM_BAR: Rel = Rel::new('⟽', RelCategory::A);
1109pub const LONG_RIGHTWARDS_DOUBLE_ARROW_FROM_BAR: Rel = Rel::new('⟾', RelCategory::A);
1110pub const LONG_RIGHTWARDS_SQUIGGLE_ARROW: Rel = Rel::new('⟿', RelCategory::A);
1111
1112pub const RIGHTWARDS_TWO_HEADED_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⤀', RelCategory::A);
1116pub const RIGHTWARDS_TWO_HEADED_ARROW_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1117 Rel::new('⤁', RelCategory::A);
1118pub const LEFTWARDS_DOUBLE_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⤂', RelCategory::A);
1119pub const RIGHTWARDS_DOUBLE_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⤃', RelCategory::A);
1120pub const LEFT_RIGHT_DOUBLE_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⤄', RelCategory::A);
1121pub const RIGHTWARDS_TWO_HEADED_ARROW_FROM_BAR: Rel = Rel::new('⤅', RelCategory::A);
1122pub const LEFTWARDS_DOUBLE_ARROW_FROM_BAR: Rel = Rel::new('⤆', RelCategory::A);
1123pub const RIGHTWARDS_DOUBLE_ARROW_FROM_BAR: Rel = Rel::new('⤇', RelCategory::A);
1124pub const DOWNWARDS_ARROW_WITH_HORIZONTAL_STROKE: Rel = Rel::new('⤈', RelCategory::A);
1125pub const UPWARDS_ARROW_WITH_HORIZONTAL_STROKE: Rel = Rel::new('⤉', RelCategory::A);
1126pub const UPWARDS_TRIPLE_ARROW: Rel = Rel::new('⤊', RelCategory::A);
1127pub const DOWNWARDS_TRIPLE_ARROW: Rel = Rel::new('⤋', RelCategory::A);
1128pub const LEFTWARDS_DOUBLE_DASH_ARROW: Rel = Rel::new('⤌', RelCategory::A);
1129pub const RIGHTWARDS_DOUBLE_DASH_ARROW: Rel = Rel::new('⤍', RelCategory::A);
1130pub const LEFTWARDS_TRIPLE_DASH_ARROW: Rel = Rel::new('⤎', RelCategory::A);
1131pub const RIGHTWARDS_TRIPLE_DASH_ARROW: Rel = Rel::new('⤏', RelCategory::A);
1132pub const RIGHTWARDS_TWO_HEADED_TRIPLE_DASH_ARROW: Rel = Rel::new('⤐', RelCategory::A);
1133pub const RIGHTWARDS_ARROW_WITH_DOTTED_STEM: Rel = Rel::new('⤑', RelCategory::A);
1134pub const UPWARDS_ARROW_TO_BAR: Rel = Rel::new('⤒', RelCategory::A);
1135pub const DOWNWARDS_ARROW_TO_BAR: Rel = Rel::new('⤓', RelCategory::A);
1136pub const RIGHTWARDS_ARROW_WITH_TAIL_WITH_VERTICAL_STROKE: Rel = Rel::new('⤔', RelCategory::A);
1137pub const RIGHTWARDS_ARROW_WITH_TAIL_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1138 Rel::new('⤕', RelCategory::A);
1139pub const RIGHTWARDS_TWO_HEADED_ARROW_WITH_TAIL: Rel = Rel::new('⤖', RelCategory::A);
1140pub const RIGHTWARDS_TWO_HEADED_ARROW_WITH_TAIL_WITH_VERTICAL_STROKE: Rel =
1141 Rel::new('⤗', RelCategory::A);
1142pub const RIGHTWARDS_TWO_HEADED_ARROW_WITH_TAIL_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1143 Rel::new('⤘', RelCategory::A);
1144
1145pub const LEFTWARDS_ARROW_TAIL: Rel = Rel::new('⤙', RelCategory::A);
1146pub const RIGHTWARDS_ARROW_TAIL: Rel = Rel::new('⤚', RelCategory::A);
1147pub const LEFTWARDS_DOUBLE_ARROW_TAIL: Rel = Rel::new('⤛', RelCategory::A);
1148pub const RIGHTWARDS_DOUBLE_ARROW_TAIL: Rel = Rel::new('⤜', RelCategory::A);
1149
1150pub const LEFTWARDS_ARROW_TO_BLACK_DIAMOND: Rel = Rel::new('⤝', RelCategory::A);
1151pub const RIGHTWARDS_ARROW_TO_BLACK_DIAMOND: Rel = Rel::new('⤞', RelCategory::A);
1152pub const LEFTWARDS_ARROW_FROM_BAR_TO_BLACK_DIAMOND: Rel = Rel::new('⤟', RelCategory::A);
1153pub const RIGHTWARDS_ARROW_FROM_BAR_TO_BLACK_DIAMOND: Rel = Rel::new('⤠', RelCategory::A);
1154pub const NORTH_WEST_AND_SOUTH_EAST_ARROW: Rel = Rel::new('⤡', RelCategory::Default);
1155pub const NORTH_EAST_AND_SOUTH_WEST_ARROW: Rel = Rel::new('⤢', RelCategory::Default);
1156pub const NORTH_WEST_ARROW_WITH_HOOK: Rel = Rel::new('⤣', RelCategory::Default);
1157pub const NORTH_EAST_ARROW_WITH_HOOK: Rel = Rel::new('⤤', RelCategory::Default);
1158pub const SOUTH_EAST_ARROW_WITH_HOOK: Rel = Rel::new('⤥', RelCategory::Default);
1159pub const SOUTH_WEST_ARROW_WITH_HOOK: Rel = Rel::new('⤦', RelCategory::Default);
1160
1161pub const NORTH_WEST_ARROW_AND_NORTH_EAST_ARROW: Rel = Rel::new('⤧', RelCategory::Default);
1162pub const NORTH_EAST_ARROW_AND_SOUTH_EAST_ARROW: Rel = Rel::new('⤨', RelCategory::Default);
1163pub const SOUTH_EAST_ARROW_AND_SOUTH_WEST_ARROW: Rel = Rel::new('⤩', RelCategory::Default);
1164pub const SOUTH_WEST_ARROW_AND_NORTH_WEST_ARROW: Rel = Rel::new('⤪', RelCategory::Default);
1165pub const RISING_DIAGONAL_CROSSING_FALLING_DIAGONAL: Rel = Rel::new('⤫', RelCategory::Default);
1166pub const FALLING_DIAGONAL_CROSSING_RISING_DIAGONAL: Rel = Rel::new('⤬', RelCategory::Default);
1167pub const SOUTH_EAST_ARROW_CROSSING_NORTH_EAST_ARROW: Rel = Rel::new('⤭', RelCategory::Default);
1168pub const NORTH_EAST_ARROW_CROSSING_SOUTH_EAST_ARROW: Rel = Rel::new('⤮', RelCategory::Default);
1169pub const FALLING_DIAGONAL_CROSSING_NORTH_EAST_ARROW: Rel = Rel::new('⤯', RelCategory::Default);
1170pub const RISING_DIAGONAL_CROSSING_SOUTH_EAST_ARROW: Rel = Rel::new('⤰', RelCategory::Default);
1171pub const NORTH_EAST_ARROW_CROSSING_NORTH_WEST_ARROW: Rel = Rel::new('⤱', RelCategory::Default);
1172pub const NORTH_WEST_ARROW_CROSSING_NORTH_EAST_ARROW: Rel = Rel::new('⤲', RelCategory::Default);
1173
1174pub const WAVE_ARROW_POINTING_DIRECTLY_RIGHT: Rel = Rel::new('⤳', RelCategory::Default);
1175pub const ARROW_POINTING_RIGHTWARDS_THEN_CURVING_UPWARDS: Rel = Rel::new('⤴', RelCategory::A);
1176pub const ARROW_POINTING_RIGHTWARDS_THEN_CURVING_DOWNWARDS: Rel = Rel::new('⤵', RelCategory::A);
1177pub const ARROW_POINTING_DOWNWARDS_THEN_CURVING_LEFTWARDS: Rel = Rel::new('⤶', RelCategory::A);
1178pub const ARROW_POINTING_DOWNWARDS_THEN_CURVING_RIGHTWARDS: Rel = Rel::new('⤷', RelCategory::A);
1179pub const RIGHT_SIDE_ARC_CLOCKWISE_ARROW: Rel = Rel::new('⤸', RelCategory::Default);
1180pub const LEFT_SIDE_ARC_ANTICLOCKWISE_ARROW: Rel = Rel::new('⤹', RelCategory::Default);
1181pub const TOP_ARC_ANTICLOCKWISE_ARROW: Rel = Rel::new('⤺', RelCategory::Default);
1182pub const BOTTOM_ARC_ANTICLOCKWISE_ARROW: Rel = Rel::new('⤻', RelCategory::Default);
1183pub const TOP_ARC_CLOCKWISE_ARROW_WITH_MINUS: Rel = Rel::new('⤼', RelCategory::Default);
1184pub const TOP_ARC_ANTICLOCKWISE_ARROW_WITH_PLUS: Rel = Rel::new('⤽', RelCategory::Default);
1185pub const LOWER_RIGHT_SEMICIRCULAR_CLOCKWISE_ARROW: Rel = Rel::new('⤾', RelCategory::Default);
1186pub const LOWER_LEFT_SEMICIRCULAR_ANTICLOCKWISE_ARROW: Rel = Rel::new('⤿', RelCategory::Default);
1187pub const ANTICLOCKWISE_CLOSED_CIRCLE_ARROW: Rel = Rel::new('⥀', RelCategory::Default);
1188pub const CLOCKWISE_CLOSED_CIRCLE_ARROW: Rel = Rel::new('⥁', RelCategory::Default);
1189
1190pub const RIGHTWARDS_ARROW_ABOVE_SHORT_LEFTWARDS_ARROW: Rel = Rel::new('⥂', RelCategory::A);
1191pub const LEFTWARDS_ARROW_ABOVE_SHORT_RIGHTWARDS_ARROW: Rel = Rel::new('⥃', RelCategory::A);
1192pub const SHORT_RIGHTWARDS_ARROW_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⥄', RelCategory::A);
1193pub const RIGHTWARDS_ARROW_WITH_PLUS_BELOW: Rel = Rel::new('⥅', RelCategory::A);
1194pub const LEFTWARDS_ARROW_WITH_PLUS_BELOW: Rel = Rel::new('⥆', RelCategory::A);
1195pub const RIGHTWARDS_ARROW_THROUGH_X: Rel = Rel::new('⥇', RelCategory::A);
1196pub const LEFT_RIGHT_ARROW_THROUGH_SMALL_CIRCLE: Rel = Rel::new('⥈', RelCategory::A);
1197pub const UPWARDS_TWO_HEADED_ARROW_FROM_SMALL_CIRCLE: Rel = Rel::new('⥉', RelCategory::A);
1198
1199pub const LEFT_BARB_UP_RIGHT_BARB_DOWN_HARPOON: Rel = Rel::new('⥊', RelCategory::A);
1200pub const LEFT_BARB_DOWN_RIGHT_BARB_UP_HARPOON: Rel = Rel::new('⥋', RelCategory::A);
1201pub const UP_BARB_RIGHT_DOWN_BARB_LEFT_HARPOON: Rel = Rel::new('⥌', RelCategory::A);
1202pub const UP_BARB_LEFT_DOWN_BARB_RIGHT_HARPOON: Rel = Rel::new('⥍', RelCategory::A);
1203pub const LEFT_BARB_UP_RIGHT_BARB_UP_HARPOON: Rel = Rel::new('⥎', RelCategory::A);
1204pub const UP_BARB_RIGHT_DOWN_BARB_RIGHT_HARPOON: Rel = Rel::new('⥏', RelCategory::A);
1205pub const LEFT_BARB_DOWN_RIGHT_BARB_DOWN_HARPOON: Rel = Rel::new('⥐', RelCategory::A);
1206pub const UP_BARB_LEFT_DOWN_BARB_LEFT_HARPOON: Rel = Rel::new('⥑', RelCategory::A);
1207
1208pub const LEFTWARDS_HARPOON_WITH_BARB_UP_TO_BAR: Rel = Rel::new('⥒', RelCategory::A);
1209pub const RIGHTWARDS_HARPOON_WITH_BARB_UP_TO_BAR: Rel = Rel::new('⥓', RelCategory::A);
1210pub const UPWARDS_HARPOON_WITH_BARB_RIGHT_TO_BAR: Rel = Rel::new('⥔', RelCategory::A);
1211pub const DOWNWARDS_HARPOON_WITH_BARB_RIGHT_TO_BAR: Rel = Rel::new('⥕', RelCategory::A);
1212pub const LEFTWARDS_HARPOON_WITH_BARB_DOWN_TO_BAR: Rel = Rel::new('⥖', RelCategory::A);
1213pub const RIGHTWARDS_HARPOON_WITH_BARB_DOWN_TO_BAR: Rel = Rel::new('⥗', RelCategory::A);
1214pub const UPWARDS_HARPOON_WITH_BARB_LEFT_TO_BAR: Rel = Rel::new('⥘', RelCategory::A);
1215pub const DOWNWARDS_HARPOON_WITH_BARB_LEFT_TO_BAR: Rel = Rel::new('⥙', RelCategory::A);
1216pub const LEFTWARDS_HARPOON_WITH_BARB_UP_FROM_BAR: Rel = Rel::new('⥚', RelCategory::A);
1217pub const RIGHTWARDS_HARPOON_WITH_BARB_UP_FROM_BAR: Rel = Rel::new('⥛', RelCategory::A);
1218pub const UPWARDS_HARPOON_WITH_BARB_RIGHT_FROM_BAR: Rel = Rel::new('⥜', RelCategory::A);
1219pub const DOWNWARDS_HARPOON_WITH_BARB_RIGHT_FROM_BAR: Rel = Rel::new('⥝', RelCategory::A);
1220pub const LEFTWARDS_HARPOON_WITH_BARB_DOWN_FROM_BAR: Rel = Rel::new('⥞', RelCategory::A);
1221pub const RIGHTWARDS_HARPOON_WITH_BARB_DOWN_FROM_BAR: Rel = Rel::new('⥟', RelCategory::A);
1222pub const UPWARDS_HARPOON_WITH_BARB_LEFT_FROM_BAR: Rel = Rel::new('⥠', RelCategory::A);
1223pub const DOWNWARDS_HARPOON_WITH_BARB_LEFT_FROM_BAR: Rel = Rel::new('⥡', RelCategory::A);
1224
1225pub const LEFTWARDS_HARPOON_WITH_BARB_UP_ABOVE_LEFTWARDS_HARPOON_WITH_BARB_DOWN: Rel =
1226 Rel::new('⥢', RelCategory::A);
1227pub const UPWARDS_HARPOON_WITH_BARB_LEFT_BESIDE_UPWARDS_HARPOON_WITH_BARB_RIGHT: Rel =
1228 Rel::new('⥣', RelCategory::A);
1229pub const RIGHTWARDS_HARPOON_WITH_BARB_UP_ABOVE_RIGHTWARDS_HARPOON_WITH_BARB_DOWN: Rel =
1230 Rel::new('⥤', RelCategory::A);
1231pub const DOWNWARDS_HARPOON_WITH_BARB_LEFT_BESIDE_DOWNWARDS_HARPOON_WITH_BARB_RIGHT: Rel =
1232 Rel::new('⥥', RelCategory::A);
1233pub const LEFTWARDS_HARPOON_WITH_BARB_UP_ABOVE_RIGHTWARDS_HARPOON_WITH_BARB_UP: Rel =
1234 Rel::new('⥦', RelCategory::A);
1235pub const LEFTWARDS_HARPOON_WITH_BARB_DOWN_ABOVE_RIGHTWARDS_HARPOON_WITH_BARB_DOWN: Rel =
1236 Rel::new('⥧', RelCategory::A);
1237pub const RIGHTWARDS_HARPOON_WITH_BARB_UP_ABOVE_LEFTWARDS_HARPOON_WITH_BARB_UP: Rel =
1238 Rel::new('⥨', RelCategory::A);
1239pub const RIGHTWARDS_HARPOON_WITH_BARB_DOWN_ABOVE_LEFTWARDS_HARPOON_WITH_BARB_DOWN: Rel =
1240 Rel::new('⥩', RelCategory::A);
1241pub const LEFTWARDS_HARPOON_WITH_BARB_UP_ABOVE_LONG_DASH: Rel = Rel::new('⥪', RelCategory::A);
1242pub const LEFTWARDS_HARPOON_WITH_BARB_DOWN_BELOW_LONG_DASH: Rel = Rel::new('⥫', RelCategory::A);
1243pub const RIGHTWARDS_HARPOON_WITH_BARB_UP_ABOVE_LONG_DASH: Rel = Rel::new('⥬', RelCategory::A);
1244pub const RIGHTWARDS_HARPOON_WITH_BARB_DOWN_BELOW_LONG_DASH: Rel = Rel::new('⥭', RelCategory::A);
1245pub const UPWARDS_HARPOON_WITH_BARB_LEFT_BESIDE_DOWNWARDS_HARPOON_WITH_BARB_RIGHT: Rel =
1246 Rel::new('⥮', RelCategory::A);
1247pub const DOWNWARDS_HARPOON_WITH_BARB_LEFT_BESIDE_UPWARDS_HARPOON_WITH_BARB_RIGHT: Rel =
1248 Rel::new('⥯', RelCategory::A);
1249
1250pub const RIGHT_DOUBLE_ARROW_WITH_ROUNDED_HEAD: Rel = Rel::new('⥰', RelCategory::A);
1251
1252pub const EQUALS_SIGN_ABOVE_RIGHTWARDS_ARROW: Rel = Rel::new('⥱', RelCategory::A);
1253pub const TILDE_OPERATOR_ABOVE_RIGHTWARDS_ARROW: Rel = Rel::new('⥲', RelCategory::A);
1254pub const LEFTWARDS_ARROW_ABOVE_TILDE_OPERATOR: Rel = Rel::new('⥳', RelCategory::A);
1255pub const RIGHTWARDS_ARROW_ABOVE_TILDE_OPERATOR: Rel = Rel::new('⥴', RelCategory::A);
1256pub const RIGHTWARDS_ARROW_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⥵', RelCategory::A);
1257pub const LESS_THAN_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⥶', RelCategory::Default);
1258pub const LEFTWARDS_ARROW_THROUGH_LESS_THAN: Rel = Rel::new('⥷', RelCategory::Default);
1259pub const GREATER_THAN_ABOVE_RIGHTWARDS_ARROW: Rel = Rel::new('⥸', RelCategory::Default);
1260pub const SUBSET_ABOVE_RIGHTWARDS_ARROW: Rel = Rel::new('⥹', RelCategory::Default);
1261pub const LEFTWARDS_ARROW_THROUGH_SUBSET: Rel = Rel::new('⥺', RelCategory::Default);
1262pub const SUPERSET_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⥻', RelCategory::Default);
1263
1264pub const LEFT_FISH_TAIL: Rel = Rel::new('⥼', RelCategory::A);
1265pub const RIGHT_FISH_TAIL: Rel = Rel::new('⥽', RelCategory::A);
1266pub const UP_FISH_TAIL: Rel = Rel::new('⥾', RelCategory::A);
1267pub const DOWN_FISH_TAIL: Rel = Rel::new('⥿', RelCategory::A);
1268
1269pub const TRIPLE_VERTICAL_BAR_DELIMITER: OrdLike = OrdLike::new('⦀', OrdCategory::FG);
1273pub const Z_NOTATION_TYPE_COLON: Rel = Rel::new('⦂', RelCategory::Default);
1274
1275pub const LEFT_WHITE_CURLY_BRACKET: OrdLike = OrdLike::new('⦃', OrdCategory::F);
1276pub const RIGHT_WHITE_CURLY_BRACKET: OrdLike = OrdLike::new('⦄', OrdCategory::G);
1277pub const LEFT_WHITE_PARENTHESIS: OrdLike = OrdLike::new('⦅', OrdCategory::F);
1278pub const RIGHT_WHITE_PARENTHESIS: OrdLike = OrdLike::new('⦆', OrdCategory::G);
1279pub const Z_NOTATION_LEFT_IMAGE_BRACKET: OrdLike = OrdLike::new('⦇', OrdCategory::F);
1280pub const Z_NOTATION_RIGHT_IMAGE_BRACKET: OrdLike = OrdLike::new('⦈', OrdCategory::G);
1281pub const Z_NOTATION_LEFT_BINDING_BRACKET: OrdLike = OrdLike::new('⦉', OrdCategory::F);
1282pub const Z_NOTATION_RIGHT_BINDING_BRACKET: OrdLike = OrdLike::new('⦊', OrdCategory::G);
1283pub const LEFT_SQUARE_BRACKET_WITH_UNDERBAR: OrdLike = OrdLike::new('⦋', OrdCategory::F);
1284pub const RIGHT_SQUARE_BRACKET_WITH_UNDERBAR: OrdLike = OrdLike::new('⦌', OrdCategory::G);
1285
1286pub const LEFT_SQUARE_BRACKET_WITH_TICK_IN_TOP_CORNER: OrdLike = OrdLike::new('⦍', OrdCategory::F);
1287pub const RIGHT_SQUARE_BRACKET_WITH_TICK_IN_BOTTOM_CORNER: OrdLike =
1288 OrdLike::new('⦎', OrdCategory::G);
1289pub const LEFT_SQUARE_BRACKET_WITH_TICK_IN_BOTTOM_CORNER: OrdLike =
1290 OrdLike::new('⦏', OrdCategory::F);
1291pub const RIGHT_SQUARE_BRACKET_WITH_TICK_IN_TOP_CORNER: OrdLike = OrdLike::new('⦐', OrdCategory::G);
1292
1293pub const LEFT_ANGLE_BRACKET_WITH_DOT: OrdLike = OrdLike::new('⦑', OrdCategory::F);
1294pub const RIGHT_ANGLE_BRACKET_WITH_DOT: OrdLike = OrdLike::new('⦒', OrdCategory::G);
1295pub const LEFT_ARC_LESS_THAN_BRACKET: OrdLike = OrdLike::new('⦓', OrdCategory::F);
1296pub const RIGHT_ARC_GREATER_THAN_BRACKET: OrdLike = OrdLike::new('⦔', OrdCategory::G);
1297pub const DOUBLE_LEFT_ARC_GREATER_THAN_BRACKET: OrdLike = OrdLike::new('⦕', OrdCategory::F);
1298pub const DOUBLE_RIGHT_ARC_LESS_THAN_BRACKET: OrdLike = OrdLike::new('⦖', OrdCategory::G);
1299pub const LEFT_BLACK_TORTOISE_SHELL_BRACKET: OrdLike = OrdLike::new('⦗', OrdCategory::F);
1300pub const RIGHT_BLACK_TORTOISE_SHELL_BRACKET: OrdLike = OrdLike::new('⦘', OrdCategory::G);
1301
1302pub const CIRCLE_WITH_HORIZONTAL_BAR: MathMLOperator = MathMLOperator::from_char('⦵');
1303pub const CIRCLED_VERTICAL_BAR: Rel = Rel::new('⦶', RelCategory::Default);
1304pub const CIRCLED_PARALLEL: Rel = Rel::new('⦷', RelCategory::Default);
1305pub const CIRCLED_REVERSE_SOLIDUS: Bin = Bin::new('⦸', BinCategory::B);
1306pub const CIRCLED_PERPENDICULAR: Rel = Rel::new('⦹', RelCategory::Default);
1307
1308pub const CIRCLED_LESS_THAN: Rel = Rel::new('⧀', RelCategory::Default);
1309pub const CIRCLED_GREATER_THAN: Rel = Rel::new('⧁', RelCategory::Default);
1310
1311pub const SQUARED_RISING_DIAGONAL_SLASH: Bin = Bin::new('⧄', BinCategory::B);
1312pub const SQUARED_FALLING_DIAGONAL_SLASH: Bin = Bin::new('⧅', BinCategory::B);
1313pub const SQUARED_ASTERISK: Op = Op::new('⧆', OpCategory::C);
1314pub const SQUARED_SMALL_CIRCLE: Op = Op::new('⧇', OpCategory::C);
1315pub const SQUARED_SQUARE: Op = Op::new('⧈', OpCategory::C);
1316
1317pub const LEFT_WIGGLY_FENCE: OrdLike = OrdLike::new('⧘', OrdCategory::F);
1318pub const RIGHT_WIGGLY_FENCE: OrdLike = OrdLike::new('⧙', OrdCategory::G);
1319pub const LEFT_DOUBLE_WIGGLY_FENCE: OrdLike = OrdLike::new('⧚', OrdCategory::F);
1320pub const RIGHT_DOUBLE_WIGGLY_FENCE: OrdLike = OrdLike::new('⧛', OrdCategory::G);
1321
1322pub const RIGHT_TRIANGLE_ABOVE_LEFT_TRIANGLE: Rel = Rel::new('⧎', RelCategory::Default);
1323pub const LEFT_TRIANGLE_BESIDE_VERTICAL_BAR: Rel = Rel::new('⧏', RelCategory::Default);
1324pub const VERTICAL_BAR_BESIDE_RIGHT_TRIANGLE: Rel = Rel::new('⧐', RelCategory::Default);
1325
1326pub const BOWTIE_WITH_LEFT_HALF_BLACK: Rel = Rel::new('⧑', RelCategory::Default);
1327pub const BOWTIE_WITH_RIGHT_HALF_BLACK: Rel = Rel::new('⧒', RelCategory::Default);
1328pub const BLACK_BOWTIE: Rel = Rel::new('⧓', RelCategory::Default);
1329pub const TIMES_WITH_LEFT_HALF_BLACK: Op = Op::new('⧔', OpCategory::C);
1330pub const TIMES_WITH_RIGHT_HALF_BLACK: Op = Op::new('⧕', OpCategory::C);
1331
1332pub const DOUBLE_ENDED_MULTIMAP: Rel = Rel::new('⧟', RelCategory::Default);
1333pub const SQUARE_WITH_CONTOURED_OUTLINE: Rel = Rel::new('⧠', RelCategory::Default);
1334pub const INCREASES_AS: Rel = Rel::new('⧡', RelCategory::Default);
1335pub const SHUFFLE_PRODUCT: Op = Op::new('⧢', OpCategory::C);
1336
1337pub const EQUALS_SIGN_AND_SLANTED_PARALLEL: Rel = Rel::new('⧣', RelCategory::Default);
1338pub const EQUALS_SIGN_AND_SLANTED_PARALLEL_WITH_TILDE_ABOVE: Rel =
1339 Rel::new('⧤', RelCategory::Default);
1340pub const IDENTICAL_TO_AND_SLANTED_PARALLEL: Rel = Rel::new('⧥', RelCategory::Default);
1341pub const GLEICH_STARK: Rel = Rel::new('⧦', RelCategory::Default);
1342
1343pub const BLACK_LOZENGE: char = '⧫';
1344
1345pub const RULE_DELAYED: Rel = Rel::new('⧴', RelCategory::Default);
1346pub const REVERSE_SOLIDUS_OPERATOR: Bin = Bin::new('⧵', BinCategory::B);
1347pub const SOLIDUS_WITH_OVERBAR: Bin = Bin::new('⧶', BinCategory::B);
1348pub const REVERSE_SOLIDUS_WITH_HORIZONTAL_STROKE: Bin = Bin::new('⧷', BinCategory::B);
1349
1350pub const BIG_SOLIDUS: Bin = Bin::new('⧸', BinCategory::B);
1351pub const BIG_REVERSE_SOLIDUS: Bin = Bin::new('⧹', BinCategory::B);
1352
1353pub const DOUBLE_PLUS: Bin = Bin::new('⧺', BinCategory::B);
1354pub const TRIPLE_PLUS: Bin = Bin::new('⧻', BinCategory::B);
1355
1356pub const LEFT_POINTING_CURVED_ANGLE_BRACKET: OrdLike = OrdLike::new('⧼', OrdCategory::F);
1357pub const RIGHT_POINTING_CURVED_ANGLE_BRACKET: OrdLike = OrdLike::new('⧽', OrdCategory::G);
1358
1359pub const N_ARY_CIRCLED_DOT_OPERATOR: Op = Op::new('⨀', OpCategory::J);
1363pub const N_ARY_CIRCLED_PLUS_OPERATOR: Op = Op::new('⨁', OpCategory::J);
1364pub const N_ARY_CIRCLED_TIMES_OPERATOR: Op = Op::new('⨂', OpCategory::J);
1365pub const N_ARY_UNION_OPERATOR_WITH_DOT: Op = Op::new('⨃', OpCategory::J);
1366pub const N_ARY_UNION_OPERATOR_WITH_PLUS: Op = Op::new('⨄', OpCategory::J);
1367pub const N_ARY_SQUARE_INTERSECTION_OPERATOR: Op = Op::new('⨅', OpCategory::J);
1368pub const N_ARY_SQUARE_UNION_OPERATOR: Op = Op::new('⨆', OpCategory::J);
1369pub const TWO_LOGICAL_AND_OPERATOR: Op = Op::new('⨇', OpCategory::J);
1370pub const TWO_LOGICAL_OR_OPERATOR: Op = Op::new('⨈', OpCategory::J);
1371pub const N_ARY_TIMES_OPERATOR: Op = Op::new('⨉', OpCategory::J);
1372
1373pub const MODULO_TWO_SUM: Op = Op::new('⨊', OpCategory::J);
1374pub const SUMMATION_WITH_INTEGRAL: Op = Op::new('⨋', OpCategory::H);
1375pub const QUADRUPLE_INTEGRAL_OPERATOR: Op = Op::new('⨌', OpCategory::H);
1376pub const FINITE_PART_INTEGRAL: Op = Op::new('⨍', OpCategory::H);
1377pub const INTEGRAL_WITH_DOUBLE_STROKE: Op = Op::new('⨎', OpCategory::H);
1378pub const INTEGRAL_AVERAGE_WITH_SLASH: Op = Op::new('⨏', OpCategory::H);
1379pub const CIRCULATION_FUNCTION: Op = Op::new('⨐', OpCategory::H);
1380pub const ANTICLOCKWISE_INTEGRATION: Op = Op::new('⨑', OpCategory::H);
1381pub const LINE_INTEGRATION_WITH_RECTANGULAR_PATH_AROUND_POLE: Op = Op::new('⨒', OpCategory::H);
1382pub const LINE_INTEGRATION_WITH_SEMICIRCULAR_PATH_AROUND_POLE: Op = Op::new('⨓', OpCategory::H);
1383pub const LINE_INTEGRATION_NOT_INCLUDING_THE_POLE: Op = Op::new('⨔', OpCategory::H);
1384pub const INTEGRAL_AROUND_A_POINT_OPERATOR: Op = Op::new('⨕', OpCategory::H);
1385pub const QUATERNION_INTEGRAL_OPERATOR: Op = Op::new('⨖', OpCategory::H);
1386pub const INTEGRAL_WITH_LEFTWARDS_ARROW_WITH_HOOK: Op = Op::new('⨗', OpCategory::H);
1387pub const INTEGRAL_WITH_TIMES_SIGN: Op = Op::new('⨘', OpCategory::H);
1388pub const INTEGRAL_WITH_INTERSECTION: Op = Op::new('⨙', OpCategory::H);
1389pub const INTEGRAL_WITH_UNION: Op = Op::new('⨚', OpCategory::H);
1390pub const INTEGRAL_WITH_OVERBAR: Op = Op::new('⨛', OpCategory::H);
1391pub const INTEGRAL_WITH_UNDERBAR: Op = Op::new('⨜', OpCategory::H);
1392pub const JOIN: Op = Op::new('⨝', OpCategory::CJ);
1393pub const LARGE_LEFT_TRIANGLE_OPERATOR: Op = Op::new('⨞', OpCategory::CJ);
1394pub const Z_NOTATION_SCHEMA_COMPOSITION: Bin = Bin::new('⨟', BinCategory::B);
1395pub const Z_NOTATION_SCHEMA_PIPING: Bin = Bin::new('⨠', BinCategory::B);
1396pub const Z_NOTATION_SCHEMA_PROJECTION: Bin = Bin::new('⨡', BinCategory::B);
1397
1398pub const PLUS_SIGN_WITH_SMALL_CIRCLE_ABOVE: Bin = Bin::new('⨢', BinCategory::B);
1399pub const PLUS_SIGN_WITH_CIRCUMFLEX_ACCENT_ABOVE: Bin = Bin::new('⨣', BinCategory::B);
1400pub const PLUS_SIGN_WITH_TILDE_ABOVE: Bin = Bin::new('⨤', BinCategory::B);
1401pub const PLUS_SIGN_WITH_DOT_BELOW: Bin = Bin::new('⨥', BinCategory::B);
1402pub const PLUS_SIGN_WITH_TILDE_BELOW: Bin = Bin::new('⨦', BinCategory::B);
1403pub const PLUS_SIGN_WITH_SUBSCRIPT_TWO: Bin = Bin::new('⨧', BinCategory::B);
1404pub const PLUS_SIGN_WITH_BLACK_TRIANGLE: Bin = Bin::new('⨨', BinCategory::B);
1405pub const MINUS_SIGN_WITH_COMMA_ABOVE: Bin = Bin::new('⨩', BinCategory::B);
1406pub const MINUS_SIGN_WITH_DOT_BELOW: Bin = Bin::new('⨪', BinCategory::B);
1407pub const MINUS_SIGN_WITH_FALLING_DOTS: Bin = Bin::new('⨫', BinCategory::B);
1408pub const MINUS_SIGN_WITH_RISING_DOTS: Bin = Bin::new('⨬', BinCategory::B);
1409pub const PLUS_SIGN_IN_LEFT_HALF_CIRCLE: Bin = Bin::new('⨭', BinCategory::B);
1410pub const PLUS_SIGN_IN_RIGHT_HALF_CIRCLE: Bin = Bin::new('⨮', BinCategory::B);
1411
1412pub const VECTOR_OR_CROSS_PRODUCT: Op = Op::new('⨯', OpCategory::C);
1413pub const MULTIPLICATION_SIGN_WITH_DOT_ABOVE: Op = Op::new('⨰', OpCategory::C);
1414pub const MULTIPLICATION_SIGN_WITH_UNDERBAR: Op = Op::new('⨱', OpCategory::C);
1415pub const SEMIDIRECT_PRODUCT_WITH_BOTTOM_CLOSED: Op = Op::new('⨲', OpCategory::C);
1416pub const SMASH_PRODUCT: Op = Op::new('⨳', OpCategory::C);
1417pub const MULTIPLICATION_SIGN_IN_LEFT_HALF_CIRCLE: Op = Op::new('⨴', OpCategory::C);
1418pub const MULTIPLICATION_SIGN_IN_RIGHT_HALF_CIRCLE: Op = Op::new('⨵', OpCategory::C);
1419pub const CIRCLED_MULTIPLICATION_SIGN_WITH_CIRCUMFLEX_ACCENT: Op = Op::new('⨶', OpCategory::C);
1420pub const MULTIPLICATION_SIGN_IN_DOUBLE_CIRCLE: Op = Op::new('⨷', OpCategory::C);
1421pub const CIRCLED_DIVISION_SIGN: Bin = Bin::new('⨸', BinCategory::B);
1422
1423pub const PLUS_SIGN_IN_TRIANGLE: Bin = Bin::new('⨹', BinCategory::B);
1424pub const MINUS_SIGN_IN_TRIANGLE: Bin = Bin::new('⨺', BinCategory::B);
1425pub const MULTIPLICATION_SIGN_IN_TRIANGLE: Op = Op::new('⨻', OpCategory::C);
1426pub const INTERIOR_PRODUCT: Op = Op::new('⨼', OpCategory::C);
1427pub const RIGHTHAND_INTERIOR_PRODUCT: Op = Op::new('⨽', OpCategory::C);
1428pub const Z_NOTATION_RELATIONAL_COMPOSITION: Bin = Bin::new('⨾', BinCategory::B);
1429pub const AMALGAMATION_OR_COPRODUCT: Op = Op::new('⨿', OpCategory::C);
1430pub const INTERSECTION_WITH_DOT: Bin = Bin::new('⩀', BinCategory::B);
1431pub const UNION_WITH_MINUS_SIGN: Bin = Bin::new('⩁', BinCategory::B);
1432pub const UNION_WITH_OVERBAR: Bin = Bin::new('⩂', BinCategory::B);
1433pub const INTERSECTION_WITH_OVERBAR: Bin = Bin::new('⩃', BinCategory::B);
1434pub const INTERSECTION_WITH_LOGICAL_AND: Bin = Bin::new('⩄', BinCategory::B);
1435pub const UNION_WITH_LOGICAL_OR: Bin = Bin::new('⩅', BinCategory::B);
1436pub const UNION_ABOVE_INTERSECTION: Bin = Bin::new('⩆', BinCategory::B);
1437pub const INTERSECTION_ABOVE_UNION: Bin = Bin::new('⩇', BinCategory::B);
1438pub const UNION_ABOVE_BAR_ABOVE_INTERSECTION: Bin = Bin::new('⩈', BinCategory::B);
1439pub const INTERSECTION_ABOVE_BAR_ABOVE_UNION: Bin = Bin::new('⩉', BinCategory::B);
1440pub const UNION_BESIDE_AND_JOINED_WITH_UNION: Bin = Bin::new('⩊', BinCategory::B);
1441pub const INTERSECTION_BESIDE_AND_JOINED_WITH_INTERSECTION: Bin = Bin::new('⩋', BinCategory::B);
1442pub const CLOSED_UNION_WITH_SERIFS: Bin = Bin::new('⩌', BinCategory::B);
1443pub const CLOSED_INTERSECTION_WITH_SERIFS: Bin = Bin::new('⩍', BinCategory::B);
1444pub const DOUBLE_SQUARE_INTERSECTION: Bin = Bin::new('⩎', BinCategory::B);
1445pub const DOUBLE_SQUARE_UNION: Bin = Bin::new('⩏', BinCategory::B);
1446pub const CLOSED_UNION_WITH_SERIFS_AND_SMASH_PRODUCT: Op = Op::new('⩐', OpCategory::C);
1447pub const LOGICAL_AND_WITH_DOT_ABOVE: Bin = Bin::new('⩑', BinCategory::B);
1448pub const LOGICAL_OR_WITH_DOT_ABOVE: Bin = Bin::new('⩒', BinCategory::B);
1449pub const DOUBLE_LOGICAL_AND: Bin = Bin::new('⩓', BinCategory::B);
1450pub const DOUBLE_LOGICAL_OR: Bin = Bin::new('⩔', BinCategory::B);
1451pub const TWO_INTERSECTING_LOGICAL_AND: Bin = Bin::new('⩕', BinCategory::B);
1452pub const TWO_INTERSECTING_LOGICAL_OR: Bin = Bin::new('⩖', BinCategory::B);
1453pub const SLOPING_LARGE_OR: Bin = Bin::new('⩗', BinCategory::B);
1454pub const SLOPING_LARGE_AND: Bin = Bin::new('⩘', BinCategory::B);
1455pub const LOGICAL_OR_OVERLAPPING_LOGICAL_AND: Bin = Bin::new('⩙', BinCategory::B);
1456pub const LOGICAL_AND_WITH_MIDDLE_STEM: Bin = Bin::new('⩚', BinCategory::B);
1457pub const LOGICAL_OR_WITH_MIDDLE_STEM: Bin = Bin::new('⩛', BinCategory::B);
1458pub const LOGICAL_AND_WITH_HORIZONTAL_DASH: Bin = Bin::new('⩜', BinCategory::B);
1459pub const LOGICAL_OR_WITH_HORIZONTAL_DASH: Bin = Bin::new('⩝', BinCategory::B);
1460pub const LOGICAL_AND_WITH_DOUBLE_OVERBAR: Bin = Bin::new('⩞', BinCategory::B);
1461pub const LOGICAL_AND_WITH_UNDERBAR: Bin = Bin::new('⩟', BinCategory::B);
1462pub const LOGICAL_AND_WITH_DOUBLE_UNDERBAR: Bin = Bin::new('⩠', BinCategory::B);
1463pub const SMALL_VEE_WITH_UNDERBAR: Bin = Bin::new('⩡', BinCategory::B);
1464pub const LOGICAL_OR_WITH_DOUBLE_OVERBAR: Bin = Bin::new('⩢', BinCategory::B);
1465pub const LOGICAL_OR_WITH_DOUBLE_UNDERBAR: Bin = Bin::new('⩣', BinCategory::B);
1466
1467pub const Z_NOTATION_DOMAIN_ANTIRESTRICTION: Op = Op::new('⩤', OpCategory::C);
1468pub const Z_NOTATION_RANGE_ANTIRESTRICTION: Op = Op::new('⩥', OpCategory::C);
1469
1470pub const EQUALS_SIGN_WITH_DOT_BELOW: Rel = Rel::new('⩦', RelCategory::Default);
1471pub const IDENTICAL_WITH_DOT_ABOVE: Rel = Rel::new('⩧', RelCategory::Default);
1472pub const TRIPLE_HORIZONTAL_BAR_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1473 Rel::new('⩨', RelCategory::Default);
1474pub const TRIPLE_HORIZONTAL_BAR_WITH_TRIPLE_VERTICAL_STROKE: Rel =
1475 Rel::new('⩩', RelCategory::Default);
1476pub const TILDE_OPERATOR_WITH_DOT_ABOVE: Rel = Rel::new('⩪', RelCategory::Default);
1477pub const TILDE_OPERATOR_WITH_RISING_DOTS: Rel = Rel::new('⩫', RelCategory::Default);
1478pub const SIMILAR_MINUS_SIMILAR: Rel = Rel::new('⩬', RelCategory::Default);
1479pub const CONGRUENT_WITH_DOT_ABOVE: Rel = Rel::new('⩭', RelCategory::Default);
1480pub const EQUALS_WITH_ASTERISK: Rel = Rel::new('⩮', RelCategory::Default);
1481pub const ALMOST_EQUAL_TO_WITH_CIRCUMFLEX_ACCENT: Rel = Rel::new('⩯', RelCategory::Default);
1482pub const APPROXIMATELY_EQUAL_OR_EQUAL_TO: Rel = Rel::new('⩰', RelCategory::Default);
1483pub const EQUALS_SIGN_ABOVE_PLUS_SIGN: Rel = Rel::new('⩱', RelCategory::Default);
1484pub const PLUS_SIGN_ABOVE_EQUALS_SIGN: Rel = Rel::new('⩲', RelCategory::Default);
1485pub const EQUALS_SIGN_ABOVE_TILDE_OPERATOR: Rel = Rel::new('⩳', RelCategory::Default);
1486pub const DOUBLE_COLON_EQUAL: Rel = Rel::new('⩴', RelCategory::Default);
1487pub const TWO_CONSECUTIVE_EQUALS_SIGNS: Rel = Rel::new('⩵', RelCategory::Default);
1488pub const THREE_CONSECUTIVE_EQUALS_SIGNS: Rel = Rel::new('⩶', RelCategory::Default);
1489pub const EQUALS_SIGN_WITH_TWO_DOTS_ABOVE_AND_TWO_DOTS_BELOW: Rel =
1490 Rel::new('⩷', RelCategory::Default);
1491pub const EQUIVALENT_WITH_FOUR_DOTS_ABOVE: Rel = Rel::new('⩸', RelCategory::Default);
1492pub const LESS_THAN_WITH_CIRCLE_INSIDE: Rel = Rel::new('⩹', RelCategory::Default);
1493pub const GREATER_THAN_WITH_CIRCLE_INSIDE: Rel = Rel::new('⩺', RelCategory::Default);
1494pub const LESS_THAN_WITH_QUESTION_MARK_ABOVE: Rel = Rel::new('⩻', RelCategory::Default);
1495pub const GREATER_THAN_WITH_QUESTION_MARK_ABOVE: Rel = Rel::new('⩼', RelCategory::Default);
1496pub const LESS_THAN_OR_SLANTED_EQUAL_TO: Rel = Rel::new('⩽', RelCategory::Default);
1497pub const GREATER_THAN_OR_SLANTED_EQUAL_TO: Rel = Rel::new('⩾', RelCategory::Default);
1498pub const LESS_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_INSIDE: Rel = Rel::new('⩿', RelCategory::Default);
1499pub const GREATER_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_INSIDE: Rel =
1500 Rel::new('⪀', RelCategory::Default);
1501pub const LESS_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_ABOVE: Rel = Rel::new('⪁', RelCategory::Default);
1502pub const GREATER_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_ABOVE: Rel =
1503 Rel::new('⪂', RelCategory::Default);
1504pub const LESS_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_ABOVE_RIGHT: Rel =
1505 Rel::new('⪃', RelCategory::Default);
1506pub const GREATER_THAN_OR_SLANTED_EQUAL_TO_WITH_DOT_ABOVE_LEFT: Rel =
1507 Rel::new('⪄', RelCategory::Default);
1508pub const LESS_THAN_OR_APPROXIMATE: Rel = Rel::new('⪅', RelCategory::Default);
1509pub const GREATER_THAN_OR_APPROXIMATE: Rel = Rel::new('⪆', RelCategory::Default);
1510pub const LESS_THAN_AND_SINGLE_LINE_NOT_EQUAL_TO: Rel = Rel::new('⪇', RelCategory::Default);
1511pub const GREATER_THAN_AND_SINGLE_LINE_NOT_EQUAL_TO: Rel = Rel::new('⪈', RelCategory::Default);
1512pub const LESS_THAN_AND_NOT_APPROXIMATE: Rel = Rel::new('⪉', RelCategory::Default);
1513pub const GREATER_THAN_AND_NOT_APPROXIMATE: Rel = Rel::new('⪊', RelCategory::Default);
1514pub const LESS_THAN_ABOVE_DOUBLE_LINE_EQUAL_ABOVE_GREATER_THAN: Rel =
1515 Rel::new('⪋', RelCategory::Default);
1516pub const GREATER_THAN_ABOVE_DOUBLE_LINE_EQUAL_ABOVE_LESS_THAN: Rel =
1517 Rel::new('⪌', RelCategory::Default);
1518pub const LESS_THAN_ABOVE_SIMILAR_OR_EQUAL: Rel = Rel::new('⪍', RelCategory::Default);
1519pub const GREATER_THAN_ABOVE_SIMILAR_OR_EQUAL: Rel = Rel::new('⪎', RelCategory::Default);
1520pub const LESS_THAN_ABOVE_SIMILAR_ABOVE_GREATER_THAN: Rel = Rel::new('⪏', RelCategory::Default);
1521pub const GREATER_THAN_ABOVE_SIMILAR_ABOVE_LESS_THAN: Rel = Rel::new('⪐', RelCategory::Default);
1522pub const LESS_THAN_ABOVE_GREATER_THAN_ABOVE_DOUBLE_LINE_EQUAL: Rel =
1523 Rel::new('⪑', RelCategory::Default);
1524pub const GREATER_THAN_ABOVE_LESS_THAN_ABOVE_DOUBLE_LINE_EQUAL: Rel =
1525 Rel::new('⪒', RelCategory::Default);
1526pub const LESS_THAN_ABOVE_SLANTED_EQUAL_ABOVE_GREATER_THAN_ABOVE_SLANTED_EQUAL: Rel =
1527 Rel::new('⪓', RelCategory::Default);
1528pub const GREATER_THAN_ABOVE_SLANTED_EQUAL_ABOVE_LESS_THAN_ABOVE_SLANTED_EQUAL: Rel =
1529 Rel::new('⪔', RelCategory::Default);
1530pub const SLANTED_EQUAL_TO_OR_LESS_THAN: Rel = Rel::new('⪕', RelCategory::Default);
1531pub const SLANTED_EQUAL_TO_OR_GREATER_THAN: Rel = Rel::new('⪖', RelCategory::Default);
1532pub const SLANTED_EQUAL_TO_OR_LESS_THAN_WITH_DOT_INSIDE: Rel = Rel::new('⪗', RelCategory::Default);
1533pub const SLANTED_EQUAL_TO_OR_GREATER_THAN_WITH_DOT_INSIDE: Rel =
1534 Rel::new('⪘', RelCategory::Default);
1535pub const DOUBLE_LINE_EQUAL_TO_OR_LESS_THAN: Rel = Rel::new('⪙', RelCategory::Default);
1536pub const DOUBLE_LINE_EQUAL_TO_OR_GREATER_THAN: Rel = Rel::new('⪚', RelCategory::Default);
1537pub const DOUBLE_LINE_SLANTED_EQUAL_TO_OR_LESS_THAN: Rel = Rel::new('⪛', RelCategory::Default);
1538pub const DOUBLE_LINE_SLANTED_EQUAL_TO_OR_GREATER_THAN: Rel = Rel::new('⪜', RelCategory::Default);
1539pub const SIMILAR_OR_LESS_THAN: Rel = Rel::new('⪝', RelCategory::Default);
1540pub const SIMILAR_OR_GREATER_THAN: Rel = Rel::new('⪞', RelCategory::Default);
1541pub const SIMILAR_ABOVE_LESS_THAN_ABOVE_EQUALS_SIGN: Rel = Rel::new('⪟', RelCategory::Default);
1542pub const SIMILAR_ABOVE_GREATER_THAN_ABOVE_EQUALS_SIGN: Rel = Rel::new('⪠', RelCategory::Default);
1543pub const DOUBLE_NESTED_LESS_THAN: Rel = Rel::new('⪡', RelCategory::Default);
1544pub const DOUBLE_NESTED_GREATER_THAN: Rel = Rel::new('⪢', RelCategory::Default);
1545pub const DOUBLE_NESTED_LESS_THAN_WITH_UNDERBAR: Rel = Rel::new('⪣', RelCategory::Default);
1546pub const GREATER_THAN_OVERLAPPING_LESS_THAN: Rel = Rel::new('⪤', RelCategory::Default);
1547pub const GREATER_THAN_BESIDE_LESS_THAN: Rel = Rel::new('⪥', RelCategory::Default);
1548pub const LESS_THAN_CLOSED_BY_CURVE: Rel = Rel::new('⪦', RelCategory::Default);
1549pub const GREATER_THAN_CLOSED_BY_CURVE: Rel = Rel::new('⪧', RelCategory::Default);
1550pub const LESS_THAN_CLOSED_BY_CURVE_ABOVE_SLANTED_EQUAL: Rel = Rel::new('⪨', RelCategory::Default);
1551pub const GREATER_THAN_CLOSED_BY_CURVE_ABOVE_SLANTED_EQUAL: Rel =
1552 Rel::new('⪩', RelCategory::Default);
1553pub const SMALLER_THAN: Rel = Rel::new('⪪', RelCategory::Default);
1554pub const LARGER_THAN: Rel = Rel::new('⪫', RelCategory::Default);
1555pub const SMALLER_THAN_OR_EQUAL_TO: Rel = Rel::new('⪬', RelCategory::Default);
1556pub const LARGER_THAN_OR_EQUAL_TO: Rel = Rel::new('⪭', RelCategory::Default);
1557pub const EQUALS_SIGN_WITH_BUMPY_ABOVE: Rel = Rel::new('⪮', RelCategory::Default);
1558pub const PRECEDES_ABOVE_SINGLE_LINE_EQUALS_SIGN: Rel = Rel::new('⪯', RelCategory::Default);
1559pub const SUCCEEDS_ABOVE_SINGLE_LINE_EQUALS_SIGN: Rel = Rel::new('⪰', RelCategory::Default);
1560pub const PRECEDES_ABOVE_SINGLE_LINE_NOT_EQUAL_TO: Rel = Rel::new('⪱', RelCategory::Default);
1561pub const SUCCEEDS_ABOVE_SINGLE_LINE_NOT_EQUAL_TO: Rel = Rel::new('⪲', RelCategory::Default);
1562pub const PRECEDES_ABOVE_EQUALS_SIGN: Rel = Rel::new('⪳', RelCategory::Default);
1563pub const SUCCEEDS_ABOVE_EQUALS_SIGN: Rel = Rel::new('⪴', RelCategory::Default);
1564pub const PRECEDES_ABOVE_NOT_EQUAL_TO: Rel = Rel::new('⪵', RelCategory::Default);
1565pub const SUCCEEDS_ABOVE_NOT_EQUAL_TO: Rel = Rel::new('⪶', RelCategory::Default);
1566pub const PRECEDES_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⪷', RelCategory::Default);
1567pub const SUCCEEDS_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⪸', RelCategory::Default);
1568pub const PRECEDES_ABOVE_NOT_ALMOST_EQUAL_TO: Rel = Rel::new('⪹', RelCategory::Default);
1569pub const SUCCEEDS_ABOVE_NOT_ALMOST_EQUAL_TO: Rel = Rel::new('⪺', RelCategory::Default);
1570pub const DOUBLE_PRECEDES: Rel = Rel::new('⪻', RelCategory::Default);
1571pub const DOUBLE_SUCCEEDS: Rel = Rel::new('⪼', RelCategory::Default);
1572
1573pub const SUBSET_WITH_DOT: Rel = Rel::new('⪽', RelCategory::Default);
1574pub const SUPERSET_WITH_DOT: Rel = Rel::new('⪾', RelCategory::Default);
1575pub const SUBSET_WITH_PLUS_SIGN_BELOW: Rel = Rel::new('⪿', RelCategory::Default);
1576pub const SUPERSET_WITH_PLUS_SIGN_BELOW: Rel = Rel::new('⫀', RelCategory::Default);
1577pub const SUBSET_WITH_MULTIPLICATION_SIGN_BELOW: Rel = Rel::new('⫁', RelCategory::Default);
1578pub const SUPERSET_WITH_MULTIPLICATION_SIGN_BELOW: Rel = Rel::new('⫂', RelCategory::Default);
1579pub const SUBSET_OF_OR_EQUAL_TO_WITH_DOT_ABOVE: Rel = Rel::new('⫃', RelCategory::Default);
1580pub const SUPERSET_OF_OR_EQUAL_TO_WITH_DOT_ABOVE: Rel = Rel::new('⫄', RelCategory::Default);
1581pub const SUBSET_OF_ABOVE_EQUALS_SIGN: Rel = Rel::new('⫅', RelCategory::Default);
1582pub const SUPERSET_OF_ABOVE_EQUALS_SIGN: Rel = Rel::new('⫆', RelCategory::Default);
1583pub const SUBSET_OF_ABOVE_TILDE_OPERATOR: Rel = Rel::new('⫇', RelCategory::Default);
1584pub const SUPERSET_OF_ABOVE_TILDE_OPERATOR: Rel = Rel::new('⫈', RelCategory::Default);
1585pub const SUBSET_OF_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⫉', RelCategory::Default);
1586pub const SUPERSET_OF_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⫊', RelCategory::Default);
1587pub const SUBSET_OF_ABOVE_NOT_EQUAL_TO: Rel = Rel::new('⫋', RelCategory::Default);
1588pub const SUBSET_OF_ABOVE_NOT_EQUAL_TO_WITH_STROKE_THROUGH_BOTTOM_MEMBERS: Rel =
1589 Rel::new_vs1('⫋', RelCategory::Default);
1590pub const SUPERSET_OF_ABOVE_NOT_EQUAL_TO: Rel = Rel::new('⫌', RelCategory::Default);
1591pub const SUPERSET_OF_ABOVE_NOT_EQUAL_TO_WITH_STROKE_THROUGH_BOTTOM_MEMBERS: Rel =
1592 Rel::new_vs1('⫌', RelCategory::Default);
1593pub const SQUARE_LEFT_OPEN_BOX_OPERATOR: Rel = Rel::new('⫍', RelCategory::Default);
1594pub const SQUARE_RIGHT_OPEN_BOX_OPERATOR: Rel = Rel::new('⫎', RelCategory::Default);
1595pub const CLOSED_SUBSET: Rel = Rel::new('⫏', RelCategory::Default);
1596pub const CLOSED_SUPERSET: Rel = Rel::new('⫐', RelCategory::Default);
1597pub const CLOSED_SUBSET_OR_EQUAL_TO: Rel = Rel::new('⫑', RelCategory::Default);
1598pub const CLOSED_SUPERSET_OR_EQUAL_TO: Rel = Rel::new('⫒', RelCategory::Default);
1599pub const SUBSET_ABOVE_SUPERSET: Rel = Rel::new('⫓', RelCategory::Default);
1600pub const SUPERSET_ABOVE_SUBSET: Rel = Rel::new('⫔', RelCategory::Default);
1601pub const SUBSET_ABOVE_SUBSET: Rel = Rel::new('⫕', RelCategory::Default);
1602pub const SUPERSET_ABOVE_SUPERSET: Rel = Rel::new('⫖', RelCategory::Default);
1603pub const SUPERSET_BESIDE_SUBSET: Rel = Rel::new('⫗', RelCategory::Default);
1604pub const SUPERSET_BESIDE_AND_JOINED_BY_DASH_WITH_SUBSET: Rel = Rel::new('⫘', RelCategory::Default);
1605
1606pub const SHORT_LEFT_TACK: Rel = Rel::new('⫞', RelCategory::Default);
1607pub const SHORT_DOWN_TACK: Rel = Rel::new('⫟', RelCategory::Default);
1608pub const SHORT_UP_TACK: Rel = Rel::new('⫠', RelCategory::Default);
1609pub const PERPENDICULAR_WITH_S: Rel = Rel::new('⫡', RelCategory::Default);
1610pub const VERTICAL_BAR_TRIPLE_RIGHT_TURNSTILE: Rel = Rel::new('⫢', RelCategory::Default);
1611pub const DOUBLE_VERTICAL_BAR_LEFT_TURNSTILE: Rel = Rel::new('⫣', RelCategory::Default);
1612pub const VERTICAL_BAR_DOUBLE_LEFT_TURNSTILE: Rel = Rel::new('⫤', RelCategory::Default);
1613pub const DOUBLE_VERTICAL_BAR_DOUBLE_LEFT_TURNSTILE: Rel = Rel::new('⫥', RelCategory::Default);
1614pub const LONG_DASH_FROM_LEFT_MEMBER_OF_DOUBLE_VERTICAL: Rel = Rel::new('⫦', RelCategory::Default);
1615pub const SHORT_DOWN_TACK_WITH_OVERBAR: Rel = Rel::new('⫧', RelCategory::Default);
1616pub const SHORT_UP_TACK_WITH_UNDERBAR: Rel = Rel::new('⫨', RelCategory::Default);
1617pub const SHORT_UP_TACK_ABOVE_SHORT_DOWN_TACK: Rel = Rel::new('⫩', RelCategory::Default);
1618pub const DOUBLE_DOWN_TACK: Rel = Rel::new('⫪', RelCategory::Default);
1619pub const DOUBLE_UP_TACK: Rel = Rel::new('⫫', RelCategory::Default);
1620
1621pub const DOES_NOT_DIVIDE_WITH_REVERSED_NEGATION_SLASH: Rel = Rel::new('⫮', RelCategory::Default);
1622
1623pub const PARALLEL_WITH_HORIZONTAL_STROKE: Rel = Rel::new('⫲', RelCategory::Default);
1624pub const PARALLEL_WITH_TILDE_OPERATOR: Rel = Rel::new('⫳', RelCategory::Default);
1625
1626pub const TRIPLE_COLON_OPERATOR: Bin = Bin::new('⫶', BinCategory::B);
1627
1628pub const TRIPLE_NESTED_LESS_THAN: Rel = Rel::new('⫷', RelCategory::Default);
1629pub const TRIPLE_NESTED_GREATER_THAN: Rel = Rel::new('⫸', RelCategory::Default);
1630pub const DOUBLE_LINE_SLANTED_LESS_THAN_OR_EQUAL_TO: Rel = Rel::new('⫹', RelCategory::Default);
1631pub const DOUBLE_LINE_SLANTED_GREATER_THAN_OR_EQUAL_TO: Rel = Rel::new('⫺', RelCategory::Default);
1632
1633pub const LARGE_TRIPLE_VERTICAL_BAR_OPERATOR: Op = Op::new('⫼', OpCategory::J);
1634pub const DOUBLE_SOLIDUS_OPERATOR: Bin = Bin::new('⫽', BinCategory::B);
1635pub const WHITE_VERTICAL_BAR: Op = Op::new('⫾', OpCategory::C);
1636pub const N_ARY_WHITE_VERTICAL_BAR: Op = Op::new('⫿', OpCategory::J);
1637
1638pub const LEFT_ARROW_WITH_SMALL_CIRCLE: Rel = Rel::new('⬰', RelCategory::A);
1642pub const THREE_LEFTWARDS_ARROWS: Rel = Rel::new('⬱', RelCategory::A);
1643pub const LEFT_ARROW_WITH_CIRCLED_PLUS: Rel = Rel::new('⬲', RelCategory::A);
1644pub const LONG_LEFTWARDS_SQUIGGLE_ARROW: Rel = Rel::new('⬳', RelCategory::A);
1645pub const LEFTWARDS_TWO_HEADED_ARROW_WITH_VERTICAL_STROKE: Rel = Rel::new('⬴', RelCategory::A);
1646pub const LEFTWARDS_TWO_HEADED_ARROW_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1647 Rel::new('⬵', RelCategory::A);
1648pub const LEFTWARDS_TWO_HEADED_ARROW_FROM_BAR: Rel = Rel::new('⬶', RelCategory::A);
1649pub const LEFTWARDS_TWO_HEADED_TRIPLE_DASH_ARROW: Rel = Rel::new('⬷', RelCategory::A);
1650pub const LEFTWARDS_ARROW_WITH_DOTTED_STEM: Rel = Rel::new('⬸', RelCategory::A);
1651pub const LEFTWARDS_ARROW_WITH_TAIL_WITH_VERTICAL_STROKE: Rel = Rel::new('⬹', RelCategory::A);
1652pub const LEFTWARDS_ARROW_WITH_TAIL_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1653 Rel::new('⬺', RelCategory::A);
1654pub const LEFTWARDS_TWO_HEADED_ARROW_WITH_TAIL: Rel = Rel::new('⬻', RelCategory::A);
1655pub const LEFTWARDS_TWO_HEADED_ARROW_WITH_TAIL_WITH_VERTICAL_STROKE: Rel =
1656 Rel::new('⬼', RelCategory::A);
1657pub const LEFTWARDS_TWO_HEADED_ARROW_WITH_TAIL_WITH_DOUBLE_VERTICAL_STROKE: Rel =
1658 Rel::new('⬽', RelCategory::A);
1659pub const LEFTWARDS_ARROW_THROUGH_X: Rel = Rel::new('⬾', RelCategory::A);
1660pub const WAVE_ARROW_POINTING_DIRECTLY_LEFT: Rel = Rel::new('⬿', RelCategory::Default);
1661pub const EQUALS_SIGN_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⭀', RelCategory::A);
1662pub const REVERSE_TILDE_OPERATOR_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⭁', RelCategory::A);
1663pub const LEFTWARDS_ARROW_ABOVE_REVERSE_ALMOST_EQUAL_TO: Rel = Rel::new('⭂', RelCategory::A);
1664pub const RIGHTWARDS_ARROW_THROUGH_GREATER_THAN: Rel = Rel::new('⭃', RelCategory::A);
1665pub const RIGHTWARDS_ARROW_THROUGH_SUPERSET: Rel = Rel::new('⭄', RelCategory::A);
1666pub const LEFTWARDS_QUADRUPLE_ARROW: Rel = Rel::new('⭅', RelCategory::A);
1667pub const RIGHTWARDS_QUADRUPLE_ARROW: Rel = Rel::new('⭆', RelCategory::A);
1668pub const REVERSE_TILDE_OPERATOR_ABOVE_RIGHTWARDS_ARROW: Rel = Rel::new('⭇', RelCategory::A);
1669pub const RIGHTWARDS_ARROW_ABOVE_REVERSE_ALMOST_EQUAL_TO: Rel = Rel::new('⭈', RelCategory::A);
1670pub const TILDE_OPERATOR_ABOVE_LEFTWARDS_ARROW: Rel = Rel::new('⭉', RelCategory::A);
1671pub const LEFTWARDS_ARROW_ABOVE_ALMOST_EQUAL_TO: Rel = Rel::new('⭊', RelCategory::A);
1672pub const LEFTWARDS_ARROW_ABOVE_REVERSE_TILDE_OPERATOR: Rel = Rel::new('⭋', RelCategory::A);
1673pub const RIGHTWARDS_ARROW_ABOVE_REVERSE_TILDE_OPERATOR: Rel = Rel::new('⭌', RelCategory::A);
1674
1675