Class: Plurimath::UnicodeMath::Constants

Inherits:
Object
  • Object
show all
Defined in:
lib/plurimath/unicode_math/constants.rb

Constant Summary collapse

UNARY_FUNCTIONS =
%w[
  arccos
  arcsin
  arctan
  csch
  sech
  sinh
  tanh
  cosh
  cos
  cot
  csc
  sec
  sin
  tan
  arg
  def
  deg
  det
  dim
  erf
  exp
  gcd
  hom
  inf
  ker
  lim
  log
  max
  min
  mod
  sup
  Im
  Pr
  Re
  ln
  tg
].freeze
UNDEF_UNARY_FUNCTIONS =
%w[
  arg
  def
  erf
  Im
  Pr
  Re
  tg
].freeze
BINARY_FUNCTIONS =
%w[
  obrace
  oint
  prod
  sum
  int
  lim
  inf
  log
].freeze
UNARY_SYMBOLS =
{
  underline: "▁",
  hphantom: "⬄",
  vphantom: "⇳",
  underbar: "▁",
  overline: "¯",
  phantom: "⟡",
  longdiv: "⟌",
  circle: "○",
  asmash: "⬆",
  dsmash: "⬇",
  hsmash: "⬌",
  smash: "⬍",
  overbar: "¯",
}.freeze
PHANTOM_SYMBOLS =
{
  hphantom: { mpadded: { depth: "0", height: "0" }, phantom: true },
  vphantom: { mpadded: { width: "0" }, phantom: true },
  phantom: { phantom: true },
  hsmash: { mpadded: { width: "0" }, phantom: false },
  asmash: { mpadded: { height: "0" }, phantom: false },
  dsmash: { mpadded: { depth: "0" }, phantom: false },
  smash: { mpadded: { height: "0", depth: "0" }, phantom: false }
}.freeze
BINARY_SYMBOLS =
{
  ast: "∗",
  boxdot: "⊡",
  boxminus: "⊟",
  boxplus: "⊞",
  boxtimes: "⊠",
  bullet: "∙",
  Cap: "⋒",
  cap: "∩",
  cdot: "⋅",
  circ: "∘",
  Cup: "⋓",
  cup: "∪",
  curlyvee: "⋎",
  curlywedge: "⋏",
  diamond: "⋄",
  div: "÷",
  divideontimes: "Ç",
  dotminus: "∸",
  dotplus: "∔",
  intercal: "⊺",
  leftthreetimes: "⋋",
  lor: "∨",
  ltimes: "⋉",
  oast: "⊛",
  ocirc: "⊚",
  odash: "⊝",
  odot: "⊙",
  oeq: "⊜",
  ominus: "⊖",
  oplus: "⊕",
  otimes: "⊗",
  pitchfork: "⋔",
  rightthreetimes: "⋌",
  rtimes: "⋊",
  setminus: "∖",
  sqcap: "⊓",
  sqcup: "⊔",
  star: "⋆",
  times: "×",
  triangle: "△",
  uplus: "⊎",
  wedge: "∧",
  neq: "≠",
  wr: "≀",
  ne: "≠",
  dd: "ⅆ",
  Dd: "ⅅ",
}.freeze
NARY_CLASSES =
{
  prod: "∏",
  oint: "∮",
  int: "∫",
  sum: "∑",
}.freeze
NARY_SYMBOLS =
{
  amalg: "∐",
  aoint: "∳",
  bigcap: "⋂",
  bigcup: "⋃",
  bigodot: "⨀",
  bigoplus: "⨁",
  bigotimes: "⨂",
  bigsqcap: "⨅",
  bigsqcup: "⨆",
  bigudot: "⨀",
  biguplus: "⨄",
  bigvee: "⋁",
  bigwedge: "⋀",
  coint: "∲",
  coprod: "∐",
  cwint: "∱",
  iiiint: "⨌",
  iiint: "∭",
  iint: "∬",
  int: "∫",
  oiiint: "∰",
  oiint: "∯",
  oint: "∮",
  prod: "∏",
  sum: "∑",
}.freeze
OPEN_SYMBOLS =
{
  begin: "〖",
  bra: "⟨",
  Langle: "⟪",
  langle: "⟨",
  lbbrack: "⟦",
  lbrace: "{",
  Lbrack: "⟦",
  lbrack: "[",
  lceil: "⌈",
  lfloor: "⌊",
}.freeze
CLOSE_SYMBOLS =
{
  end: "〗",
  ket: "⟩",
  Rangle: "⟫",
  rangle: "⟩",
  rbbrack: "⟧",
  rbace: "}",
  Rbrack: "⟧",
  rbrack: "]",
  rceil: "⌉",
  rfloor: "⌋",
}.freeze
RELATIONAL_SYMBOLS =
{
  angmsd: "∡",
  angrtvb: "⊾",
  angsph: "∢",
  approx: "≈",
  approxeq: "≊",
  asymp: "≍",
  backsim: "∽",
  backsimeq: "⋍",
  because: "∵",
  between: "≬",
  bot: "⊥",
  bowtie: "⋈",
  bumpeq: "≏",
  circeq: "≗",
  circlearrowleft: "↺",
  circlearrowright: "↻",
  delta: "δ",
  Delta: "Δ",
  Colon: "∷",
  colon: "∶",
  cong: "≅",
  curlyeqprec: "⋞",
  curlyeqsucc: "⋟",
  curvearrowleft: "⇠",
  dasharrowright: "⇫",
  dashv: "⊣",
  ddots: "⋱",
  Doteq: "≑",
  doteq: "≐",
  Downarrow: "⇓",
  downarrow: "↓",
  downarrows: "⇊",
  downharpoonleft: "⇃",
  downharpoonright: "⇂",
  eqcirc: "≖",
  eqgtr: "⋝",
  equiv: "≡",
  fallingdotseq: "≒",
  ge: "≥",
  geq: "≥",
  geqq: "≧",
  gg: "≫",
  ggg: "⋙",
  gneqq: "≩",
  gtrdot: "⋗",
  gtreqless: "⋛",
  gtrless: "≷",
  gtrsim: "≳",
  hookleftarrow: "↩",
  hookrightarrow: "↪",
  iff: "⟿",
  in: "∈",
  le: "≤",
  Leftarrow: "⇐",
  leftarrow: "←",
  leftarrowtail: "↢",
  leftharpoondown: "↽",
  leftharpoonup: "↼",
  leftleftarrows: "⇇",
  Leftrightarrow: "⇔",
  leftrightarrow: "↔",
  leftrightarrows: "⇆",
  leftrightharpoons: "⇋",
  leftrightwavearrow: "↭",
  leftsquigarrow: "⇜",
  leftwavearrow: "↜",
  leq: "≤",
  leqq: "≦",
  lessdot: "⋖",
  lesseqgtr: "⋚",
  lessgtr: "≶",
  lesssim: "≲",
  ll: "≪",
  lmoust: "⊰",
  lneq: "≨",
  # lnot: "¬",
  lnsim: "⋦",
  Longleftarrow: "⟸",
  longleftarrow: "⟵",
  Longleftrightarrow: "⟺",
  Longrightarrow: "⟹",
  longrightarrow: "⟶",
  looparrowleft: "↬",
  lrhar: "⇋",
  mapsto: "↦",
  mapstoleft: "↤",
  models: "⊨",
  multimap: "⊸",
  napprox: "≉",
  nasymp: "≭",
  ncong: "≇",
  nearrow: "↗",
  nequiv: "≢",
  ngeq: "≱",
  ngt: "≯",
  ni: "∋",
  nLeftarrow: "⇍",
  nleftarrow: "↚",
  nLeftrightarrow: "⇎",
  nleftrightarrow: "↮",
  nleq: "≰",
  nless: "≮",
  nmid: "∤",
  notin: "∉",
  notni: "∌",
  nparallel: "∦",
  nprec: "⊀",
  npreccurlyeq: "⋠",
  nRightarrow: "⇏",
  nrightarrow: "↛",
  nsim: "≁",
  nsimeq: "≄",
  nsqsubseteq: "⋢",
  nsqsuperseteq: "⋣",
  nsub: "⊄",
  subseteq: "⊈",
  nsucc: "⊁",
  nsucccurlyeq: "⋡",
  nsup: "⊅",
  nsupseteq: "⊈",
  ntriangleleft: "⋪",
  ntriangleright: "⋫",
  ntrianglerighteq: "⋭",
  nVdash: "⊭",
  nvdash: "⊬",
  nwarrow: "↖",
  parallel: "↖",
  perp: "⊥",
  prcue: "≼",
  prec: "≺",
  preccurlyeq: "≼",
  preceq: "⪯",
  precnsim: "⋨",
  precsim: "≾",
  propto: "∝",
  ratio: "∝",
  rddots: "⋰",
  rdsh: "↳",
  Rightarrow: "⇒",
  rightarrow: "→",
  rightarrowtail: "↣",
  rightharpoondown: "⇁",
  rightharpoonup: "⇀",
  rightleftarrows: "⇄",
  rightleftharpoons: "⇌",
  rightrightarrows: "⇉",
  rightsquigarrow: "⇝",
  rightwavearrow: "↝",
  risingdotseq: "≓",
  rlhar: "⇌",
  rmoust: "⎱",
  searrow: "↘",
  sim: "∼",
  simeq: "≃",
  sqsubset: "⊏",
  sqsubseteq: "⊑",
  sqsupset: "⊐",
  sqsupseteq: "⊒",
  Subset: "⋐",
  subset: "⊂",
  subsetneq: "⊊",
  subsub: "⫓",
  succ: "≻",
  succcurlyeq: "≽",
  succeq: "⪰",
  succnsim: "⋩",
  succsim: "≿",
  Supset: "⋑",
  supset: "⊃",
  supseteq: "⊇",
  supsetneq: "⊋",
  supsub: "⫔",
  supsup: "⫖",
  swarrow: "↙",
  therefore: "∴",
  to: "→",
  top: "⊤",
  trianglelefteq: "⊴",
  trianglerighteq: "⊵",
  twoheadleftarrow: "↞",
  twoheadrightarrow: "↠",
  Uparrow: "⇑",
  uparrow: "↑",
  Updownarrow: "⇕",
  updownarrow: "↕",
  updownarrows: "⇅",
  upharpoonleft: "↿",
  upharpoonright: "↾",
  upuparrows: "⇈",
  vartriangleleft: "⊲",
  vartriangleright: "⊳",
  VDash: "⊫",
  Vdash: "⊩",
  vdash: "⊢",
  vdots: "⋮",
  Vvdash: "⊪",
}.freeze
HORIZONTAL_BRACKETS =
{
  underbracket: "⎵",
  overbracket: "⎴",
  undershell: "⏡",
  underparen: "⏝",
  underbrace: "⏟",
  overshell: "⏠",
  overparen: "⏜",
  overbrace: "⏞",
}.freeze
UNDER_HORIZONTAL_BRACKETS =
{
  underbracket: "⎵",
  undershell: "⏡",
  underparen: "⏝",
  underbrace: "⏟",
}.freeze
ORDINARY_SYMBOLS =
{
  backepsilon: "϶",
  diamondsuit: "♤",
  varepsilon: "ε",
  rightangle: "∠",
  complement: "∁",
  spadesuit: "♠",
  emptyset: "∅",
  vartheta: "ϑ",
  varsigma: "ς",
  varkappa: "ϰ",
  hearsuit: "♡",
  clubsuit: "♣",
  partial: "∂",
  nexists: "∄",
  upsilon: "υ",
  Upsilon: "Υ",
  epsilon: "ϵ",
  Deltaeq: "≜",
  varrho: "ϱ",
  forall: "∀",
  exists: "∃",
  varphi: "φ",
  lambda: "λ",
  Lambda: "Λ",
  frown: "⌢",
  nabla: "∇",
  angle: "∠",
  daleth: "ℸ",
  varpi: "ϖ",
  theta: "θ",
  Theta: "Θ",
  sigma: "σ",
  Sigma: "Σ",
  omega: "ω",
  Omega: "Ω",
  medsp: " ",
  ldots: "…",
  kappa: "κ",
  jmath: "ȷ",
  infty: "∞",
  imath: "ı",
  gimel: "ℷ",
  gamma: "γ",
  Gamma: "Γ",
  cdots: "⏯",
  alpha: "α",
  aleph: "ℵ",
  "...": "…",
  Vert: "‖",
  norm: "‖",
  zwsp: "​",
  zwnj: "‌",
  zeta: "ζ",
  vbar: "│",
  ldsh: "↲",
  iota: "ι",
  hbar: "ℏ",
  gets: "←",
  degree: "°",
  epar: "⋥",
  dots: "…",
  degf: "℉",
  degc: "℃",
  ddag: "‡",
  beth: "ℶ",
  beta: "ʲ",
  inc: "∆",
  tau: "τ",
  rho: "ρ",
  qed: "∎",
  psi: "ψ",
  Psi: "Ψ",
  phi: "ϕ",
  Phi: "Φ",
  eta: "η",
  ell: "ℓ",
  dag: "†",
  chi: "χ",
  box: "□",
  vert: "|",
  eqno: "#",
  mp: "∓",
  xi: "ξ",
  wp: "℘",
  Re: "ℜ",
  pi: "π",
  Pi: "Π",
  oo: "ω",
  nu: "ν",
  mu: "μ",
  jj: "ⅉ",
  Im: "ℑ",
  ii: "ⅈ",
  ee: "ⅇ",
  neg: "¬",
  pm: "±",
}.freeze
SKIP_SYMBOLS =
{
  vthicksp: " ",
  thicksp: " ",
  thinsp: " ",
  hairsp: " ",
  numsp: " ",
  quad: " ",
  ensp: " ",
  emsp: " ",
  nbsp: " ",
}.freeze
OPEN_PARENTHESIS =
[
  "[",
  "(",
  "{",
].freeze
CLOSE_PARENTHESIS =
[
  "]",
  ")",
  "}",
].freeze
NEGATABLE_SYMBOLS =
%w[
  "⊒"
  "⊑"
  "⊇"
  "⊆"
  "⊃"
  "⊂"
  "≼"
  "≻"
  "≺"
  "≽"
  "≷"
  "≶"
  "≥"
  "≤"
  "≡"
  "≍"
  "≈"
  "≅"
  "≃"
  "∼"
  "∋"
  "∈"
  "∃"
  ">"
  "<"
  "¬"
  ~
  =
  +
  -
].freeze
PREFIXED_NEGATABLE_SYMBOLS =
%w[
  sqsupseteq
  sqsubseteq
  supseteq
  subseteq
  emptyset
  gtrless
  lessgtr
  nexists
  approx
  exists
  supset
  subset
  forall
  preceq
  succeq
  simeq
  equiv
  frown
  nabla
  angle
  asymp
  succ
  prec
  cong
  neg
  inc
  sim
  ge
  le
  ni
  in
].freeze
ACCENT_SYMBOLS =
{
  widetilde: "̃",
  widehat: "̂",
  ddddot: "⃜",
  breve: "̆",
  check: "̌",
  tilde: "̃",
  lhvec: "⃐",
  rhvec: "⃑",
  grave: "̀",
  dddot: "⃛",
  acute: "́",
  ddot: "̈",
  lvec: "⃖",
  hvec: "⃑",
  ubar: "̲",
  tvec: "⃡",
  dot: "̇",
  Bar: "̿",
  bar: "̅",
  hat: "̂",
  vec: "⃗",
}.freeze
UNARY_ARG_FUNCTIONS =
{
  bcancel: "╲",
  xcancel: "╳",
  ellipse: "⬭",
  cancel: "╱",
  rrect: "▢",
  rect: "▭",
  abs: "⒜",
}.freeze
FONTS_CLASSES =
%w[
  mbfitsans
  mbffrak
  mitsans
  mbfsans
  mbfscr
  mfrak
  msans
  mbfit
  mscr
  Bbb
  mup
  mbf
  mit
  mtt
].freeze
ALPHANUMERIC_FONTS_CLASSES =
%w[
  mbfsans
  msans
  Bbb
  mtt
  mbf
  mup
].freeze
SIZE_OVERRIDES_SYMBOLS =
{
  A: "1.25em",
  B: "1.5625em",
  C: "0.8em",
  D: "0.64em",
}.freeze
DIACRITIC_OVERLAYS =
[
  '⃫',
  '⃪',
  '⃦',
  '⃥',
  '⃤',
  '⃣',
  '⃢',
  '⃠',
  '⃟',
  '⃞',
  '⃝',
  '⃚',
  '⃙',
  '⃘',
  '⃓',
  '⃒',
  '̉',
  '̄',
  '̸',
  '̷',
  '̶',
  '̵',
  '̴',
].freeze
OVERLAYS_NOTATIONS =
{
  '⃫': "mover",
  '⃪': "mover",
  '⃦': "mover",
  '⃥': "mover",
  '⃤': "mover",
  '⃣': "mover",
  '⃢': "mover",
  '⃠': "circle downdiagonalstrike",
  '⃟': "mover",
  '⃞': "box",
  '⃝': "circle",
  '⃚': "mover",
  '⃙': "mover",
  '⃔': "mover",
  '⃖': "mover",
  '⃕': "mover",
  '⃘': "mover",
  '⃓': "mover",
  '⃒': "mover",
  '̄': "top",
  '̸': "mover",
  '̷': "mover",
  '̶': "mover",
  '̵': "mover",
  '̴': "mover",
  '̉': "mover",
}.freeze
DIACRITIC_BELOWS =
[
  '̖',
  '̗',
  '̘',
  '̙',
  '̜',
  '̝',
  '̞',
  '̟',
  '̠',
  '̡',
  '̢',
  '̣',
  '̤',
  '̥',
  '̦',
  '̧',
  '̨',
  '̩',
  '̪',
  '̫',
  '̬',
  '̭',
  '̮',
  '̯',
  '̰',
  '̱',
  '̲',
  '̳',
  '̹',
  '̺',
  '̻',
  '̼',
  'ͅ',
  '͇',
  '͈',
  '͉',
  '͍',
  '͎',
  '͓',
  '͔',
  '͕',
  '͖',
  '͙',
  '͚',
  '͜',
  '͟',
  '͢',
  '⃨',
  '⃬',
  '⃭',
  '⃮',
  '⃯',
].freeze
BELOWS_NOTATIONS =
{
  '̖': "munder",
  '̗': "munder",
  '̘': "munder",
  '̙': "munder",
  '̜': "munder",
  '̝': "munder",
  '̞': "munder",
  '̟': "munder",
  '̠': "munder",
  '̡': "munder",
  '̢': "munder",
  '̣': "munder",
  '̤': "munder",
  '̥': "munder",
  '̦': "munder",
  '̧': "munder",
  '̨': "munder",
  '̩': "munder",
  '̪': "munder",
  '̫': "munder",
  '̬': "munder",
  '̭': "munder",
  '̮': "munder",
  '̯': "munder",
  '̰': "munder",
  '̱': "munder",
  '̲': "bottom",
  '̳': "munder",
  '̹': "munder",
  '̺': "munder",
  '̻': "munder",
  '̼': "munder",
  'ͅ': "munder",
  '͇': "munder",
  '͈': "munder",
  '͉': "munder",
  '͍': "munder",
  '͎': "munder",
  '͓': "munder",
  '͔': "munder",
  '͕': "munder",
  '͖': "munder",
  '͙': "munder",
  '͚': "munder",
  '͜': "munder",
  '͟': "munder",
  '͢': "munder",
  '⃨': "munder",
  '⃬': "munder",
  '⃭': "munder",
  '⃮': "munder",
  '⃯': "munder",
}.freeze
SUP_DIGITS =
{
  "0": "⁰",
  "1": "¹",
  "2": "²",
  "3": "³",
  "4": "⁴",
  "5": "⁵",
  "6": "⁶",
  "7": "⁷",
  "8": "⁸",
  "9": "⁹"
}.freeze
SUB_DIGITS =
{
  "0": "₀",
  "1": "₁",
  "2": "₂",
  "3": "₃",
  "4": "₄",
  "5": "₅",
  "6": "₆",
  "7": "₇",
  "8": "₈",
  "9": "₉",
}.freeze
SUB_ALPHABETS =
{
  "a": "ₐ",
  "e": "ₑ",
  "h": "ₕ",
  "i": "ᵢ",
  "j": "ⱼ",
  "k": "ₖ",
  "l": "ₗ",
  "m": "ₘ",
  "n": "ₙ",
  "o": "ₒ",
  "p": "ₚ",
  "r": "ᵣ",
  "s": "ₛ",
  "t": "ₜ",
  "u": "ᵤ",
  "v": "ᵥ",
  "x": "ₓ"
}.freeze
SUP_ALPHABETS =
{
  "a": "ᵃ",
  "b": "ᵇ",
  "c": "ᶜ",
  "d": "ᵈ",
  "e": "ᵉ",
  "f": "ᶠ",
  "g": "ᵍ",
  "h": "ʰ",
  "i": "ⁱ",
  "j": "ʲ",
  "k": "ᵏ",
  "l": "ˡ",
  "m": "ᵐ",
  "n": "ⁿ",
  "o": "ᵒ",
  "p": "ᵖ",
  "r": "ʳ",
  "s": "ˢ",
  "t": "ᵗ",
  "u": "ᵘ",
  "v": "ᵛ",
  "w": "ʷ",
  "x": "ˣ",
  "y": "ʸ",
  "z": "ᶻ"
}.freeze
SUB_OPERATORS =
{
  "+": "₊",
  "-": "₋",
  "=": "₌",
  "": "ₔ",
}.freeze
SUP_OPERATORS =
{
  "+": "⁺",
  "-": "⁻",
  "=": "⁼",
}.freeze
SUB_PARENTHESIS =
{
  open: {
    "(": "₍",
  },
  close: {
    ")": "₎",
  },
}.freeze
SUP_PARENTHESIS =
{
  open: {
    "": "⁽",
  },
  close: {
    "": "⁾",
  },
}.freeze
MATRIXS =
{
  pmatrix: "⒨",
  vmatrix: "⒱",
  Vmatrix: "⒩",
  bmatrix: "ⓢ",
  Bmatrix: "Ⓢ",
  eqarray: "█",
  matrix: "■",
  cases: "Ⓒ",
}.freeze
COMBINING_SYMBOLS =
{
  "!!": "‼",
  "-+": "∓",
  "+-": "±",
}.freeze
UNICODE_FRACTIONS =
{
  "⅓": [1, 3],
  "⅔": [2, 3],
  "⅕": [1, 5],
  "⅖": [2, 5],
  "⅗": [3, 5],
  "⅘": [4, 5],
  "⅙": [1, 6],
  "⅚": [5, 6],
  "⅐": [1, 7],
  "⅛": [1, 8],
  "⅜": [3, 8],
  "⅝": [5, 8],
  "⅞": [7, 8],
  "⅑": [1, 9],
  "↉": [0, 3],
  "½": [1, 2],
  "¼": [1, 4],
  "¾": [3, 4],
}.freeze
UNICODED_FONTS =
{
  script: {
    "H": "ℋ"
  },
  fraktur: {
    "H": "ℌ",
  },
  double: {
    "H": "ℍ"
  },
  mitBbb: {
    D: "ⅅ",
    d: "ⅆ",
    e: "ⅇ",
    i: "ⅈ",
    j: "ⅉ",
  },
}.freeze
PREFIXED_PRIMES =
{
  pppprime: "⁗",
  ppprime: "‴",
  pprime: "″",
  prime: "′",
}.freeze
PARENTHESIS_MATRICES =
{
  pmatrix: "(",
  vmatrix: "|",
  Vmatrix: "\\Vert",
  bmatrix: "[",
  Bmatrix: "{",
  eqarray: nil,
  matrix: nil,
  cases: nil,
}.freeze

Class Method Summary collapse

Class Method Details

.wrapper_symbolsObject



1023
1024
1025
# File 'lib/plurimath/unicode_math/constants.rb', line 1023

def wrapper_symbols
  @@wrapper_symbols ||= Utility.symbols_hash(:unicodemath).keys.grep(/"P\{[^\}]+\}/)
end