plurimath 0.8.2 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1541) hide show
  1. checksums.yaml +4 -4
  2. data/AsciiMath-Supported-Data.adoc +1 -1925
  3. data/Latex-Supported-Data.adoc +46 -1864
  4. data/MathML-Supported-Data.adoc +0 -167
  5. data/README.adoc +27 -0
  6. data/UnicodeMath-Supported-Data.adoc +0 -819
  7. data/lib/plurimath/asciimath/constants.rb +20 -252
  8. data/lib/plurimath/asciimath/parse.rb +17 -7
  9. data/lib/plurimath/asciimath/transform.rb +57 -67
  10. data/lib/plurimath/formatter/localized_number.rb +13 -0
  11. data/lib/plurimath/formatter/number_data_reader.rb +11 -0
  12. data/lib/plurimath/formatter/number_formatter.rb +40 -0
  13. data/lib/plurimath/formatter/numbers/fraction.rb +56 -0
  14. data/lib/plurimath/formatter/numbers/integer.rb +16 -0
  15. data/lib/plurimath/formatter/numeric_formatter.rb +120 -0
  16. data/lib/plurimath/html/transform.rb +24 -24
  17. data/lib/plurimath/latex/constants.rb +43 -3616
  18. data/lib/plurimath/latex/parse.rb +8 -8
  19. data/lib/plurimath/latex/transform.rb +41 -49
  20. data/lib/plurimath/math/core.rb +49 -11
  21. data/lib/plurimath/math/formula.rb +18 -14
  22. data/lib/plurimath/math/function/bar.rb +1 -1
  23. data/lib/plurimath/math/function/binary_function.rb +1 -7
  24. data/lib/plurimath/math/function/ceil.rb +2 -2
  25. data/lib/plurimath/math/function/ddot.rb +1 -1
  26. data/lib/plurimath/math/function/dot.rb +2 -2
  27. data/lib/plurimath/math/function/fenced.rb +38 -22
  28. data/lib/plurimath/math/function/frac.rb +1 -1
  29. data/lib/plurimath/math/function/hat.rb +2 -2
  30. data/lib/plurimath/math/function/linebreak.rb +1 -1
  31. data/lib/plurimath/math/function/nary.rb +0 -7
  32. data/lib/plurimath/math/function/obrace.rb +2 -2
  33. data/lib/plurimath/math/function/overset.rb +15 -10
  34. data/lib/plurimath/math/function/power.rb +3 -8
  35. data/lib/plurimath/math/function/table/array.rb +9 -8
  36. data/lib/plurimath/math/function/table/bmatrix.rb +1 -1
  37. data/lib/plurimath/math/function/table/eqarray.rb +1 -1
  38. data/lib/plurimath/math/function/table/matrix.rb +3 -2
  39. data/lib/plurimath/math/function/table/vmatrix.rb +1 -1
  40. data/lib/plurimath/math/function/table.rb +33 -41
  41. data/lib/plurimath/math/function/ternary_function.rb +0 -6
  42. data/lib/plurimath/math/function/tilde.rb +2 -2
  43. data/lib/plurimath/math/function/tr.rb +7 -3
  44. data/lib/plurimath/math/function/ubrace.rb +2 -2
  45. data/lib/plurimath/math/function/ul.rb +2 -2
  46. data/lib/plurimath/math/function/underset.rb +17 -17
  47. data/lib/plurimath/math/function/vec.rb +2 -2
  48. data/lib/plurimath/math/symbols/aa.rb +41 -0
  49. data/lib/plurimath/math/symbols/ac.rb +41 -0
  50. data/lib/plurimath/math/symbols/accurrent.rb +41 -0
  51. data/lib/plurimath/math/symbols/acidfree.rb +41 -0
  52. data/lib/plurimath/math/symbols/acute.rb +41 -0
  53. data/lib/plurimath/math/symbols/acwcirclearrow.rb +41 -0
  54. data/lib/plurimath/math/symbols/acwgapcirclearrow.rb +41 -0
  55. data/lib/plurimath/math/symbols/acwleftarcarrow.rb +41 -0
  56. data/lib/plurimath/math/symbols/acwoverarcarrow.rb +41 -0
  57. data/lib/plurimath/math/symbols/acwunderarcarrow.rb +41 -0
  58. data/lib/plurimath/math/symbols/aleph.rb +41 -0
  59. data/lib/plurimath/math/symbols/alpha.rb +41 -0
  60. data/lib/plurimath/math/symbols/amalg.rb +41 -0
  61. data/lib/plurimath/math/symbols/ampersand.rb +41 -0
  62. data/lib/plurimath/math/symbols/anchor.rb +41 -0
  63. data/lib/plurimath/math/symbols/angdnr.rb +41 -0
  64. data/lib/plurimath/math/symbols/angle.rb +41 -0
  65. data/lib/plurimath/math/symbols/angles.rb +41 -0
  66. data/lib/plurimath/math/symbols/angleubar.rb +41 -0
  67. data/lib/plurimath/math/symbols/angmsd.rb +41 -0
  68. data/lib/plurimath/math/symbols/angrtvb.rb +41 -0
  69. data/lib/plurimath/math/symbols/angsph.rb +41 -0
  70. data/lib/plurimath/math/symbols/angstrom.rb +41 -0
  71. data/lib/plurimath/math/symbols/annuity.rb +41 -0
  72. data/lib/plurimath/math/symbols/aplboxquestion.rb +41 -0
  73. data/lib/plurimath/math/symbols/aplboxupcaret.rb +41 -0
  74. data/lib/plurimath/math/symbols/aplcomment.rb +41 -0
  75. data/lib/plurimath/math/symbols/apldownarrowbox.rb +41 -0
  76. data/lib/plurimath/math/symbols/aplinput.rb +41 -0
  77. data/lib/plurimath/math/symbols/aplinv.rb +41 -0
  78. data/lib/plurimath/math/symbols/aplleftarrowbox.rb +41 -0
  79. data/lib/plurimath/math/symbols/apllog.rb +41 -0
  80. data/lib/plurimath/math/symbols/aplrightarrowbox.rb +41 -0
  81. data/lib/plurimath/math/symbols/apluparrowbox.rb +41 -0
  82. data/lib/plurimath/math/symbols/apprge.rb +41 -0
  83. data/lib/plurimath/math/symbols/apprle.rb +41 -0
  84. data/lib/plurimath/math/symbols/approx.rb +41 -0
  85. data/lib/plurimath/math/symbols/approxeq.rb +41 -0
  86. data/lib/plurimath/math/symbols/approxeqq.rb +41 -0
  87. data/lib/plurimath/math/symbols/approxident.rb +41 -0
  88. data/lib/plurimath/math/symbols/aquarius.rb +41 -0
  89. data/lib/plurimath/math/symbols/arceq.rb +41 -0
  90. data/lib/plurimath/math/symbols/aries.rb +41 -0
  91. data/lib/plurimath/math/symbols/arrowbullet.rb +41 -0
  92. data/lib/plurimath/math/symbols/assert.rb +41 -0
  93. data/lib/plurimath/math/symbols/ast.rb +41 -0
  94. data/lib/plurimath/math/symbols/asteq.rb +41 -0
  95. data/lib/plurimath/math/symbols/asteraccent.rb +41 -0
  96. data/lib/plurimath/math/symbols/asymp.rb +41 -0
  97. data/lib/plurimath/math/symbols/atsign.rb +41 -0
  98. data/lib/plurimath/math/symbols/awint.rb +41 -0
  99. data/lib/plurimath/math/symbols/backcong.rb +41 -0
  100. data/lib/plurimath/math/symbols/backdprime.rb +41 -0
  101. data/lib/plurimath/math/symbols/backepsilon.rb +41 -0
  102. data/lib/plurimath/math/symbols/backprime.rb +41 -0
  103. data/lib/plurimath/math/symbols/backsim.rb +41 -0
  104. data/lib/plurimath/math/symbols/backsimeq.rb +41 -0
  105. data/lib/plurimath/math/symbols/backslash.rb +41 -0
  106. data/lib/plurimath/math/symbols/backtrprime.rb +41 -0
  107. data/lib/plurimath/math/symbols/bagmember.rb +41 -0
  108. data/lib/plurimath/math/symbols/ballotx.rb +41 -0
  109. data/lib/plurimath/math/symbols/bar.rb +41 -0
  110. data/lib/plurimath/math/symbols/barcap.rb +41 -0
  111. data/lib/plurimath/math/symbols/barcup.rb +41 -0
  112. data/lib/plurimath/math/symbols/barin.rb +41 -0
  113. data/lib/plurimath/math/symbols/barleftarrow.rb +41 -0
  114. data/lib/plurimath/math/symbols/barleftarrowrightarrowba.rb +41 -0
  115. data/lib/plurimath/math/symbols/barleftharpoon.rb +41 -0
  116. data/lib/plurimath/math/symbols/barovernorthwestarrow.rb +41 -0
  117. data/lib/plurimath/math/symbols/barrightarrowdiamond.rb +41 -0
  118. data/lib/plurimath/math/symbols/barrightharpoon.rb +41 -0
  119. data/lib/plurimath/math/symbols/baruparrow.rb +41 -0
  120. data/lib/plurimath/math/symbols/barv.rb +41 -0
  121. data/lib/plurimath/math/symbols/barvee.rb +41 -0
  122. data/lib/plurimath/math/symbols/barwedge.rb +41 -0
  123. data/lib/plurimath/math/symbols/bbrktbrk.rb +41 -0
  124. data/lib/plurimath/math/symbols/bdtriplevdash.rb +41 -0
  125. data/lib/plurimath/math/symbols/because.rb +41 -0
  126. data/lib/plurimath/math/symbols/benzenr.rb +41 -0
  127. data/lib/plurimath/math/symbols/beth.rb +41 -0
  128. data/lib/plurimath/math/symbols/between.rb +41 -0
  129. data/lib/plurimath/math/symbols/bigblacktriangledown.rb +41 -0
  130. data/lib/plurimath/math/symbols/bigblacktriangleup.rb +41 -0
  131. data/lib/plurimath/math/symbols/bigbot.rb +41 -0
  132. data/lib/plurimath/math/symbols/bigcupdot.rb +41 -0
  133. data/lib/plurimath/math/symbols/biginterleave.rb +41 -0
  134. data/lib/plurimath/math/symbols/bigodot.rb +41 -0
  135. data/lib/plurimath/math/symbols/bigoplus.rb +41 -0
  136. data/lib/plurimath/math/symbols/bigotimes.rb +41 -0
  137. data/lib/plurimath/math/symbols/bigslopedvee.rb +41 -0
  138. data/lib/plurimath/math/symbols/bigslopedwedge.rb +41 -0
  139. data/lib/plurimath/math/symbols/bigsqcap.rb +41 -0
  140. data/lib/plurimath/math/symbols/bigsqcup.rb +41 -0
  141. data/lib/plurimath/math/symbols/bigstar.rb +41 -0
  142. data/lib/plurimath/math/symbols/bigtalloblong.rb +41 -0
  143. data/lib/plurimath/math/symbols/bigtop.rb +41 -0
  144. data/lib/plurimath/math/symbols/bigtriangledown.rb +41 -0
  145. data/lib/plurimath/math/symbols/bigtriangleleft.rb +41 -0
  146. data/lib/plurimath/math/symbols/bigtriangleup.rb +41 -0
  147. data/lib/plurimath/math/symbols/biguplus.rb +41 -0
  148. data/lib/plurimath/math/symbols/bigwedge.rb +41 -0
  149. data/lib/plurimath/math/symbols/bigwhitestar.rb +41 -0
  150. data/lib/plurimath/math/symbols/bij.rb +41 -0
  151. data/lib/plurimath/math/symbols/biohazard.rb +41 -0
  152. data/lib/plurimath/math/symbols/blackcircledownarrow.rb +41 -0
  153. data/lib/plurimath/math/symbols/blackcircledrightdot.rb +41 -0
  154. data/lib/plurimath/math/symbols/blackcircledtwodots.rb +41 -0
  155. data/lib/plurimath/math/symbols/blackcircleulquadwhite.rb +41 -0
  156. data/lib/plurimath/math/symbols/blackdiamonddownarrow.rb +41 -0
  157. data/lib/plurimath/math/symbols/blackhourglass.rb +41 -0
  158. data/lib/plurimath/math/symbols/blackinwhitediamond.rb +41 -0
  159. data/lib/plurimath/math/symbols/blackinwhitesquare.rb +41 -0
  160. data/lib/plurimath/math/symbols/blacklozenge.rb +41 -0
  161. data/lib/plurimath/math/symbols/blackpointerleft.rb +41 -0
  162. data/lib/plurimath/math/symbols/blackpointerright.rb +41 -0
  163. data/lib/plurimath/math/symbols/blacksmiley.rb +41 -0
  164. data/lib/plurimath/math/symbols/blacktriangle.rb +41 -0
  165. data/lib/plurimath/math/symbols/blacktriangledown.rb +41 -0
  166. data/lib/plurimath/math/symbols/blkhorzoval.rb +41 -0
  167. data/lib/plurimath/math/symbols/blkvertoval.rb +41 -0
  168. data/lib/plurimath/math/symbols/blockfull.rb +41 -0
  169. data/lib/plurimath/math/symbols/blockhalfshaded.rb +41 -0
  170. data/lib/plurimath/math/symbols/blocklefthalf.rb +41 -0
  171. data/lib/plurimath/math/symbols/blocklowhalf.rb +41 -0
  172. data/lib/plurimath/math/symbols/blockqtrshaded.rb +41 -0
  173. data/lib/plurimath/math/symbols/blockrighthalf.rb +41 -0
  174. data/lib/plurimath/math/symbols/blockthreeqtrshaded.rb +41 -0
  175. data/lib/plurimath/math/symbols/blockuphalf.rb +41 -0
  176. data/lib/plurimath/math/symbols/bnot.rb +41 -0
  177. data/lib/plurimath/math/symbols/bot.rb +41 -0
  178. data/lib/plurimath/math/symbols/botsemicircle.rb +41 -0
  179. data/lib/plurimath/math/symbols/bowtie.rb +41 -0
  180. data/lib/plurimath/math/symbols/box.rb +41 -0
  181. data/lib/plurimath/math/symbols/boxast.rb +41 -0
  182. data/lib/plurimath/math/symbols/boxbar.rb +41 -0
  183. data/lib/plurimath/math/symbols/boxbox.rb +41 -0
  184. data/lib/plurimath/math/symbols/boxbslash.rb +41 -0
  185. data/lib/plurimath/math/symbols/boxcircle.rb +41 -0
  186. data/lib/plurimath/math/symbols/boxdiag.rb +41 -0
  187. data/lib/plurimath/math/symbols/boxdot.rb +41 -0
  188. data/lib/plurimath/math/symbols/boxminus.rb +41 -0
  189. data/lib/plurimath/math/symbols/boxonbox.rb +41 -0
  190. data/lib/plurimath/math/symbols/boxplus.rb +41 -0
  191. data/lib/plurimath/math/symbols/boxtimes.rb +41 -0
  192. data/lib/plurimath/math/symbols/breve.rb +41 -0
  193. data/lib/plurimath/math/symbols/bsimilarleftarrow.rb +41 -0
  194. data/lib/plurimath/math/symbols/bsimilarrightarrow.rb +41 -0
  195. data/lib/plurimath/math/symbols/bsolhsub.rb +41 -0
  196. data/lib/plurimath/math/symbols/btimes.rb +41 -0
  197. data/lib/plurimath/math/symbols/bullet.rb +41 -0
  198. data/lib/plurimath/math/symbols/bullseye.rb +41 -0
  199. data/lib/plurimath/math/symbols/bumpeq.rb +41 -0
  200. data/lib/plurimath/math/symbols/bumpeqq.rb +41 -0
  201. data/lib/plurimath/math/symbols/buni.rb +41 -0
  202. data/lib/plurimath/math/symbols/cancer.rb +41 -0
  203. data/lib/plurimath/math/symbols/candra.rb +41 -0
  204. data/lib/plurimath/math/symbols/cap.rb +45 -0
  205. data/lib/plurimath/math/symbols/capbarcup.rb +41 -0
  206. data/lib/plurimath/math/symbols/capdot.rb +41 -0
  207. data/lib/plurimath/math/symbols/capovercup.rb +41 -0
  208. data/lib/plurimath/math/symbols/capricornus.rb +41 -0
  209. data/lib/plurimath/math/symbols/capwedge.rb +41 -0
  210. data/lib/plurimath/math/symbols/caretinsert.rb +41 -0
  211. data/lib/plurimath/math/symbols/carriagereturn.rb +41 -0
  212. data/lib/plurimath/math/symbols/cat.rb +41 -0
  213. data/lib/plurimath/math/symbols/cc.rb +41 -0
  214. data/lib/plurimath/math/symbols/ccwundercurvearrow.rb +41 -0
  215. data/lib/plurimath/math/symbols/cdot.rb +41 -0
  216. data/lib/plurimath/math/symbols/cdotp.rb +41 -0
  217. data/lib/plurimath/math/symbols/cdots.rb +41 -0
  218. data/lib/plurimath/math/symbols/cent.rb +41 -0
  219. data/lib/plurimath/math/symbols/check.rb +41 -0
  220. data/lib/plurimath/math/symbols/checkedbox.rb +41 -0
  221. data/lib/plurimath/math/symbols/checkmark.rb +41 -0
  222. data/lib/plurimath/math/symbols/chi.rb +41 -0
  223. data/lib/plurimath/math/symbols/cirbot.rb +41 -0
  224. data/lib/plurimath/math/symbols/circ.rb +41 -0
  225. data/lib/plurimath/math/symbols/circeq.rb +41 -0
  226. data/lib/plurimath/math/symbols/circle.rb +41 -0
  227. data/lib/plurimath/math/symbols/circlebottomhalfblack.rb +41 -0
  228. data/lib/plurimath/math/symbols/circledbullet.rb +41 -0
  229. data/lib/plurimath/math/symbols/circledgtr.rb +41 -0
  230. data/lib/plurimath/math/symbols/circledownarrow.rb +41 -0
  231. data/lib/plurimath/math/symbols/circledparallel.rb +41 -0
  232. data/lib/plurimath/math/symbols/circledr.rb +41 -0
  233. data/lib/plurimath/math/symbols/circledrightdot.rb +41 -0
  234. data/lib/plurimath/math/symbols/circledstar.rb +41 -0
  235. data/lib/plurimath/math/symbols/circledtwodots.rb +41 -0
  236. data/lib/plurimath/math/symbols/circledvert.rb +41 -0
  237. data/lib/plurimath/math/symbols/circledwhitebullet.rb +41 -0
  238. data/lib/plurimath/math/symbols/circlehbar.rb +41 -0
  239. data/lib/plurimath/math/symbols/circlellquad.rb +41 -0
  240. data/lib/plurimath/math/symbols/circlelrquad.rb +41 -0
  241. data/lib/plurimath/math/symbols/circleonleftarrow.rb +41 -0
  242. data/lib/plurimath/math/symbols/circleonrightarrow.rb +41 -0
  243. data/lib/plurimath/math/symbols/circletophalfblack.rb +41 -0
  244. data/lib/plurimath/math/symbols/circleulquad.rb +41 -0
  245. data/lib/plurimath/math/symbols/circleurquad.rb +41 -0
  246. data/lib/plurimath/math/symbols/circleurquadblack.rb +41 -0
  247. data/lib/plurimath/math/symbols/circlevertfill.rb +41 -0
  248. data/lib/plurimath/math/symbols/cire.rb +41 -0
  249. data/lib/plurimath/math/symbols/cirfnint.rb +41 -0
  250. data/lib/plurimath/math/symbols/cirmid.rb +41 -0
  251. data/lib/plurimath/math/symbols/cirscir.rb +41 -0
  252. data/lib/plurimath/math/symbols/clockoint.rb +45 -0
  253. data/lib/plurimath/math/symbols/closedvarcap.rb +41 -0
  254. data/lib/plurimath/math/symbols/closedvarcup.rb +41 -0
  255. data/lib/plurimath/math/symbols/closedvarcupsmashprod.rb +41 -0
  256. data/lib/plurimath/math/symbols/closure.rb +41 -0
  257. data/lib/plurimath/math/symbols/clubsuit.rb +41 -0
  258. data/lib/plurimath/math/symbols/cntclockoint.rb +45 -0
  259. data/lib/plurimath/math/symbols/colon.rb +41 -0
  260. data/lib/plurimath/math/symbols/coloneq.rb +41 -0
  261. data/lib/plurimath/math/symbols/comma.rb +41 -0
  262. data/lib/plurimath/math/symbols/commaminus.rb +41 -0
  263. data/lib/plurimath/math/symbols/comp.rb +41 -0
  264. data/lib/plurimath/math/symbols/complement.rb +41 -0
  265. data/lib/plurimath/math/symbols/concavediamond.rb +41 -0
  266. data/lib/plurimath/math/symbols/concavediamondtickleft.rb +41 -0
  267. data/lib/plurimath/math/symbols/concavediamondtickright.rb +41 -0
  268. data/lib/plurimath/math/symbols/cong.rb +41 -0
  269. data/lib/plurimath/math/symbols/congdot.rb +41 -0
  270. data/lib/plurimath/math/symbols/conictaper.rb +41 -0
  271. data/lib/plurimath/math/symbols/conjquant.rb +41 -0
  272. data/lib/plurimath/math/symbols/coprod.rb +45 -0
  273. data/lib/plurimath/math/symbols/csub.rb +41 -0
  274. data/lib/plurimath/math/symbols/csube.rb +41 -0
  275. data/lib/plurimath/math/symbols/csup.rb +41 -0
  276. data/lib/plurimath/math/symbols/csupe.rb +41 -0
  277. data/lib/plurimath/math/symbols/cuberoot.rb +41 -0
  278. data/lib/plurimath/math/symbols/cup.rb +41 -0
  279. data/lib/plurimath/math/symbols/cupbarcap.rb +41 -0
  280. data/lib/plurimath/math/symbols/cupdot.rb +41 -0
  281. data/lib/plurimath/math/symbols/cupleftarrow.rb +41 -0
  282. data/lib/plurimath/math/symbols/cupovercap.rb +41 -0
  283. data/lib/plurimath/math/symbols/cupvee.rb +41 -0
  284. data/lib/plurimath/math/symbols/curlyeqprec.rb +41 -0
  285. data/lib/plurimath/math/symbols/curlyeqsucc.rb +41 -0
  286. data/lib/plurimath/math/symbols/curlyvee.rb +41 -0
  287. data/lib/plurimath/math/symbols/curlywedge.rb +41 -0
  288. data/lib/plurimath/math/symbols/curvearrowleftplus.rb +41 -0
  289. data/lib/plurimath/math/symbols/curvearrowright.rb +41 -0
  290. data/lib/plurimath/math/symbols/curvearrowrightminus.rb +41 -0
  291. data/lib/plurimath/math/symbols/cwcirclearrow.rb +41 -0
  292. data/lib/plurimath/math/symbols/cwgapcirclearrow.rb +41 -0
  293. data/lib/plurimath/math/symbols/cwrightarcarrow.rb +41 -0
  294. data/lib/plurimath/math/symbols/cwundercurvearrow.rb +41 -0
  295. data/lib/plurimath/math/symbols/dag.rb +41 -0
  296. data/lib/plurimath/math/symbols/daleth.rb +41 -0
  297. data/lib/plurimath/math/symbols/danger.rb +41 -0
  298. data/lib/plurimath/math/symbols/darr.rb +41 -0
  299. data/lib/plurimath/math/symbols/dasharrow.rb +41 -0
  300. data/lib/plurimath/math/symbols/dasharrowright.rb +41 -0
  301. data/lib/plurimath/math/symbols/dashv.rb +41 -0
  302. data/lib/plurimath/math/symbols/dashvdash.rb +41 -0
  303. data/lib/plurimath/math/symbols/dbkarow.rb +41 -0
  304. data/lib/plurimath/math/symbols/dd.rb +41 -0
  305. data/lib/plurimath/math/symbols/ddag.rb +41 -0
  306. data/lib/plurimath/math/symbols/ddddot.rb +41 -0
  307. data/lib/plurimath/math/symbols/dddot.rb +41 -0
  308. data/lib/plurimath/math/symbols/ddot.rb +41 -0
  309. data/lib/plurimath/math/symbols/ddots.rb +41 -0
  310. data/lib/plurimath/math/symbols/ddotseq.rb +41 -0
  311. data/lib/plurimath/math/symbols/ddownarrow.rb +41 -0
  312. data/lib/plurimath/math/symbols/degc.rb +41 -0
  313. data/lib/plurimath/math/symbols/degf.rb +41 -0
  314. data/lib/plurimath/math/symbols/degree.rb +41 -0
  315. data/lib/plurimath/math/symbols/del.rb +41 -0
  316. data/lib/plurimath/math/symbols/delta.rb +41 -0
  317. data/lib/plurimath/math/symbols/deltaeq.rb +41 -0
  318. data/lib/plurimath/math/symbols/diameter.rb +41 -0
  319. data/lib/plurimath/math/symbols/diamond.rb +41 -0
  320. data/lib/plurimath/math/symbols/diamondblack.rb +41 -0
  321. data/lib/plurimath/math/symbols/diamondbotblack.rb +41 -0
  322. data/lib/plurimath/math/symbols/diamonddot.rb +41 -0
  323. data/lib/plurimath/math/symbols/diamondleftarrow.rb +41 -0
  324. data/lib/plurimath/math/symbols/diamondleftarrowbar.rb +41 -0
  325. data/lib/plurimath/math/symbols/diamondleftblack.rb +41 -0
  326. data/lib/plurimath/math/symbols/diamondrightblack.rb +41 -0
  327. data/lib/plurimath/math/symbols/diamondtopblack.rb +41 -0
  328. data/lib/plurimath/math/symbols/dicei.rb +41 -0
  329. data/lib/plurimath/math/symbols/diceii.rb +41 -0
  330. data/lib/plurimath/math/symbols/diceiii.rb +41 -0
  331. data/lib/plurimath/math/symbols/diceiv.rb +41 -0
  332. data/lib/plurimath/math/symbols/dicev.rb +41 -0
  333. data/lib/plurimath/math/symbols/dicevi.rb +41 -0
  334. data/lib/plurimath/math/symbols/digamma.rb +41 -0
  335. data/lib/plurimath/math/symbols/dingasterisk.rb +41 -0
  336. data/lib/plurimath/math/symbols/dint.rb +41 -0
  337. data/lib/plurimath/math/symbols/disin.rb +41 -0
  338. data/lib/plurimath/math/symbols/disjquant.rb +41 -0
  339. data/lib/plurimath/math/symbols/div.rb +41 -0
  340. data/lib/plurimath/math/symbols/divideontimes.rb +41 -0
  341. data/lib/plurimath/math/symbols/dot.rb +41 -0
  342. data/lib/plurimath/math/symbols/doteq.rb +41 -0
  343. data/lib/plurimath/math/symbols/dotequiv.rb +41 -0
  344. data/lib/plurimath/math/symbols/dotminus.rb +41 -0
  345. data/lib/plurimath/math/symbols/dotplus.rb +41 -0
  346. data/lib/plurimath/math/symbols/dots.rb +41 -0
  347. data/lib/plurimath/math/symbols/dotsim.rb +41 -0
  348. data/lib/plurimath/math/symbols/dotsminusdots.rb +41 -0
  349. data/lib/plurimath/math/symbols/dottedcircle.rb +41 -0
  350. data/lib/plurimath/math/symbols/dottedsquare.rb +41 -0
  351. data/lib/plurimath/math/symbols/dottimes.rb +41 -0
  352. data/lib/plurimath/math/symbols/doublebarvee.rb +41 -0
  353. data/lib/plurimath/math/symbols/doublebarwedge.rb +41 -0
  354. data/lib/plurimath/math/symbols/doubleplus.rb +41 -0
  355. data/lib/plurimath/math/symbols/downarrow.rb +41 -0
  356. data/lib/plurimath/math/symbols/downarrowbar.rb +41 -0
  357. data/lib/plurimath/math/symbols/downarrowbarred.rb +41 -0
  358. data/lib/plurimath/math/symbols/downarrows.rb +41 -0
  359. data/lib/plurimath/math/symbols/downdasharrow.rb +41 -0
  360. data/lib/plurimath/math/symbols/downdownharpoons.rb +41 -0
  361. data/lib/plurimath/math/symbols/downfishtail.rb +41 -0
  362. data/lib/plurimath/math/symbols/downharpoonleft.rb +41 -0
  363. data/lib/plurimath/math/symbols/downharpoonright.rb +41 -0
  364. data/lib/plurimath/math/symbols/downleftteevector.rb +41 -0
  365. data/lib/plurimath/math/symbols/downleftvectorbar.rb +41 -0
  366. data/lib/plurimath/math/symbols/downrightcurvedarrow.rb +41 -0
  367. data/lib/plurimath/math/symbols/downrightteevector.rb +41 -0
  368. data/lib/plurimath/math/symbols/downrightvectorbar.rb +41 -0
  369. data/lib/plurimath/math/symbols/downtriangleleftblack.rb +41 -0
  370. data/lib/plurimath/math/symbols/downtrianglerightblack.rb +41 -0
  371. data/lib/plurimath/math/symbols/downuparrows.rb +41 -0
  372. data/lib/plurimath/math/symbols/downupharpoons.rb +41 -0
  373. data/lib/plurimath/math/symbols/downwhitearrow.rb +41 -0
  374. data/lib/plurimath/math/symbols/dprime.rb +41 -0
  375. data/lib/plurimath/math/symbols/draftingarrow.rb +41 -0
  376. data/lib/plurimath/math/symbols/drbkarow.rb +41 -0
  377. data/lib/plurimath/math/symbols/droang.rb +41 -0
  378. data/lib/plurimath/math/symbols/dsol.rb +41 -0
  379. data/lib/plurimath/math/symbols/dsub.rb +41 -0
  380. data/lib/plurimath/math/symbols/dualmap.rb +41 -0
  381. data/lib/plurimath/math/symbols/duni.rb +41 -0
  382. data/lib/plurimath/math/symbols/earth.rb +41 -0
  383. data/lib/plurimath/math/symbols/ee.rb +41 -0
  384. data/lib/plurimath/math/symbols/egsdot.rb +41 -0
  385. data/lib/plurimath/math/symbols/eighthnote.rb +41 -0
  386. data/lib/plurimath/math/symbols/elinters.rb +41 -0
  387. data/lib/plurimath/math/symbols/ell.rb +41 -0
  388. data/lib/plurimath/math/symbols/elsdot.rb +41 -0
  389. data/lib/plurimath/math/symbols/emptyset.rb +41 -0
  390. data/lib/plurimath/math/symbols/emptysetoarr.rb +41 -0
  391. data/lib/plurimath/math/symbols/emptysetoarrl.rb +41 -0
  392. data/lib/plurimath/math/symbols/emptysetobar.rb +41 -0
  393. data/lib/plurimath/math/symbols/emptysetocirc.rb +41 -0
  394. data/lib/plurimath/math/symbols/enclosecircle.rb +41 -0
  395. data/lib/plurimath/math/symbols/enclosediamond.rb +41 -0
  396. data/lib/plurimath/math/symbols/enclosesquare.rb +41 -0
  397. data/lib/plurimath/math/symbols/enclosetriangle.rb +41 -0
  398. data/lib/plurimath/math/symbols/enleadertwodots.rb +41 -0
  399. data/lib/plurimath/math/symbols/epar.rb +41 -0
  400. data/lib/plurimath/math/symbols/eparsl.rb +41 -0
  401. data/lib/plurimath/math/symbols/epsilon.rb +41 -0
  402. data/lib/plurimath/math/symbols/eqcirc.rb +41 -0
  403. data/lib/plurimath/math/symbols/eqcolon.rb +41 -0
  404. data/lib/plurimath/math/symbols/eqdef.rb +41 -0
  405. data/lib/plurimath/math/symbols/eqdot.rb +41 -0
  406. data/lib/plurimath/math/symbols/eqeq.rb +41 -0
  407. data/lib/plurimath/math/symbols/eqgtr.rb +41 -0
  408. data/lib/plurimath/math/symbols/eqless.rb +41 -0
  409. data/lib/plurimath/math/symbols/eqno.rb +41 -0
  410. data/lib/plurimath/math/symbols/eqqcolon.rb +41 -0
  411. data/lib/plurimath/math/symbols/eqqgtr.rb +41 -0
  412. data/lib/plurimath/math/symbols/eqqless.rb +41 -0
  413. data/lib/plurimath/math/symbols/eqqplus.rb +41 -0
  414. data/lib/plurimath/math/symbols/eqqsim.rb +41 -0
  415. data/lib/plurimath/math/symbols/eqqslantgtr.rb +41 -0
  416. data/lib/plurimath/math/symbols/eqqslantless.rb +41 -0
  417. data/lib/plurimath/math/symbols/eqsim.rb +41 -0
  418. data/lib/plurimath/math/symbols/eqslantgtr.rb +41 -0
  419. data/lib/plurimath/math/symbols/eqslantless.rb +41 -0
  420. data/lib/plurimath/math/symbols/equal.rb +41 -0
  421. data/lib/plurimath/math/symbols/equalleftarrow.rb +41 -0
  422. data/lib/plurimath/math/symbols/equalrightarrow.rb +41 -0
  423. data/lib/plurimath/math/symbols/equiv.rb +41 -0
  424. data/lib/plurimath/math/symbols/equivdd.rb +41 -0
  425. data/lib/plurimath/math/symbols/equivvert.rb +41 -0
  426. data/lib/plurimath/math/symbols/equivvvert.rb +41 -0
  427. data/lib/plurimath/math/symbols/eqvparsl.rb +41 -0
  428. data/lib/plurimath/math/symbols/errbarblackcircle.rb +41 -0
  429. data/lib/plurimath/math/symbols/errbarblackdiamond.rb +41 -0
  430. data/lib/plurimath/math/symbols/errbarblacksquare.rb +41 -0
  431. data/lib/plurimath/math/symbols/errbarcircle.rb +41 -0
  432. data/lib/plurimath/math/symbols/errbardiamond.rb +41 -0
  433. data/lib/plurimath/math/symbols/errbarsquare.rb +41 -0
  434. data/lib/plurimath/math/symbols/eta.rb +41 -0
  435. data/lib/plurimath/math/symbols/eth.rb +41 -0
  436. data/lib/plurimath/math/symbols/euler.rb +41 -0
  437. data/lib/plurimath/math/symbols/euro.rb +41 -0
  438. data/lib/plurimath/math/symbols/exclam.rb +41 -0
  439. data/lib/plurimath/math/symbols/exi.rb +41 -0
  440. data/lib/plurimath/math/symbols/exists.rb +41 -0
  441. data/lib/plurimath/math/symbols/fallingdotseq.rb +41 -0
  442. data/lib/plurimath/math/symbols/fbowtie.rb +41 -0
  443. data/lib/plurimath/math/symbols/fdiagovnearrow.rb +41 -0
  444. data/lib/plurimath/math/symbols/fdiagovrdiag.rb +41 -0
  445. data/lib/plurimath/math/symbols/ffun.rb +41 -0
  446. data/lib/plurimath/math/symbols/finj.rb +41 -0
  447. data/lib/plurimath/math/symbols/fint.rb +41 -0
  448. data/lib/plurimath/math/symbols/finv.rb +41 -0
  449. data/lib/plurimath/math/symbols/fisheye.rb +41 -0
  450. data/lib/plurimath/math/symbols/flat.rb +41 -0
  451. data/lib/plurimath/math/symbols/fltns.rb +41 -0
  452. data/lib/plurimath/math/symbols/forall.rb +41 -0
  453. data/lib/plurimath/math/symbols/forks.rb +41 -0
  454. data/lib/plurimath/math/symbols/forksnot.rb +41 -0
  455. data/lib/plurimath/math/symbols/forkv.rb +41 -0
  456. data/lib/plurimath/math/symbols/fourthroot.rb +41 -0
  457. data/lib/plurimath/math/symbols/fourvdots.rb +41 -0
  458. data/lib/plurimath/math/symbols/fracslash.rb +41 -0
  459. data/lib/plurimath/math/symbols/frown.rb +41 -0
  460. data/lib/plurimath/math/symbols/fullouterjoin.rb +41 -0
  461. data/lib/plurimath/math/symbols/funcapply.rb +41 -0
  462. data/lib/plurimath/math/symbols/game.rb +41 -0
  463. data/lib/plurimath/math/symbols/gamma.rb +41 -0
  464. data/lib/plurimath/math/symbols/ge.rb +41 -0
  465. data/lib/plurimath/math/symbols/gemini.rb +41 -0
  466. data/lib/plurimath/math/symbols/geq.rb +41 -0
  467. data/lib/plurimath/math/symbols/geqq.rb +41 -0
  468. data/lib/plurimath/math/symbols/geqqslant.rb +41 -0
  469. data/lib/plurimath/math/symbols/geqslant.rb +41 -0
  470. data/lib/plurimath/math/symbols/gescc.rb +41 -0
  471. data/lib/plurimath/math/symbols/gesdot.rb +41 -0
  472. data/lib/plurimath/math/symbols/gesdoto.rb +41 -0
  473. data/lib/plurimath/math/symbols/gesdotol.rb +41 -0
  474. data/lib/plurimath/math/symbols/gesles.rb +41 -0
  475. data/lib/plurimath/math/symbols/gets.rb +41 -0
  476. data/lib/plurimath/math/symbols/gg.rb +41 -0
  477. data/lib/plurimath/math/symbols/ggg.rb +41 -0
  478. data/lib/plurimath/math/symbols/gggnest.rb +41 -0
  479. data/lib/plurimath/math/symbols/gimel.rb +41 -0
  480. data/lib/plurimath/math/symbols/gla.rb +41 -0
  481. data/lib/plurimath/math/symbols/gle.rb +41 -0
  482. data/lib/plurimath/math/symbols/gleichstark.rb +41 -0
  483. data/lib/plurimath/math/symbols/glj.rb +41 -0
  484. data/lib/plurimath/math/symbols/gnapprox.rb +41 -0
  485. data/lib/plurimath/math/symbols/gneq.rb +41 -0
  486. data/lib/plurimath/math/symbols/gneqq.rb +41 -0
  487. data/lib/plurimath/math/symbols/gnsim.rb +41 -0
  488. data/lib/plurimath/math/symbols/grad.rb +41 -0
  489. data/lib/plurimath/math/symbols/grave.rb +41 -0
  490. data/lib/plurimath/math/symbols/greater.rb +41 -0
  491. data/lib/plurimath/math/symbols/gsime.rb +41 -0
  492. data/lib/plurimath/math/symbols/gsiml.rb +41 -0
  493. data/lib/plurimath/math/symbols/gt.rb +41 -0
  494. data/lib/plurimath/math/symbols/gtcc.rb +41 -0
  495. data/lib/plurimath/math/symbols/gtcir.rb +41 -0
  496. data/lib/plurimath/math/symbols/gtlpar.rb +41 -0
  497. data/lib/plurimath/math/symbols/gtquest.rb +41 -0
  498. data/lib/plurimath/math/symbols/gtrapprox.rb +41 -0
  499. data/lib/plurimath/math/symbols/gtrarr.rb +41 -0
  500. data/lib/plurimath/math/symbols/gtrdot.rb +41 -0
  501. data/lib/plurimath/math/symbols/gtreqless.rb +41 -0
  502. data/lib/plurimath/math/symbols/gtreqqless.rb +41 -0
  503. data/lib/plurimath/math/symbols/gtrless.rb +41 -0
  504. data/lib/plurimath/math/symbols/harr.rb +41 -0
  505. data/lib/plurimath/math/symbols/hash.rb +41 -0
  506. data/lib/plurimath/math/symbols/hat.rb +41 -0
  507. data/lib/plurimath/math/symbols/hatapprox.rb +41 -0
  508. data/lib/plurimath/math/symbols/hbar.rb +41 -0
  509. data/lib/plurimath/math/symbols/hearsuit.rb +41 -0
  510. data/lib/plurimath/math/symbols/hermaphrodite.rb +41 -0
  511. data/lib/plurimath/math/symbols/hermitmatrix.rb +41 -0
  512. data/lib/plurimath/math/symbols/hexagon.rb +41 -0
  513. data/lib/plurimath/math/symbols/hexagonblack.rb +41 -0
  514. data/lib/plurimath/math/symbols/hide.rb +41 -0
  515. data/lib/plurimath/math/symbols/hknearrow.rb +41 -0
  516. data/lib/plurimath/math/symbols/hknwarrow.rb +41 -0
  517. data/lib/plurimath/math/symbols/hksearow.rb +41 -0
  518. data/lib/plurimath/math/symbols/hkswarow.rb +41 -0
  519. data/lib/plurimath/math/symbols/hline.rb +41 -0
  520. data/lib/plurimath/math/symbols/hookleftarrow.rb +41 -0
  521. data/lib/plurimath/math/symbols/hookrightarrow.rb +41 -0
  522. data/lib/plurimath/math/symbols/horizbar.rb +41 -0
  523. data/lib/plurimath/math/symbols/hourglass.rb +41 -0
  524. data/lib/plurimath/math/symbols/house.rb +41 -0
  525. data/lib/plurimath/math/symbols/hrectangle.rb +41 -0
  526. data/lib/plurimath/math/symbols/hrectangleblack.rb +41 -0
  527. data/lib/plurimath/math/symbols/hyphenbullet.rb +41 -0
  528. data/lib/plurimath/math/symbols/hzigzag.rb +41 -0
  529. data/lib/plurimath/math/symbols/if.rb +41 -0
  530. data/lib/plurimath/math/symbols/iff.rb +41 -0
  531. data/lib/plurimath/math/symbols/ii.rb +41 -0
  532. data/lib/plurimath/math/symbols/iiiint.rb +41 -0
  533. data/lib/plurimath/math/symbols/iiint.rb +45 -0
  534. data/lib/plurimath/math/symbols/iinfin.rb +41 -0
  535. data/lib/plurimath/math/symbols/iint.rb +45 -0
  536. data/lib/plurimath/math/symbols/im.rb +41 -0
  537. data/lib/plurimath/math/symbols/imageof.rb +41 -0
  538. data/lib/plurimath/math/symbols/imath.rb +41 -0
  539. data/lib/plurimath/math/symbols/impliedby.rb +41 -0
  540. data/lib/plurimath/math/symbols/in.rb +41 -0
  541. data/lib/plurimath/math/symbols/inc.rb +41 -0
  542. data/lib/plurimath/math/symbols/int.rb +41 -0
  543. data/lib/plurimath/math/symbols/intbar.rb +41 -0
  544. data/lib/plurimath/math/symbols/intbottom.rb +41 -0
  545. data/lib/plurimath/math/symbols/intcap.rb +41 -0
  546. data/lib/plurimath/math/symbols/intclockwise.rb +45 -0
  547. data/lib/plurimath/math/symbols/intcup.rb +41 -0
  548. data/lib/plurimath/math/symbols/intercal.rb +41 -0
  549. data/lib/plurimath/math/symbols/interleave.rb +41 -0
  550. data/lib/plurimath/math/symbols/intextender.rb +41 -0
  551. data/lib/plurimath/math/symbols/intlarhk.rb +41 -0
  552. data/lib/plurimath/math/symbols/intprod.rb +41 -0
  553. data/lib/plurimath/math/symbols/intprodr.rb +41 -0
  554. data/lib/plurimath/math/symbols/inttop.rb +41 -0
  555. data/lib/plurimath/math/symbols/intx.rb +41 -0
  556. data/lib/plurimath/math/symbols/invdiameter.rb +41 -0
  557. data/lib/plurimath/math/symbols/inversebullet.rb +41 -0
  558. data/lib/plurimath/math/symbols/inversewhitecircle.rb +41 -0
  559. data/lib/plurimath/math/symbols/invlazys.rb +41 -0
  560. data/lib/plurimath/math/symbols/invnot.rb +41 -0
  561. data/lib/plurimath/math/symbols/invwhitelowerhalfcircle.rb +41 -0
  562. data/lib/plurimath/math/symbols/invwhiteupperhalfcircle.rb +41 -0
  563. data/lib/plurimath/math/symbols/iota.rb +41 -0
  564. data/lib/plurimath/math/symbols/isindot.rb +41 -0
  565. data/lib/plurimath/math/symbols/isine.rb +41 -0
  566. data/lib/plurimath/math/symbols/isinobar.rb +41 -0
  567. data/lib/plurimath/math/symbols/isins.rb +41 -0
  568. data/lib/plurimath/math/symbols/isinvb.rb +41 -0
  569. data/lib/plurimath/math/symbols/jj.rb +41 -0
  570. data/lib/plurimath/math/symbols/jmath.rb +41 -0
  571. data/lib/plurimath/math/symbols/join.rb +41 -0
  572. data/lib/plurimath/math/symbols/jupiter.rb +41 -0
  573. data/lib/plurimath/math/symbols/kappa.rb +41 -0
  574. data/lib/plurimath/math/symbols/kernelcontraction.rb +41 -0
  575. data/lib/plurimath/math/symbols/koppa.rb +41 -0
  576. data/lib/plurimath/math/symbols/lambda.rb +41 -0
  577. data/lib/plurimath/math/symbols/land.rb +41 -0
  578. data/lib/plurimath/math/symbols/lang.rb +41 -0
  579. data/lib/plurimath/math/symbols/langledot.rb +41 -0
  580. data/lib/plurimath/math/symbols/laplac.rb +41 -0
  581. data/lib/plurimath/math/symbols/larr.rb +41 -0
  582. data/lib/plurimath/math/symbols/lat.rb +41 -0
  583. data/lib/plurimath/math/symbols/late.rb +41 -0
  584. data/lib/plurimath/math/symbols/lbag.rb +41 -0
  585. data/lib/plurimath/math/symbols/lblkbrbrak.rb +41 -0
  586. data/lib/plurimath/math/symbols/lblot.rb +41 -0
  587. data/lib/plurimath/math/symbols/lbracelend.rb +41 -0
  588. data/lib/plurimath/math/symbols/lbracemid.rb +41 -0
  589. data/lib/plurimath/math/symbols/lbraceuend.rb +41 -0
  590. data/lib/plurimath/math/symbols/lbrackextender.rb +41 -0
  591. data/lib/plurimath/math/symbols/lbracklend.rb +41 -0
  592. data/lib/plurimath/math/symbols/lbracklltick.rb +41 -0
  593. data/lib/plurimath/math/symbols/lbrackubar.rb +41 -0
  594. data/lib/plurimath/math/symbols/lbrackuend.rb +41 -0
  595. data/lib/plurimath/math/symbols/lbrackultick.rb +41 -0
  596. data/lib/plurimath/math/symbols/lbrbrak.rb +41 -0
  597. data/lib/plurimath/math/symbols/lcurvyangle.rb +41 -0
  598. data/lib/plurimath/math/symbols/ldsh.rb +41 -0
  599. data/lib/plurimath/math/symbols/le.rb +41 -0
  600. data/lib/plurimath/math/symbols/leadsto.rb +41 -0
  601. data/lib/plurimath/math/symbols/leftarrow.rb +41 -0
  602. data/lib/plurimath/math/symbols/leftarrowapprox.rb +41 -0
  603. data/lib/plurimath/math/symbols/leftarrowbackapprox.rb +41 -0
  604. data/lib/plurimath/math/symbols/leftarrowbsimilar.rb +41 -0
  605. data/lib/plurimath/math/symbols/leftarrowless.rb +41 -0
  606. data/lib/plurimath/math/symbols/leftarrowonoplus.rb +41 -0
  607. data/lib/plurimath/math/symbols/leftarrowplus.rb +41 -0
  608. data/lib/plurimath/math/symbols/leftarrowshortrightarrow.rb +41 -0
  609. data/lib/plurimath/math/symbols/leftarrowsimilar.rb +41 -0
  610. data/lib/plurimath/math/symbols/leftarrowsubset.rb +41 -0
  611. data/lib/plurimath/math/symbols/leftarrowtail.rb +41 -0
  612. data/lib/plurimath/math/symbols/leftarrowtriangle.rb +41 -0
  613. data/lib/plurimath/math/symbols/leftarrowx.rb +41 -0
  614. data/lib/plurimath/math/symbols/leftbarharpoon.rb +41 -0
  615. data/lib/plurimath/math/symbols/leftbkarrow.rb +41 -0
  616. data/lib/plurimath/math/symbols/leftcircle.rb +41 -0
  617. data/lib/plurimath/math/symbols/leftcurvedarrow.rb +41 -0
  618. data/lib/plurimath/math/symbols/leftdasharrow.rb +41 -0
  619. data/lib/plurimath/math/symbols/leftdbkarrow.rb +41 -0
  620. data/lib/plurimath/math/symbols/leftdbltail.rb +41 -0
  621. data/lib/plurimath/math/symbols/leftdotarrow.rb +41 -0
  622. data/lib/plurimath/math/symbols/leftdowncurvedarrow.rb +41 -0
  623. data/lib/plurimath/math/symbols/leftdownteevector.rb +41 -0
  624. data/lib/plurimath/math/symbols/leftdownvectorbar.rb +41 -0
  625. data/lib/plurimath/math/symbols/leftharpoondown.rb +41 -0
  626. data/lib/plurimath/math/symbols/leftharpoonup.rb +41 -0
  627. data/lib/plurimath/math/symbols/leftleftarrows.rb +41 -0
  628. data/lib/plurimath/math/symbols/leftleftharpoons.rb +41 -0
  629. data/lib/plurimath/math/symbols/leftmoon.rb +41 -0
  630. data/lib/plurimath/math/symbols/leftouterjoin.rb +41 -0
  631. data/lib/plurimath/math/symbols/leftrightarrow.rb +41 -0
  632. data/lib/plurimath/math/symbols/leftrightarrowcircle.rb +41 -0
  633. data/lib/plurimath/math/symbols/leftrightarrows.rb +41 -0
  634. data/lib/plurimath/math/symbols/leftrightarrowtriangle.rb +41 -0
  635. data/lib/plurimath/math/symbols/leftrightharpoon.rb +41 -0
  636. data/lib/plurimath/math/symbols/leftrightharpoondown.rb +41 -0
  637. data/lib/plurimath/math/symbols/leftrightharpoonsdown.rb +41 -0
  638. data/lib/plurimath/math/symbols/leftrightharpoonsup.rb +41 -0
  639. data/lib/plurimath/math/symbols/leftrightharpoonup.rb +41 -0
  640. data/lib/plurimath/math/symbols/leftrightwavearrow.rb +41 -0
  641. data/lib/plurimath/math/symbols/leftsquigarrow.rb +41 -0
  642. data/lib/plurimath/math/symbols/lefttail.rb +41 -0
  643. data/lib/plurimath/math/symbols/leftteevector.rb +41 -0
  644. data/lib/plurimath/math/symbols/leftthreearrows.rb +41 -0
  645. data/lib/plurimath/math/symbols/leftthreetimes.rb +41 -0
  646. data/lib/plurimath/math/symbols/leftturn.rb +41 -0
  647. data/lib/plurimath/math/symbols/leftupdownharpoon.rb +41 -0
  648. data/lib/plurimath/math/symbols/leftupteevector.rb +41 -0
  649. data/lib/plurimath/math/symbols/leftupvectorbar.rb +41 -0
  650. data/lib/plurimath/math/symbols/leftvectorbar.rb +41 -0
  651. data/lib/plurimath/math/symbols/leftwavearrow.rb +41 -0
  652. data/lib/plurimath/math/symbols/leftwhitearrow.rb +41 -0
  653. data/lib/plurimath/math/symbols/leo.rb +41 -0
  654. data/lib/plurimath/math/symbols/leq.rb +41 -0
  655. data/lib/plurimath/math/symbols/leqq.rb +41 -0
  656. data/lib/plurimath/math/symbols/leqqslant.rb +41 -0
  657. data/lib/plurimath/math/symbols/leqslant.rb +41 -0
  658. data/lib/plurimath/math/symbols/lescc.rb +41 -0
  659. data/lib/plurimath/math/symbols/lesdot.rb +41 -0
  660. data/lib/plurimath/math/symbols/lesdoto.rb +41 -0
  661. data/lib/plurimath/math/symbols/lesdotor.rb +41 -0
  662. data/lib/plurimath/math/symbols/lesges.rb +41 -0
  663. data/lib/plurimath/math/symbols/less.rb +41 -0
  664. data/lib/plurimath/math/symbols/lessapprox.rb +41 -0
  665. data/lib/plurimath/math/symbols/lessdot.rb +41 -0
  666. data/lib/plurimath/math/symbols/lesseqgtr.rb +41 -0
  667. data/lib/plurimath/math/symbols/lesseqqgtr.rb +41 -0
  668. data/lib/plurimath/math/symbols/lessgtr.rb +41 -0
  669. data/lib/plurimath/math/symbols/lfbowtie.rb +41 -0
  670. data/lib/plurimath/math/symbols/lftimes.rb +41 -0
  671. data/lib/plurimath/math/symbols/lgblkcircle.rb +41 -0
  672. data/lib/plurimath/math/symbols/lgblksquare.rb +41 -0
  673. data/lib/plurimath/math/symbols/lge.rb +41 -0
  674. data/lib/plurimath/math/symbols/lgroup.rb +41 -0
  675. data/lib/plurimath/math/symbols/lgwhtcircle.rb +41 -0
  676. data/lib/plurimath/math/symbols/lgwhtsquare.rb +41 -0
  677. data/lib/plurimath/math/symbols/lhd.rb +41 -0
  678. data/lib/plurimath/math/symbols/libra.rb +41 -0
  679. data/lib/plurimath/math/symbols/lightning.rb +41 -0
  680. data/lib/plurimath/math/symbols/limg.rb +41 -0
  681. data/lib/plurimath/math/symbols/linefeed.rb +41 -0
  682. data/lib/plurimath/math/symbols/ll.rb +41 -0
  683. data/lib/plurimath/math/symbols/llarc.rb +41 -0
  684. data/lib/plurimath/math/symbols/llblacktriangle.rb +41 -0
  685. data/lib/plurimath/math/symbols/llcorner.rb +41 -0
  686. data/lib/plurimath/math/symbols/lleftarrow.rb +41 -0
  687. data/lib/plurimath/math/symbols/lll.rb +41 -0
  688. data/lib/plurimath/math/symbols/lllnest.rb +41 -0
  689. data/lib/plurimath/math/symbols/lltriangle.rb +41 -0
  690. data/lib/plurimath/math/symbols/lmoust.rb +41 -0
  691. data/lib/plurimath/math/symbols/lmoustache.rb +41 -0
  692. data/lib/plurimath/math/symbols/lnapprox.rb +41 -0
  693. data/lib/plurimath/math/symbols/lneq.rb +41 -0
  694. data/lib/plurimath/math/symbols/lnot.rb +40 -0
  695. data/lib/plurimath/math/symbols/lnsim.rb +41 -0
  696. data/lib/plurimath/math/symbols/longdashv.rb +41 -0
  697. data/lib/plurimath/math/symbols/longdivision.rb +41 -0
  698. data/lib/plurimath/math/symbols/longleftarrow.rb +41 -0
  699. data/lib/plurimath/math/symbols/longleftrightarrow.rb +41 -0
  700. data/lib/plurimath/math/symbols/longleftsquigarrow.rb +41 -0
  701. data/lib/plurimath/math/symbols/longmapsfrom.rb +41 -0
  702. data/lib/plurimath/math/symbols/longmapsto.rb +41 -0
  703. data/lib/plurimath/math/symbols/longrightarrow.rb +41 -0
  704. data/lib/plurimath/math/symbols/looparrowleft.rb +41 -0
  705. data/lib/plurimath/math/symbols/lor.rb +41 -0
  706. data/lib/plurimath/math/symbols/lowint.rb +41 -0
  707. data/lib/plurimath/math/symbols/lozenge.rb +41 -0
  708. data/lib/plurimath/math/symbols/lozengeminus.rb +41 -0
  709. data/lib/plurimath/math/symbols/lparen.rb +41 -0
  710. data/lib/plurimath/math/symbols/lparenextender.rb +41 -0
  711. data/lib/plurimath/math/symbols/lparengtr.rb +41 -0
  712. data/lib/plurimath/math/symbols/lparenlend.rb +41 -0
  713. data/lib/plurimath/math/symbols/lparenless.rb +41 -0
  714. data/lib/plurimath/math/symbols/lparenuend.rb +41 -0
  715. data/lib/plurimath/math/symbols/lrarc.rb +41 -0
  716. data/lib/plurimath/math/symbols/lrblacktriangle.rb +41 -0
  717. data/lib/plurimath/math/symbols/lrcorner.rb +41 -0
  718. data/lib/plurimath/math/symbols/lrhar.rb +41 -0
  719. data/lib/plurimath/math/symbols/lrtimes.rb +41 -0
  720. data/lib/plurimath/math/symbols/lrtriangle.rb +41 -0
  721. data/lib/plurimath/math/symbols/lrtriangleeq.rb +41 -0
  722. data/lib/plurimath/math/symbols/lsh.rb +41 -0
  723. data/lib/plurimath/math/symbols/lsime.rb +41 -0
  724. data/lib/plurimath/math/symbols/lsimg.rb +41 -0
  725. data/lib/plurimath/math/symbols/lsqhook.rb +41 -0
  726. data/lib/plurimath/math/symbols/lt.rb +41 -0
  727. data/lib/plurimath/math/symbols/ltcc.rb +41 -0
  728. data/lib/plurimath/math/symbols/ltcir.rb +41 -0
  729. data/lib/plurimath/math/symbols/ltimes.rb +41 -0
  730. data/lib/plurimath/math/symbols/ltlarr.rb +41 -0
  731. data/lib/plurimath/math/symbols/ltquest.rb +41 -0
  732. data/lib/plurimath/math/symbols/ltrivb.rb +41 -0
  733. data/lib/plurimath/math/symbols/lvboxline.rb +41 -0
  734. data/lib/plurimath/math/symbols/lvec.rb +41 -0
  735. data/lib/plurimath/math/symbols/lvzigzag.rb +41 -0
  736. data/lib/plurimath/math/symbols/maltese.rb +41 -0
  737. data/lib/plurimath/math/symbols/mapsdown.rb +41 -0
  738. data/lib/plurimath/math/symbols/mapsfrom.rb +41 -0
  739. data/lib/plurimath/math/symbols/mapsto.rb +41 -0
  740. data/lib/plurimath/math/symbols/mapstoleft.rb +41 -0
  741. data/lib/plurimath/math/symbols/mapsup.rb +41 -0
  742. data/lib/plurimath/math/symbols/mars.rb +41 -0
  743. data/lib/plurimath/math/symbols/mathcolon.rb +41 -0
  744. data/lib/plurimath/math/symbols/mathdollar.rb +41 -0
  745. data/lib/plurimath/math/symbols/mathslash.rb +41 -0
  746. data/lib/plurimath/math/symbols/mdblkdiamond.rb +41 -0
  747. data/lib/plurimath/math/symbols/mdblklozenge.rb +41 -0
  748. data/lib/plurimath/math/symbols/mdblksquare.rb +41 -0
  749. data/lib/plurimath/math/symbols/mdlgblksquare.rb +41 -0
  750. data/lib/plurimath/math/symbols/mdsmblksquare.rb +41 -0
  751. data/lib/plurimath/math/symbols/mdsmwhtcircle.rb +41 -0
  752. data/lib/plurimath/math/symbols/mdsmwhtsquare.rb +41 -0
  753. data/lib/plurimath/math/symbols/mdwhtdiamond.rb +41 -0
  754. data/lib/plurimath/math/symbols/mdwhtlozenge.rb +41 -0
  755. data/lib/plurimath/math/symbols/mdwhtsquare.rb +41 -0
  756. data/lib/plurimath/math/symbols/measangledltosw.rb +41 -0
  757. data/lib/plurimath/math/symbols/measangledrtose.rb +41 -0
  758. data/lib/plurimath/math/symbols/measangleldtosw.rb +41 -0
  759. data/lib/plurimath/math/symbols/measanglelutonw.rb +41 -0
  760. data/lib/plurimath/math/symbols/measanglerdtose.rb +41 -0
  761. data/lib/plurimath/math/symbols/measanglerutone.rb +41 -0
  762. data/lib/plurimath/math/symbols/measangleultonw.rb +41 -0
  763. data/lib/plurimath/math/symbols/measangleurtone.rb +41 -0
  764. data/lib/plurimath/math/symbols/measeq.rb +41 -0
  765. data/lib/plurimath/math/symbols/measuredangleleft.rb +41 -0
  766. data/lib/plurimath/math/symbols/medblackstar.rb +41 -0
  767. data/lib/plurimath/math/symbols/medbullet.rb +41 -0
  768. data/lib/plurimath/math/symbols/medcirc.rb +41 -0
  769. data/lib/plurimath/math/symbols/medsp.rb +41 -0
  770. data/lib/plurimath/math/symbols/medwhitestar.rb +41 -0
  771. data/lib/plurimath/math/symbols/mercury.rb +41 -0
  772. data/lib/plurimath/math/symbols/mho.rb +41 -0
  773. data/lib/plurimath/math/symbols/mid.rb +41 -0
  774. data/lib/plurimath/math/symbols/midbarvee.rb +41 -0
  775. data/lib/plurimath/math/symbols/midbarwedge.rb +41 -0
  776. data/lib/plurimath/math/symbols/midcir.rb +41 -0
  777. data/lib/plurimath/math/symbols/minus.rb +41 -0
  778. data/lib/plurimath/math/symbols/minusdot.rb +41 -0
  779. data/lib/plurimath/math/symbols/minusfdots.rb +41 -0
  780. data/lib/plurimath/math/symbols/minusrdots.rb +41 -0
  781. data/lib/plurimath/math/symbols/mlcp.rb +41 -0
  782. data/lib/plurimath/math/symbols/models.rb +41 -0
  783. data/lib/plurimath/math/symbols/modtwosum.rb +41 -0
  784. data/lib/plurimath/math/symbols/mp.rb +41 -0
  785. data/lib/plurimath/math/symbols/mu.rb +41 -0
  786. data/lib/plurimath/math/symbols/multimap.rb +41 -0
  787. data/lib/plurimath/math/symbols/multimapinv.rb +41 -0
  788. data/lib/plurimath/math/symbols/nabla.rb +41 -0
  789. data/lib/plurimath/math/symbols/napprox.rb +41 -0
  790. data/lib/plurimath/math/symbols/nasymp.rb +41 -0
  791. data/lib/plurimath/math/symbols/natural.rb +41 -0
  792. data/lib/plurimath/math/symbols/ncong.rb +41 -0
  793. data/lib/plurimath/math/symbols/ne.rb +41 -0
  794. data/lib/plurimath/math/symbols/nearrow.rb +41 -0
  795. data/lib/plurimath/math/symbols/neg.rb +41 -0
  796. data/lib/plurimath/math/symbols/neovnwarrow.rb +41 -0
  797. data/lib/plurimath/math/symbols/neovsearrow.rb +41 -0
  798. data/lib/plurimath/math/symbols/neptune.rb +41 -0
  799. data/lib/plurimath/math/symbols/neq.rb +41 -0
  800. data/lib/plurimath/math/symbols/nequiv.rb +41 -0
  801. data/lib/plurimath/math/symbols/neswarrow.rb +41 -0
  802. data/lib/plurimath/math/symbols/neuter.rb +41 -0
  803. data/lib/plurimath/math/symbols/nexi.rb +41 -0
  804. data/lib/plurimath/math/symbols/ngeq.rb +41 -0
  805. data/lib/plurimath/math/symbols/ngt.rb +41 -0
  806. data/lib/plurimath/math/symbols/ngtrless.rb +41 -0
  807. data/lib/plurimath/math/symbols/ngtrsim.rb +41 -0
  808. data/lib/plurimath/math/symbols/nhdownarrow.rb +41 -0
  809. data/lib/plurimath/math/symbols/nhpar.rb +41 -0
  810. data/lib/plurimath/math/symbols/nhuparrow.rb +41 -0
  811. data/lib/plurimath/math/symbols/nhvvert.rb +41 -0
  812. data/lib/plurimath/math/symbols/ni.rb +41 -0
  813. data/lib/plurimath/math/symbols/nin.rb +41 -0
  814. data/lib/plurimath/math/symbols/niobar.rb +41 -0
  815. data/lib/plurimath/math/symbols/nis.rb +41 -0
  816. data/lib/plurimath/math/symbols/nisd.rb +41 -0
  817. data/lib/plurimath/math/symbols/nleftarrow.rb +41 -0
  818. data/lib/plurimath/math/symbols/nleftrightarrow.rb +41 -0
  819. data/lib/plurimath/math/symbols/nleq.rb +41 -0
  820. data/lib/plurimath/math/symbols/nless.rb +41 -0
  821. data/lib/plurimath/math/symbols/nlessgtr.rb +41 -0
  822. data/lib/plurimath/math/symbols/nlesssim.rb +41 -0
  823. data/lib/plurimath/math/symbols/nmid.rb +41 -0
  824. data/lib/plurimath/math/symbols/nn.rb +41 -0
  825. data/lib/plurimath/math/symbols/nni.rb +41 -0
  826. data/lib/plurimath/math/symbols/nnn.rb +41 -0
  827. data/lib/plurimath/math/symbols/not.rb +41 -0
  828. data/lib/plurimath/math/symbols/notbackslash.rb +41 -0
  829. data/lib/plurimath/math/symbols/notin.rb +41 -0
  830. data/lib/plurimath/math/symbols/notslash.rb +41 -0
  831. data/lib/plurimath/math/symbols/nparallel.rb +41 -0
  832. data/lib/plurimath/math/symbols/npolint.rb +41 -0
  833. data/lib/plurimath/math/symbols/nprec.rb +41 -0
  834. data/lib/plurimath/math/symbols/npreceq.rb +41 -0
  835. data/lib/plurimath/math/symbols/nrightarrow.rb +41 -0
  836. data/lib/plurimath/math/symbols/nsim.rb +41 -0
  837. data/lib/plurimath/math/symbols/nsime.rb +41 -0
  838. data/lib/plurimath/math/symbols/nsqsubseteq.rb +41 -0
  839. data/lib/plurimath/math/symbols/nsqsuperseteq.rb +41 -0
  840. data/lib/plurimath/math/symbols/nsub.rb +41 -0
  841. data/lib/plurimath/math/symbols/nsucc.rb +41 -0
  842. data/lib/plurimath/math/symbols/nsucceq.rb +41 -0
  843. data/lib/plurimath/math/symbols/nsup.rb +41 -0
  844. data/lib/plurimath/math/symbols/ntriangleleft.rb +41 -0
  845. data/lib/plurimath/math/symbols/ntriangleright.rb +41 -0
  846. data/lib/plurimath/math/symbols/nu.rb +41 -0
  847. data/lib/plurimath/math/symbols/nunlhd.rb +41 -0
  848. data/lib/plurimath/math/symbols/nunrhd.rb +41 -0
  849. data/lib/plurimath/math/symbols/nvdash.rb +41 -0
  850. data/lib/plurimath/math/symbols/nvinfty.rb +41 -0
  851. data/lib/plurimath/math/symbols/nvleftarrow.rb +41 -0
  852. data/lib/plurimath/math/symbols/nvleftarrowtail.rb +41 -0
  853. data/lib/plurimath/math/symbols/nvleftrightarrow.rb +41 -0
  854. data/lib/plurimath/math/symbols/nvrightarrow.rb +41 -0
  855. data/lib/plurimath/math/symbols/nvtwoheadleftarrow.rb +41 -0
  856. data/lib/plurimath/math/symbols/nvtwoheadleftarrowtail.rb +41 -0
  857. data/lib/plurimath/math/symbols/nvtwoheadrightarrow.rb +41 -0
  858. data/lib/plurimath/math/symbols/nvtwoheadrightarrowtail.rb +41 -0
  859. data/lib/plurimath/math/symbols/nwarrow.rb +41 -0
  860. data/lib/plurimath/math/symbols/nwovnearrow.rb +41 -0
  861. data/lib/plurimath/math/symbols/nwsearrow.rb +41 -0
  862. data/lib/plurimath/math/symbols/oast.rb +41 -0
  863. data/lib/plurimath/math/symbols/obar.rb +41 -0
  864. data/lib/plurimath/math/symbols/obot.rb +41 -0
  865. data/lib/plurimath/math/symbols/obrace.rb +41 -0
  866. data/lib/plurimath/math/symbols/obrbrak.rb +41 -0
  867. data/lib/plurimath/math/symbols/obslash.rb +41 -0
  868. data/lib/plurimath/math/symbols/ocirc.rb +41 -0
  869. data/lib/plurimath/math/symbols/ocommatopright.rb +41 -0
  870. data/lib/plurimath/math/symbols/octothorpe.rb +41 -0
  871. data/lib/plurimath/math/symbols/odash.rb +41 -0
  872. data/lib/plurimath/math/symbols/odiv.rb +41 -0
  873. data/lib/plurimath/math/symbols/odot.rb +41 -0
  874. data/lib/plurimath/math/symbols/odotslashdot.rb +41 -0
  875. data/lib/plurimath/math/symbols/oeq.rb +41 -0
  876. data/lib/plurimath/math/symbols/oiiint.rb +45 -0
  877. data/lib/plurimath/math/symbols/oiint.rb +45 -0
  878. data/lib/plurimath/math/symbols/oint.rb +41 -0
  879. data/lib/plurimath/math/symbols/olcross.rb +41 -0
  880. data/lib/plurimath/math/symbols/olessthan.rb +41 -0
  881. data/lib/plurimath/math/symbols/omega.rb +41 -0
  882. data/lib/plurimath/math/symbols/ominus.rb +41 -0
  883. data/lib/plurimath/math/symbols/oo.rb +41 -0
  884. data/lib/plurimath/math/symbols/operp.rb +41 -0
  885. data/lib/plurimath/math/symbols/oplus.rb +41 -0
  886. data/lib/plurimath/math/symbols/opluslhrim.rb +41 -0
  887. data/lib/plurimath/math/symbols/oplusrhrim.rb +41 -0
  888. data/lib/plurimath/math/symbols/origof.rb +41 -0
  889. data/lib/plurimath/math/symbols/oslash.rb +41 -0
  890. data/lib/plurimath/math/symbols/otimes.rb +41 -0
  891. data/lib/plurimath/math/symbols/otimeshat.rb +41 -0
  892. data/lib/plurimath/math/symbols/otimeslhrim.rb +41 -0
  893. data/lib/plurimath/math/symbols/otimesrhrim.rb +41 -0
  894. data/lib/plurimath/math/symbols/oturnedcomma.rb +41 -0
  895. data/lib/plurimath/math/symbols/overbar.rb +41 -0
  896. data/lib/plurimath/math/symbols/overbracket.rb +41 -0
  897. data/lib/plurimath/math/symbols/overleftrightarrow.rb +41 -0
  898. data/lib/plurimath/math/symbols/overline.rb +41 -0
  899. data/lib/plurimath/math/symbols/ovhook.rb +41 -0
  900. data/lib/plurimath/math/symbols/ox.rb +41 -0
  901. data/lib/plurimath/math/symbols/parallelogram.rb +41 -0
  902. data/lib/plurimath/math/symbols/parallelogramblack.rb +41 -0
  903. data/lib/plurimath/math/symbols/paren/close_paren.rb +59 -0
  904. data/lib/plurimath/math/symbols/paren/langle.rb +59 -0
  905. data/lib/plurimath/math/symbols/paren/lbbrack.rb +61 -0
  906. data/lib/plurimath/math/symbols/paren/lbrace.rb +61 -0
  907. data/lib/plurimath/math/symbols/paren/lbrack.rb +61 -0
  908. data/lib/plurimath/math/symbols/paren/lceil.rb +61 -0
  909. data/lib/plurimath/math/symbols/paren/lcurly.rb +63 -0
  910. data/lib/plurimath/math/symbols/paren/lfloor.rb +61 -0
  911. data/lib/plurimath/math/symbols/paren/lround.rb +63 -0
  912. data/lib/plurimath/math/symbols/paren/lsquare.rb +63 -0
  913. data/lib/plurimath/math/symbols/paren/norm.rb +73 -0
  914. data/lib/plurimath/math/symbols/paren/open_paren.rb +59 -0
  915. data/lib/plurimath/math/symbols/paren/rangle.rb +59 -0
  916. data/lib/plurimath/math/symbols/paren/rbbrack.rb +61 -0
  917. data/lib/plurimath/math/symbols/paren/rbrace.rb +61 -0
  918. data/lib/plurimath/math/symbols/paren/rbrack.rb +61 -0
  919. data/lib/plurimath/math/symbols/paren/rceil.rb +61 -0
  920. data/lib/plurimath/math/symbols/paren/rcurly.rb +59 -0
  921. data/lib/plurimath/math/symbols/paren/rfloor.rb +61 -0
  922. data/lib/plurimath/math/symbols/paren/rround.rb +59 -0
  923. data/lib/plurimath/math/symbols/paren/rsquare.rb +59 -0
  924. data/lib/plurimath/math/symbols/paren/upcase_langle.rb +61 -0
  925. data/lib/plurimath/math/symbols/paren/upcase_rangle.rb +61 -0
  926. data/lib/plurimath/math/symbols/paren/vert.rb +73 -0
  927. data/lib/plurimath/math/symbols/paren.rb +13 -0
  928. data/lib/plurimath/math/symbols/parsim.rb +41 -0
  929. data/lib/plurimath/math/symbols/partial.rb +41 -0
  930. data/lib/plurimath/math/symbols/partialmeetcontraction.rb +41 -0
  931. data/lib/plurimath/math/symbols/pencil.rb +41 -0
  932. data/lib/plurimath/math/symbols/pentagon.rb +41 -0
  933. data/lib/plurimath/math/symbols/pentagonblack.rb +41 -0
  934. data/lib/plurimath/math/symbols/percent.rb +41 -0
  935. data/lib/plurimath/math/symbols/period.rb +41 -0
  936. data/lib/plurimath/math/symbols/perp.rb +41 -0
  937. data/lib/plurimath/math/symbols/perps.rb +41 -0
  938. data/lib/plurimath/math/symbols/pfun.rb +41 -0
  939. data/lib/plurimath/math/symbols/phi.rb +41 -0
  940. data/lib/plurimath/math/symbols/pi.rb +41 -0
  941. data/lib/plurimath/math/symbols/pinj.rb +41 -0
  942. data/lib/plurimath/math/symbols/pisces.rb +41 -0
  943. data/lib/plurimath/math/symbols/pitchfork.rb +41 -0
  944. data/lib/plurimath/math/symbols/planckconst.rb +41 -0
  945. data/lib/plurimath/math/symbols/plus.rb +41 -0
  946. data/lib/plurimath/math/symbols/plusdot.rb +41 -0
  947. data/lib/plurimath/math/symbols/pluseqq.rb +41 -0
  948. data/lib/plurimath/math/symbols/plushat.rb +41 -0
  949. data/lib/plurimath/math/symbols/plussim.rb +41 -0
  950. data/lib/plurimath/math/symbols/plussubtwo.rb +41 -0
  951. data/lib/plurimath/math/symbols/plustrif.rb +41 -0
  952. data/lib/plurimath/math/symbols/pluto.rb +41 -0
  953. data/lib/plurimath/math/symbols/pm.rb +41 -0
  954. data/lib/plurimath/math/symbols/pointint.rb +41 -0
  955. data/lib/plurimath/math/symbols/pointright.rb +41 -0
  956. data/lib/plurimath/math/symbols/postalmark.rb +41 -0
  957. data/lib/plurimath/math/symbols/pounds.rb +41 -0
  958. data/lib/plurimath/math/symbols/pppprime.rb +41 -0
  959. data/lib/plurimath/math/symbols/ppprime.rb +41 -0
  960. data/lib/plurimath/math/symbols/pprime.rb +41 -0
  961. data/lib/plurimath/math/symbols/prcue.rb +41 -0
  962. data/lib/plurimath/math/symbols/prec.rb +41 -0
  963. data/lib/plurimath/math/symbols/precapprox.rb +41 -0
  964. data/lib/plurimath/math/symbols/preceq.rb +41 -0
  965. data/lib/plurimath/math/symbols/preceqq.rb +41 -0
  966. data/lib/plurimath/math/symbols/precnapprox.rb +41 -0
  967. data/lib/plurimath/math/symbols/precneq.rb +41 -0
  968. data/lib/plurimath/math/symbols/precneqq.rb +41 -0
  969. data/lib/plurimath/math/symbols/precnsim.rb +41 -0
  970. data/lib/plurimath/math/symbols/precsim.rb +41 -0
  971. data/lib/plurimath/math/symbols/prime.rb +41 -0
  972. data/lib/plurimath/math/symbols/prod.rb +41 -0
  973. data/lib/plurimath/math/symbols/profline.rb +41 -0
  974. data/lib/plurimath/math/symbols/profsurf.rb +41 -0
  975. data/lib/plurimath/math/symbols/project.rb +41 -0
  976. data/lib/plurimath/math/symbols/prop.rb +41 -0
  977. data/lib/plurimath/math/symbols/propertyline.rb +41 -0
  978. data/lib/plurimath/math/symbols/psi.rb +41 -0
  979. data/lib/plurimath/math/symbols/psur.rb +41 -0
  980. data/lib/plurimath/math/symbols/pullback.rb +41 -0
  981. data/lib/plurimath/math/symbols/pushout.rb +41 -0
  982. data/lib/plurimath/math/symbols/qed.rb +41 -0
  983. data/lib/plurimath/math/symbols/qprime.rb +41 -0
  984. data/lib/plurimath/math/symbols/qq.rb +41 -0
  985. data/lib/plurimath/math/symbols/qquad.rb +41 -0
  986. data/lib/plurimath/math/symbols/quad.rb +41 -0
  987. data/lib/plurimath/math/symbols/quarternote.rb +41 -0
  988. data/lib/plurimath/math/symbols/questeq.rb +41 -0
  989. data/lib/plurimath/math/symbols/question.rb +41 -0
  990. data/lib/plurimath/math/symbols/radiation.rb +41 -0
  991. data/lib/plurimath/math/symbols/rang.rb +41 -0
  992. data/lib/plurimath/math/symbols/rangledot.rb +41 -0
  993. data/lib/plurimath/math/symbols/rangledownzigzagarrow.rb +41 -0
  994. data/lib/plurimath/math/symbols/ratio.rb +41 -0
  995. data/lib/plurimath/math/symbols/rbag.rb +41 -0
  996. data/lib/plurimath/math/symbols/rblkbrbrak.rb +41 -0
  997. data/lib/plurimath/math/symbols/rblot.rb +41 -0
  998. data/lib/plurimath/math/symbols/rbracelend.rb +41 -0
  999. data/lib/plurimath/math/symbols/rbracemid.rb +41 -0
  1000. data/lib/plurimath/math/symbols/rbraceuend.rb +41 -0
  1001. data/lib/plurimath/math/symbols/rbrackextender.rb +41 -0
  1002. data/lib/plurimath/math/symbols/rbracklend.rb +41 -0
  1003. data/lib/plurimath/math/symbols/rbracklrtick.rb +41 -0
  1004. data/lib/plurimath/math/symbols/rbrackubar.rb +41 -0
  1005. data/lib/plurimath/math/symbols/rbrackuend.rb +41 -0
  1006. data/lib/plurimath/math/symbols/rbrackurtick.rb +41 -0
  1007. data/lib/plurimath/math/symbols/rbrbrak.rb +41 -0
  1008. data/lib/plurimath/math/symbols/rcurvyangle.rb +41 -0
  1009. data/lib/plurimath/math/symbols/rddots.rb +41 -0
  1010. data/lib/plurimath/math/symbols/rdiagovfdiag.rb +41 -0
  1011. data/lib/plurimath/math/symbols/rdiagovsearrow.rb +41 -0
  1012. data/lib/plurimath/math/symbols/rdsh.rb +41 -0
  1013. data/lib/plurimath/math/symbols/re.rb +41 -0
  1014. data/lib/plurimath/math/symbols/recycle.rb +41 -0
  1015. data/lib/plurimath/math/symbols/rel.rb +41 -0
  1016. data/lib/plurimath/math/symbols/restriction.rb +41 -0
  1017. data/lib/plurimath/math/symbols/revangle.rb +41 -0
  1018. data/lib/plurimath/math/symbols/revangleubar.rb +41 -0
  1019. data/lib/plurimath/math/symbols/revemptyset.rb +41 -0
  1020. data/lib/plurimath/math/symbols/revnmid.rb +41 -0
  1021. data/lib/plurimath/math/symbols/rfbowtie.rb +41 -0
  1022. data/lib/plurimath/math/symbols/rftimes.rb +41 -0
  1023. data/lib/plurimath/math/symbols/rgroup.rb +41 -0
  1024. data/lib/plurimath/math/symbols/rhd.rb +41 -0
  1025. data/lib/plurimath/math/symbols/rho.rb +41 -0
  1026. data/lib/plurimath/math/symbols/rightangle.rb +41 -0
  1027. data/lib/plurimath/math/symbols/rightanglemdot.rb +41 -0
  1028. data/lib/plurimath/math/symbols/rightanglesqr.rb +41 -0
  1029. data/lib/plurimath/math/symbols/rightarrow.rb +41 -0
  1030. data/lib/plurimath/math/symbols/rightarrowapprox.rb +41 -0
  1031. data/lib/plurimath/math/symbols/rightarrowbackapprox.rb +41 -0
  1032. data/lib/plurimath/math/symbols/rightarrowbar.rb +41 -0
  1033. data/lib/plurimath/math/symbols/rightarrowbsimilar.rb +41 -0
  1034. data/lib/plurimath/math/symbols/rightarrowdiamond.rb +41 -0
  1035. data/lib/plurimath/math/symbols/rightarrowgtr.rb +41 -0
  1036. data/lib/plurimath/math/symbols/rightarrowonoplus.rb +41 -0
  1037. data/lib/plurimath/math/symbols/rightarrowplus.rb +41 -0
  1038. data/lib/plurimath/math/symbols/rightarrowshortleftarrow.rb +41 -0
  1039. data/lib/plurimath/math/symbols/rightarrowsimilar.rb +41 -0
  1040. data/lib/plurimath/math/symbols/rightarrowsupset.rb +41 -0
  1041. data/lib/plurimath/math/symbols/rightarrowtail.rb +41 -0
  1042. data/lib/plurimath/math/symbols/rightarrowtriangle.rb +41 -0
  1043. data/lib/plurimath/math/symbols/rightarrowx.rb +41 -0
  1044. data/lib/plurimath/math/symbols/rightbarharpoon.rb +41 -0
  1045. data/lib/plurimath/math/symbols/rightbkarrow.rb +41 -0
  1046. data/lib/plurimath/math/symbols/rightcircle.rb +41 -0
  1047. data/lib/plurimath/math/symbols/rightdbltail.rb +41 -0
  1048. data/lib/plurimath/math/symbols/rightdotarrow.rb +41 -0
  1049. data/lib/plurimath/math/symbols/rightdowncurvedarrow.rb +41 -0
  1050. data/lib/plurimath/math/symbols/rightdownteevector.rb +41 -0
  1051. data/lib/plurimath/math/symbols/rightdownvectorbar.rb +41 -0
  1052. data/lib/plurimath/math/symbols/rightharpoonaccent.rb +41 -0
  1053. data/lib/plurimath/math/symbols/rightharpoondown.rb +41 -0
  1054. data/lib/plurimath/math/symbols/rightharpoonup.rb +41 -0
  1055. data/lib/plurimath/math/symbols/rightimply.rb +41 -0
  1056. data/lib/plurimath/math/symbols/rightleftarrow.rb +41 -0
  1057. data/lib/plurimath/math/symbols/rightleftharpoon.rb +41 -0
  1058. data/lib/plurimath/math/symbols/rightleftharpoonsdown.rb +41 -0
  1059. data/lib/plurimath/math/symbols/rightleftharpoonsup.rb +41 -0
  1060. data/lib/plurimath/math/symbols/rightmoon.rb +41 -0
  1061. data/lib/plurimath/math/symbols/rightouterjoin.rb +41 -0
  1062. data/lib/plurimath/math/symbols/rightpentagon.rb +41 -0
  1063. data/lib/plurimath/math/symbols/rightpentagonblack.rb +41 -0
  1064. data/lib/plurimath/math/symbols/rightrightarrows.rb +41 -0
  1065. data/lib/plurimath/math/symbols/rightrightharpoons.rb +41 -0
  1066. data/lib/plurimath/math/symbols/rightsquigarrow.rb +41 -0
  1067. data/lib/plurimath/math/symbols/righttail.rb +41 -0
  1068. data/lib/plurimath/math/symbols/rightteevector.rb +41 -0
  1069. data/lib/plurimath/math/symbols/rightthreearrows.rb +41 -0
  1070. data/lib/plurimath/math/symbols/rightthreetimes.rb +41 -0
  1071. data/lib/plurimath/math/symbols/rightturn.rb +41 -0
  1072. data/lib/plurimath/math/symbols/rightupdownharpoon.rb +41 -0
  1073. data/lib/plurimath/math/symbols/rightupteevector.rb +41 -0
  1074. data/lib/plurimath/math/symbols/rightupvectorbar.rb +41 -0
  1075. data/lib/plurimath/math/symbols/rightvectorbar.rb +41 -0
  1076. data/lib/plurimath/math/symbols/rightwavearrow.rb +41 -0
  1077. data/lib/plurimath/math/symbols/rightwhitearrow.rb +41 -0
  1078. data/lib/plurimath/math/symbols/rimg.rb +41 -0
  1079. data/lib/plurimath/math/symbols/ring.rb +41 -0
  1080. data/lib/plurimath/math/symbols/ringplus.rb +41 -0
  1081. data/lib/plurimath/math/symbols/risingdotseq.rb +41 -0
  1082. data/lib/plurimath/math/symbols/rlhar.rb +41 -0
  1083. data/lib/plurimath/math/symbols/rmoust.rb +41 -0
  1084. data/lib/plurimath/math/symbols/rparen.rb +41 -0
  1085. data/lib/plurimath/math/symbols/rparenextender.rb +41 -0
  1086. data/lib/plurimath/math/symbols/rparengtr.rb +41 -0
  1087. data/lib/plurimath/math/symbols/rparenlend.rb +41 -0
  1088. data/lib/plurimath/math/symbols/rparenless.rb +41 -0
  1089. data/lib/plurimath/math/symbols/rparenuend.rb +41 -0
  1090. data/lib/plurimath/math/symbols/rppolint.rb +41 -0
  1091. data/lib/plurimath/math/symbols/rr.rb +41 -0
  1092. data/lib/plurimath/math/symbols/rrightarrow.rb +41 -0
  1093. data/lib/plurimath/math/symbols/rsh.rb +41 -0
  1094. data/lib/plurimath/math/symbols/rsolbar.rb +41 -0
  1095. data/lib/plurimath/math/symbols/rsqhook.rb +41 -0
  1096. data/lib/plurimath/math/symbols/rsub.rb +41 -0
  1097. data/lib/plurimath/math/symbols/rtimes.rb +41 -0
  1098. data/lib/plurimath/math/symbols/rtriltri.rb +41 -0
  1099. data/lib/plurimath/math/symbols/ruledelayed.rb +41 -0
  1100. data/lib/plurimath/math/symbols/rvboxline.rb +41 -0
  1101. data/lib/plurimath/math/symbols/rvert.rb +41 -0
  1102. data/lib/plurimath/math/symbols/rvzigzag.rb +41 -0
  1103. data/lib/plurimath/math/symbols/sadface.rb +41 -0
  1104. data/lib/plurimath/math/symbols/sagittarius.rb +41 -0
  1105. data/lib/plurimath/math/symbols/same.rb +41 -0
  1106. data/lib/plurimath/math/symbols/sampi.rb +41 -0
  1107. data/lib/plurimath/math/symbols/sanslmirrored.rb +41 -0
  1108. data/lib/plurimath/math/symbols/sanslturned.rb +41 -0
  1109. data/lib/plurimath/math/symbols/saturn.rb +41 -0
  1110. data/lib/plurimath/math/symbols/scorpio.rb +41 -0
  1111. data/lib/plurimath/math/symbols/scpolint.rb +41 -0
  1112. data/lib/plurimath/math/symbols/scurel.rb +41 -0
  1113. data/lib/plurimath/math/symbols/sdef.rb +41 -0
  1114. data/lib/plurimath/math/symbols/searrow.rb +41 -0
  1115. data/lib/plurimath/math/symbols/second.rb +41 -0
  1116. data/lib/plurimath/math/symbols/semi.rb +41 -0
  1117. data/lib/plurimath/math/symbols/semicolon.rb +41 -0
  1118. data/lib/plurimath/math/symbols/seovnearrow.rb +41 -0
  1119. data/lib/plurimath/math/symbols/setminus.rb +41 -0
  1120. data/lib/plurimath/math/symbols/sharp.rb +41 -0
  1121. data/lib/plurimath/math/symbols/shortdowntack.rb +41 -0
  1122. data/lib/plurimath/math/symbols/shortlefttack.rb +41 -0
  1123. data/lib/plurimath/math/symbols/shortrightarrowleftarrow.rb +41 -0
  1124. data/lib/plurimath/math/symbols/shortuptack.rb +41 -0
  1125. data/lib/plurimath/math/symbols/shuffle.rb +41 -0
  1126. data/lib/plurimath/math/symbols/sigma.rb +41 -0
  1127. data/lib/plurimath/math/symbols/sim.rb +41 -0
  1128. data/lib/plurimath/math/symbols/simeq.rb +41 -0
  1129. data/lib/plurimath/math/symbols/simge.rb +41 -0
  1130. data/lib/plurimath/math/symbols/simgtr.rb +41 -0
  1131. data/lib/plurimath/math/symbols/similarleftarrow.rb +41 -0
  1132. data/lib/plurimath/math/symbols/similarrightarrow.rb +41 -0
  1133. data/lib/plurimath/math/symbols/simle.rb +41 -0
  1134. data/lib/plurimath/math/symbols/simless.rb +41 -0
  1135. data/lib/plurimath/math/symbols/simminussim.rb +41 -0
  1136. data/lib/plurimath/math/symbols/simneqq.rb +41 -0
  1137. data/lib/plurimath/math/symbols/simplus.rb +41 -0
  1138. data/lib/plurimath/math/symbols/simrdots.rb +41 -0
  1139. data/lib/plurimath/math/symbols/sixteenthnote.rb +41 -0
  1140. data/lib/plurimath/math/symbols/skull.rb +41 -0
  1141. data/lib/plurimath/math/symbols/slash.rb +41 -0
  1142. data/lib/plurimath/math/symbols/smallblacktriangleleft.rb +41 -0
  1143. data/lib/plurimath/math/symbols/smallblacktriangleright.rb +41 -0
  1144. data/lib/plurimath/math/symbols/smallin.rb +41 -0
  1145. data/lib/plurimath/math/symbols/smallni.rb +41 -0
  1146. data/lib/plurimath/math/symbols/smalltriangleleft.rb +41 -0
  1147. data/lib/plurimath/math/symbols/smalltriangleright.rb +41 -0
  1148. data/lib/plurimath/math/symbols/smashtimes.rb +41 -0
  1149. data/lib/plurimath/math/symbols/smblkcircle.rb +41 -0
  1150. data/lib/plurimath/math/symbols/smblkdiamond.rb +41 -0
  1151. data/lib/plurimath/math/symbols/smblklozenge.rb +41 -0
  1152. data/lib/plurimath/math/symbols/smblksquare.rb +41 -0
  1153. data/lib/plurimath/math/symbols/smeparsl.rb +41 -0
  1154. data/lib/plurimath/math/symbols/smile.rb +41 -0
  1155. data/lib/plurimath/math/symbols/smiley.rb +41 -0
  1156. data/lib/plurimath/math/symbols/smt.rb +41 -0
  1157. data/lib/plurimath/math/symbols/smte.rb +41 -0
  1158. data/lib/plurimath/math/symbols/smwhitestar.rb +41 -0
  1159. data/lib/plurimath/math/symbols/smwhtcircle.rb +41 -0
  1160. data/lib/plurimath/math/symbols/smwhtlozenge.rb +41 -0
  1161. data/lib/plurimath/math/symbols/smwhtsquare.rb +41 -0
  1162. data/lib/plurimath/math/symbols/space.rb +41 -0
  1163. data/lib/plurimath/math/symbols/spadesuit.rb +41 -0
  1164. data/lib/plurimath/math/symbols/spddot.rb +41 -0
  1165. data/lib/plurimath/math/symbols/sphat.rb +41 -0
  1166. data/lib/plurimath/math/symbols/sphericalangleup.rb +41 -0
  1167. data/lib/plurimath/math/symbols/spot.rb +41 -0
  1168. data/lib/plurimath/math/symbols/sprime.rb +41 -0
  1169. data/lib/plurimath/math/symbols/sptilde.rb +41 -0
  1170. data/lib/plurimath/math/symbols/sqcap.rb +41 -0
  1171. data/lib/plurimath/math/symbols/sqcup.rb +41 -0
  1172. data/lib/plurimath/math/symbols/sqint.rb +41 -0
  1173. data/lib/plurimath/math/symbols/sqlozenge.rb +41 -0
  1174. data/lib/plurimath/math/symbols/sqrtbottom.rb +41 -0
  1175. data/lib/plurimath/math/symbols/sqsubset.rb +41 -0
  1176. data/lib/plurimath/math/symbols/sqsubseteq.rb +41 -0
  1177. data/lib/plurimath/math/symbols/sqsubsetneq.rb +41 -0
  1178. data/lib/plurimath/math/symbols/sqsupset.rb +41 -0
  1179. data/lib/plurimath/math/symbols/sqsupseteq.rb +41 -0
  1180. data/lib/plurimath/math/symbols/square.rb +41 -0
  1181. data/lib/plurimath/math/symbols/squarebotblack.rb +41 -0
  1182. data/lib/plurimath/math/symbols/squarecrossfill.rb +41 -0
  1183. data/lib/plurimath/math/symbols/squarehfill.rb +41 -0
  1184. data/lib/plurimath/math/symbols/squarehvfill.rb +41 -0
  1185. data/lib/plurimath/math/symbols/squareleftblack.rb +41 -0
  1186. data/lib/plurimath/math/symbols/squarellblack.rb +41 -0
  1187. data/lib/plurimath/math/symbols/squarellquad.rb +41 -0
  1188. data/lib/plurimath/math/symbols/squarelrblack.rb +41 -0
  1189. data/lib/plurimath/math/symbols/squarelrquad.rb +41 -0
  1190. data/lib/plurimath/math/symbols/squareneswfill.rb +41 -0
  1191. data/lib/plurimath/math/symbols/squarenwsefill.rb +41 -0
  1192. data/lib/plurimath/math/symbols/squarerightblack.rb +41 -0
  1193. data/lib/plurimath/math/symbols/squaretopblack.rb +41 -0
  1194. data/lib/plurimath/math/symbols/squareulblack.rb +41 -0
  1195. data/lib/plurimath/math/symbols/squareulquad.rb +41 -0
  1196. data/lib/plurimath/math/symbols/squareurblack.rb +41 -0
  1197. data/lib/plurimath/math/symbols/squareurquad.rb +41 -0
  1198. data/lib/plurimath/math/symbols/squarevfill.rb +41 -0
  1199. data/lib/plurimath/math/symbols/squoval.rb +41 -0
  1200. data/lib/plurimath/math/symbols/sslash.rb +41 -0
  1201. data/lib/plurimath/math/symbols/star.rb +41 -0
  1202. data/lib/plurimath/math/symbols/stareq.rb +41 -0
  1203. data/lib/plurimath/math/symbols/steaming.rb +41 -0
  1204. data/lib/plurimath/math/symbols/stigma.rb +41 -0
  1205. data/lib/plurimath/math/symbols/strictfi.rb +41 -0
  1206. data/lib/plurimath/math/symbols/strictif.rb +41 -0
  1207. data/lib/plurimath/math/symbols/strns.rb +41 -0
  1208. data/lib/plurimath/math/symbols/sub.rb +41 -0
  1209. data/lib/plurimath/math/symbols/sube.rb +41 -0
  1210. data/lib/plurimath/math/symbols/subedot.rb +41 -0
  1211. data/lib/plurimath/math/symbols/submult.rb +41 -0
  1212. data/lib/plurimath/math/symbols/subrarr.rb +41 -0
  1213. data/lib/plurimath/math/symbols/subset.rb +41 -0
  1214. data/lib/plurimath/math/symbols/subsetapprox.rb +41 -0
  1215. data/lib/plurimath/math/symbols/subsetcirc.rb +41 -0
  1216. data/lib/plurimath/math/symbols/subsetdot.rb +41 -0
  1217. data/lib/plurimath/math/symbols/subseteq.rb +41 -0
  1218. data/lib/plurimath/math/symbols/subseteqq.rb +41 -0
  1219. data/lib/plurimath/math/symbols/subsetneq.rb +41 -0
  1220. data/lib/plurimath/math/symbols/subsetneqq.rb +41 -0
  1221. data/lib/plurimath/math/symbols/subsetplus.rb +41 -0
  1222. data/lib/plurimath/math/symbols/subsim.rb +41 -0
  1223. data/lib/plurimath/math/symbols/subsub.rb +41 -0
  1224. data/lib/plurimath/math/symbols/succ.rb +41 -0
  1225. data/lib/plurimath/math/symbols/succapprox.rb +41 -0
  1226. data/lib/plurimath/math/symbols/succcurlyeq.rb +41 -0
  1227. data/lib/plurimath/math/symbols/succeq.rb +41 -0
  1228. data/lib/plurimath/math/symbols/succeqq.rb +41 -0
  1229. data/lib/plurimath/math/symbols/succnapprox.rb +41 -0
  1230. data/lib/plurimath/math/symbols/succneq.rb +41 -0
  1231. data/lib/plurimath/math/symbols/succneqq.rb +41 -0
  1232. data/lib/plurimath/math/symbols/succnsim.rb +41 -0
  1233. data/lib/plurimath/math/symbols/succsim.rb +41 -0
  1234. data/lib/plurimath/math/symbols/sum.rb +41 -0
  1235. data/lib/plurimath/math/symbols/sumbottom.rb +41 -0
  1236. data/lib/plurimath/math/symbols/sumint.rb +41 -0
  1237. data/lib/plurimath/math/symbols/sumtop.rb +41 -0
  1238. data/lib/plurimath/math/symbols/sun.rb +41 -0
  1239. data/lib/plurimath/math/symbols/sup.rb +41 -0
  1240. data/lib/plurimath/math/symbols/supdsub.rb +41 -0
  1241. data/lib/plurimath/math/symbols/supe.rb +41 -0
  1242. data/lib/plurimath/math/symbols/supedot.rb +41 -0
  1243. data/lib/plurimath/math/symbols/suphsol.rb +41 -0
  1244. data/lib/plurimath/math/symbols/suphsub.rb +41 -0
  1245. data/lib/plurimath/math/symbols/suplarr.rb +41 -0
  1246. data/lib/plurimath/math/symbols/supmult.rb +41 -0
  1247. data/lib/plurimath/math/symbols/supset.rb +41 -0
  1248. data/lib/plurimath/math/symbols/supsetapprox.rb +41 -0
  1249. data/lib/plurimath/math/symbols/supsetcirc.rb +41 -0
  1250. data/lib/plurimath/math/symbols/supsetdot.rb +41 -0
  1251. data/lib/plurimath/math/symbols/supseteq.rb +41 -0
  1252. data/lib/plurimath/math/symbols/supseteqq.rb +41 -0
  1253. data/lib/plurimath/math/symbols/supsetneq.rb +41 -0
  1254. data/lib/plurimath/math/symbols/supsetneqq.rb +41 -0
  1255. data/lib/plurimath/math/symbols/supsetplus.rb +41 -0
  1256. data/lib/plurimath/math/symbols/supsim.rb +41 -0
  1257. data/lib/plurimath/math/symbols/supsub.rb +41 -0
  1258. data/lib/plurimath/math/symbols/supsup.rb +41 -0
  1259. data/lib/plurimath/math/symbols/swarrow.rb +41 -0
  1260. data/lib/plurimath/math/symbols/swords.rb +41 -0
  1261. data/lib/plurimath/math/symbols/symbol.rb +218 -0
  1262. data/lib/plurimath/math/symbols/talloblong.rb +41 -0
  1263. data/lib/plurimath/math/symbols/tau.rb +41 -0
  1264. data/lib/plurimath/math/symbols/taurus.rb +41 -0
  1265. data/lib/plurimath/math/symbols/tcmu.rb +41 -0
  1266. data/lib/plurimath/math/symbols/tcohm.rb +41 -0
  1267. data/lib/plurimath/math/symbols/therefore.rb +41 -0
  1268. data/lib/plurimath/math/symbols/thermod.rb +41 -0
  1269. data/lib/plurimath/math/symbols/theta.rb +41 -0
  1270. data/lib/plurimath/math/symbols/third.rb +41 -0
  1271. data/lib/plurimath/math/symbols/threedangle.rb +41 -0
  1272. data/lib/plurimath/math/symbols/threedotcolon.rb +41 -0
  1273. data/lib/plurimath/math/symbols/threeunderdot.rb +41 -0
  1274. data/lib/plurimath/math/symbols/tieinfty.rb +41 -0
  1275. data/lib/plurimath/math/symbols/tilde.rb +41 -0
  1276. data/lib/plurimath/math/symbols/times.rb +41 -0
  1277. data/lib/plurimath/math/symbols/timesbar.rb +41 -0
  1278. data/lib/plurimath/math/symbols/tinj.rb +41 -0
  1279. data/lib/plurimath/math/symbols/tminus.rb +41 -0
  1280. data/lib/plurimath/math/symbols/to.rb +41 -0
  1281. data/lib/plurimath/math/symbols/toea.rb +41 -0
  1282. data/lib/plurimath/math/symbols/tona.rb +41 -0
  1283. data/lib/plurimath/math/symbols/top.rb +41 -0
  1284. data/lib/plurimath/math/symbols/topbot.rb +41 -0
  1285. data/lib/plurimath/math/symbols/topcir.rb +41 -0
  1286. data/lib/plurimath/math/symbols/topfork.rb +41 -0
  1287. data/lib/plurimath/math/symbols/topsemicircle.rb +41 -0
  1288. data/lib/plurimath/math/symbols/tosa.rb +41 -0
  1289. data/lib/plurimath/math/symbols/towa.rb +41 -0
  1290. data/lib/plurimath/math/symbols/tplus.rb +41 -0
  1291. data/lib/plurimath/math/symbols/trapezium.rb +41 -0
  1292. data/lib/plurimath/math/symbols/triangle.rb +41 -0
  1293. data/lib/plurimath/math/symbols/trianglecdot.rb +41 -0
  1294. data/lib/plurimath/math/symbols/triangledown.rb +41 -0
  1295. data/lib/plurimath/math/symbols/triangleleftblack.rb +41 -0
  1296. data/lib/plurimath/math/symbols/triangleminus.rb +41 -0
  1297. data/lib/plurimath/math/symbols/triangleodot.rb +41 -0
  1298. data/lib/plurimath/math/symbols/triangleplus.rb +41 -0
  1299. data/lib/plurimath/math/symbols/trianglerightblack.rb +41 -0
  1300. data/lib/plurimath/math/symbols/triangles.rb +41 -0
  1301. data/lib/plurimath/math/symbols/triangleserifs.rb +41 -0
  1302. data/lib/plurimath/math/symbols/triangletimes.rb +41 -0
  1303. data/lib/plurimath/math/symbols/triangleubar.rb +41 -0
  1304. data/lib/plurimath/math/symbols/tripleplus.rb +41 -0
  1305. data/lib/plurimath/math/symbols/trslash.rb +41 -0
  1306. data/lib/plurimath/math/symbols/tsur.rb +41 -0
  1307. data/lib/plurimath/math/symbols/tt.rb +41 -0
  1308. data/lib/plurimath/math/symbols/turnangle.rb +41 -0
  1309. data/lib/plurimath/math/symbols/turnediota.rb +41 -0
  1310. data/lib/plurimath/math/symbols/turnednot.rb +41 -0
  1311. data/lib/plurimath/math/symbols/twocaps.rb +41 -0
  1312. data/lib/plurimath/math/symbols/twocups.rb +41 -0
  1313. data/lib/plurimath/math/symbols/twoheaddownarrow.rb +41 -0
  1314. data/lib/plurimath/math/symbols/twoheadleftarrow.rb +41 -0
  1315. data/lib/plurimath/math/symbols/twoheadleftarrowtail.rb +41 -0
  1316. data/lib/plurimath/math/symbols/twoheadleftdbkarrow.rb +41 -0
  1317. data/lib/plurimath/math/symbols/twoheadmapsfrom.rb +41 -0
  1318. data/lib/plurimath/math/symbols/twoheadmapsto.rb +41 -0
  1319. data/lib/plurimath/math/symbols/twoheadrightarrow.rb +41 -0
  1320. data/lib/plurimath/math/symbols/twoheadrightarrowtail.rb +41 -0
  1321. data/lib/plurimath/math/symbols/twoheaduparrow.rb +41 -0
  1322. data/lib/plurimath/math/symbols/twoheaduparrowcircle.rb +41 -0
  1323. data/lib/plurimath/math/symbols/twolowline.rb +41 -0
  1324. data/lib/plurimath/math/symbols/twonotes.rb +41 -0
  1325. data/lib/plurimath/math/symbols/typecolon.rb +41 -0
  1326. data/lib/plurimath/math/symbols/uarr.rb +41 -0
  1327. data/lib/plurimath/math/symbols/ubrace.rb +41 -0
  1328. data/lib/plurimath/math/symbols/ubrbrak.rb +41 -0
  1329. data/lib/plurimath/math/symbols/ul.rb +41 -0
  1330. data/lib/plurimath/math/symbols/ularc.rb +41 -0
  1331. data/lib/plurimath/math/symbols/ulblacktriangle.rb +41 -0
  1332. data/lib/plurimath/math/symbols/ulcorner.rb +41 -0
  1333. data/lib/plurimath/math/symbols/ultriangle.rb +41 -0
  1334. data/lib/plurimath/math/symbols/uminus.rb +41 -0
  1335. data/lib/plurimath/math/symbols/underbar.rb +41 -0
  1336. data/lib/plurimath/math/symbols/underbracket.rb +41 -0
  1337. data/lib/plurimath/math/symbols/underleftarrow.rb +41 -0
  1338. data/lib/plurimath/math/symbols/underleftharpoondown.rb +41 -0
  1339. data/lib/plurimath/math/symbols/underline.rb +41 -0
  1340. data/lib/plurimath/math/symbols/underparen.rb +41 -0
  1341. data/lib/plurimath/math/symbols/underrightarrow.rb +41 -0
  1342. data/lib/plurimath/math/symbols/underrightharpoondown.rb +41 -0
  1343. data/lib/plurimath/math/symbols/unicodecdots.rb +41 -0
  1344. data/lib/plurimath/math/symbols/unicodeellipsis.rb +41 -0
  1345. data/lib/plurimath/math/symbols/unlhd.rb +41 -0
  1346. data/lib/plurimath/math/symbols/unrhd.rb +41 -0
  1347. data/lib/plurimath/math/symbols/upalpha.rb +41 -0
  1348. data/lib/plurimath/math/symbols/upand.rb +41 -0
  1349. data/lib/plurimath/math/symbols/uparrow.rb +41 -0
  1350. data/lib/plurimath/math/symbols/uparrowbarred.rb +41 -0
  1351. data/lib/plurimath/math/symbols/uparrowoncircle.rb +41 -0
  1352. data/lib/plurimath/math/symbols/upbeta.rb +41 -0
  1353. data/lib/plurimath/math/symbols/upcase_cap.rb +41 -0
  1354. data/lib/plurimath/math/symbols/upcase_delta.rb +41 -0
  1355. data/lib/plurimath/math/symbols/upcase_equiv.rb +41 -0
  1356. data/lib/plurimath/math/symbols/upcase_gamma.rb +41 -0
  1357. data/lib/plurimath/math/symbols/upcase_lambda.rb +41 -0
  1358. data/lib/plurimath/math/symbols/upcase_mapsto.rb +41 -0
  1359. data/lib/plurimath/math/symbols/upcase_omega.rb +41 -0
  1360. data/lib/plurimath/math/symbols/upcase_phi.rb +41 -0
  1361. data/lib/plurimath/math/symbols/upcase_pi.rb +41 -0
  1362. data/lib/plurimath/math/symbols/upcase_psi.rb +41 -0
  1363. data/lib/plurimath/math/symbols/upcase_rbrack.rb +41 -0
  1364. data/lib/plurimath/math/symbols/upcase_rightarrow.rb +41 -0
  1365. data/lib/plurimath/math/symbols/upcase_sigma.rb +41 -0
  1366. data/lib/plurimath/math/symbols/upcase_theta.rb +41 -0
  1367. data/lib/plurimath/math/symbols/upcase_wedge.rb +41 -0
  1368. data/lib/plurimath/math/symbols/upcase_xi.rb +41 -0
  1369. data/lib/plurimath/math/symbols/upcaseup_omega.rb +41 -0
  1370. data/lib/plurimath/math/symbols/upchi.rb +41 -0
  1371. data/lib/plurimath/math/symbols/updasharrow.rb +41 -0
  1372. data/lib/plurimath/math/symbols/updownarrow.rb +41 -0
  1373. data/lib/plurimath/math/symbols/updownarrowbar.rb +41 -0
  1374. data/lib/plurimath/math/symbols/updownarrows.rb +41 -0
  1375. data/lib/plurimath/math/symbols/updownharpoonleftright.rb +41 -0
  1376. data/lib/plurimath/math/symbols/updownharpoonrightleft.rb +41 -0
  1377. data/lib/plurimath/math/symbols/upepsilon.rb +41 -0
  1378. data/lib/plurimath/math/symbols/upequilibrium.rb +41 -0
  1379. data/lib/plurimath/math/symbols/upeta.rb +41 -0
  1380. data/lib/plurimath/math/symbols/upfishtail.rb +41 -0
  1381. data/lib/plurimath/math/symbols/upharpoonleft.rb +41 -0
  1382. data/lib/plurimath/math/symbols/upin.rb +41 -0
  1383. data/lib/plurimath/math/symbols/upint.rb +41 -0
  1384. data/lib/plurimath/math/symbols/upiota.rb +41 -0
  1385. data/lib/plurimath/math/symbols/upkappa.rb +41 -0
  1386. data/lib/plurimath/math/symbols/upkoppa.rb +41 -0
  1387. data/lib/plurimath/math/symbols/upmu.rb +41 -0
  1388. data/lib/plurimath/math/symbols/upnu.rb +41 -0
  1389. data/lib/plurimath/math/symbols/upomicron.rb +41 -0
  1390. data/lib/plurimath/math/symbols/uprho.rb +41 -0
  1391. data/lib/plurimath/math/symbols/uprightcurvearrow.rb +41 -0
  1392. data/lib/plurimath/math/symbols/upsilon.rb +41 -0
  1393. data/lib/plurimath/math/symbols/uptau.rb +41 -0
  1394. data/lib/plurimath/math/symbols/upuparrows.rb +41 -0
  1395. data/lib/plurimath/math/symbols/upupharpoons.rb +41 -0
  1396. data/lib/plurimath/math/symbols/upvarsigma.rb +41 -0
  1397. data/lib/plurimath/math/symbols/upvartheta.rb +41 -0
  1398. data/lib/plurimath/math/symbols/upwhitearrow.rb +41 -0
  1399. data/lib/plurimath/math/symbols/upzeta.rb +41 -0
  1400. data/lib/plurimath/math/symbols/uranus.rb +41 -0
  1401. data/lib/plurimath/math/symbols/urarc.rb +41 -0
  1402. data/lib/plurimath/math/symbols/urblacktriangle.rb +41 -0
  1403. data/lib/plurimath/math/symbols/urcorner.rb +41 -0
  1404. data/lib/plurimath/math/symbols/urtriangle.rb +41 -0
  1405. data/lib/plurimath/math/symbols/utilde.rb +41 -0
  1406. data/lib/plurimath/math/symbols/uu.rb +45 -0
  1407. data/lib/plurimath/math/symbols/uuparrow.rb +41 -0
  1408. data/lib/plurimath/math/symbols/uuu.rb +41 -0
  1409. data/lib/plurimath/math/symbols/varbarwedge.rb +41 -0
  1410. data/lib/plurimath/math/symbols/varbeta.rb +41 -0
  1411. data/lib/plurimath/math/symbols/varcarriagereturn.rb +41 -0
  1412. data/lib/plurimath/math/symbols/varclub.rb +41 -0
  1413. data/lib/plurimath/math/symbols/vardiamond.rb +41 -0
  1414. data/lib/plurimath/math/symbols/vardoublebarwedge.rb +41 -0
  1415. data/lib/plurimath/math/symbols/varepsilon.rb +41 -0
  1416. data/lib/plurimath/math/symbols/varheart.rb +41 -0
  1417. data/lib/plurimath/math/symbols/varhexagon.rb +41 -0
  1418. data/lib/plurimath/math/symbols/varhexagonblack.rb +41 -0
  1419. data/lib/plurimath/math/symbols/varhexagonlrbonds.rb +41 -0
  1420. data/lib/plurimath/math/symbols/varisins.rb +41 -0
  1421. data/lib/plurimath/math/symbols/varkappa.rb +41 -0
  1422. data/lib/plurimath/math/symbols/varlrtriangle.rb +41 -0
  1423. data/lib/plurimath/math/symbols/varniobar.rb +41 -0
  1424. data/lib/plurimath/math/symbols/varnis.rb +41 -0
  1425. data/lib/plurimath/math/symbols/varnothing.rb +41 -0
  1426. data/lib/plurimath/math/symbols/varphi.rb +41 -0
  1427. data/lib/plurimath/math/symbols/varpi.rb +41 -0
  1428. data/lib/plurimath/math/symbols/varprod.rb +41 -0
  1429. data/lib/plurimath/math/symbols/varrho.rb +41 -0
  1430. data/lib/plurimath/math/symbols/varsigma.rb +41 -0
  1431. data/lib/plurimath/math/symbols/varspade.rb +41 -0
  1432. data/lib/plurimath/math/symbols/varstar.rb +41 -0
  1433. data/lib/plurimath/math/symbols/vartheta.rb +41 -0
  1434. data/lib/plurimath/math/symbols/vartriangle.rb +41 -0
  1435. data/lib/plurimath/math/symbols/vartriangleleft.rb +41 -0
  1436. data/lib/plurimath/math/symbols/vartriangleright.rb +41 -0
  1437. data/lib/plurimath/math/symbols/varvdash.rb +41 -0
  1438. data/lib/plurimath/math/symbols/varveebar.rb +41 -0
  1439. data/lib/plurimath/math/symbols/vbar.rb +41 -0
  1440. data/lib/plurimath/math/symbols/vbarv.rb +41 -0
  1441. data/lib/plurimath/math/symbols/vbraceextender.rb +41 -0
  1442. data/lib/plurimath/math/symbols/vbrtri.rb +41 -0
  1443. data/lib/plurimath/math/symbols/vdash.rb +41 -0
  1444. data/lib/plurimath/math/symbols/vddash.rb +41 -0
  1445. data/lib/plurimath/math/symbols/vdots.rb +41 -0
  1446. data/lib/plurimath/math/symbols/vec.rb +41 -0
  1447. data/lib/plurimath/math/symbols/vectimes.rb +41 -0
  1448. data/lib/plurimath/math/symbols/vee.rb +41 -0
  1449. data/lib/plurimath/math/symbols/veebar.rb +41 -0
  1450. data/lib/plurimath/math/symbols/veedot.rb +41 -0
  1451. data/lib/plurimath/math/symbols/veedoublebar.rb +41 -0
  1452. data/lib/plurimath/math/symbols/veeeq.rb +41 -0
  1453. data/lib/plurimath/math/symbols/veemidvert.rb +41 -0
  1454. data/lib/plurimath/math/symbols/veeodot.rb +41 -0
  1455. data/lib/plurimath/math/symbols/veeonvee.rb +41 -0
  1456. data/lib/plurimath/math/symbols/veeonwedge.rb +41 -0
  1457. data/lib/plurimath/math/symbols/venus.rb +41 -0
  1458. data/lib/plurimath/math/symbols/vertoverlay.rb +41 -0
  1459. data/lib/plurimath/math/symbols/viewdata.rb +41 -0
  1460. data/lib/plurimath/math/symbols/virgo.rb +41 -0
  1461. data/lib/plurimath/math/symbols/vlongdash.rb +41 -0
  1462. data/lib/plurimath/math/symbols/vrectangle.rb +41 -0
  1463. data/lib/plurimath/math/symbols/vrectangleblack.rb +41 -0
  1464. data/lib/plurimath/math/symbols/vv.rb +41 -0
  1465. data/lib/plurimath/math/symbols/vvdash.rb +41 -0
  1466. data/lib/plurimath/math/symbols/vvv.rb +41 -0
  1467. data/lib/plurimath/math/symbols/vysmblkcircle.rb +41 -0
  1468. data/lib/plurimath/math/symbols/vysmblksquare.rb +41 -0
  1469. data/lib/plurimath/math/symbols/vysmwhtcircle.rb +41 -0
  1470. data/lib/plurimath/math/symbols/vysmwhtsquare.rb +41 -0
  1471. data/lib/plurimath/math/symbols/vzigzag.rb +41 -0
  1472. data/lib/plurimath/math/symbols/warning.rb +41 -0
  1473. data/lib/plurimath/math/symbols/wasytherefore.rb +41 -0
  1474. data/lib/plurimath/math/symbols/wedge.rb +41 -0
  1475. data/lib/plurimath/math/symbols/wedgebar.rb +41 -0
  1476. data/lib/plurimath/math/symbols/wedgedot.rb +41 -0
  1477. data/lib/plurimath/math/symbols/wedgedoublebar.rb +41 -0
  1478. data/lib/plurimath/math/symbols/wedgemidvert.rb +41 -0
  1479. data/lib/plurimath/math/symbols/wedgeodot.rb +41 -0
  1480. data/lib/plurimath/math/symbols/wedgeonwedge.rb +41 -0
  1481. data/lib/plurimath/math/symbols/whitearrowupfrombar.rb +41 -0
  1482. data/lib/plurimath/math/symbols/whiteinwhitetriangle.rb +41 -0
  1483. data/lib/plurimath/math/symbols/whitepointerleft.rb +41 -0
  1484. data/lib/plurimath/math/symbols/whitepointerright.rb +41 -0
  1485. data/lib/plurimath/math/symbols/whitesquaretickleft.rb +41 -0
  1486. data/lib/plurimath/math/symbols/whitesquaretickright.rb +41 -0
  1487. data/lib/plurimath/math/symbols/whthorzoval.rb +41 -0
  1488. data/lib/plurimath/math/symbols/whtvertoval.rb +41 -0
  1489. data/lib/plurimath/math/symbols/wideangledown.rb +41 -0
  1490. data/lib/plurimath/math/symbols/wideangleup.rb +41 -0
  1491. data/lib/plurimath/math/symbols/widebridgeabove.rb +41 -0
  1492. data/lib/plurimath/math/symbols/wideparen.rb +41 -0
  1493. data/lib/plurimath/math/symbols/wp.rb +41 -0
  1494. data/lib/plurimath/math/symbols/wr.rb +41 -0
  1495. data/lib/plurimath/math/symbols/xbox.rb +41 -0
  1496. data/lib/plurimath/math/symbols/xi.rb +41 -0
  1497. data/lib/plurimath/math/symbols/xsol.rb +41 -0
  1498. data/lib/plurimath/math/symbols/xx.rb +41 -0
  1499. data/lib/plurimath/math/symbols/yen.rb +41 -0
  1500. data/lib/plurimath/math/symbols/yinyang.rb +41 -0
  1501. data/lib/plurimath/math/symbols/yup.rb +41 -0
  1502. data/lib/plurimath/math/symbols/zbar.rb +41 -0
  1503. data/lib/plurimath/math/symbols/zeta.rb +41 -0
  1504. data/lib/plurimath/math/symbols/zpipe.rb +41 -0
  1505. data/lib/plurimath/math/symbols/zwnj.rb +41 -0
  1506. data/lib/plurimath/math/symbols/zwsp.rb +41 -0
  1507. data/lib/plurimath/math/symbols/zz.rb +41 -0
  1508. data/lib/plurimath/math/symbols.rb +14 -0
  1509. data/lib/plurimath/math.rb +2 -2
  1510. data/lib/plurimath/mathml/constants.rb +1 -1
  1511. data/lib/plurimath/mathml/parser.rb +1 -1
  1512. data/lib/plurimath/mathml/transform.rb +12 -10
  1513. data/lib/plurimath/number_formatter.rb +32 -0
  1514. data/lib/plurimath/omml/parser.rb +1 -1
  1515. data/lib/plurimath/omml/transform.rb +16 -18
  1516. data/lib/plurimath/setup/oga.rb +1 -1
  1517. data/lib/plurimath/setup/ox.rb +1 -1
  1518. data/lib/plurimath/unicode_math/constants.rb +8 -1
  1519. data/lib/plurimath/unicode_math/parsing_rules/common_rules.rb +1 -0
  1520. data/lib/plurimath/unicode_math/parsing_rules/constants_rules.rb +1 -0
  1521. data/lib/plurimath/unicode_math/parsing_rules/masked.rb +1 -1
  1522. data/lib/plurimath/unicode_math/parsing_rules/sub_sup.rb +1 -1
  1523. data/lib/plurimath/unicode_math/transform.rb +315 -320
  1524. data/lib/plurimath/utility.rb +215 -80
  1525. data/lib/plurimath/version.rb +1 -1
  1526. data/lib/plurimath/xml_engine/oga/document.rb +10 -0
  1527. data/lib/plurimath/xml_engine/oga/dumper.rb +96 -0
  1528. data/lib/plurimath/xml_engine/oga/element.rb +8 -0
  1529. data/lib/plurimath/xml_engine/oga/node.rb +133 -0
  1530. data/lib/plurimath/xml_engine/oga/wrapper.rb +21 -0
  1531. data/lib/plurimath/xml_engine/oga.rb +12 -218
  1532. data/lib/plurimath/xml_engine/ox/element.rb +127 -0
  1533. data/lib/plurimath/xml_engine/ox.rb +11 -6
  1534. data/lib/plurimath/xml_engine.rb +1 -1
  1535. data/plurimath.gemspec +1 -0
  1536. data/supported_parens_list.adoc +441 -0
  1537. data/supported_symbols_list.adoc +24493 -0
  1538. data/tasks/symbols_documentation_list.rake +54 -0
  1539. metadata +1494 -5
  1540. data/lib/plurimath/math/symbol.rb +0 -193
  1541. data/lib/plurimath/math/unicode.rb +0 -11
@@ -37,7 +37,7 @@ module Plurimath
37
37
  rule(sub_exp: sequence(:exp)) { exp }
38
38
  rule(factor: simple(:factor)) { factor }
39
39
  rule(hbrack: simple(:hbrack)) { hbrack }
40
- rule(symbol: simple(:symbol)) { Math::Symbol.new(symbol) }
40
+ rule(symbol: simple(:symbol)) { Utility.symbols_class(symbol, lang: :unicodemath) }
41
41
  rule(number: simple(:number)) { Math::Number.new(number) }
42
42
 
43
43
  rule(backcolor: simple(:color)) { color }
@@ -45,7 +45,7 @@ module Plurimath
45
45
  rule(factor: sequence(:factor)) { factor }
46
46
  rule(operand: simple(:operand)) { operand }
47
47
  rule(accents: subtree(:accent)) { Utility.unicode_accents(accent) }
48
- rule(sup_alpha: simple(:alpha)) { Math::Symbol.new(Constants::SUP_ALPHABETS.key(alpha).to_s, mini_sup_sized: true) }
48
+ rule(sup_alpha: simple(:alpha)) { Math::Symbols::Symbol.new(Constants::SUP_ALPHABETS.key(alpha).to_s, mini_sup_sized: true) }
49
49
 
50
50
  rule(sub_script: simple(:script)) { script }
51
51
  rule(sup_script: simple(:script)) { script }
@@ -53,8 +53,8 @@ module Plurimath
53
53
  rule(operand: sequence(:operand)) { operand }
54
54
  rule(mini_sup: simple(:mini_sup)) { mini_sup }
55
55
  rule(mini_sub: simple(:mini_sub)) { mini_sub }
56
- rule(close_paren: simple(:paren)) { Math::Symbol.new(paren) }
57
- rule(operator: simple(:operator)) { Math::Symbol.new(operator) }
56
+ rule(close_paren: simple(:paren)) { Utility.symbols_class(paren, lang: :unicodemath) }
57
+ rule(operator: simple(:operator)) { Utility.symbols_class(operator, lang: :unicodemath) }
58
58
 
59
59
  rule(unary_sub_sup: simple(:unary)) { unary }
60
60
  rule(sub_script: sequence(:script)) { script }
@@ -68,9 +68,9 @@ module Plurimath
68
68
  rule(accents_subsup: simple(:subsup)) { subsup }
69
69
  rule(subsup_exp: simple(:subsup_exp)) { subsup_exp }
70
70
  rule(expression: simple(:expression)) { expression }
71
- rule(open_paren: simple(:open_paren)) { Math::Symbol.new(open_paren) }
71
+ rule(open_paren: simple(:open_paren)) { Utility.symbols_class(open_paren, lang: :unicodemath) }
72
72
  rule(override_subsup: simple(:subsup)) { subsup }
73
- rule(slashed_value: sequence(:values)) { Utility.sequence_slashed_values(values) }
73
+ rule(slashed_value: sequence(:values)) { Utility.sequence_slashed_values(values, lang: :unicodemath) }
74
74
 
75
75
  rule(intermediate_exp: sequence(:expr)) { expr }
76
76
  rule(diacritic_belows: simple(:belows)) { belows }
@@ -82,8 +82,8 @@ module Plurimath
82
82
  rule(diacritics_accents: simple(:accent)) { accent }
83
83
  rule(mini_sub_sup: simple(:mini_sub_sup)) { mini_sub_sup }
84
84
  rule(unary_subsup: simple(:unary_subsup)) { unary_subsup }
85
- rule(exclamation_symbol: simple(:symbol)) { Math::Symbol.new(symbol) }
86
- rule(alphanumeric: simple(:alphanumeric)) { Math::Symbol.new(alphanumeric) }
85
+ rule(exclamation_symbol: simple(:symbol)) { Utility.symbols_class(symbol, lang: :unicodemath) }
86
+ rule(alphanumeric: simple(:alphanumeric)) { Utility.symbols_class(alphanumeric, lang: :unicodemath) }
87
87
 
88
88
  rule(diacritic_overlays: simple(:overlays)) { overlays }
89
89
  rule(mini_sub_sup: sequence(:mini_sub_sup)) { mini_sub_sup }
@@ -92,31 +92,30 @@ module Plurimath
92
92
 
93
93
  rule(combined_symbols: simple(:combined_symbols)) do
94
94
  symbol = Constants::COMBINING_SYMBOLS[combined_symbols.to_sym] || combined_symbols
95
- Math::Symbol.new(symbol)
95
+ Utility.symbols_class(symbol, lang: :unicodemath)
96
96
  end
97
97
 
98
98
  rule(spaces: simple(:spaces)) do
99
99
  space = Constants::SKIP_SYMBOLS[spaces.to_sym] || spaces
100
- Math::Symbol.new(space, options: { space: true })
100
+ Math::Symbols::Symbol.new(space, options: { space: true })
101
101
  end
102
102
 
103
103
  rule(binary_symbols: simple(:symbols)) do
104
- symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
105
- Math::Symbol.new(symbol)
104
+ Utility.symbols_class(symbols, lang: :unicodemath)
106
105
  end
107
106
 
108
107
  rule(sup_operators: simple(:operator)) do
109
108
  op = Constants::SUP_OPERATORS.key(operator).to_s
110
- Math::Symbol.new(op, mini_sup_sized: true)
109
+ Math::Symbols::Symbol.new(op, mini_sup_sized: true)
111
110
  end
112
111
 
113
112
  rule(prefixed_prime: simple(:prime)) do
114
- Math::Symbol.new(Constants::PREFIXED_PRIMES[prime.to_sym])
113
+ Utility.updated_primes(prime)
115
114
  end
116
115
 
117
116
  rule(unary_functions: simple(:unary)) do
118
117
  if Constants::UNDEF_UNARY_FUNCTIONS.include?(unary.to_s)
119
- Math::Symbol.new(unary)
118
+ Utility.symbols_class(unary, lang: :unicodemath)
120
119
  else
121
120
  Utility.get_class(unary).new
122
121
  end
@@ -124,30 +123,32 @@ module Plurimath
124
123
 
125
124
  rule(negated_operator: simple(:operator)) do
126
125
  Math::Formula.new([
127
- Math::Symbol.new(operator),
128
- Math::Symbol.new("̸"),
126
+ Utility.symbols_class(operator, lang: :unicodemath),
127
+ Math::Symbols::Symbol.new("̸"),
129
128
  ])
130
129
  end
131
130
 
132
131
  rule(ordinary_symbols: simple(:ordinary)) do
133
- Math::Symbol.new(
134
- (Constants::ORDINARY_SYMBOLS[ordinary.to_sym] || ordinary),
135
- )
132
+ Utility.symbols_class(ordinary, lang: :unicodemath)
136
133
  end
137
134
 
138
135
  rule(relational_symbols: simple(:symbol)) do
139
- Math::Symbol.new(
140
- (Constants::RELATIONAL_SYMBOLS[symbol.to_sym] || symbol),
141
- )
136
+ Utility.symbols_class(symbol, lang: :unicodemath)
142
137
  end
143
138
 
144
139
  rule(unicode_symbols: simple(:unicode_symbols)) do
145
- Math::Symbol.new(unicode_symbols)
140
+ Utility.symbols_class(unicode_symbols, lang: :unicodemath)
146
141
  end
147
142
 
148
143
  rule(monospace_value: simple(:monospace_value)) do
149
144
  Math::Function::FontStyle::Monospace.new(
150
- Math::Symbol.new(monospace_value),
145
+ monospace_value,
146
+ )
147
+ end
148
+
149
+ rule(monospace_value: sequence(:monospace_value)) do
150
+ Math::Function::FontStyle::Monospace.new(
151
+ Utility.filter_values(monospace_value),
151
152
  )
152
153
  end
153
154
 
@@ -172,8 +173,8 @@ module Plurimath
172
173
 
173
174
  rule(ordinary_negated_operator: simple(:operator)) do
174
175
  Math::Formula.new([
175
- Math::Symbol.new(operator),
176
- Math::Symbol.new("̸"),
176
+ Utility.symbols_class(operator, lang: :unicodemath),
177
+ Math::Symbols::Symbol.new("̸"),
177
178
  ])
178
179
  end
179
180
 
@@ -203,79 +204,79 @@ module Plurimath
203
204
  unicoded.to_sym,
204
205
  symbol.to_sym,
205
206
  )
206
- Math::Symbol.new(unicode)
207
+ Utility.symbols_class(unicode, lang: :unicodemath)
207
208
  end
208
209
 
209
210
  rule(font_class: simple(:fonts),
210
211
  symbol: simple(:symbol)) do
211
212
  Utility::FONT_STYLES[fonts.to_sym].new(
212
- Math::Symbol.new(symbol),
213
+ Utility.symbols_class(symbol, lang: :unicodemath),
213
214
  )
214
215
  end
215
216
 
216
217
  rule(symbol: simple(:symbol),
217
218
  naryand_recursion: sequence(:naryand_recursion)) do
218
219
  [
219
- Math::Symbol.new(symbol),
220
+ Utility.symbols_class(symbol, lang: :unicodemath),
220
221
  ] + naryand_recursion
221
222
  end
222
223
 
223
224
  rule(symbol: simple(:symbol),
224
225
  naryand_recursion: simple(:naryand_recursion)) do
225
- [Math::Symbol.new(symbol), naryand_recursion]
226
+ [Utility.symbols_class(symbol, lang: :unicodemath), naryand_recursion]
226
227
  end
227
228
 
228
229
  rule(symbol: simple(:symbol),
229
230
  expr: simple(:expr)) do
230
- [Math::Symbol.new(symbol), expr]
231
+ [Utility.symbols_class(symbol, lang: :unicodemath), expr]
231
232
  end
232
233
 
233
234
  rule(binary_symbols: simple(:symbols),
234
235
  expr: simple(:expr)) do
235
236
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
236
- [Math::Symbol.new(symbol), expr]
237
+ [Utility.symbols_class(symbol, lang: :unicodemath), expr]
237
238
  end
238
239
 
239
240
  rule(binary_symbols: simple(:symbols),
240
241
  exp: sequence(:exp)) do
241
242
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
242
- [Math::Symbol.new(symbol)] + exp
243
+ [Utility.symbols_class(symbol, lang: :unicodemath)] + exp
243
244
  end
244
245
 
245
246
  rule(binary_symbols: simple(:symbols),
246
247
  expr: sequence(:expr)) do
247
248
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
248
- [Math::Symbol.new(symbol)] + expr
249
+ [Utility.symbols_class(symbol, lang: :unicodemath)] + expr
249
250
  end
250
251
 
251
252
  rule(binary_symbols: simple(:symbols),
252
253
  naryand_recursion: simple(:naryand_recursion)) do
253
254
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
254
- [Math::Symbol.new(symbol), naryand_recursion]
255
+ [Utility.symbols_class(symbol, lang: :unicodemath), naryand_recursion]
255
256
  end
256
257
 
257
258
  rule(binary_symbols: simple(:symbols),
258
259
  recursive_denominator: simple(:recursive_denominator)) do
259
260
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
260
- [Math::Symbol.new(symbol), recursive_denominator]
261
+ [Utility.symbols_class(symbol, lang: :unicodemath), recursive_denominator]
261
262
  end
262
263
 
263
264
  rule(binary_symbols: simple(:symbols),
264
265
  recursive_denominator: sequence(:recursive_denominator)) do
265
266
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
266
- [Math::Symbol.new(symbol)] + recursive_denominator
267
+ [Utility.symbols_class(symbol, lang: :unicodemath)] + recursive_denominator
267
268
  end
268
269
 
269
270
  rule(binary_symbols: simple(:symbols),
270
271
  recursive_numerator: simple(:recursive_numerator)) do
271
272
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
272
- [Math::Symbol.new(symbol), recursive_numerator]
273
+ [Utility.symbols_class(symbol, lang: :unicodemath), recursive_numerator]
273
274
  end
274
275
 
275
276
  rule(symbol: simple(:symbol),
276
277
  expr: sequence(:expr)) do
277
278
  [
278
- Math::Symbol.new(symbol),
279
+ Utility.symbols_class(symbol, lang: :unicodemath),
279
280
  ] + expr
280
281
  end
281
282
 
@@ -283,8 +284,8 @@ module Plurimath
283
284
  expr: simple(:expr)) do
284
285
  [
285
286
  Math::Formula.new([
286
- Math::Symbol.new(operator),
287
- Math::Symbol.new("̸"),
287
+ Utility.symbols_class(operator, lang: :unicodemath),
288
+ Math::Symbols::Symbol.new("̸"),
288
289
  ]),
289
290
  expr,
290
291
  ]
@@ -294,8 +295,8 @@ module Plurimath
294
295
  expr: sequence(:expr)) do
295
296
  [
296
297
  Math::Formula.new([
297
- Math::Symbol.new(operator),
298
- Math::Symbol.new("̸"),
298
+ Utility.symbols_class(operator, lang: :unicodemath),
299
+ Math::Symbols::Symbol.new("̸"),
299
300
  ]),
300
301
  ] + expr
301
302
  end
@@ -304,8 +305,8 @@ module Plurimath
304
305
  expr: simple(:expr)) do
305
306
  [
306
307
  Math::Formula.new([
307
- Math::Symbol.new(operator),
308
- Math::Symbol.new("̸"),
308
+ Utility.symbols_class(operator, lang: :unicodemath),
309
+ Math::Symbols::Symbol.new("̸"),
309
310
  ]),
310
311
  expr,
311
312
  ]
@@ -368,7 +369,7 @@ module Plurimath
368
369
 
369
370
  rule(char: simple(:char),
370
371
  alphanumeric: simple(:alphanumeric)) do
371
- [char, Math::Symbol.new(alphanumeric)]
372
+ [char, Utility.symbols_class(alphanumeric, lang: :unicodemath)]
372
373
  end
373
374
 
374
375
  rule(char: simple(:char),
@@ -413,42 +414,42 @@ module Plurimath
413
414
 
414
415
  rule(operator: simple(:operator),
415
416
  expr: simple(:expr)) do
416
- [Math::Symbol.new(operator), expr]
417
+ [Utility.symbols_class(operator, lang: :unicodemath), expr]
417
418
  end
418
419
 
419
420
  rule(mid_symbol: simple(:mid_symbol),
420
421
  expr: simple(:expr)) do
421
- [Math::Symbol.new(mid_symbol), expr]
422
+ [Utility.symbols_class(mid_symbol, lang: :unicodemath), expr]
422
423
  end
423
424
 
424
425
  rule(mid_symbol: simple(:mid_symbol),
425
426
  expr: sequence(:expr)) do
426
- [Math::Symbol.new(mid_symbol)] + expr
427
+ [Utility.symbols_class(mid_symbol, lang: :unicodemath)] + expr
427
428
  end
428
429
 
429
430
  rule(operator: simple(:operator),
430
431
  exp: simple(:exp)) do
431
- [Math::Symbol.new(operator), exp]
432
+ [Utility.symbols_class(operator, lang: :unicodemath), exp]
432
433
  end
433
434
 
434
435
  rule(unicode_symbols: simple(:unicode_symbols),
435
436
  exp: simple(:exp)) do
436
- [Math::Symbol.new(unicode_symbols), exp]
437
+ [Utility.symbols_class(unicode_symbols, lang: :unicodemath), exp]
437
438
  end
438
439
 
439
440
  rule(unicode_symbols: simple(:unicode_symbols),
440
441
  expr: simple(:expr)) do
441
- [Math::Symbol.new(unicode_symbols), expr]
442
+ [Utility.symbols_class(unicode_symbols, lang: :unicodemath), expr]
442
443
  end
443
444
 
444
445
  rule(unicode_symbols: simple(:unicode_symbols),
445
446
  exp: sequence(:exp)) do
446
- [Math::Symbol.new(unicode_symbols)] + exp
447
+ [Utility.symbols_class(unicode_symbols, lang: :unicodemath)] + exp
447
448
  end
448
449
 
449
450
  rule(unicode_symbols: simple(:unicode_symbols),
450
451
  expr: sequence(:expr)) do
451
- [Math::Symbol.new(unicode_symbols)] + expr
452
+ [Utility.symbols_class(unicode_symbols, lang: :unicodemath)] + expr
452
453
  end
453
454
 
454
455
  rule(atom: simple(:atom),
@@ -468,33 +469,33 @@ module Plurimath
468
469
 
469
470
  rule(operator: simple(:operator),
470
471
  expr: sequence(:expr)) do
471
- [Math::Symbol.new(operator)] + expr
472
+ [Utility.symbols_class(operator, lang: :unicodemath)] + expr
472
473
  end
473
474
 
474
475
  rule(operator: simple(:operator),
475
476
  exp: sequence(:exp)) do
476
- [Math::Symbol.new(operator)] + exp
477
+ [Utility.symbols_class(operator, lang: :unicodemath)] + exp
477
478
  end
478
479
 
479
480
  rule(operator: simple(:operator),
480
481
  sup_script: simple(:sup_script)) do
481
- [Math::Symbol.new(operator), sup_script]
482
+ [Utility.symbols_class(operator, lang: :unicodemath), sup_script]
482
483
  end
483
484
 
484
485
  rule(operator: simple(:operator),
485
486
  sup_script: sequence(:sup_script)) do
486
- [Math::Symbol.new(operator)] + sup_script
487
+ [Utility.symbols_class(operator, lang: :unicodemath)] + sup_script
487
488
  end
488
489
 
489
490
  rule(combined_symbols: simple(:combined_symbols),
490
491
  sup_script: simple(:sup_script)) do
491
492
  symbol = Constants::COMBINING_SYMBOLS[combined_symbols.to_sym]
492
- [Math::Symbol.new(symbol), sup_script]
493
+ [Utility.symbols_class(symbol, lang: :unicodemath), sup_script]
493
494
  end
494
495
 
495
496
  rule(operator: simple(:operator),
496
497
  sub_script: simple(:sub_script)) do
497
- [Math::Symbol.new(operator), sub_script]
498
+ [Utility.symbols_class(operator, lang: :unicodemath), sub_script]
498
499
  end
499
500
 
500
501
  rule(size_overrides: simple(:size_overrides),
@@ -530,7 +531,7 @@ module Plurimath
530
531
  sup_recursion_expr: sequence(:sup_recursion_expr)) do
531
532
  alpha = Constants::SUP_ALPHABETS.key(sup_alpha)
532
533
  [
533
- Math::Symbol.new(alpha.to_s, mini_sup_sized: true)
534
+ Math::Symbols::Symbol.new(alpha.to_s, mini_sup_sized: true)
534
535
  ] + sup_recursion_expr
535
536
  end
536
537
 
@@ -538,7 +539,7 @@ module Plurimath
538
539
  sup_recursion_expr: simple(:sup_recursion_expr)) do
539
540
  alpha = Constants::SUP_ALPHABETS.key(sup_alpha)
540
541
  [
541
- Math::Symbol.new(alpha.to_s, mini_sup_sized: true),
542
+ Math::Symbols::Symbol.new(alpha.to_s, mini_sup_sized: true),
542
543
  sup_recursion_expr,
543
544
  ]
544
545
  end
@@ -576,7 +577,7 @@ module Plurimath
576
577
  rule(operator: simple(:operator),
577
578
  sup_recursion: simple(:sup_recursion)) do
578
579
  Utility.recursive_sup(
579
- Math::Symbol.new(operator),
580
+ Utility.symbols_class(operator, lang: :unicodemath),
580
581
  Utility.unfenced_value(sup_recursion, paren_specific: true),
581
582
  )
582
583
  end
@@ -584,14 +585,14 @@ module Plurimath
584
585
  rule(operator: simple(:operator),
585
586
  sub_recursion: simple(:sub_recursion)) do
586
587
  Utility.recursive_sub(
587
- Math::Symbol.new(operator),
588
+ Utility.symbols_class(operator, lang: :unicodemath),
588
589
  sub_recursion,
589
590
  )
590
591
  end
591
592
 
592
593
  rule(operator: simple(:operator),
593
594
  sub_recursion: sequence(:sub_recursion)) do
594
- [Math::Symbol.new(operator)] + sub_recursion
595
+ [Utility.symbols_class(operator, lang: :unicodemath)] + sub_recursion
595
596
  end
596
597
 
597
598
  rule(sub_script: simple(:sub_script),
@@ -602,19 +603,19 @@ module Plurimath
602
603
  rule(sub_operators: simple(:operator),
603
604
  sub_recursions: simple(:recursions)) do
604
605
  op = Constants::SUB_OPERATORS.key(operator).to_s
605
- [Math::Symbol.new(op, mini_sub_sized: true), recursions]
606
+ [Math::Symbols::Symbol.new(op, mini_sub_sized: true), recursions]
606
607
  end
607
608
 
608
609
  rule(sub_operators: simple(:operator),
609
610
  sub_recursions: sequence(:recursions)) do
610
611
  op = Constants::SUB_OPERATORS.key(operator).to_s
611
- [Math::Symbol.new(op, mini_sub_sized: true)] + recursions
612
+ [Math::Symbols::Symbol.new(op, mini_sub_sized: true)] + recursions
612
613
  end
613
614
 
614
615
  rule(sup_operators: simple(:operator),
615
616
  sup_recursions: simple(:recursions)) do
616
617
  op = Constants::SUP_OPERATORS.key(operator).to_s
617
- [Math::Symbol.new(op, mini_sup_sized: true), recursions]
618
+ [Math::Symbols::Symbol.new(op, mini_sup_sized: true), recursions]
618
619
  end
619
620
 
620
621
  rule(digit: simple(:digit),
@@ -629,7 +630,7 @@ module Plurimath
629
630
  recursive_denominator: simple(:recursive_denominator)) do
630
631
  symbol = Constants::RELATIONAL_SYMBOLS[symbols.to_sym] || symbols
631
632
  [
632
- Math::Symbol.new(symbol.to_s),
633
+ Utility.symbols_class(symbol.to_s, lang: :unicodemath),
633
634
  recursive_denominator,
634
635
  ]
635
636
  end
@@ -1125,7 +1126,7 @@ module Plurimath
1125
1126
  rule(color_value: simple(:color),
1126
1127
  first_value: simple(:first_value)) do
1127
1128
  Math::Function::Color.new(
1128
- Math::Symbol.new(color),
1129
+ Math::Symbols::Symbol.new(color),
1129
1130
  first_value,
1130
1131
  )
1131
1132
  end
@@ -1133,7 +1134,7 @@ module Plurimath
1133
1134
  rule(color_value: simple(:color),
1134
1135
  first_value: sequence(:first_value)) do
1135
1136
  Math::Function::Color.new(
1136
- Math::Symbol.new(color),
1137
+ Math::Symbols::Symbol.new(color),
1137
1138
  Utility.filter_values(first_value),
1138
1139
  )
1139
1140
  end
@@ -1184,7 +1185,7 @@ module Plurimath
1184
1185
  rule(backcolor_value: simple(:color),
1185
1186
  first_value: simple(:first_value)) do
1186
1187
  color_obj = Math::Function::Color.new(
1187
- Math::Symbol.new(color),
1188
+ Math::Symbols::Symbol.new(color),
1188
1189
  first_value,
1189
1190
  { backcolor: true }
1190
1191
  )
@@ -1193,7 +1194,7 @@ module Plurimath
1193
1194
  rule(backcolor_value: simple(:color),
1194
1195
  first_value: sequence(:first_value)) do
1195
1196
  color_obj = Math::Function::Color.new(
1196
- Math::Symbol.new(color),
1197
+ Math::Symbols::Symbol.new(color),
1197
1198
  Utility.filter_values(first_value),
1198
1199
  { backcolor: true }
1199
1200
  )
@@ -1232,12 +1233,12 @@ module Plurimath
1232
1233
  else
1233
1234
  if Constants::UNDER_HORIZONTAL_BRACKETS[hbrack.to_sym] || Constants::UNDER_HORIZONTAL_BRACKETS.key(hbrack)
1234
1235
  Math::Function::Underset.new(
1235
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1236
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1236
1237
  value,
1237
1238
  )
1238
1239
  else
1239
1240
  Math::Function::Overset.new(
1240
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1241
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1241
1242
  value,
1242
1243
  )
1243
1244
  end
@@ -1261,12 +1262,12 @@ module Plurimath
1261
1262
  else
1262
1263
  if Constants::UNDER_HORIZONTAL_BRACKETS[hbrack.to_sym] || Constants::UNDER_HORIZONTAL_BRACKETS.key(hbrack)
1263
1264
  Math::Function::Underset.new(
1264
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1265
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1265
1266
  value,
1266
1267
  )
1267
1268
  else
1268
1269
  Math::Function::Overset.new(
1269
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1270
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1270
1271
  value,
1271
1272
  )
1272
1273
  end
@@ -1292,12 +1293,12 @@ module Plurimath
1292
1293
  else
1293
1294
  if Constants::UNDER_HORIZONTAL_BRACKETS[hbrack.to_sym] || Constants::UNDER_HORIZONTAL_BRACKETS.key(hbrack)
1294
1295
  Math::Function::Underset.new(
1295
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1296
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1296
1297
  value,
1297
1298
  )
1298
1299
  else
1299
1300
  Math::Function::Overset.new(
1300
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1301
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1301
1302
  value,
1302
1303
  )
1303
1304
  end
@@ -1321,12 +1322,12 @@ module Plurimath
1321
1322
  else
1322
1323
  if Constants::UNDER_HORIZONTAL_BRACKETS[hbrack.to_sym] || Constants::UNDER_HORIZONTAL_BRACKETS.key(hbrack)
1323
1324
  Math::Function::Underset.new(
1324
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1325
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1325
1326
  value,
1326
1327
  )
1327
1328
  else
1328
1329
  Math::Function::Overset.new(
1329
- Math::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1330
+ Math::Symbols::Symbol.new(Constants::HORIZONTAL_BRACKETS[hbrack.to_sym] || hbrack),
1330
1331
  value,
1331
1332
  )
1332
1333
  end
@@ -1335,19 +1336,17 @@ module Plurimath
1335
1336
 
1336
1337
  rule(first_value: simple(:first_value),
1337
1338
  prime_accent_symbols: sequence(:prime)) do
1338
- prime.map!.with_index { |pp| (Constants::ACCENT_SYMBOLS[pp.to_sym] || pp) }
1339
1339
  Math::Function::Power.new(
1340
1340
  Utility.unfenced_value(first_value, paren_specific: true),
1341
- Utility.filter_values(prime),
1341
+ Utility.updated_primes(prime),
1342
1342
  )
1343
1343
  end
1344
1344
 
1345
1345
  rule(first_value: simple(:first_value),
1346
1346
  prime_accent_symbols: simple(:prime)) do
1347
- prime_symbol = (Constants::ACCENT_SYMBOLS[prime.to_sym] || prime)
1348
1347
  Math::Function::Power.new(
1349
1348
  Utility.unfenced_value(first_value, paren_specific: true),
1350
- Math::Symbol.new(prime_symbol),
1349
+ Utility.updated_primes(prime),
1351
1350
  )
1352
1351
  end
1353
1352
 
@@ -1357,14 +1356,14 @@ module Plurimath
1357
1356
  overlay_value = Utility.unfenced_value(first_value.pop, paren_specific: true)
1358
1357
  overlay_object = if notation == "mover"
1359
1358
  Math::Function::Overset.new(
1360
- Math::Symbol.new(overlay),
1359
+ Utility.symbols_class(overlay, lang: :unicodemath),
1361
1360
  overlay_value,
1362
1361
  { accent: true },
1363
1362
  )
1364
1363
  else
1365
1364
  if overlay == "̄"
1366
1365
  Math::Function::Overset.new(
1367
- Math::Symbol.new(overlay),
1366
+ Utility.symbols_class(overlay, lang: :unicodemath),
1368
1367
  overlay_value,
1369
1368
  { accent: true },
1370
1369
  )
@@ -1384,14 +1383,14 @@ module Plurimath
1384
1383
  overlay_value = Utility.unfenced_value(first_value, paren_specific: true)
1385
1384
  if notation == "mover"
1386
1385
  Math::Function::Overset.new(
1387
- Math::Symbol.new(overlay),
1386
+ Utility.symbols_class(overlay, lang: :unicodemath),
1388
1387
  overlay_value,
1389
1388
  { accent: true },
1390
1389
  )
1391
1390
  else
1392
1391
  if overlay == "̄"
1393
1392
  Math::Function::Overset.new(
1394
- Math::Symbol.new(overlay),
1393
+ Utility.symbols_class(overlay, lang: :unicodemath),
1395
1394
  overlay_value,
1396
1395
  { accent: true },
1397
1396
  )
@@ -1410,7 +1409,7 @@ module Plurimath
1410
1409
  overlay_value = Utility.unfenced_value(first_value, paren_specific: true)
1411
1410
  if notation == "mover"
1412
1411
  Math::Function::Overset.new(
1413
- Math::Symbol.new(overlay),
1412
+ Utility.symbols_class(overlay, lang: :unicodemath),
1414
1413
  overlay_value,
1415
1414
  { accent: true },
1416
1415
  )
@@ -1428,7 +1427,7 @@ module Plurimath
1428
1427
  overlay_value = Utility.unfenced_value(first_value, paren_specific: true)
1429
1428
  if notation == "munder"
1430
1429
  Math::Function::Underset.new(
1431
- Math::Symbol.new(overlay),
1430
+ Utility.symbols_class(overlay, lang: :unicodemath),
1432
1431
  overlay_value,
1433
1432
  { accent: true },
1434
1433
  )
@@ -1439,10 +1438,9 @@ module Plurimath
1439
1438
 
1440
1439
  rule(first_value: sequence(:first_value),
1441
1440
  prime_accent_symbols: simple(:prime)) do
1442
- prime_symbol = (Constants::ACCENT_SYMBOLS[prime.to_sym] || prime)
1443
1441
  Math::Function::Power.new(
1444
1442
  Utility.unfenced_value(first_value, paren_specific: true),
1445
- Math::Symbol.new(prime_symbol),
1443
+ Utility.updated_primes(prime),
1446
1444
  )
1447
1445
  end
1448
1446
 
@@ -1482,7 +1480,7 @@ module Plurimath
1482
1480
  first_value: simple(:first_value)) do
1483
1481
  if Constants::UNDEF_UNARY_FUNCTIONS.include?(unary.to_s)
1484
1482
  Math::Formula.new([
1485
- Math::Symbol.new(unary),
1483
+ Utility.symbols_class(unary, lang: :unicodemath),
1486
1484
  first_value,
1487
1485
  ])
1488
1486
  else
@@ -1494,7 +1492,7 @@ module Plurimath
1494
1492
  first_value: simple(:first_value)) do
1495
1493
  if Constants::UNDEF_UNARY_FUNCTIONS.include?(unary.to_s)
1496
1494
  Math::Formula.new([
1497
- Math::Symbol.new(unary),
1495
+ Utility.symbols_class(unary, lang: :unicodemath),
1498
1496
  first_value,
1499
1497
  ])
1500
1498
  else
@@ -1596,13 +1594,13 @@ module Plurimath
1596
1594
  if :Vmatrix == matrix
1597
1595
  Utility.get_table_class(matrix).new(
1598
1596
  array,
1599
- "norm[",
1597
+ Plurimath::Math::Symbols::Paren::Norm.new,
1600
1598
  )
1601
1599
  elsif :Bmatrix == matrix
1602
1600
  Utility.get_table_class(matrix).new(
1603
1601
  array,
1604
- "{",
1605
- "}",
1602
+ Plurimath::Math::Symbols::Paren::Lcurly.new,
1603
+ Plurimath::Math::Symbols::Paren::Rcurly.new,
1606
1604
  )
1607
1605
  elsif :matrix == matrix
1608
1606
  Math::Function::Table.new(array)
@@ -1617,13 +1615,13 @@ module Plurimath
1617
1615
  if :Vmatrix == matrix
1618
1616
  Utility.get_table_class(matrix).new(
1619
1617
  [array],
1620
- "norm[",
1618
+ Plurimath::Math::Symbols::Paren::Norm.new,
1621
1619
  )
1622
1620
  elsif :Bmatrix == matrix
1623
1621
  Utility.get_table_class(matrix).new(
1624
1622
  [array],
1625
- "{",
1626
- "}",
1623
+ Plurimath::Math::Symbols::Paren::Lcurly.new,
1624
+ Plurimath::Math::Symbols::Paren::Rcurly.new,
1627
1625
  )
1628
1626
  elsif :matrix == matrix
1629
1627
  Math::Function::Table.new([array])
@@ -1638,13 +1636,13 @@ module Plurimath
1638
1636
  if :Vmatrix == matrix
1639
1637
  Utility.get_table_class(matrix).new(
1640
1638
  Utility.identity_matrix(number.to_i),
1641
- "norm[",
1639
+ Plurimath::Math::Symbols::Paren::Norm.new,
1642
1640
  )
1643
1641
  elsif :Bmatrix == matrix
1644
1642
  Utility.get_table_class(matrix).new(
1645
1643
  Utility.identity_matrix(number.to_i),
1646
- "{",
1647
- "}",
1644
+ Plurimath::Math::Symbols::Paren::Lcurly.new,
1645
+ Plurimath::Math::Symbols::Paren::Rcurly.new,
1648
1646
  )
1649
1647
  elsif :matrix == matrix
1650
1648
  Math::Function::Table.new(
@@ -1779,17 +1777,17 @@ module Plurimath
1779
1777
 
1780
1778
  rule(intermediate_exp: simple(:exp),
1781
1779
  operator: simple(:operator)) do
1782
- [exp, Math::Symbol.new(operator)]
1780
+ [exp, Utility.symbols_class(operator, lang: :unicodemath)]
1783
1781
  end
1784
1782
 
1785
1783
  rule(intermediate_exp: simple(:exp),
1786
1784
  exclamation_symbol: simple(:exclamation_symbol)) do
1787
- [exp, Math::Symbol.new(exclamation_symbol)]
1785
+ [exp, Utility.symbols_class(exclamation_symbol, lang: :unicodemath)]
1788
1786
  end
1789
1787
 
1790
1788
  rule(atom: simple(:atom),
1791
1789
  exclamation_symbol: simple(:exclamation_symbol)) do
1792
- [atom, Math::Symbol.new(exclamation_symbol)]
1790
+ [atom, Utility.symbols_class(exclamation_symbol, lang: :unicodemath)]
1793
1791
  end
1794
1792
 
1795
1793
  rule(intermediate_exp: simple(:exp),
@@ -1837,12 +1835,12 @@ module Plurimath
1837
1835
 
1838
1836
  rule(slashed_value: sequence(:values),
1839
1837
  expr: simple(:expr)) do
1840
- Utility.sequence_slashed_values(values) + [expr]
1838
+ Utility.sequence_slashed_values(values, lang: :unicodemath) + [expr]
1841
1839
  end
1842
1840
 
1843
1841
  rule(slashed_value: sequence(:values),
1844
1842
  expr: sequence(:expr)) do
1845
- Utility.sequence_slashed_values(values) + expr
1843
+ Utility.sequence_slashed_values(values, lang: :unicodemath) + expr
1846
1844
  end
1847
1845
 
1848
1846
  rule(slashed_value: simple(:value),
@@ -1878,7 +1876,7 @@ module Plurimath
1878
1876
  Utility.get_class(nary_function).new(nary_value)
1879
1877
  else
1880
1878
  Math::Function::Nary.new(
1881
- Math::Symbol.new(nary_function),
1879
+ Utility.symbols_class(nary_function, lang: :unicodemath),
1882
1880
  Utility.unfenced_value(sub, paren_specific: true)
1883
1881
  )
1884
1882
  end
@@ -1915,7 +1913,7 @@ module Plurimath
1915
1913
  Utility.get_class(nary_function).new(nil, nil, nary_value)
1916
1914
  else
1917
1915
  Math::Function::Nary.new(
1918
- Math::Symbol.new(nary_function),
1916
+ Utility.symbols_class(nary_function, lang: :unicodemath),
1919
1917
  nil,
1920
1918
  nil,
1921
1919
  naryand,
@@ -1954,9 +1952,9 @@ module Plurimath
1954
1952
  rule(open_paren: simple(:open_paren),
1955
1953
  close_paren: simple(:close_paren)) do
1956
1954
  Math::Function::Fenced.new(
1957
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
1955
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
1958
1956
  [],
1959
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren
1957
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren
1960
1958
  )
1961
1959
  end
1962
1960
 
@@ -1976,14 +1974,14 @@ module Plurimath
1976
1974
  binary_symbols: simple(:symbols),
1977
1975
  factor: simple(:factor)) do
1978
1976
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
1979
- [atom, Math::Symbol.new(symbol), factor]
1977
+ [atom, Utility.symbols_class(symbol, lang: :unicodemath), factor]
1980
1978
  end
1981
1979
 
1982
1980
  rule(atom: simple(:atom),
1983
1981
  binary_symbols: simple(:symbols),
1984
1982
  recursive_numerator: simple(:numerator)) do
1985
1983
  symbol = (Constants::BINARY_SYMBOLS[symbols.to_sym] || symbols)
1986
- [atom, Math::Symbol.new(symbol), numerator]
1984
+ [atom, Utility.symbols_class(symbol, lang: :unicodemath), numerator]
1987
1985
  end
1988
1986
 
1989
1987
  rule(paren_open_prefix: simple(:paren_open_prefix),
@@ -2025,7 +2023,7 @@ module Plurimath
2025
2023
  rule(char: simple(:char),
2026
2024
  diacritics: simple(:diacritics),
2027
2025
  alphanumeric: simple(:alpha)) do
2028
- [char, diacritics, Math::Symbol.new(alpha)]
2026
+ [char, diacritics, Utility.symbols_class(alpha, lang: :unicodemath)]
2029
2027
  end
2030
2028
 
2031
2029
  rule(sub_script: simple(:sub_script),
@@ -2144,11 +2142,11 @@ module Plurimath
2144
2142
  choose: simple(:choose),
2145
2143
  denominator: simple(:denominator)) do
2146
2144
  Math::Function::Fenced.new(
2147
- Math::Symbol.new("("),
2145
+ Math::Symbols::Paren::Lround.new,
2148
2146
  [
2149
2147
  Utility.fractions(numerator, denominator, { linethickness: "0", choose: true }),
2150
2148
  ],
2151
- Math::Symbol.new(")"),
2149
+ Math::Symbols::Paren::Rround.new,
2152
2150
  )
2153
2151
  end
2154
2152
 
@@ -2313,7 +2311,7 @@ module Plurimath
2313
2311
  expr: simple(:expr)) do
2314
2312
  [
2315
2313
  fonts,
2316
- Math::Symbol.new((Constants::RELATIONAL_SYMBOLS[symbols.to_sym] || symbols)),
2314
+ Utility.symbols_class(symbols, lang: :unicodemath),
2317
2315
  expr,
2318
2316
  ]
2319
2317
  end
@@ -2323,7 +2321,7 @@ module Plurimath
2323
2321
  expr: simple(:expr)) do
2324
2322
  [
2325
2323
  frac,
2326
- Math::Symbol.new((Constants::RELATIONAL_SYMBOLS[symbols.to_sym] || symbols)),
2324
+ Utility.symbols_class(symbols, lang: :unicodemath),
2327
2325
  expr,
2328
2326
  ]
2329
2327
  end
@@ -2366,9 +2364,9 @@ module Plurimath
2366
2364
  closer: simple(:closer)) do
2367
2365
  Utility.unfenced_value(operand, paren_specific: true) if [opener, closer].include?("|")
2368
2366
  Math::Function::Fenced.new(
2369
- opener.is_a?(Slice) ? Math::Symbol.new(opener) : opener,
2367
+ opener.is_a?(Slice) ? Utility.symbols_class(opener, lang: :unicodemath) : opener,
2370
2368
  [operand],
2371
- closer.is_a?(Slice) ? Math::Symbol.new(closer) : closer,
2369
+ closer.is_a?(Slice) ? Utility.symbols_class(closer, lang: :unicodemath) : closer,
2372
2370
  )
2373
2371
  end
2374
2372
 
@@ -2376,9 +2374,9 @@ module Plurimath
2376
2374
  operand: sequence(:operand),
2377
2375
  closer: simple(:closer)) do
2378
2376
  Math::Function::Fenced.new(
2379
- opener.is_a?(Slice) ? Math::Symbol.new(opener) : opener,
2377
+ opener.is_a?(Slice) ? Utility.symbols_class(opener, lang: :unicodemath) : opener,
2380
2378
  operand,
2381
- closer.is_a?(Slice) ? Math::Symbol.new(closer) : closer,
2379
+ closer.is_a?(Slice) ? Utility.symbols_class(closer, lang: :unicodemath) : closer,
2382
2380
  )
2383
2381
  end
2384
2382
 
@@ -2393,9 +2391,9 @@ module Plurimath
2393
2391
  end
2394
2392
  Utility.unfenced_value(operand, paren_specific: true) if [opener, closer].include?("|")
2395
2393
  Math::Function::Fenced.new(
2396
- Math::Symbol.new(opener.last),
2394
+ Utility.symbols_class(opener.last, lang: :unicodemath),
2397
2395
  [operand],
2398
- closer.is_a?(Slice) ? Math::Symbol.new(closer) : closer,
2396
+ closer.is_a?(Slice) ? Utility.symbols_class(closer, lang: :unicodemath) : closer,
2399
2397
  options,
2400
2398
  )
2401
2399
  end
@@ -2404,9 +2402,9 @@ module Plurimath
2404
2402
  frac: simple(:frac),
2405
2403
  close_paren: simple(:close_paren)) do
2406
2404
  Math::Function::Fenced.new(
2407
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2405
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2408
2406
  [frac],
2409
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2407
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2410
2408
  )
2411
2409
  end
2412
2410
 
@@ -2414,9 +2412,9 @@ module Plurimath
2414
2412
  slashed_value: sequence(:values),
2415
2413
  close_paren: simple(:close_paren)) do
2416
2414
  Math::Function::Fenced.new(
2417
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2418
- Utility.sequence_slashed_values(values),
2419
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2415
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2416
+ Utility.sequence_slashed_values(values, lang: :unicodemath),
2417
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2420
2418
  )
2421
2419
  end
2422
2420
 
@@ -2424,9 +2422,9 @@ module Plurimath
2424
2422
  phantom: simple(:phantom),
2425
2423
  close_paren: simple(:close_paren)) do
2426
2424
  Math::Function::Fenced.new(
2427
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2425
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2428
2426
  [phantom],
2429
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2427
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2430
2428
  )
2431
2429
  end
2432
2430
 
@@ -2434,9 +2432,9 @@ module Plurimath
2434
2432
  unary_function: simple(:unary_function),
2435
2433
  close_paren: simple(:close_paren)) do
2436
2434
  Math::Function::Fenced.new(
2437
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2435
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2438
2436
  [unary_function],
2439
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2437
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2440
2438
  )
2441
2439
  end
2442
2440
 
@@ -2444,9 +2442,9 @@ module Plurimath
2444
2442
  rect: simple(:rect),
2445
2443
  close_paren: simple(:close_paren)) do
2446
2444
  Math::Function::Fenced.new(
2447
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2445
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2448
2446
  [rect],
2449
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2447
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2450
2448
  )
2451
2449
  end
2452
2450
 
@@ -2454,9 +2452,9 @@ module Plurimath
2454
2452
  factor: simple(:factor),
2455
2453
  paren_close_prefix: simple(:close_prefix)) do
2456
2454
  Math::Function::Fenced.new(
2457
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2455
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2458
2456
  [factor],
2459
- Math::Symbol.new(close_prefix),
2457
+ Utility.symbols_class(close_prefix, lang: :unicodemath),
2460
2458
  { close_prefixed: true }
2461
2459
  )
2462
2460
  end
@@ -2465,9 +2463,9 @@ module Plurimath
2465
2463
  factor: simple(:factor),
2466
2464
  close_paren: simple(:close_paren)) do
2467
2465
  Math::Function::Fenced.new(
2468
- Math::Symbol.new(open_paren),
2466
+ Utility.symbols_class(open_paren, lang: :unicodemath),
2469
2467
  [factor],
2470
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2468
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2471
2469
  { open_prefixed: true }
2472
2470
  )
2473
2471
  end
@@ -2476,9 +2474,9 @@ module Plurimath
2476
2474
  nary: simple(:nary),
2477
2475
  close_paren: simple(:close_paren)) do
2478
2476
  Math::Function::Fenced.new(
2479
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2477
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2480
2478
  [nary],
2481
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2479
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2482
2480
  )
2483
2481
  end
2484
2482
 
@@ -2486,9 +2484,9 @@ module Plurimath
2486
2484
  sub_exp: simple(:sub_exp),
2487
2485
  close_paren: simple(:close_paren)) do
2488
2486
  Math::Function::Fenced.new(
2489
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2487
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2490
2488
  [sub_exp],
2491
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2489
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2492
2490
  )
2493
2491
  end
2494
2492
 
@@ -2496,9 +2494,9 @@ module Plurimath
2496
2494
  subsup_exp: simple(:subsup_exp),
2497
2495
  close_paren: simple(:close_paren)) do
2498
2496
  Math::Function::Fenced.new(
2499
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2497
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2500
2498
  [subsup_exp],
2501
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2499
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2502
2500
  )
2503
2501
  end
2504
2502
 
@@ -2506,9 +2504,9 @@ module Plurimath
2506
2504
  unary_subsup: simple(:subsup),
2507
2505
  close_paren: simple(:close_paren)) do
2508
2506
  Math::Function::Fenced.new(
2509
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2507
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2510
2508
  [subsup],
2511
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2509
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2512
2510
  )
2513
2511
  end
2514
2512
 
@@ -2516,9 +2514,9 @@ module Plurimath
2516
2514
  mini_sup: simple(:mini_sup),
2517
2515
  close_paren: simple(:close_paren)) do
2518
2516
  Math::Function::Fenced.new(
2519
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2517
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2520
2518
  [mini_sup],
2521
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2519
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2522
2520
  )
2523
2521
  end
2524
2522
 
@@ -2528,9 +2526,9 @@ module Plurimath
2528
2526
  sub_open = Constants::SUB_PARENTHESIS[:open].key(open_paren)
2529
2527
  sub_close = Constants::SUB_PARENTHESIS[:close].key(close_paren)
2530
2528
  Math::Function::Fenced.new(
2531
- Math::Symbol.new(sub_open.to_s, mini_sub_sized: true),
2529
+ Math::Symbols::Symbol.new(sub_open.to_s, mini_sub_sized: true),
2532
2530
  mini_expr,
2533
- Math::Symbol.new(sub_close.to_s, mini_sub_sized: true),
2531
+ Math::Symbols::Symbol.new(sub_close.to_s, mini_sub_sized: true),
2534
2532
  )
2535
2533
  end
2536
2534
 
@@ -2538,9 +2536,9 @@ module Plurimath
2538
2536
  text: simple(:text),
2539
2537
  close_paren: simple(:close_paren)) do
2540
2538
  Math::Function::Fenced.new(
2541
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2539
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2542
2540
  [Math::Function::Text.new(text)],
2543
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2541
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2544
2542
  )
2545
2543
  end
2546
2544
 
@@ -2549,9 +2547,9 @@ module Plurimath
2549
2547
  close_paren: simple(:close_paren)) do
2550
2548
  new_factor = [open_paren, close_paren].include?("|") ? Utility.unfenced_value(factor, paren_specific: true) : factor
2551
2549
  Math::Function::Fenced.new(
2552
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2550
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2553
2551
  [new_factor],
2554
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2552
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2555
2553
  )
2556
2554
  end
2557
2555
 
@@ -2559,9 +2557,9 @@ module Plurimath
2559
2557
  sup_exp: simple(:sup_exp),
2560
2558
  close_paren: simple(:close_paren)) do
2561
2559
  Math::Function::Fenced.new(
2562
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2560
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2563
2561
  [sup_exp],
2564
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2562
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2565
2563
  )
2566
2564
  end
2567
2565
 
@@ -2569,9 +2567,9 @@ module Plurimath
2569
2567
  accents: subtree(:accents),
2570
2568
  close_paren: simple(:close_paren)) do
2571
2569
  Math::Function::Fenced.new(
2572
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2570
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2573
2571
  [Utility.unicode_accents(accents)],
2574
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2572
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2575
2573
  )
2576
2574
  end
2577
2575
 
@@ -2586,9 +2584,9 @@ module Plurimath
2586
2584
  end
2587
2585
  new_factor = [open_paren, close_paren].include?("|") ? Utility.unfenced_value(factor, paren_specific: true) : factor
2588
2586
  Math::Function::Fenced.new(
2589
- Math::Symbol.new(open_paren.last),
2587
+ Utility.symbols_class(open_paren.last, lang: :unicodemath),
2590
2588
  [new_factor],
2591
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2589
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2592
2590
  options
2593
2591
  )
2594
2592
  end
@@ -2603,9 +2601,9 @@ module Plurimath
2603
2601
  options[:open_paren] = { minsize: mask, maxsize: mask } unless open_paren.first.value == ""
2604
2602
  end
2605
2603
  Math::Function::Fenced.new(
2606
- Math::Symbol.new(open_paren.last),
2604
+ Utility.symbols_class(open_paren.last, lang: :unicodemath),
2607
2605
  [factor],
2608
- Math::Symbol.new(close_prefix),
2606
+ Utility.symbols_class(close_prefix, lang: :unicodemath),
2609
2607
  options
2610
2608
  )
2611
2609
  end
@@ -2625,9 +2623,9 @@ module Plurimath
2625
2623
  options[:close_paren] = { minsize: mask, maxsize: mask } unless close_paren.first.value == ""
2626
2624
  end
2627
2625
  Math::Function::Fenced.new(
2628
- Math::Symbol.new(open_paren.last),
2626
+ Utility.symbols_class(open_paren.last, lang: :unicodemath),
2629
2627
  [frac],
2630
- Math::Symbol.new(close_paren.last),
2628
+ Utility.symbols_class(close_paren.last, lang: :unicodemath),
2631
2629
  options
2632
2630
  )
2633
2631
  end
@@ -2642,9 +2640,9 @@ module Plurimath
2642
2640
  options[:close_paren] = { minsize: mask, maxsize: mask } unless close_paren.first.value == ""
2643
2641
  end
2644
2642
  Math::Function::Fenced.new(
2645
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2643
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2646
2644
  [frac],
2647
- Math::Symbol.new(close_paren.last),
2645
+ Utility.symbols_class(close_paren.last, lang: :unicodemath),
2648
2646
  options
2649
2647
  )
2650
2648
  end
@@ -2664,9 +2662,9 @@ module Plurimath
2664
2662
  options[:close_paren] = { minsize: mask, maxsize: mask } unless close_paren.first.value == ""
2665
2663
  end
2666
2664
  Math::Function::Fenced.new(
2667
- Math::Symbol.new(open_paren.last),
2665
+ Utility.symbols_class(open_paren.last, lang: :unicodemath),
2668
2666
  [factor],
2669
- Math::Symbol.new(close_paren.last),
2667
+ Utility.symbols_class(close_paren.last, lang: :unicodemath),
2670
2668
  options
2671
2669
  )
2672
2670
  end
@@ -2675,30 +2673,30 @@ module Plurimath
2675
2673
  negated_operator: simple(:operator),
2676
2674
  close_paren: simple(:close_paren)) do
2677
2675
  Math::Function::Fenced.new(
2678
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2676
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2679
2677
  [
2680
2678
  Math::Formula.new([
2681
- Math::Symbol.new(operator),
2682
- Math::Symbol.new("̸"),
2679
+ Utility.symbols_class(operator, lang: :unicodemath),
2680
+ Math::Symbols::Symbol.new("̸"),
2683
2681
  ])
2684
2682
  ],
2685
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2683
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2686
2684
  )
2687
2685
  end
2688
2686
 
2689
2687
  rule(open_paren: simple(:open_paren),
2690
2688
  table: simple(:table),
2691
2689
  paren_close_prefix: simple(:close_paren)) do
2692
- table.open_paren = open_paren.to_s
2693
- table.close_paren = close_paren.to_s
2690
+ table.open_paren = Utility.symbols_class(open_paren, lang: :unicodemath)
2691
+ table.close_paren = Utility.symbols_class(close_paren, lang: :unicodemath)
2694
2692
  table
2695
2693
  end
2696
2694
 
2697
2695
  rule(open_paren: simple(:open_paren),
2698
2696
  table: simple(:table),
2699
2697
  close_paren: simple(:close_paren)) do
2700
- table.open_paren = open_paren.to_s
2701
- table.close_paren = close_paren.to_s
2698
+ table.open_paren = Utility.symbols_class(open_paren, lang: :unicodemath)
2699
+ table.close_paren = Utility.symbols_class(close_paren, lang: :unicodemath)
2702
2700
  table
2703
2701
  end
2704
2702
 
@@ -2707,7 +2705,7 @@ module Plurimath
2707
2705
  expr: simple(:expr)) do
2708
2706
  [
2709
2707
  intermediate_exp,
2710
- Math::Symbol.new(operator),
2708
+ Utility.symbols_class(operator, lang: :unicodemath),
2711
2709
  expr,
2712
2710
  ]
2713
2711
  end
@@ -2717,7 +2715,7 @@ module Plurimath
2717
2715
  frac: simple(:frac)) do
2718
2716
  [
2719
2717
  atom,
2720
- Math::Symbol.new(operator),
2718
+ Utility.symbols_class(operator, lang: :unicodemath),
2721
2719
  frac,
2722
2720
  ]
2723
2721
  end
@@ -2726,7 +2724,7 @@ module Plurimath
2726
2724
  frac: simple(:frac),
2727
2725
  expr: sequence(:expr)) do
2728
2726
  [
2729
- Math::Symbol.new(operator),
2727
+ Utility.symbols_class(operator, lang: :unicodemath),
2730
2728
  frac,
2731
2729
  ] + expr
2732
2730
  end
@@ -2745,7 +2743,7 @@ module Plurimath
2745
2743
  Utility.get_class(nary_function).new(new_sub, new_sup)
2746
2744
  else
2747
2745
  Math::Function::Nary.new(
2748
- Math::Symbol.new(nary_function),
2746
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2749
2747
  Utility.unfenced_value(sub, paren_specific: true),
2750
2748
  Utility.unfenced_value(sup, paren_specific: true),
2751
2749
  )
@@ -2800,7 +2798,7 @@ module Plurimath
2800
2798
  )
2801
2799
  else
2802
2800
  Math::Function::Nary.new(
2803
- Math::Symbol.new(nary_function),
2801
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2804
2802
  sub_value,
2805
2803
  nil,
2806
2804
  nil,
@@ -2827,7 +2825,7 @@ module Plurimath
2827
2825
  )
2828
2826
  else
2829
2827
  Math::Function::Nary.new(
2830
- Math::Symbol.new(nary_function),
2828
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2831
2829
  Utility.unfenced_value(sub, paren_specific: true),
2832
2830
  nil,
2833
2831
  nil,
@@ -2855,7 +2853,7 @@ module Plurimath
2855
2853
  )
2856
2854
  else
2857
2855
  Math::Function::Nary.new(
2858
- Math::Symbol.new(nary_function),
2856
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2859
2857
  nil,
2860
2858
  sup_value,
2861
2859
  nil,
@@ -2882,7 +2880,7 @@ module Plurimath
2882
2880
  )
2883
2881
  else
2884
2882
  Math::Function::Nary.new(
2885
- Math::Symbol.new(nary_function),
2883
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2886
2884
  nil,
2887
2885
  Utility.unfenced_value(sup, paren_specific: true),
2888
2886
  nil,
@@ -2940,9 +2938,9 @@ module Plurimath
2940
2938
  pre_script: simple(:pre_script),
2941
2939
  close_paren: simple(:close_paren)) do
2942
2940
  Math::Function::Fenced.new(
2943
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
2941
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
2944
2942
  [pre_script],
2945
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
2943
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
2946
2944
  )
2947
2945
  end
2948
2946
 
@@ -2964,7 +2962,7 @@ module Plurimath
2964
2962
  )
2965
2963
  else
2966
2964
  Math::Function::Nary.new(
2967
- Math::Symbol.new(nary_function),
2965
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2968
2966
  Utility.filter_values(sub),
2969
2967
  Utility.filter_values(sup),
2970
2968
  nil,
@@ -2991,7 +2989,7 @@ module Plurimath
2991
2989
  )
2992
2990
  else
2993
2991
  Math::Function::Nary.new(
2994
- Math::Symbol.new(nary_function),
2992
+ Utility.symbols_class(nary_function, lang: :unicodemath),
2995
2993
  Utility.unfenced_value(sub, paren_specific: true),
2996
2994
  Utility.filter_values(sup),
2997
2995
  nil,
@@ -3018,7 +3016,7 @@ module Plurimath
3018
3016
  )
3019
3017
  else
3020
3018
  Math::Function::Nary.new(
3021
- Math::Symbol.new(nary_function),
3019
+ Utility.symbols_class(nary_function, lang: :unicodemath),
3022
3020
  Utility.filter_values(sub),
3023
3021
  Utility.unfenced_value(sup, paren_specific: true),
3024
3022
  nil,
@@ -3033,7 +3031,7 @@ module Plurimath
3033
3031
  expr: sequence(:expr)) do
3034
3032
  [
3035
3033
  atom,
3036
- Math::Symbol.new(operator),
3034
+ Utility.symbols_class(operator, lang: :unicodemath),
3037
3035
  frac,
3038
3036
  ] + expr
3039
3037
  end
@@ -3054,9 +3052,9 @@ module Plurimath
3054
3052
  options[:close_paren] = { minsize: mask, maxsize: mask } unless close_paren.first.value == ""
3055
3053
  end
3056
3054
  Math::Function::Fenced.new(
3057
- Math::Symbol.new(open_paren.last),
3055
+ Utility.symbols_class(open_paren.last, lang: :unicodemath),
3058
3056
  ([factor] + exp),
3059
- Math::Symbol.new(close_paren.last),
3057
+ Utility.symbols_class(close_paren.last, lang: :unicodemath),
3060
3058
  options
3061
3059
  )
3062
3060
  end
@@ -3066,9 +3064,9 @@ module Plurimath
3066
3064
  exp: sequence(:exp),
3067
3065
  close_paren: simple(:close_paren)) do
3068
3066
  Math::Function::Fenced.new(
3069
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3067
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3070
3068
  ([unary] + exp),
3071
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3069
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3072
3070
  )
3073
3071
  end
3074
3072
 
@@ -3078,9 +3076,9 @@ module Plurimath
3078
3076
  naryand_recursion: sequence(:naryand_recursion)) do
3079
3077
  new_factor = [open_paren, close_paren].include?("|") ? Utility.unfenced_value(factor, paren_specific: true) : factor
3080
3078
  fenced = Math::Function::Fenced.new(
3081
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3079
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3082
3080
  [new_factor],
3083
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3081
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3084
3082
  )
3085
3083
  [fenced] + naryand_recursion
3086
3084
  end
@@ -3091,9 +3089,9 @@ module Plurimath
3091
3089
  naryand_recursion: simple(:naryand_recursion)) do
3092
3090
  new_factor = [open_paren, close_paren].include?("|") ? Utility.unfenced_value(factor, paren_specific: true) : factor
3093
3091
  fenced = Math::Function::Fenced.new(
3094
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3092
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3095
3093
  [new_factor],
3096
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3094
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3097
3095
  )
3098
3096
  [fenced, naryand_recursion]
3099
3097
  end
@@ -3103,9 +3101,9 @@ module Plurimath
3103
3101
  expr: sequence(:expr),
3104
3102
  close_paren: simple(:close_paren)) do
3105
3103
  Math::Function::Fenced.new(
3106
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3104
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3107
3105
  ([mini_sub] + expr),
3108
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3106
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3109
3107
  )
3110
3108
  end
3111
3109
 
@@ -3114,9 +3112,9 @@ module Plurimath
3114
3112
  exp: sequence(:exp),
3115
3113
  close_paren: simple(:close_paren)) do
3116
3114
  Math::Function::Fenced.new(
3117
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3115
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3118
3116
  ([mini_sub] + exp),
3119
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3117
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3120
3118
  )
3121
3119
  end
3122
3120
 
@@ -3125,9 +3123,9 @@ module Plurimath
3125
3123
  exp: sequence(:exp),
3126
3124
  close_paren: simple(:close_paren)) do
3127
3125
  Math::Function::Fenced.new(
3128
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3126
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3129
3127
  ([mini_sub_sup] + exp),
3130
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3128
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3131
3129
  )
3132
3130
  end
3133
3131
 
@@ -3136,9 +3134,9 @@ module Plurimath
3136
3134
  expr: sequence(:expr),
3137
3135
  close_paren: simple(:close_paren)) do
3138
3136
  Math::Function::Fenced.new(
3139
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3137
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3140
3138
  ([mini_sup] + expr),
3141
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3139
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3142
3140
  )
3143
3141
  end
3144
3142
 
@@ -3147,9 +3145,9 @@ module Plurimath
3147
3145
  exp: sequence(:exp),
3148
3146
  close_paren: simple(:close_paren)) do
3149
3147
  Math::Function::Fenced.new(
3150
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3148
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3151
3149
  ([mini_sup] + exp),
3152
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3150
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3153
3151
  )
3154
3152
  end
3155
3153
 
@@ -3158,9 +3156,9 @@ module Plurimath
3158
3156
  expr: sequence(:expr),
3159
3157
  close_paren: simple(:close_paren)) do
3160
3158
  Math::Function::Fenced.new(
3161
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3159
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3162
3160
  ([intermediate_exp] + expr),
3163
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3161
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3164
3162
  )
3165
3163
  end
3166
3164
 
@@ -3169,9 +3167,9 @@ module Plurimath
3169
3167
  expr: simple(:expr),
3170
3168
  close_paren: simple(:close_paren)) do
3171
3169
  Math::Function::Fenced.new(
3172
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3170
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3173
3171
  [factor, expr],
3174
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3172
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3175
3173
  )
3176
3174
  end
3177
3175
 
@@ -3180,9 +3178,9 @@ module Plurimath
3180
3178
  exp: simple(:exp),
3181
3179
  close_paren: simple(:close_paren)) do
3182
3180
  Math::Function::Fenced.new(
3183
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3181
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3184
3182
  [factor, exp],
3185
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3183
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3186
3184
  )
3187
3185
  end
3188
3186
 
@@ -3191,9 +3189,9 @@ module Plurimath
3191
3189
  expr: sequence(:expr),
3192
3190
  close_paren: simple(:close_paren)) do
3193
3191
  Math::Function::Fenced.new(
3194
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3192
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3195
3193
  ([Utility.unicode_accents(accent)] + expr),
3196
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3194
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3197
3195
  )
3198
3196
  end
3199
3197
 
@@ -3202,9 +3200,9 @@ module Plurimath
3202
3200
  exp: sequence(:exp),
3203
3201
  close_paren: simple(:close_paren)) do
3204
3202
  Math::Function::Fenced.new(
3205
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3203
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3206
3204
  ([Utility.unicode_accents(accent)] + exp),
3207
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3205
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3208
3206
  )
3209
3207
  end
3210
3208
 
@@ -3213,9 +3211,9 @@ module Plurimath
3213
3211
  expr: sequence(:expr),
3214
3212
  close_paren: simple(:close_paren)) do
3215
3213
  Math::Function::Fenced.new(
3216
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3214
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3217
3215
  ([Utility.unicode_fractions(fraction)] + expr),
3218
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3216
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3219
3217
  )
3220
3218
  end
3221
3219
 
@@ -3224,9 +3222,9 @@ module Plurimath
3224
3222
  exp: sequence(:exp),
3225
3223
  close_paren: simple(:close_paren)) do
3226
3224
  Math::Function::Fenced.new(
3227
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3225
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3228
3226
  ([Utility.unicode_fractions(fraction)] + exp),
3229
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3227
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3230
3228
  )
3231
3229
  end
3232
3230
 
@@ -3235,9 +3233,9 @@ module Plurimath
3235
3233
  exp: sequence(:exp),
3236
3234
  close_paren: simple(:close_paren)) do
3237
3235
  Math::Function::Fenced.new(
3238
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3239
- ([Math::Symbol.new(symbol)] + exp),
3240
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3236
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3237
+ ([Utility.symbols_class(symbol, lang: :unicodemath)] + exp),
3238
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3241
3239
  )
3242
3240
  end
3243
3241
 
@@ -3246,9 +3244,9 @@ module Plurimath
3246
3244
  exp: simple(:exp),
3247
3245
  close_paren: simple(:close_paren)) do
3248
3246
  Math::Function::Fenced.new(
3249
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3250
- [Math::Symbol.new(symbol), exp],
3251
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3247
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3248
+ [Utility.symbols_class(symbol, lang: :unicodemath), exp],
3249
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3252
3250
  )
3253
3251
  end
3254
3252
 
@@ -3257,9 +3255,9 @@ module Plurimath
3257
3255
  expr: simple(:expr),
3258
3256
  close_paren: simple(:close_paren)) do
3259
3257
  Math::Function::Fenced.new(
3260
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3261
- [Math::Symbol.new(operator), expr],
3262
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3258
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3259
+ [Utility.symbols_class(operator, lang: :unicodemath), expr],
3260
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3263
3261
  )
3264
3262
  end
3265
3263
 
@@ -3268,9 +3266,9 @@ module Plurimath
3268
3266
  expr: sequence(:expr),
3269
3267
  close_paren: simple(:close_paren)) do
3270
3268
  Math::Function::Fenced.new(
3271
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3269
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3272
3270
  ([sub_exp] + expr),
3273
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3271
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3274
3272
  )
3275
3273
  end
3276
3274
 
@@ -3279,9 +3277,9 @@ module Plurimath
3279
3277
  exp: sequence(:exp),
3280
3278
  close_paren: simple(:close_paren)) do
3281
3279
  Math::Function::Fenced.new(
3282
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3280
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3283
3281
  ([sub_exp] + exp),
3284
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3282
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3285
3283
  )
3286
3284
  end
3287
3285
 
@@ -3290,9 +3288,9 @@ module Plurimath
3290
3288
  expr: simple(:expr),
3291
3289
  close_paren: simple(:close_paren)) do
3292
3290
  Math::Function::Fenced.new(
3293
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3291
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3294
3292
  ([sub_exp, expr]),
3295
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3293
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3296
3294
  )
3297
3295
  end
3298
3296
 
@@ -3301,9 +3299,9 @@ module Plurimath
3301
3299
  exp: simple(:exp),
3302
3300
  close_paren: simple(:close_paren)) do
3303
3301
  Math::Function::Fenced.new(
3304
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3302
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3305
3303
  ([sub_exp, exp]),
3306
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3304
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3307
3305
  )
3308
3306
  end
3309
3307
 
@@ -3312,9 +3310,9 @@ module Plurimath
3312
3310
  expr: simple(:expr),
3313
3311
  close_paren: simple(:close_paren)) do
3314
3312
  Math::Function::Fenced.new(
3315
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3313
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3316
3314
  ([sup_exp, expr]),
3317
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3315
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3318
3316
  )
3319
3317
  end
3320
3318
 
@@ -3323,9 +3321,9 @@ module Plurimath
3323
3321
  exp: simple(:exp),
3324
3322
  close_paren: simple(:close_paren)) do
3325
3323
  Math::Function::Fenced.new(
3326
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3324
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3327
3325
  ([sup_exp, exp]),
3328
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3326
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3329
3327
  )
3330
3328
  end
3331
3329
 
@@ -3334,9 +3332,9 @@ module Plurimath
3334
3332
  exp: sequence(:exp),
3335
3333
  close_paren: simple(:close_paren)) do
3336
3334
  Math::Function::Fenced.new(
3337
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3335
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3338
3336
  ([monospace] + exp),
3339
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3337
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3340
3338
  )
3341
3339
  end
3342
3340
 
@@ -3345,9 +3343,9 @@ module Plurimath
3345
3343
  exp: simple(:exp),
3346
3344
  close_paren: simple(:close_paren)) do
3347
3345
  Math::Function::Fenced.new(
3348
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3346
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3349
3347
  ([frac, exp]),
3350
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3348
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3351
3349
  )
3352
3350
  end
3353
3351
 
@@ -3356,9 +3354,9 @@ module Plurimath
3356
3354
  exp: sequence(:exp),
3357
3355
  close_paren: simple(:close_paren)) do
3358
3356
  Math::Function::Fenced.new(
3359
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3357
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3360
3358
  ([frac] + exp),
3361
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3359
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3362
3360
  )
3363
3361
  end
3364
3362
 
@@ -3367,9 +3365,9 @@ module Plurimath
3367
3365
  exp: sequence(:exp),
3368
3366
  close_paren: simple(:close_paren)) do
3369
3367
  Math::Function::Fenced.new(
3370
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3368
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3371
3369
  ([sup_exp] + exp),
3372
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3370
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3373
3371
  )
3374
3372
  end
3375
3373
 
@@ -3378,9 +3376,9 @@ module Plurimath
3378
3376
  expr: sequence(:expr),
3379
3377
  close_paren: simple(:close_paren)) do
3380
3378
  Math::Function::Fenced.new(
3381
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3379
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3382
3380
  ([subsup_exp] + expr),
3383
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3381
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3384
3382
  )
3385
3383
  end
3386
3384
 
@@ -3389,9 +3387,9 @@ module Plurimath
3389
3387
  exp: sequence(:exp),
3390
3388
  close_paren: simple(:close_paren)) do
3391
3389
  Math::Function::Fenced.new(
3392
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3390
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3393
3391
  ([subsup_exp] + exp),
3394
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3392
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3395
3393
  )
3396
3394
  end
3397
3395
 
@@ -3400,9 +3398,9 @@ module Plurimath
3400
3398
  expr: sequence(:expr),
3401
3399
  close_paren: simple(:close_paren)) do
3402
3400
  Math::Function::Fenced.new(
3403
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3401
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3404
3402
  ([factor] + expr),
3405
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3403
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3406
3404
  )
3407
3405
  end
3408
3406
 
@@ -3411,9 +3409,9 @@ module Plurimath
3411
3409
  exp: sequence(:exp),
3412
3410
  close_paren: simple(:close_paren)) do
3413
3411
  Math::Function::Fenced.new(
3414
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3412
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3415
3413
  ([factor] + exp),
3416
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3414
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3417
3415
  )
3418
3416
  end
3419
3417
 
@@ -3422,9 +3420,9 @@ module Plurimath
3422
3420
  expr: sequence(:expr),
3423
3421
  close_paren: simple(:close_paren)) do
3424
3422
  Math::Function::Fenced.new(
3425
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3423
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3426
3424
  (factor + expr),
3427
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3425
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3428
3426
  )
3429
3427
  end
3430
3428
 
@@ -3433,9 +3431,9 @@ module Plurimath
3433
3431
  expr: sequence(:expr),
3434
3432
  close_paren: simple(:close_paren)) do
3435
3433
  Math::Function::Fenced.new(
3436
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3437
- ([Math::Symbol.new(symbol)] + expr),
3438
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3434
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3435
+ ([Utility.symbols_class(symbol, lang: :unicodemath)] + expr),
3436
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3439
3437
  )
3440
3438
  end
3441
3439
 
@@ -3444,9 +3442,9 @@ module Plurimath
3444
3442
  exp: sequence(:exp),
3445
3443
  close_paren: simple(:close_paren)) do
3446
3444
  Math::Function::Fenced.new(
3447
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3445
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3448
3446
  (factor + exp),
3449
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3447
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3450
3448
  )
3451
3449
  end
3452
3450
 
@@ -3454,9 +3452,9 @@ module Plurimath
3454
3452
  factor: sequence(:factor),
3455
3453
  close_paren: simple(:close_paren)) do
3456
3454
  Math::Function::Fenced.new(
3457
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3455
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3458
3456
  factor,
3459
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3457
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3460
3458
  )
3461
3459
  end
3462
3460
 
@@ -3465,9 +3463,9 @@ module Plurimath
3465
3463
  operand: simple(:operand),
3466
3464
  close_paren: simple(:close_paren)) do
3467
3465
  Math::Function::Fenced.new(
3468
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3466
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3469
3467
  ([factor, operand]),
3470
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3468
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3471
3469
  )
3472
3470
  end
3473
3471
 
@@ -3476,9 +3474,9 @@ module Plurimath
3476
3474
  operand: sequence(:operand),
3477
3475
  close_paren: simple(:close_paren)) do
3478
3476
  Math::Function::Fenced.new(
3479
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3477
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3480
3478
  ([factor] + operand),
3481
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3479
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3482
3480
  )
3483
3481
  end
3484
3482
 
@@ -3487,9 +3485,9 @@ module Plurimath
3487
3485
  operand: sequence(:operand),
3488
3486
  close_paren: simple(:close_paren)) do
3489
3487
  Math::Function::Fenced.new(
3490
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3488
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3491
3489
  (factor + operand),
3492
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3490
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3493
3491
  )
3494
3492
  end
3495
3493
 
@@ -3499,9 +3497,9 @@ module Plurimath
3499
3497
  exp: simple(:exp),
3500
3498
  close_paren: simple(:close_paren)) do
3501
3499
  Math::Function::Fenced.new(
3502
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3500
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3503
3501
  [Math::Function::Text.new(text), operand, exp],
3504
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3502
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3505
3503
  )
3506
3504
  end
3507
3505
 
@@ -3511,9 +3509,9 @@ module Plurimath
3511
3509
  exp: sequence(:exp),
3512
3510
  close_paren: simple(:close_paren)) do
3513
3511
  Math::Function::Fenced.new(
3514
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3512
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3515
3513
  [Math::Function::Text.new(text), operand] + exp,
3516
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3514
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3517
3515
  )
3518
3516
  end
3519
3517
 
@@ -3538,7 +3536,7 @@ module Plurimath
3538
3536
  )
3539
3537
  else
3540
3538
  Math::Function::Nary.new(
3541
- Math::Symbol.new(nary_function),
3539
+ Utility.symbols_class(nary_function, lang: :unicodemath),
3542
3540
  sub_value,
3543
3541
  sup_value,
3544
3542
  nil,
@@ -3552,9 +3550,9 @@ module Plurimath
3552
3550
  expr: sequence(:expr),
3553
3551
  close_paren: simple(:close_paren)) do
3554
3552
  Math::Function::Fenced.new(
3555
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3556
- ([Math::Symbol.new(operator)] + expr),
3557
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3553
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3554
+ ([Utility.symbols_class(operator, lang: :unicodemath)] + expr),
3555
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3558
3556
  )
3559
3557
  end
3560
3558
 
@@ -3563,9 +3561,9 @@ module Plurimath
3563
3561
  exp: sequence(:exp),
3564
3562
  close_paren: simple(:close_paren)) do
3565
3563
  Math::Function::Fenced.new(
3566
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3567
- ([Math::Symbol.new(operator)] + exp),
3568
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3564
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3565
+ ([Utility.symbols_class(operator, lang: :unicodemath)] + exp),
3566
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3569
3567
  )
3570
3568
  end
3571
3569
 
@@ -3588,9 +3586,9 @@ module Plurimath
3588
3586
  exp: simple(:exp),
3589
3587
  close_paren: simple(:close_paren)) do
3590
3588
  Math::Function::Fenced.new(
3591
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3592
- ([Math::Symbol.new(operator), exp]),
3593
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3589
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3590
+ ([Utility.symbols_class(operator, lang: :unicodemath), exp]),
3591
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3594
3592
  )
3595
3593
  end
3596
3594
 
@@ -3611,9 +3609,9 @@ module Plurimath
3611
3609
  close_paren: simple(:close_paren),
3612
3610
  sup: simple(:sup)) do
3613
3611
  fenced = Math::Function::Fenced.new(
3614
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3615
- [Math::Symbol.new(operator), expr],
3616
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3612
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3613
+ [Utility.symbols_class(operator, lang: :unicodemath), expr],
3614
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3617
3615
  )
3618
3616
  Math::Function::Power.new(fenced, sup)
3619
3617
  end
@@ -3624,9 +3622,9 @@ module Plurimath
3624
3622
  exp: sequence(:exp),
3625
3623
  close_paren: simple(:close_paren)) do
3626
3624
  Math::Function::Fenced.new(
3627
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3625
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3628
3626
  ([factor, sup_exp] + exp),
3629
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3627
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3630
3628
  )
3631
3629
  end
3632
3630
 
@@ -3636,9 +3634,9 @@ module Plurimath
3636
3634
  close_paren: simple(:close_paren),
3637
3635
  sup: simple(:sup)) do
3638
3636
  fenced = Math::Function::Fenced.new(
3639
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3637
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3640
3638
  ([sub_exp, exp]),
3641
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3639
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3642
3640
  )
3643
3641
  Math::Function::Power.new(
3644
3642
  fenced,
@@ -3652,9 +3650,9 @@ module Plurimath
3652
3650
  close_paren: simple(:close_paren),
3653
3651
  sup: simple(:sup)) do
3654
3652
  fenced = Math::Function::Fenced.new(
3655
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3653
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3656
3654
  ([sub_exp] + exp),
3657
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3655
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3658
3656
  )
3659
3657
  Math::Function::Power.new(
3660
3658
  fenced,
@@ -3668,9 +3666,9 @@ module Plurimath
3668
3666
  close_paren: simple(:close_paren),
3669
3667
  sup: simple(:sup)) do
3670
3668
  fenced = Math::Function::Fenced.new(
3671
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3672
- [Math::Symbol.new(operator), exp],
3673
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3669
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3670
+ [Utility.symbols_class(operator, lang: :unicodemath), exp],
3671
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3674
3672
  )
3675
3673
  Math::Function::Power.new(fenced, sup)
3676
3674
  end
@@ -3693,9 +3691,9 @@ module Plurimath
3693
3691
  expr: sequence(:expr),
3694
3692
  close_paren: simple(:close_paren)) do
3695
3693
  Math::Function::Fenced.new(
3696
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3694
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3697
3695
  ([factor, operand] + expr),
3698
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3696
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3699
3697
  )
3700
3698
  end
3701
3699
 
@@ -3705,9 +3703,9 @@ module Plurimath
3705
3703
  exp: sequence(:exp),
3706
3704
  close_paren: simple(:close_paren)) do
3707
3705
  Math::Function::Fenced.new(
3708
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3706
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3709
3707
  ([factor, operand] + exp),
3710
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3708
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3711
3709
  )
3712
3710
  end
3713
3711
 
@@ -3717,9 +3715,9 @@ module Plurimath
3717
3715
  expr: simple(:expr),
3718
3716
  close_paren: simple(:close_paren)) do
3719
3717
  Math::Function::Fenced.new(
3720
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3718
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3721
3719
  ([factor, operand, expr]),
3722
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3720
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3723
3721
  )
3724
3722
  end
3725
3723
 
@@ -3729,9 +3727,9 @@ module Plurimath
3729
3727
  exp: simple(:exp),
3730
3728
  close_paren: simple(:close_paren)) do
3731
3729
  Math::Function::Fenced.new(
3732
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3730
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3733
3731
  ([factor] + sub_exp + [exp]),
3734
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3732
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3735
3733
  )
3736
3734
  end
3737
3735
 
@@ -3741,13 +3739,10 @@ module Plurimath
3741
3739
  expr: simple(:expr),
3742
3740
  exp: sequence(:exp),
3743
3741
  close_paren: simple(:close_paren)) do
3744
- relational = Math::Symbol.new(
3745
- (Constants::RELATIONAL_SYMBOLS[symbol.to_sym] || symbol),
3746
- )
3747
3742
  Math::Function::Fenced.new(
3748
- open_paren.is_a?(Slice) ? Math::Symbol.new(open_paren) : open_paren,
3749
- ([monospace, relational, expr] + exp),
3750
- close_paren.is_a?(Slice) ? Math::Symbol.new(close_paren) : close_paren,
3743
+ open_paren.is_a?(Slice) ? Utility.symbols_class(open_paren, lang: :unicodemath) : open_paren,
3744
+ ([monospace, Utility.symbols_class(symbol, lang: :unicodemath), expr] + exp),
3745
+ close_paren.is_a?(Slice) ? Utility.symbols_class(close_paren, lang: :unicodemath) : close_paren,
3751
3746
  )
3752
3747
  end
3753
3748
 
@@ -3789,9 +3784,9 @@ module Plurimath
3789
3784
  exp: simple(:exp),
3790
3785
  paren_close_prefix: simple(:close_paren)) do
3791
3786
  Math::Function::Fenced.new(
3792
- Math::Symbol.new(open_paren),
3787
+ Utility.symbols_class(open_paren, lang: :unicodemath),
3793
3788
  [factor, subsup, exp],
3794
- Math::Symbol.new(close_paren),
3789
+ Utility.symbols_class(close_paren, lang: :unicodemath),
3795
3790
  )
3796
3791
  end
3797
3792