plurimath 0.8.3 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +26 -100
  13. data/lib/plurimath/formatter/{twitter_cldr_rb → numbers}/fraction.rb +10 -9
  14. data/lib/plurimath/formatter/{twitter_cldr_rb → numbers}/integer.rb +3 -3
  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 +1 -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 +2 -2
  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/supported_parens_list.adoc +441 -0
  1536. data/supported_symbols_list.adoc +24493 -0
  1537. data/tasks/symbols_documentation_list.rake +54 -0
  1538. metadata +1477 -7
  1539. data/lib/plurimath/formatter/twitter_cldr_rb/number_formatter.rb +0 -23
  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