@simonklee/opentui-tex-native-source 0.2.0

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 (529) hide show
  1. package/LICENSE +674 -0
  2. package/LICENSE-PROJECT +21 -0
  3. package/README.md +7 -0
  4. package/build.zig +112 -0
  5. package/build.zig.zon +12 -0
  6. package/native/lib.zig +280 -0
  7. package/native/nanosvg.c +4 -0
  8. package/native/vendor/.bootstrap-v5 +1 -0
  9. package/native/vendor/LICENSE-NANOSVG +18 -0
  10. package/native/vendor/microtex/.clang-format +26 -0
  11. package/native/vendor/microtex/.github/workflows/ubuntu.yml +92 -0
  12. package/native/vendor/microtex/.github/workflows/windows-gdi.yml +34 -0
  13. package/native/vendor/microtex/.github/workflows/windows-qt.yml +52 -0
  14. package/native/vendor/microtex/CMakeLists.txt +110 -0
  15. package/native/vendor/microtex/LICENSE +21 -0
  16. package/native/vendor/microtex/MicroTeXInstall.cmake +42 -0
  17. package/native/vendor/microtex/README.md +600 -0
  18. package/native/vendor/microtex/build.zig +209 -0
  19. package/native/vendor/microtex/clatexmath.wrap +6 -0
  20. package/native/vendor/microtex/doc/meson.build +38 -0
  21. package/native/vendor/microtex/doc/microtex-doc.toml.in +47 -0
  22. package/native/vendor/microtex/doc/microtex.svg +39 -0
  23. package/native/vendor/microtex/doc/urlmap.js +6 -0
  24. package/native/vendor/microtex/example/gtk/CMakeLists.txt +68 -0
  25. package/native/vendor/microtex/example/gtk/gtk_main.c +170 -0
  26. package/native/vendor/microtex/example/gtk/isamples.cpp +21 -0
  27. package/native/vendor/microtex/example/gtk/isamples.h +15 -0
  28. package/native/vendor/microtex/example/gtk/meson.build +27 -0
  29. package/native/vendor/microtex/example/gtk/microtex-gtk.gresource.xml +6 -0
  30. package/native/vendor/microtex/example/gtk/microtex-gtk.ui +117 -0
  31. package/native/vendor/microtex/example/gtkmm/CMakeLists.txt +19 -0
  32. package/native/vendor/microtex/example/gtkmm/gtkmm_main.cpp +531 -0
  33. package/native/vendor/microtex/example/gtkmm/meson.build +19 -0
  34. package/native/vendor/microtex/example/memcheck/CMakeLists.txt +12 -0
  35. package/native/vendor/microtex/example/memcheck/mem_check_main.cpp +154 -0
  36. package/native/vendor/microtex/example/qt/CMakeLists.txt +37 -0
  37. package/native/vendor/microtex/example/qt/meson.build +25 -0
  38. package/native/vendor/microtex/example/qt/qt_main.cpp +70 -0
  39. package/native/vendor/microtex/example/qt/qt_mainwindow.cpp +107 -0
  40. package/native/vendor/microtex/example/qt/qt_mainwindow.h +40 -0
  41. package/native/vendor/microtex/example/qt/qt_skiatexwidget.cpp +149 -0
  42. package/native/vendor/microtex/example/qt/qt_skiatexwidget.h +48 -0
  43. package/native/vendor/microtex/example/qt/qt_tex_render.h +15 -0
  44. package/native/vendor/microtex/example/qt/qt_texqmlitem.cpp +56 -0
  45. package/native/vendor/microtex/example/qt/qt_texqmlitem.h +31 -0
  46. package/native/vendor/microtex/example/qt/qt_texwidget.cpp +62 -0
  47. package/native/vendor/microtex/example/qt/qt_texwidget.h +31 -0
  48. package/native/vendor/microtex/example/qtpng/CMakeLists.txt +11 -0
  49. package/native/vendor/microtex/example/qtpng/latex2png.cpp +115 -0
  50. package/native/vendor/microtex/example/samples/samples.cpp +52 -0
  51. package/native/vendor/microtex/example/samples/samples.h +32 -0
  52. package/native/vendor/microtex/example/win32/CMakeLists.txt +15 -0
  53. package/native/vendor/microtex/example/win32/meson.build +18 -0
  54. package/native/vendor/microtex/example/win32/win32_main.cpp +375 -0
  55. package/native/vendor/microtex/githooks/pre-commit +19 -0
  56. package/native/vendor/microtex/githooks/pre-push +103 -0
  57. package/native/vendor/microtex/lib/CMakeLists.txt +234 -0
  58. package/native/vendor/microtex/lib/atom/atom.cpp +14 -0
  59. package/native/vendor/microtex/lib/atom/atom.h +96 -0
  60. package/native/vendor/microtex/lib/atom/atom_accent.cpp +115 -0
  61. package/native/vendor/microtex/lib/atom/atom_accent.h +53 -0
  62. package/native/vendor/microtex/lib/atom/atom_basic.cpp +146 -0
  63. package/native/vendor/microtex/lib/atom/atom_basic.h +273 -0
  64. package/native/vendor/microtex/lib/atom/atom_box.cpp +41 -0
  65. package/native/vendor/microtex/lib/atom/atom_box.h +70 -0
  66. package/native/vendor/microtex/lib/atom/atom_char.cpp +99 -0
  67. package/native/vendor/microtex/lib/atom/atom_char.h +147 -0
  68. package/native/vendor/microtex/lib/atom/atom_delim.cpp +65 -0
  69. package/native/vendor/microtex/lib/atom/atom_delim.h +58 -0
  70. package/native/vendor/microtex/lib/atom/atom_fence.cpp +65 -0
  71. package/native/vendor/microtex/lib/atom/atom_fence.h +56 -0
  72. package/native/vendor/microtex/lib/atom/atom_font.cpp +20 -0
  73. package/native/vendor/microtex/lib/atom/atom_font.h +49 -0
  74. package/native/vendor/microtex/lib/atom/atom_frac.cpp +101 -0
  75. package/native/vendor/microtex/lib/atom/atom_frac.h +42 -0
  76. package/native/vendor/microtex/lib/atom/atom_matrix.cpp +756 -0
  77. package/native/vendor/microtex/lib/atom/atom_matrix.h +268 -0
  78. package/native/vendor/microtex/lib/atom/atom_misc.cpp +230 -0
  79. package/native/vendor/microtex/lib/atom/atom_misc.h +200 -0
  80. package/native/vendor/microtex/lib/atom/atom_operator.cpp +51 -0
  81. package/native/vendor/microtex/lib/atom/atom_operator.h +41 -0
  82. package/native/vendor/microtex/lib/atom/atom_root.cpp +61 -0
  83. package/native/vendor/microtex/lib/atom/atom_root.h +27 -0
  84. package/native/vendor/microtex/lib/atom/atom_row.cpp +334 -0
  85. package/native/vendor/microtex/lib/atom/atom_row.h +176 -0
  86. package/native/vendor/microtex/lib/atom/atom_scripts.cpp +182 -0
  87. package/native/vendor/microtex/lib/atom/atom_scripts.h +52 -0
  88. package/native/vendor/microtex/lib/atom/atom_sideset.cpp +92 -0
  89. package/native/vendor/microtex/lib/atom/atom_sideset.h +24 -0
  90. package/native/vendor/microtex/lib/atom/atom_space.cpp +22 -0
  91. package/native/vendor/microtex/lib/atom/atom_space.h +38 -0
  92. package/native/vendor/microtex/lib/atom/atom_stack.cpp +117 -0
  93. package/native/vendor/microtex/lib/atom/atom_stack.h +103 -0
  94. package/native/vendor/microtex/lib/atom/atom_text.cpp +17 -0
  95. package/native/vendor/microtex/lib/atom/atom_text.h +33 -0
  96. package/native/vendor/microtex/lib/atom/atom_vrow.cpp +96 -0
  97. package/native/vendor/microtex/lib/atom/atom_vrow.h +47 -0
  98. package/native/vendor/microtex/lib/atom/atom_zstack.cpp +66 -0
  99. package/native/vendor/microtex/lib/atom/atom_zstack.h +37 -0
  100. package/native/vendor/microtex/lib/atom/colors_def.cpp +157 -0
  101. package/native/vendor/microtex/lib/atom/meson.build +50 -0
  102. package/native/vendor/microtex/lib/box/box.cpp +49 -0
  103. package/native/vendor/microtex/lib/box/box.h +184 -0
  104. package/native/vendor/microtex/lib/box/box_factory.cpp +162 -0
  105. package/native/vendor/microtex/lib/box/box_factory.h +24 -0
  106. package/native/vendor/microtex/lib/box/box_group.cpp +503 -0
  107. package/native/vendor/microtex/lib/box/box_group.h +285 -0
  108. package/native/vendor/microtex/lib/box/box_single.cpp +179 -0
  109. package/native/vendor/microtex/lib/box/box_single.h +157 -0
  110. package/native/vendor/microtex/lib/box/meson.build +15 -0
  111. package/native/vendor/microtex/lib/core/debug_config.cpp +3 -0
  112. package/native/vendor/microtex/lib/core/debug_config.h +24 -0
  113. package/native/vendor/microtex/lib/core/formula.cpp +180 -0
  114. package/native/vendor/microtex/lib/core/formula.h +137 -0
  115. package/native/vendor/microtex/lib/core/formula_def.cpp +167 -0
  116. package/native/vendor/microtex/lib/core/glue.cpp +108 -0
  117. package/native/vendor/microtex/lib/core/glue.h +55 -0
  118. package/native/vendor/microtex/lib/core/localized_num.cpp +51 -0
  119. package/native/vendor/microtex/lib/core/meson.build +19 -0
  120. package/native/vendor/microtex/lib/core/parser.cpp +874 -0
  121. package/native/vendor/microtex/lib/core/parser.h +306 -0
  122. package/native/vendor/microtex/lib/core/split.cpp +185 -0
  123. package/native/vendor/microtex/lib/core/split.h +40 -0
  124. package/native/vendor/microtex/lib/env/env.cpp +141 -0
  125. package/native/vendor/microtex/lib/env/env.h +221 -0
  126. package/native/vendor/microtex/lib/env/meson.build +11 -0
  127. package/native/vendor/microtex/lib/env/units.cpp +109 -0
  128. package/native/vendor/microtex/lib/env/units.h +61 -0
  129. package/native/vendor/microtex/lib/graphic/font_style.cpp +63 -0
  130. package/native/vendor/microtex/lib/graphic/font_style.h +61 -0
  131. package/native/vendor/microtex/lib/graphic/graphic.cpp +38 -0
  132. package/native/vendor/microtex/lib/graphic/graphic.h +314 -0
  133. package/native/vendor/microtex/lib/graphic/graphic_basic.cpp +44 -0
  134. package/native/vendor/microtex/lib/graphic/graphic_basic.h +131 -0
  135. package/native/vendor/microtex/lib/graphic/meson.build +13 -0
  136. package/native/vendor/microtex/lib/macro/macro.cpp +143 -0
  137. package/native/vendor/microtex/lib/macro/macro.h +155 -0
  138. package/native/vendor/microtex/lib/macro/macro_accent.cpp +50 -0
  139. package/native/vendor/microtex/lib/macro/macro_accent.h +61 -0
  140. package/native/vendor/microtex/lib/macro/macro_boxes.h +68 -0
  141. package/native/vendor/microtex/lib/macro/macro_colors.cpp +42 -0
  142. package/native/vendor/microtex/lib/macro/macro_colors.h +42 -0
  143. package/native/vendor/microtex/lib/macro/macro_decl.h +16 -0
  144. package/native/vendor/microtex/lib/macro/macro_def.cpp +418 -0
  145. package/native/vendor/microtex/lib/macro/macro_delims.cpp +56 -0
  146. package/native/vendor/microtex/lib/macro/macro_delims.h +73 -0
  147. package/native/vendor/microtex/lib/macro/macro_env.h +212 -0
  148. package/native/vendor/microtex/lib/macro/macro_fonts.cpp +53 -0
  149. package/native/vendor/microtex/lib/macro/macro_fonts.h +78 -0
  150. package/native/vendor/microtex/lib/macro/macro_frac.cpp +138 -0
  151. package/native/vendor/microtex/lib/macro/macro_frac.h +50 -0
  152. package/native/vendor/microtex/lib/macro/macro_misc.cpp +211 -0
  153. package/native/vendor/microtex/lib/macro/macro_misc.h +217 -0
  154. package/native/vendor/microtex/lib/macro/macro_scripts.cpp +32 -0
  155. package/native/vendor/microtex/lib/macro/macro_scripts.h +17 -0
  156. package/native/vendor/microtex/lib/macro/macro_sizes.h +110 -0
  157. package/native/vendor/microtex/lib/macro/macro_space.cpp +31 -0
  158. package/native/vendor/microtex/lib/macro/macro_space.h +17 -0
  159. package/native/vendor/microtex/lib/macro/macro_styles.cpp +45 -0
  160. package/native/vendor/microtex/lib/macro/macro_styles.h +22 -0
  161. package/native/vendor/microtex/lib/macro/macro_types.h +48 -0
  162. package/native/vendor/microtex/lib/macro/meson.build +33 -0
  163. package/native/vendor/microtex/lib/meson.build +102 -0
  164. package/native/vendor/microtex/lib/microtex.cpp +208 -0
  165. package/native/vendor/microtex/lib/microtex.h +225 -0
  166. package/native/vendor/microtex/lib/microtexConfig.cmake.in +2 -0
  167. package/native/vendor/microtex/lib/microtexapi.h +22 -0
  168. package/native/vendor/microtex/lib/microtexconfig.h.in +7 -0
  169. package/native/vendor/microtex/lib/microtexexport.h +31 -0
  170. package/native/vendor/microtex/lib/otf/clm.cpp +405 -0
  171. package/native/vendor/microtex/lib/otf/clm.h +61 -0
  172. package/native/vendor/microtex/lib/otf/fontsense.cpp +191 -0
  173. package/native/vendor/microtex/lib/otf/fontsense.h +20 -0
  174. package/native/vendor/microtex/lib/otf/glyph.cpp +53 -0
  175. package/native/vendor/microtex/lib/otf/glyph.h +384 -0
  176. package/native/vendor/microtex/lib/otf/math_consts.h +154 -0
  177. package/native/vendor/microtex/lib/otf/meson.build +18 -0
  178. package/native/vendor/microtex/lib/otf/otf.cpp +84 -0
  179. package/native/vendor/microtex/lib/otf/otf.h +177 -0
  180. package/native/vendor/microtex/lib/otf/otfconfig.h +32 -0
  181. package/native/vendor/microtex/lib/otf/path.cpp +187 -0
  182. package/native/vendor/microtex/lib/otf/path.h +120 -0
  183. package/native/vendor/microtex/lib/render/builder.cpp +68 -0
  184. package/native/vendor/microtex/lib/render/builder.h +73 -0
  185. package/native/vendor/microtex/lib/render/meson.build +11 -0
  186. package/native/vendor/microtex/lib/render/render.cpp +136 -0
  187. package/native/vendor/microtex/lib/render/render.h +59 -0
  188. package/native/vendor/microtex/lib/unimath/font_meta.h +22 -0
  189. package/native/vendor/microtex/lib/unimath/font_src.cpp +21 -0
  190. package/native/vendor/microtex/lib/unimath/font_src.h +61 -0
  191. package/native/vendor/microtex/lib/unimath/math_type.cpp +318 -0
  192. package/native/vendor/microtex/lib/unimath/math_type.h +105 -0
  193. package/native/vendor/microtex/lib/unimath/meson.build +18 -0
  194. package/native/vendor/microtex/lib/unimath/uni_char.cpp +121 -0
  195. package/native/vendor/microtex/lib/unimath/uni_char.h +109 -0
  196. package/native/vendor/microtex/lib/unimath/uni_font.cpp +248 -0
  197. package/native/vendor/microtex/lib/unimath/uni_font.h +139 -0
  198. package/native/vendor/microtex/lib/unimath/uni_symbol.cpp +2929 -0
  199. package/native/vendor/microtex/lib/unimath/uni_symbol.h +31 -0
  200. package/native/vendor/microtex/lib/utils/dict_tree.h +68 -0
  201. package/native/vendor/microtex/lib/utils/exceptions.h +61 -0
  202. package/native/vendor/microtex/lib/utils/log.h +34 -0
  203. package/native/vendor/microtex/lib/utils/meson.build +18 -0
  204. package/native/vendor/microtex/lib/utils/nums.h +24 -0
  205. package/native/vendor/microtex/lib/utils/string_utils.cpp +85 -0
  206. package/native/vendor/microtex/lib/utils/string_utils.h +130 -0
  207. package/native/vendor/microtex/lib/utils/types.h +152 -0
  208. package/native/vendor/microtex/lib/utils/utf.cpp +115 -0
  209. package/native/vendor/microtex/lib/utils/utf.h +58 -0
  210. package/native/vendor/microtex/lib/utils/utils.cpp +40 -0
  211. package/native/vendor/microtex/lib/utils/utils.h +88 -0
  212. package/native/vendor/microtex/lib/wrapper/byte_seq.cpp +46 -0
  213. package/native/vendor/microtex/lib/wrapper/byte_seq.h +70 -0
  214. package/native/vendor/microtex/lib/wrapper/callback.cpp +10 -0
  215. package/native/vendor/microtex/lib/wrapper/callback.h +72 -0
  216. package/native/vendor/microtex/lib/wrapper/cwrapper.cpp +206 -0
  217. package/native/vendor/microtex/lib/wrapper/cwrapper.h +305 -0
  218. package/native/vendor/microtex/lib/wrapper/graphic_wrapper.cpp +211 -0
  219. package/native/vendor/microtex/lib/wrapper/graphic_wrapper.h +159 -0
  220. package/native/vendor/microtex/lib/wrapper/meson.build +22 -0
  221. package/native/vendor/microtex/meson.build +75 -0
  222. package/native/vendor/microtex/meson_options.txt +29 -0
  223. package/native/vendor/microtex/platform/cairo/CMakeLists.txt +36 -0
  224. package/native/vendor/microtex/platform/cairo/graphic_cairo.cpp +384 -0
  225. package/native/vendor/microtex/platform/cairo/graphic_cairo.h +119 -0
  226. package/native/vendor/microtex/platform/cairo/meson.build +47 -0
  227. package/native/vendor/microtex/platform/cairo/microtex-cairoConfig.cmake.in +11 -0
  228. package/native/vendor/microtex/platform/flutter/microtex/.metadata +10 -0
  229. package/native/vendor/microtex/platform/flutter/microtex/CHANGELOG.md +3 -0
  230. package/native/vendor/microtex/platform/flutter/microtex/LICENSE +1 -0
  231. package/native/vendor/microtex/platform/flutter/microtex/README.md +15 -0
  232. package/native/vendor/microtex/platform/flutter/microtex/analysis_options.yaml +4 -0
  233. package/native/vendor/microtex/platform/flutter/microtex/android/build.gradle +56 -0
  234. package/native/vendor/microtex/platform/flutter/microtex/android/settings.gradle +1 -0
  235. package/native/vendor/microtex/platform/flutter/microtex/android/src/main/AndroidManifest.xml +3 -0
  236. package/native/vendor/microtex/platform/flutter/microtex/android/src/main/kotlin/io/nano/microtex/microtex/MicrotexPlugin.kt +35 -0
  237. package/native/vendor/microtex/platform/flutter/microtex/example/.metadata +10 -0
  238. package/native/vendor/microtex/platform/flutter/microtex/example/README.md +16 -0
  239. package/native/vendor/microtex/platform/flutter/microtex/example/analysis_options.yaml +31 -0
  240. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/build.gradle +68 -0
  241. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/debug/AndroidManifest.xml +7 -0
  242. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/AndroidManifest.xml +34 -0
  243. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/kotlin/io/nano/microtex/microtex_example/MainActivity.kt +6 -0
  244. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/drawable/launch_background.xml +12 -0
  245. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/drawable-v21/launch_background.xml +12 -0
  246. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  247. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  248. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  249. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  250. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  251. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/values/styles.xml +18 -0
  252. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/main/res/values-night/styles.xml +18 -0
  253. package/native/vendor/microtex/platform/flutter/microtex/example/android/app/src/profile/AndroidManifest.xml +7 -0
  254. package/native/vendor/microtex/platform/flutter/microtex/example/android/build.gradle +31 -0
  255. package/native/vendor/microtex/platform/flutter/microtex/example/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  256. package/native/vendor/microtex/platform/flutter/microtex/example/android/gradle.properties +3 -0
  257. package/native/vendor/microtex/platform/flutter/microtex/example/android/settings.gradle +11 -0
  258. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Flutter/AppFrameworkInfo.plist +26 -0
  259. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Flutter/Debug.xcconfig +2 -0
  260. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Flutter/Release.xcconfig +2 -0
  261. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Podfile +41 -0
  262. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Podfile.lock +22 -0
  263. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/AppDelegate.swift +13 -0
  264. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +122 -0
  265. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png +0 -0
  266. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png +0 -0
  267. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png +0 -0
  268. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png +0 -0
  269. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png +0 -0
  270. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png +0 -0
  271. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png +0 -0
  272. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png +0 -0
  273. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png +0 -0
  274. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png +0 -0
  275. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png +0 -0
  276. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png +0 -0
  277. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png +0 -0
  278. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png +0 -0
  279. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png +0 -0
  280. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +23 -0
  281. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png +0 -0
  282. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png +0 -0
  283. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png +0 -0
  284. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +5 -0
  285. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +37 -0
  286. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Base.lproj/Main.storyboard +26 -0
  287. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Info.plist +49 -0
  288. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner/Runner-Bridging-Header.h +1 -0
  289. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcodeproj/project.pbxproj +549 -0
  290. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  291. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  292. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  293. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +87 -0
  294. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcworkspace/contents.xcworkspacedata +10 -0
  295. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  296. package/native/vendor/microtex/platform/flutter/microtex/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  297. package/native/vendor/microtex/platform/flutter/microtex/example/lib/main.dart +23 -0
  298. package/native/vendor/microtex/platform/flutter/microtex/example/lib/screen/edit_in_one.dart +0 -0
  299. package/native/vendor/microtex/platform/flutter/microtex/example/lib/screen/edit_screen.dart +208 -0
  300. package/native/vendor/microtex/platform/flutter/microtex/example/lib/utils/convert_spans.dart +63 -0
  301. package/native/vendor/microtex/platform/flutter/microtex/example/lib/utils/string_ext.dart +10 -0
  302. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/cmp.dart +118 -0
  303. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/draggable.dart +75 -0
  304. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/rich.dart +23 -0
  305. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/split.dart +72 -0
  306. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/tex_highlight_controller.dart +66 -0
  307. package/native/vendor/microtex/platform/flutter/microtex/example/lib/widget/tex_input_controller.dart +19 -0
  308. package/native/vendor/microtex/platform/flutter/microtex/example/linux/CMakeLists.txt +116 -0
  309. package/native/vendor/microtex/platform/flutter/microtex/example/linux/flutter/CMakeLists.txt +87 -0
  310. package/native/vendor/microtex/platform/flutter/microtex/example/linux/flutter/generated_plugin_registrant.cc +15 -0
  311. package/native/vendor/microtex/platform/flutter/microtex/example/linux/flutter/generated_plugin_registrant.h +15 -0
  312. package/native/vendor/microtex/platform/flutter/microtex/example/linux/flutter/generated_plugins.cmake +24 -0
  313. package/native/vendor/microtex/platform/flutter/microtex/example/linux/main.cc +6 -0
  314. package/native/vendor/microtex/platform/flutter/microtex/example/linux/my_application.cc +104 -0
  315. package/native/vendor/microtex/platform/flutter/microtex/example/linux/my_application.h +18 -0
  316. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Flutter/Flutter-Debug.xcconfig +2 -0
  317. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Flutter/Flutter-Release.xcconfig +2 -0
  318. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Flutter/GeneratedPluginRegistrant.swift +12 -0
  319. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Podfile +40 -0
  320. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Podfile.lock +22 -0
  321. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/AppDelegate.swift +9 -0
  322. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +68 -0
  323. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  324. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  325. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  326. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  327. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  328. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  329. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  330. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Base.lproj/MainMenu.xib +343 -0
  331. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Configs/AppInfo.xcconfig +14 -0
  332. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Configs/Debug.xcconfig +2 -0
  333. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Configs/Release.xcconfig +2 -0
  334. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Configs/Warnings.xcconfig +13 -0
  335. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/DebugProfile.entitlements +12 -0
  336. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Info.plist +32 -0
  337. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/MainFlutterWindow.swift +15 -0
  338. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner/Release.entitlements +8 -0
  339. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner.xcodeproj/project.pbxproj +633 -0
  340. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  341. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +87 -0
  342. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner.xcworkspace/contents.xcworkspacedata +10 -0
  343. package/native/vendor/microtex/platform/flutter/microtex/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  344. package/native/vendor/microtex/platform/flutter/microtex/example/pubspec.lock +191 -0
  345. package/native/vendor/microtex/platform/flutter/microtex/example/pubspec.yaml +56 -0
  346. package/native/vendor/microtex/platform/flutter/microtex/example/test/widget_test.dart +26 -0
  347. package/native/vendor/microtex/platform/flutter/microtex/example/windows/CMakeLists.txt +95 -0
  348. package/native/vendor/microtex/platform/flutter/microtex/example/windows/flutter/CMakeLists.txt +103 -0
  349. package/native/vendor/microtex/platform/flutter/microtex/example/windows/flutter/generated_plugin_registrant.cc +14 -0
  350. package/native/vendor/microtex/platform/flutter/microtex/example/windows/flutter/generated_plugin_registrant.h +15 -0
  351. package/native/vendor/microtex/platform/flutter/microtex/example/windows/flutter/generated_plugins.cmake +24 -0
  352. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/CMakeLists.txt +17 -0
  353. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/Runner.rc +121 -0
  354. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/flutter_window.cpp +61 -0
  355. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/flutter_window.h +33 -0
  356. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/main.cpp +43 -0
  357. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/resource.h +16 -0
  358. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/resources/app_icon.ico +0 -0
  359. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/runner.exe.manifest +20 -0
  360. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/utils.cpp +64 -0
  361. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/utils.h +19 -0
  362. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/win32_window.cpp +245 -0
  363. package/native/vendor/microtex/platform/flutter/microtex/example/windows/runner/win32_window.h +98 -0
  364. package/native/vendor/microtex/platform/flutter/microtex/ios/Assets/.gitkeep +0 -0
  365. package/native/vendor/microtex/platform/flutter/microtex/ios/Classes/MicrotexPlugin.h +4 -0
  366. package/native/vendor/microtex/platform/flutter/microtex/ios/Classes/MicrotexPlugin.m +19 -0
  367. package/native/vendor/microtex/platform/flutter/microtex/ios/Classes/SwiftMicrotexPlugin.swift +14 -0
  368. package/native/vendor/microtex/platform/flutter/microtex/ios/Classes/dummy.h +4 -0
  369. package/native/vendor/microtex/platform/flutter/microtex/ios/microtex.podspec +27 -0
  370. package/native/vendor/microtex/platform/flutter/microtex/lib/microtex.dart +7 -0
  371. package/native/vendor/microtex/platform/flutter/microtex/lib/src/bindings.dart +218 -0
  372. package/native/vendor/microtex/platform/flutter/microtex/lib/src/bounds.dart +10 -0
  373. package/native/vendor/microtex/platform/flutter/microtex/lib/src/context.dart +205 -0
  374. package/native/vendor/microtex/platform/flutter/microtex/lib/src/fontdesc.dart +14 -0
  375. package/native/vendor/microtex/platform/flutter/microtex/lib/src/fontmeta.dart +14 -0
  376. package/native/vendor/microtex/platform/flutter/microtex/lib/src/pathcache.dart +17 -0
  377. package/native/vendor/microtex/platform/flutter/microtex/lib/src/render.dart +291 -0
  378. package/native/vendor/microtex/platform/flutter/microtex/lib/src/texstyle.dart +11 -0
  379. package/native/vendor/microtex/platform/flutter/microtex/lib/src/textlayout.dart +93 -0
  380. package/native/vendor/microtex/platform/flutter/microtex/lib/src/widget.dart +163 -0
  381. package/native/vendor/microtex/platform/flutter/microtex/linux/CMakeLists.txt +33 -0
  382. package/native/vendor/microtex/platform/flutter/microtex/linux/include/microtex/microtex_plugin.h +26 -0
  383. package/native/vendor/microtex/platform/flutter/microtex/linux/microtex_plugin.cc +70 -0
  384. package/native/vendor/microtex/platform/flutter/microtex/macos/Classes/MicrotexPlugin.swift +20 -0
  385. package/native/vendor/microtex/platform/flutter/microtex/macos/Classes/dummy.h +4 -0
  386. package/native/vendor/microtex/platform/flutter/microtex/macos/Classes/microtex-Bridging-Header.h +1 -0
  387. package/native/vendor/microtex/platform/flutter/microtex/macos/microtex.podspec +26 -0
  388. package/native/vendor/microtex/platform/flutter/microtex/nativelib/CMakeLists.txt +44 -0
  389. package/native/vendor/microtex/platform/flutter/microtex/nativelib/builddarwin.sh +108 -0
  390. package/native/vendor/microtex/platform/flutter/microtex/pubspec.yaml +37 -0
  391. package/native/vendor/microtex/platform/flutter/microtex/test/microtex_test.dart +23 -0
  392. package/native/vendor/microtex/platform/flutter/microtex/windows/CMakeLists.txt +32 -0
  393. package/native/vendor/microtex/platform/flutter/microtex/windows/include/microtex/microtex_plugin.h +23 -0
  394. package/native/vendor/microtex/platform/flutter/microtex/windows/microtex_plugin.cpp +82 -0
  395. package/native/vendor/microtex/platform/gdi_win/CMakeLists.txt +20 -0
  396. package/native/vendor/microtex/platform/gdi_win/graphic_win32.cpp +352 -0
  397. package/native/vendor/microtex/platform/gdi_win/graphic_win32.h +137 -0
  398. package/native/vendor/microtex/platform/gdi_win/meson.build +39 -0
  399. package/native/vendor/microtex/platform/gtk/CMakeLists.txt +36 -0
  400. package/native/vendor/microtex/platform/gtk/meson.build +65 -0
  401. package/native/vendor/microtex/platform/gtk/microtex-gtkConfig.cmake.in +11 -0
  402. package/native/vendor/microtex/platform/gtk/microtexequation.cpp +708 -0
  403. package/native/vendor/microtex/platform/gtk/microtexequation.h +72 -0
  404. package/native/vendor/microtex/platform/qt/CMakeLists.txt +37 -0
  405. package/native/vendor/microtex/platform/qt/graphic_qt.cpp +355 -0
  406. package/native/vendor/microtex/platform/qt/graphic_qt.h +116 -0
  407. package/native/vendor/microtex/platform/qt/meson.build +38 -0
  408. package/native/vendor/microtex/platform/qt/microtex-qtConfig.cmake.in +7 -0
  409. package/native/vendor/microtex/platform/skia/CMakeLists.txt +46 -0
  410. package/native/vendor/microtex/platform/skia/graphic_skia.cpp +306 -0
  411. package/native/vendor/microtex/platform/skia/graphic_skia.h +125 -0
  412. package/native/vendor/microtex/platform/skia/microtex-skiaConfig.cmake.in +6 -0
  413. package/native/vendor/microtex/platform/wasm/CMakeLists.txt +38 -0
  414. package/native/vendor/microtex/platform/wasm/emscripten.cross +31 -0
  415. package/native/vendor/microtex/platform/wasm/main.cpp +15 -0
  416. package/native/vendor/microtex/platform/wasm/meson.build +8 -0
  417. package/native/vendor/microtex/platform/wasm/prebuild-example-meson.sh +21 -0
  418. package/native/vendor/microtex/platform/wasm/prebuild-example.sh +21 -0
  419. package/native/vendor/microtex/platform/wasm/prebuild-lib-meson.sh +28 -0
  420. package/native/vendor/microtex/platform/wasm/prebuild-lib.sh +31 -0
  421. package/native/vendor/microtex/platform/wasm/web/.babelrc +10 -0
  422. package/native/vendor/microtex/platform/wasm/web/example/examples.js +43 -0
  423. package/native/vendor/microtex/platform/wasm/web/example/hello.js +31 -0
  424. package/native/vendor/microtex/platform/wasm/web/example/index.html +55 -0
  425. package/native/vendor/microtex/platform/wasm/web/example/index.js +243 -0
  426. package/native/vendor/microtex/platform/wasm/web/example/styles.css +86 -0
  427. package/native/vendor/microtex/platform/wasm/web/example/utils.js +47 -0
  428. package/native/vendor/microtex/platform/wasm/web/lib/context.js +271 -0
  429. package/native/vendor/microtex/platform/wasm/web/lib/index.js +10 -0
  430. package/native/vendor/microtex/platform/wasm/web/lib/render.js +293 -0
  431. package/native/vendor/microtex/platform/wasm/web/lib/runtime.js +14 -0
  432. package/native/vendor/microtex/platform/wasm/web/lib/svg.js +237 -0
  433. package/native/vendor/microtex/platform/wasm/web/lib/textlayout.js +88 -0
  434. package/native/vendor/microtex/platform/wasm/web/package-lock.json +5931 -0
  435. package/native/vendor/microtex/platform/wasm/web/package.json +45 -0
  436. package/native/vendor/microtex/platform/wasm/web/publish-example.sh +17 -0
  437. package/native/vendor/microtex/platform/wasm/web/rollup.config.example.js +24 -0
  438. package/native/vendor/microtex/platform/wasm/web/rollup.config.lib.js +16 -0
  439. package/native/vendor/microtex/prebuilt/otf2clm.py +807 -0
  440. package/native/vendor/microtex/prebuilt/otf2clm.sh +9 -0
  441. package/native/vendor/microtex/prebuilt/preclms.sh +17 -0
  442. package/native/vendor/microtex/readme/example_bw_false.svg +680 -0
  443. package/native/vendor/microtex/readme/example_bw_true.svg +680 -0
  444. package/native/vendor/microtex/readme/example_cjk_trying.svg +54 -0
  445. package/native/vendor/microtex/readme/example_custom_symbols.svg +92 -0
  446. package/native/vendor/microtex/readme/example_debug.svg +764 -0
  447. package/native/vendor/microtex/readme/example_emoji.svg +199 -0
  448. package/native/vendor/microtex/readme/example_have_log.svg +79 -0
  449. package/native/vendor/microtex/readme/example_keep_trying.svg +101 -0
  450. package/native/vendor/microtex/readme/example_logos.svg +50 -0
  451. package/native/vendor/microtex/readme/example_ubuntu.png +0 -0
  452. package/native/vendor/microtex/readme/example_windows.png +0 -0
  453. package/native/vendor/microtex/readme/samples/sample_0.svg +665 -0
  454. package/native/vendor/microtex/readme/samples/sample_1.svg +1259 -0
  455. package/native/vendor/microtex/readme/samples/sample_10.svg +333 -0
  456. package/native/vendor/microtex/readme/samples/sample_11.svg +306 -0
  457. package/native/vendor/microtex/readme/samples/sample_2.svg +2461 -0
  458. package/native/vendor/microtex/readme/samples/sample_3.svg +2653 -0
  459. package/native/vendor/microtex/readme/samples/sample_4.svg +554 -0
  460. package/native/vendor/microtex/readme/samples/sample_5.svg +247 -0
  461. package/native/vendor/microtex/readme/samples/sample_6.svg +1082 -0
  462. package/native/vendor/microtex/readme/samples/sample_7.svg +518 -0
  463. package/native/vendor/microtex/readme/samples/sample_8.svg +529 -0
  464. package/native/vendor/microtex/readme/samples/sample_9.svg +1702 -0
  465. package/native/vendor/microtex/readme/samples.md +301 -0
  466. package/native/vendor/microtex/readme/tex_logo.svg +19 -0
  467. package/native/vendor/microtex/res/EXAMPLE.txt +25 -0
  468. package/native/vendor/microtex/res/SAMPLES.tex +946 -0
  469. package/native/vendor/microtex/res/firamath/FiraMath-Regular.clm1 +0 -0
  470. package/native/vendor/microtex/res/firamath/FiraMath-Regular.clm2 +0 -0
  471. package/native/vendor/microtex/res/firamath/FiraMath-Regular.otf +0 -0
  472. package/native/vendor/microtex/res/firamath/README.md +42 -0
  473. package/native/vendor/microtex/res/lm-math/README +92 -0
  474. package/native/vendor/microtex/res/lm-math/latinmodern-math.clm1 +0 -0
  475. package/native/vendor/microtex/res/lm-math/latinmodern-math.clm2 +0 -0
  476. package/native/vendor/microtex/res/lm-math/latinmodern-math.otf +0 -0
  477. package/native/vendor/microtex/res/tex-gyre/README-TeX-Gyre-DejaVu-Math.txt +82 -0
  478. package/native/vendor/microtex/res/tex-gyre/texgyredejavu-math.clm1 +0 -0
  479. package/native/vendor/microtex/res/tex-gyre/texgyredejavu-math.clm2 +0 -0
  480. package/native/vendor/microtex/res/tex-gyre/texgyredejavu-math.otf +0 -0
  481. package/native/vendor/microtex/res/xits/FONTLOG.txt +246 -0
  482. package/native/vendor/microtex/res/xits/OFL.txt +98 -0
  483. package/native/vendor/microtex/res/xits/README.txt +15 -0
  484. package/native/vendor/microtex/res/xits/XITS-Bold.clm1 +0 -0
  485. package/native/vendor/microtex/res/xits/XITS-Bold.clm2 +0 -0
  486. package/native/vendor/microtex/res/xits/XITS-Bold.otf +0 -0
  487. package/native/vendor/microtex/res/xits/XITS-BoldItalic.clm1 +0 -0
  488. package/native/vendor/microtex/res/xits/XITS-BoldItalic.clm2 +0 -0
  489. package/native/vendor/microtex/res/xits/XITS-BoldItalic.otf +0 -0
  490. package/native/vendor/microtex/res/xits/XITS-Italic.clm1 +0 -0
  491. package/native/vendor/microtex/res/xits/XITS-Italic.clm2 +0 -0
  492. package/native/vendor/microtex/res/xits/XITS-Italic.otf +0 -0
  493. package/native/vendor/microtex/res/xits/XITS-Regular.clm1 +0 -0
  494. package/native/vendor/microtex/res/xits/XITS-Regular.clm2 +0 -0
  495. package/native/vendor/microtex/res/xits/XITS-Regular.otf +0 -0
  496. package/native/vendor/microtex/res/xits/XITSMath-Bold.clm1 +0 -0
  497. package/native/vendor/microtex/res/xits/XITSMath-Bold.clm2 +0 -0
  498. package/native/vendor/microtex/res/xits/XITSMath-Bold.otf +0 -0
  499. package/native/vendor/microtex/res/xits/XITSMath-Regular.clm1 +0 -0
  500. package/native/vendor/microtex/res/xits/XITSMath-Regular.clm2 +0 -0
  501. package/native/vendor/microtex/res/xits/XITSMath-Regular.otf +0 -0
  502. package/native/vendor/microtex/test/clm/meson.build +10 -0
  503. package/native/vendor/microtex/test/clm/test_clm.cpp +140 -0
  504. package/native/vendor/microtex/test/env/meson.build +10 -0
  505. package/native/vendor/microtex/test/env/test_env.cpp +100 -0
  506. package/native/vendor/microtex/test/fuzzer/afl.native +20 -0
  507. package/native/vendor/microtex/test/fuzzer/fuzz.sh +135 -0
  508. package/native/vendor/microtex/test/fuzzer/fuzzer.cpp +61 -0
  509. package/native/vendor/microtex/test/fuzzer/generateSeed.java +33 -0
  510. package/native/vendor/microtex/test/fuzzer/meson.build +9 -0
  511. package/native/vendor/microtex/test/fuzzer/microtex.dict +3708 -0
  512. package/native/vendor/microtex/test/fuzzer/platform_none.cpp +100 -0
  513. package/native/vendor/microtex/test/has_filesystem.cpp +8 -0
  514. package/native/vendor/microtex/test/meson.build +6 -0
  515. package/native/vendor/nanosvg.h +3278 -0
  516. package/native/vendor/nanosvgrast.h +1472 -0
  517. package/native/vendor/zigtex/.github/assets/example.svg +27 -0
  518. package/native/vendor/zigtex/LICENSE +674 -0
  519. package/native/vendor/zigtex/README.md +52 -0
  520. package/native/vendor/zigtex/build.zig +52 -0
  521. package/native/vendor/zigtex/build.zig.zon +16 -0
  522. package/native/vendor/zigtex/fonts/latinmodern-math.clm2 +0 -0
  523. package/native/vendor/zigtex/src/main.zig +22 -0
  524. package/native/vendor/zigtex/src/root.zig +124 -0
  525. package/native/vendor/zigtex/src/svg.zig +273 -0
  526. package/native/vendor/zigtex/src/tex.zig +383 -0
  527. package/native/zigtex-0.16.patch +35 -0
  528. package/package.json +27 -0
  529. package/scripts/bootstrap-native +89 -0
@@ -0,0 +1,115 @@
1
+ #include "utf.h"
2
+
3
+ using namespace std;
4
+ using namespace microtex;
5
+
6
+ bool microtex::isVariationSelector(c32 code) {
7
+ if (code <= 0x7ff) return false;
8
+ // variation selectors (Unicode block)
9
+ if (code >= 0xFE00 && code <= 0xFE0F) {
10
+ return true;
11
+ }
12
+ // variation selectors supplement
13
+ if (code >= 0xE0100 && code <= 0xE01EF) {
14
+ return true;
15
+ }
16
+ // Mongolian variation selectors
17
+ if (code >= 0x180B && code <= 0x180D) {
18
+ return true;
19
+ }
20
+ return false;
21
+ }
22
+
23
+ bool microtex::isZWJ(c32 code) {
24
+ return code == 0x200D;
25
+ }
26
+
27
+ bool microtex::isZWNJ(c32 code) {
28
+ return code == 0x200C;
29
+ }
30
+
31
+ bool microtex::isJoiner(c32 code) {
32
+ return isZWJ(code) || isZWNJ(code);
33
+ }
34
+
35
+ void microtex::appendToUtf8(std::string& out, c32 code) {
36
+ if (code <= 0x7f) {
37
+ out.append(1, static_cast<char>(code));
38
+ } else if (code <= 0x7ff) {
39
+ out.append(1, static_cast<char>(0xc0 | ((code >> 6) & 0x1f)));
40
+ out.append(1, static_cast<char>(0x80 | (code & 0x3f)));
41
+ } else if (code <= 0xffff) {
42
+ out.append(1, static_cast<char>(0xe0 | ((code >> 12) & 0x0f)));
43
+ out.append(1, static_cast<char>(0x80 | ((code >> 6) & 0x3f)));
44
+ out.append(1, static_cast<char>(0x80 | (code & 0x3f)));
45
+ } else {
46
+ out.append(1, static_cast<char>(0xf0 | ((code >> 18) & 0x07)));
47
+ out.append(1, static_cast<char>(0x80 | ((code >> 12) & 0x3f)));
48
+ out.append(1, static_cast<char>(0x80 | ((code >> 6) & 0x3f)));
49
+ out.append(1, static_cast<char>(0x80 | (code & 0x3f)));
50
+ }
51
+ }
52
+
53
+ c32 microtex::nextUnicode(const std::string& src, int i, int& cnt) {
54
+ const auto l = src.length();
55
+ if (i >= l) {
56
+ cnt = 0;
57
+ return 0;
58
+ }
59
+ const char* in = src.c_str() + i;
60
+ auto ch = static_cast<unsigned char>(*in);
61
+ // 1 byte
62
+ cnt = 1;
63
+ if (ch <= 0b01111111) {
64
+ return static_cast<c32>(ch);
65
+ }
66
+ // multi-bytes
67
+ c32 code = 0;
68
+ if (ch <= 0b11011111) {
69
+ code = (ch & 0b00011111) << 6;
70
+ cnt = 2;
71
+ } else if (ch <= 0b11101111) {
72
+ code = (ch & 0b00001111) << 12;
73
+ cnt = 3;
74
+ } else if (ch <= 0b11110111) {
75
+ code = (ch & 0b00000111) << 18;
76
+ cnt = 4;
77
+ } else if (ch <= 0b11111011) {
78
+ code = (ch & 0b00000011) << 24;
79
+ cnt = 5;
80
+ } else if (ch <= 0b11111101) {
81
+ code = (ch & 0b00000001) << 30;
82
+ cnt = 6;
83
+ }
84
+ // otherwise, the utf-8 string is malformed
85
+ for (int j = 1; j < cnt; j++) {
86
+ // malformed utf-8 string, we ignore it
87
+ if (i + j >= l) break;
88
+ auto c = static_cast<unsigned char>(*(in + j));
89
+ code |= (c & 0b00111111) << (6 * (cnt - j - 1));
90
+ }
91
+ return code;
92
+ }
93
+
94
+ void microtex::scanContinuedUnicodes(
95
+ const std::function<c32()>& next,
96
+ const std::function<void(c32)>& collect
97
+ ) {
98
+ const c32 x = next();
99
+ collect(x);
100
+ while (true) {
101
+ const c32 a = next();
102
+ if (microtex::isVariationSelector(a)) {
103
+ collect(a);
104
+ } else if (microtex::isJoiner(a)) {
105
+ collect(a);
106
+ c32 b = 0;
107
+ do {
108
+ b = next();
109
+ collect(b);
110
+ } while (isJoiner(b));
111
+ } else {
112
+ break;
113
+ }
114
+ }
115
+ }
@@ -0,0 +1,58 @@
1
+ #ifndef UTF_H_INCLUDED
2
+ #define UTF_H_INCLUDED
3
+
4
+ #include <string>
5
+
6
+ #include "utils/utils.h"
7
+
8
+ namespace microtex {
9
+
10
+ /** Append an Unicode code-point to an utf-8 string */
11
+ void appendToUtf8(std::string& out, c32 code);
12
+
13
+ /**
14
+ * Get the next Unicode code-point from the given utf-8 string
15
+ * start from #i, the bytes count consumed in the byte sequence
16
+ * was given by #cnt after the code-point was decoded.
17
+ */
18
+ c32 nextUnicode(const std::string& src, int i, int& cnt);
19
+
20
+ /**
21
+ * Test if a given Unicode code-point is a variation-selector.
22
+ * See [https://en.m.wikipedia.org/wiki/Variant_form_(Unicode)]
23
+ * for details.
24
+ */
25
+ bool isVariationSelector(c32 code);
26
+
27
+ /**
28
+ * Test if a given Unicode code-point is a zero-width joiner.
29
+ * See [https://en.wikipedia.org/wiki/Zero-width_joiner]
30
+ * for details.
31
+ */
32
+ bool isZWJ(c32 code);
33
+
34
+ /**
35
+ * Test if a given Unicode code-point is a zero-width non-joiner.
36
+ * See [https://en.wikipedia.org/wiki/Zero-width_non-joiner]
37
+ * for details
38
+ */
39
+ bool isZWNJ(c32 code);
40
+
41
+ /** Test if a given Unicode code-point is a joiner. */
42
+ bool isJoiner(c32 code);
43
+
44
+ /**
45
+ * Scan Unicodes that cannot be split from a sequence and collect
46
+ * it into an arbitrary container.
47
+ *
48
+ * @param next function to get the next Unicode code-point, 0 terminated
49
+ * @param collect function to collect the given Unicode-point
50
+ */
51
+ void scanContinuedUnicodes(
52
+ const std::function<c32()>& next,
53
+ const std::function<void(c32)>& collect
54
+ );
55
+
56
+ } // namespace microtex
57
+
58
+ #endif
@@ -0,0 +1,40 @@
1
+ #include "utils/utils.h"
2
+
3
+ const std::locale& microtex::defaultLocale() {
4
+ #if !defined(__WIN32__)
5
+ static const std::locale locale("en_US.UTF-8");
6
+ #else
7
+ static const std::locale locale("C");
8
+ #endif
9
+ return locale;
10
+ }
11
+
12
+ bool microtex::isUnicodeLower(c32 code) {
13
+ // the type-cast is necessary, or a std::bad_cast will be thrown,
14
+ // because std::toupper is a template function
15
+ return std::islower((wchar_t)code, defaultLocale());
16
+ }
17
+
18
+ bool microtex::isUnicodeDigit(c32 code) {
19
+ return std::isdigit((wchar_t)code, defaultLocale());
20
+ }
21
+
22
+ microtex::c32 microtex::toUnicodeUpper(c32 code) {
23
+ return std::toupper((wchar_t)code, defaultLocale());
24
+ }
25
+
26
+ microtex::c32 microtex::toUnicodeLower(c32 code) {
27
+ return std::tolower((wchar_t)code, defaultLocale());
28
+ }
29
+
30
+ int microtex::binIndexOf(int count, const std::function<int(int)>& compare, bool returnClosest) {
31
+ if (count == 0) return -1;
32
+ int l = 0, h = count - 1;
33
+ while (l <= h) {
34
+ const int m = l + ((h - l) >> 1);
35
+ const int cmp = compare(m);
36
+ if (cmp == 0) return m;
37
+ cmp < 0 ? h = m - 1 : l = m + 1;
38
+ }
39
+ return returnClosest ? std::max(0, l - 1) : -1;
40
+ }
@@ -0,0 +1,88 @@
1
+ #ifndef UTILS_INCLUDED
2
+ #define UTILS_INCLUDED
3
+
4
+ #include <algorithm>
5
+ #include <functional>
6
+ #include <locale>
7
+ #include <map>
8
+ #include <vector>
9
+
10
+ #include "types.h"
11
+
12
+ #define no_copy_assign(T) \
13
+ T(const T&) = delete; \
14
+ void operator=(const T&) = delete
15
+
16
+ namespace microtex {
17
+
18
+ template <typename T, typename... Args>
19
+ inline sptr<T> sptrOf(Args&&... args) {
20
+ return std::make_shared<T>(std::forward<Args>(args)...);
21
+ }
22
+
23
+ template <typename T, typename... Args>
24
+ inline uptr<T> uptrOf(Args&&... args) {
25
+ return std::make_unique<T>(std::forward<Args>(args)...);
26
+ }
27
+
28
+ inline bool isAlpha(char c) {
29
+ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
30
+ }
31
+
32
+ template <typename K, typename V>
33
+ inline std::vector<K> keys(const std::map<K, V>& map) {
34
+ std::vector<K> v;
35
+ for (auto& it : map) {
36
+ v.push_back(it.first);
37
+ }
38
+ return v;
39
+ }
40
+
41
+ /** Template version to find the max value of the given list */
42
+ template <typename T, typename... Args>
43
+ inline T maxOf(Args&&... args) {
44
+ return std::max({args...});
45
+ }
46
+
47
+ /** Get number of set bits in binary representation of the given number */
48
+ template <typename T>
49
+ u32 countSetBits(T n) {
50
+ u32 cnt = 0;
51
+ while (n) {
52
+ n &= (n - 1);
53
+ cnt++;
54
+ }
55
+ return cnt;
56
+ }
57
+
58
+ /** The default locale */
59
+ const std::locale& defaultLocale();
60
+
61
+ /** Test if a Unicode code point is lower case */
62
+ bool isUnicodeLower(c32 code);
63
+
64
+ /** Test if a Unicode code point is digit */
65
+ bool isUnicodeDigit(c32 code);
66
+
67
+ /** Convert given Unicode code point to upper case */
68
+ c32 toUnicodeUpper(c32 code);
69
+
70
+ /** Convert given Unicode code point to lower case */
71
+ c32 toUnicodeLower(c32 code);
72
+
73
+ /**
74
+ * Binary-search for the index of the given target in a container. The items in the container must
75
+ * be sorted.
76
+ *
77
+ * @param count total count of elements in the container
78
+ * @param compare function to compare between the target value and the value at the given index
79
+ * @param returnClosest whether return the closest index while not found, default is false
80
+ *
81
+ * @return the index which the target value found at, or the closest index if returnClosest is true,
82
+ * or -1 otherwise
83
+ */
84
+ int binIndexOf(int count, const std::function<int(int)>& compare, bool returnClosest = false);
85
+
86
+ } // namespace microtex
87
+
88
+ #endif
@@ -0,0 +1,46 @@
1
+ #ifdef HAVE_CWRAPPER
2
+
3
+ #include "wrapper/byte_seq.h"
4
+
5
+ #include <cstdlib>
6
+
7
+ #include "utils/log.h"
8
+
9
+ namespace microtex {
10
+
11
+ ByteSeq::ByteSeq() {
12
+ _data = malloc(CHUNK_SIZE);
13
+ // the first 4 bytes is the bytes size used
14
+ _index = 4;
15
+ _capacity = CHUNK_SIZE;
16
+ }
17
+
18
+ void ByteSeq::_put(const char* str) {
19
+ auto l = sizeOf(str);
20
+ strcpy((char*)_data + _index, str);
21
+ _index += l;
22
+ }
23
+
24
+ void ByteSeq::ensureCapacity(len_t required) {
25
+ if (_index + required < _capacity) {
26
+ return;
27
+ }
28
+ #ifdef HAVE_LOG
29
+ logv("grow buffer, _capacity: %u, to be add: %u\n", _capacity, required);
30
+ #endif
31
+ _data = realloc(_data, _capacity + CHUNK_SIZE);
32
+ _capacity += CHUNK_SIZE;
33
+ }
34
+
35
+ void* ByteSeq::finish() {
36
+ #ifdef HAVE_LOG
37
+ logv("finish drawing commands, bytes: %u\n", _index);
38
+ #endif
39
+ auto ptr = (unsigned int*)_data;
40
+ *ptr = _index;
41
+ return _data;
42
+ }
43
+
44
+ } // namespace microtex
45
+
46
+ #endif // HAVE_CWRAPPER
@@ -0,0 +1,70 @@
1
+ #ifndef MICROTEX_BYTE_SEQ_H
2
+ #define MICROTEX_BYTE_SEQ_H
3
+
4
+ #ifdef HAVE_CWRAPPER
5
+
6
+ #include <cstring>
7
+
8
+ #include "utils/utils.h"
9
+
10
+ namespace microtex {
11
+
12
+ using len_t = unsigned int;
13
+
14
+ class ByteSeq {
15
+ private:
16
+ static constexpr len_t CHUNK_SIZE = 4 * 1024; // 4KB
17
+
18
+ static inline len_t sizeOf() { return 0; }
19
+
20
+ static inline len_t sizeOf(const char* str) { return strlen(str) + 1; }
21
+
22
+ template <typename T, typename... Ts>
23
+ static len_t sizeOf(const T& t, const Ts&... ts) {
24
+ return sizeof(T) + sizeOf(ts...);
25
+ }
26
+
27
+ len_t _index;
28
+ len_t _capacity;
29
+ void* _data;
30
+
31
+ inline void _put() {}
32
+
33
+ void _put(const char* str);
34
+
35
+ template <typename T>
36
+ void _put(T t) {
37
+ auto l = sizeof(T);
38
+ T* ptr = (T*)((char*)_data + _index);
39
+ *ptr = t;
40
+ _index += l;
41
+ }
42
+
43
+ template <typename T, typename... Ts>
44
+ void _put(T t, Ts... ts) {
45
+ _put(t);
46
+ _put(ts...);
47
+ }
48
+
49
+ void ensureCapacity(len_t required);
50
+
51
+ public:
52
+ no_copy_assign(ByteSeq);
53
+
54
+ ByteSeq();
55
+
56
+ template <typename T, typename... Ts>
57
+ void put(T t, Ts... ts) {
58
+ auto l = sizeOf(t, ts...);
59
+ ensureCapacity(l);
60
+ _put(t, ts...);
61
+ }
62
+
63
+ void* finish();
64
+ };
65
+
66
+ } // namespace microtex
67
+
68
+ #endif // HAVE_CWRAPPER
69
+
70
+ #endif // MICROTEX_BYTE_SEQ_H
@@ -0,0 +1,10 @@
1
+ #ifdef HAVE_CWRAPPER
2
+
3
+ #include "wrapper/callback.h"
4
+
5
+ CBCreateTextLayout microtex_createTextLayout = nullptr;
6
+ CBGetTextLayoutBounds microtex_getTextLayoutBounds = nullptr;
7
+ CBReleaseTextLayout microtex_releaseTextLayout = nullptr;
8
+ CBIsPathExists microtex_isPathExists = nullptr;
9
+
10
+ #endif
@@ -0,0 +1,72 @@
1
+ #ifndef MICROTEX_CALLBACK_H
2
+ #define MICROTEX_CALLBACK_H
3
+
4
+ #ifdef HAVE_CWRAPPER
5
+
6
+ #ifdef __cplusplus
7
+ extern "C" {
8
+ #endif
9
+
10
+ /** Simple struct to represents the bounds of a text layout. */
11
+ typedef struct {
12
+ float width;
13
+ float height;
14
+ float ascent;
15
+ } TextLayoutBounds;
16
+
17
+ /**
18
+ * Simple struct to represents the description to create a font to
19
+ * layout and draw a text-layout.
20
+ *
21
+ * Unlike the font the engine using internally, you are free to create
22
+ * the font you want based on the given description, the description
23
+ * is for reference, not a constraint.
24
+ */
25
+ typedef struct {
26
+ bool isBold;
27
+ bool isItalic;
28
+ bool isSansSerif;
29
+ bool isMonospace;
30
+ float fontSize;
31
+ } FontDesc;
32
+
33
+ /**
34
+ * Callback to create a text-layout from given text and font description,
35
+ * it should returns the id of the created text-layout, and then the id
36
+ * will be used to retrieve the bounds and draw.
37
+ *
38
+ * See [lib/wrapper/graphic_wrapper.h: TextLayout_wrapper::draw].
39
+ */
40
+ typedef unsigned int (*CBCreateTextLayout)(const char* txt, FontDesc* f);
41
+
42
+ /**
43
+ * Callback to retrieve the bounds of the text-layout created by callback
44
+ * [CBCreateTextLayout] before.
45
+ */
46
+ typedef void (*CBGetTextLayoutBounds)(unsigned int id, TextLayoutBounds* b);
47
+
48
+ /**
49
+ * Callback to release the text-layout created by callback [CBCreateTextLayout]
50
+ * before.
51
+ */
52
+ typedef void (*CBReleaseTextLayout)(unsigned int id);
53
+
54
+ /**
55
+ * Callback to check if a (glyph) path given by id is in cache. It will be used
56
+ * by [lib/graphic/graphic.h: Graphic2D::drawPath] to determine if a path is in
57
+ * cache, if it does, the following path drawing command will be ignored.
58
+ */
59
+ typedef bool (*CBIsPathExists)(unsigned int id);
60
+
61
+ extern CBCreateTextLayout microtex_createTextLayout;
62
+ extern CBGetTextLayoutBounds microtex_getTextLayoutBounds;
63
+ extern CBReleaseTextLayout microtex_releaseTextLayout;
64
+ extern CBIsPathExists microtex_isPathExists;
65
+
66
+ #ifdef __cplusplus
67
+ }
68
+ #endif
69
+
70
+ #endif
71
+
72
+ #endif // MICROTEX_CALLBACK_H
@@ -0,0 +1,206 @@
1
+ #ifdef HAVE_CWRAPPER
2
+
3
+ #include "wrapper/cwrapper.h"
4
+
5
+ #include "microtex.h"
6
+ #include "utils/log.h"
7
+ #include "wrapper/graphic_wrapper.h"
8
+
9
+ using namespace microtex;
10
+
11
+ #ifdef __cplusplus
12
+ extern "C" {
13
+ #endif
14
+
15
+ MICROTEX_CAPI const char* microtex_version() {
16
+ // No need to copy, [MicroTeX::version] returns a static string
17
+ return MicroTeX::version().c_str();
18
+ }
19
+
20
+ MICROTEX_CAPI void microtex_registerCallbacks(
21
+ CBCreateTextLayout createTextLayout,
22
+ CBGetTextLayoutBounds getTextLayoutBounds,
23
+ CBReleaseTextLayout releaseTextLayout,
24
+ CBIsPathExists isPathExists
25
+ ) {
26
+ microtex_createTextLayout = createTextLayout;
27
+ microtex_getTextLayoutBounds = getTextLayoutBounds;
28
+ microtex_releaseTextLayout = releaseTextLayout;
29
+ microtex_isPathExists = isPathExists;
30
+ }
31
+
32
+ MICROTEX_CAPI void
33
+ microtex_setTextLayoutBounds(TextLayoutBounds* b, float width, float height, float ascent) {
34
+ b->width = width;
35
+ b->height = height;
36
+ b->ascent = ascent;
37
+ }
38
+
39
+ MICROTEX_CAPI bool microtex_isBold(FontDesc* desc) {
40
+ return desc->isBold;
41
+ }
42
+
43
+ MICROTEX_CAPI bool microtex_isItalic(FontDesc* desc) {
44
+ return desc->isItalic;
45
+ }
46
+
47
+ MICROTEX_CAPI bool microtex_isSansSerif(FontDesc* desc) {
48
+ return desc->isSansSerif;
49
+ }
50
+
51
+ MICROTEX_CAPI bool microtex_isMonospace(FontDesc* desc) {
52
+ return desc->isMonospace;
53
+ }
54
+
55
+ MICROTEX_CAPI float microtex_fontSize(FontDesc* desc) {
56
+ return desc->fontSize;
57
+ }
58
+
59
+ MICROTEX_CAPI FontMetaPtr microtex_init(unsigned long len, const unsigned char* data) {
60
+ auto factory = std::make_unique<PlatformFactory_wrapper>();
61
+ PlatformFactory::registerFactory("__wrapper__", std::move(factory));
62
+ PlatformFactory::activate("__wrapper__");
63
+ FontSrcData src{len, data};
64
+ auto meta = MicroTeX::init(src);
65
+ return new FontMeta(meta);
66
+ }
67
+
68
+ MICROTEX_CAPI void microtex_release() {
69
+ MicroTeX::release();
70
+ }
71
+
72
+ MICROTEX_CAPI bool microtex_isInited() {
73
+ return MicroTeX::isInited();
74
+ }
75
+
76
+ MICROTEX_CAPI FontMetaPtr microtex_addFont(unsigned long len, const unsigned char* data) {
77
+ FontSrcData src{len, data};
78
+ auto meta = MicroTeX::addFont(src);
79
+ // create a new FontMeta from heap
80
+ // [microtex_releaseFontMeta] must be called after this object has no usages.
81
+ return new FontMeta(meta);
82
+ }
83
+
84
+ MICROTEX_CAPI const char* microtex_getFontFamily(FontMetaPtr ptr) {
85
+ auto* meta = (FontMeta*)ptr;
86
+ // no need to copy
87
+ return meta->family.c_str();
88
+ }
89
+
90
+ MICROTEX_CAPI const char* microtex_getFontName(FontMetaPtr ptr) {
91
+ auto* meta = (FontMeta*)ptr;
92
+ // no need to copy
93
+ return meta->name.c_str();
94
+ }
95
+
96
+ MICROTEX_CAPI bool microtex_isMathFont(FontMetaPtr ptr) {
97
+ auto* meta = (FontMeta*)ptr;
98
+ return meta->isMathFont;
99
+ }
100
+
101
+ MICROTEX_CAPI void microtex_releaseFontMeta(FontMetaPtr ptr) {
102
+ auto* meta = (FontMeta*)ptr;
103
+ delete meta;
104
+ }
105
+
106
+ MICROTEX_CAPI void microtex_setDefaultMathFont(const char* name) {
107
+ MicroTeX::setDefaultMathFont(name);
108
+ }
109
+
110
+ MICROTEX_CAPI void microtex_setDefaultMainFont(const char* name) {
111
+ MicroTeX::setDefaultMainFont(name);
112
+ }
113
+
114
+ MICROTEX_CAPI bool microtex_hasGlyphPathRender() {
115
+ return MicroTeX::hasGlyphPathRender();
116
+ }
117
+
118
+ MICROTEX_CAPI void microtex_setRenderGlyphUsePath(bool use) {
119
+ return MicroTeX::setRenderGlyphUsePath(use);
120
+ }
121
+
122
+ MICROTEX_CAPI bool microtex_isRenderGlyphUsePath() {
123
+ return MicroTeX::isRenderGlyphUsePath();
124
+ }
125
+
126
+ MICROTEX_CAPI RenderPtr microtex_parseRender(
127
+ const char* tex,
128
+ int width,
129
+ float textSize,
130
+ float lineSpace,
131
+ unsigned int color,
132
+ bool fillWidth,
133
+ bool enableOverrideTeXStyle,
134
+ unsigned int texStyle
135
+ ) {
136
+ #ifdef HAVE_LOG
137
+ logv("parse: %s\n", tex);
138
+ #endif
139
+ auto r = MicroTeX::parse(
140
+ tex,
141
+ width,
142
+ textSize,
143
+ lineSpace,
144
+ color,
145
+ fillWidth,
146
+ {enableOverrideTeXStyle, static_cast<TexStyle>(texStyle)}
147
+ );
148
+ return reinterpret_cast<RenderPtr>(r);
149
+ }
150
+
151
+ MICROTEX_CAPI void microtex_deleteRender(RenderPtr render) {
152
+ auto r = reinterpret_cast<Render*>(render);
153
+ delete r;
154
+ }
155
+
156
+ MICROTEX_CAPI DrawingData microtex_getDrawingData(RenderPtr render, int x, int y) {
157
+ auto r = reinterpret_cast<Render*>(render);
158
+ Graphics2D_wrapper g2;
159
+ r->draw(g2, x, y);
160
+ return g2.getDrawingData();
161
+ }
162
+
163
+ MICROTEX_CAPI void microtex_freeDrawingData(DrawingData data) {
164
+ free(data);
165
+ }
166
+
167
+ MICROTEX_CAPI bool microtex_isLittleEndian() {
168
+ int n = 1;
169
+ return *((char*)&n) == 1;
170
+ }
171
+
172
+ MICROTEX_CAPI int microtex_getRenderWidth(RenderPtr render) {
173
+ auto r = reinterpret_cast<Render*>(render);
174
+ return r->getWidth();
175
+ }
176
+
177
+ MICROTEX_CAPI int microtex_getRenderHeight(RenderPtr render) {
178
+ auto r = reinterpret_cast<Render*>(render);
179
+ return r->getHeight();
180
+ }
181
+
182
+ MICROTEX_CAPI int microtex_getRenderDepth(RenderPtr render) {
183
+ auto r = reinterpret_cast<Render*>(render);
184
+ return r->getDepth();
185
+ }
186
+
187
+ MICROTEX_CAPI bool microtex_isRenderSplit(RenderPtr render) {
188
+ auto r = reinterpret_cast<Render*>(render);
189
+ return r->isSplit();
190
+ }
191
+
192
+ MICROTEX_CAPI void microtex_setRenderTextSize(RenderPtr render, float size) {
193
+ auto r = reinterpret_cast<Render*>(render);
194
+ r->setTextSize(size);
195
+ }
196
+
197
+ MICROTEX_CAPI void microtex_setRenderForeground(RenderPtr render, color c) {
198
+ auto r = reinterpret_cast<Render*>(render);
199
+ r->setForeground(c);
200
+ }
201
+
202
+ #ifdef __cplusplus
203
+ }
204
+ #endif
205
+
206
+ #endif // HAVE_CWRAPPER