# frozen_string_literal: true module Plurimath class Mathml class Constants UNICODE_SYMBOLS = { "α": "alpha", "β": "beta", "γ": "gamma", "Γ": "Gamma", "δ": "delta", "Δ": "Delta", "∆": "Delta", "ε": "epsilon", "ɛ": "varepsilon", "ζ": "zeta", "η": "eta", "θ": "theta", "Θ": "Theta", "ϑ": "vartheta", "ι": "iota", "κ": "kappa", "λ": "lambda", "Λ": "Lambda", "μ": "mu", "ν": "nu", "ξ": "xi", "Ξ": "Xi", "π": "pi", "Π": "Pi", "ρ": "rho", "ς": "beta", "σ": "sigma", "Σ": "Sigma", "τ": "tau", "υ": "upsilon", "φ": "phi", "Φ": "Phi", "ϕ": "varphi", "χ": "chi", "ψ": "psi", "Ψ": "Psi", "ω": "omega", "Ω": "omega", "⋅": "dot", "∙": "*", "·": ".", "∗": "**", "⋆": "***", "×": "xx", "⋉": "|><", "⋊": "><|", "⋈": "|><|", "÷": "-:", "∘": "@", "⊕": "o+", "⨁": "o+", "⊗": "ox", "⊙": " ", "∑": "sum", "∏": "prod", "∏": "prod", "∧": "^^", "⋀": "^^^", "∨": "vv", "⋁": "vvv", "∩": "nn", "⋂": "nnn", "∪": "cup", "⋃": "uuu", "≠": "!=", "≤": "<=", "≥": ">=", "≺": "-<", "≻": ">-", "⪯": "-<=", "⪰": " >-=", "∈": "in", "∉": "!in", "⊂": "sub", "⊃": "sup", "⊆": "sube", "⊇": "supe", "≡": "-=", "≅": "~=", "≈": "~~", "∝": "prop", "¬": "not", "∀": "AA", "∃": "EE", "⊥": "_|_", "⊤": "TT", "⊢": "|--", "⊨": "|==", "〈": "(:", "〉": ":)", "⟨": "<<", "⟩": ">>", "∫": "int", "∮": "oint", "∂": "del", "∇": "grad", "±": "+-", "∅": "O/", "∞": "oo", "ℵ": "aleph", "∴": ":.", "∵": ":'", "∠": "/_", "△": "/_\\", "′": "'", "  ": "quad", "    ": "qquad", "⌢": "frown", "⋯": "cdots", "⋮": "vdots", "⋱": "ddots", "⋄": "diamond", "□": "square", "⌊": "|__", "⌋": "__|", "⌈": "|~", "⌉": "~|", "ℂ": "CC", "ℕ": "NN", "ℚ": "QQ", "ℝ": "RR", "ℤ": "ZZ", "↑": "uarr", "↓": "darr", "←": "larr", "↔": "harr", "⇒": "rArr", "⇐": "lArr", "⇔": "hArr", "→": "->", "↣": ">->", "↠": "->>", "⤖": ">->>", "↦": "|->", "…": "...", "−": "-", "⁡": "", "⏞": "obrace", "⏟": "ubrace", }.freeze SYMBOLS = { "|": "|", "/": "//", "\\": "\\\\", "~": "tilde", "(": "(", ")": ")", "(:": "(:", ":)": ":)", "{": "{", "}": "}", "{:": "{:", ":}": ":}", "]": "]", "[": "[", "=": "=", "+": "+", "-": "-", }.freeze CLASSES = %w[ mathfrak underset stackrel overset mathcal arccos arcsin arctan mathsf mathbb mathbf mathtt ubrace obrace cancel tilde floor color frac root oint ceil ddot coth csch sech sinh tanh cosh sqrt norm text prod sec int sin tan cos sum exp gcd glb lcm lub cot csc det dim max min abs bar dot hat vec mod log ul ln f g ].freeze TAGS = %i[ annotation-xml annotation_xml mmultiscripts maligngroup malignmark annotation munderover mscarries semantics mphantom mlongdiv menclose mscarry msubsup mpadded maction msgroup mfenced merror munder mtable mstyle mstack mspace msline mfrac mover msrow mroot msqrt msup msub mrow math mtr mtd ms mi mo mn ].freeze BINARY_CLASSES = %i[ underset stackrel overset color prod frac root oint int sum mod log ].freeze FONT_CLASSES = %i[ fraktur sans-serif monospace script double-struck bold ].freeze FONT_TYPES = { :bb=>"bold", :fr=>"fraktur", :cc=>"script", :sf=>"sans-serif", :tt=>"monospace", :mbf=>"bold", :mit=>"italic", :mtt=>"monospace", :Bbb=>"double-struck", :bbb=>"double-struck", :mscr=>"mathbb", :mfrak=>"fraktur", :msans=>"sans-serif", :mbfit=>"bold italic", :mathbf=>"bold", :mathit=>"italic", :mathds=>"mathbb", :mathrm=>"mathrm", :mathtt=>"monospace", :mathsf=>"sans-serif", :mathbb=>"double-struck", :mbfsans=>"bold sans-serif", :mathcal=>"script", :mathbold=>"bold", :mathfrak=>"fraktur", :mathbfit=>"bold italic", :mathsfbf=>"sans-serif bold", :mathsfit=>"sans-serif italic", :mbfitsans=>"bold italic sans-serif", :mathsfbfit=>"sans-serif bold italic", }.freeze end end end