inkcpp_rb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +1 -0
  4. data/Gemfile +10 -0
  5. data/Gemfile.lock +84 -0
  6. data/LICENSE +7 -0
  7. data/README.md +3 -0
  8. data/Rakefile +16 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +10 -0
  11. data/bin/tapioca +29 -0
  12. data/ext/inkcpp_rb/extconf.rb +19 -0
  13. data/ext/inkcpp_rb/inkcpp/.clang-format +99 -0
  14. data/ext/inkcpp_rb/inkcpp/.github/FUNDING.yml +1 -0
  15. data/ext/inkcpp_rb/inkcpp/.github/workflows/build.yml +344 -0
  16. data/ext/inkcpp_rb/inkcpp/.github/workflows/release.yml +49 -0
  17. data/ext/inkcpp_rb/inkcpp/.gitignore +25 -0
  18. data/ext/inkcpp_rb/inkcpp/.gitmodules +9 -0
  19. data/ext/inkcpp_rb/inkcpp/CMakeLists.txt +170 -0
  20. data/ext/inkcpp_rb/inkcpp/CODE_OF_CONDUCT.md +76 -0
  21. data/ext/inkcpp_rb/inkcpp/CONTRIBUTING.md +55 -0
  22. data/ext/inkcpp_rb/inkcpp/Config.cmake.in +2 -0
  23. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/CMakeLists.txt +13 -0
  24. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.c +38 -0
  25. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/main.cpp +40 -0
  26. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink +8 -0
  27. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example/test.ink.json +1 -0
  28. data/ext/inkcpp_rb/inkcpp/Documentation/cmake_example.zip +0 -0
  29. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/InkCPP_DEMO.zip +0 -0
  30. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/CreateThread.png +0 -0
  31. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/HandleChoice.png +0 -0
  32. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ListElementOf.png +0 -0
  33. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalRuntime.png +0 -0
  34. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/MinimalThread.png +0 -0
  35. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/ObseverChange.png +0 -0
  36. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/TagListGetValue.png +0 -0
  37. data/ext/inkcpp_rb/inkcpp/Documentation/unreal/imgs/YieldResume.png +0 -0
  38. data/ext/inkcpp_rb/inkcpp/Doxyfile +2825 -0
  39. data/ext/inkcpp_rb/inkcpp/LICENSE.txt +22 -0
  40. data/ext/inkcpp_rb/inkcpp/Minimal.runsettings +8 -0
  41. data/ext/inkcpp_rb/inkcpp/README.md +192 -0
  42. data/ext/inkcpp_rb/inkcpp/inkcpp/CMakeLists.txt +67 -0
  43. data/ext/inkcpp_rb/inkcpp/inkcpp/array.h +481 -0
  44. data/ext/inkcpp_rb/inkcpp/inkcpp/avl_array.h +833 -0
  45. data/ext/inkcpp_rb/inkcpp/inkcpp/casting.h +93 -0
  46. data/ext/inkcpp_rb/inkcpp/inkcpp/choice.cpp +54 -0
  47. data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.cpp +124 -0
  48. data/ext/inkcpp_rb/inkcpp/inkcpp/collections/restorable.h +406 -0
  49. data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.cpp +52 -0
  50. data/ext/inkcpp_rb/inkcpp/inkcpp/container_operations.h +34 -0
  51. data/ext/inkcpp_rb/inkcpp/inkcpp/executioner.h +179 -0
  52. data/ext/inkcpp_rb/inkcpp/inkcpp/functional.cpp +86 -0
  53. data/ext/inkcpp_rb/inkcpp/inkcpp/functions.cpp +54 -0
  54. data/ext/inkcpp_rb/inkcpp/inkcpp/functions.h +40 -0
  55. data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.cpp +289 -0
  56. data/ext/inkcpp_rb/inkcpp/inkcpp/globals_impl.h +149 -0
  57. data/ext/inkcpp_rb/inkcpp/inkcpp/header.cpp +44 -0
  58. data/ext/inkcpp_rb/inkcpp/inkcpp/include/choice.h +106 -0
  59. data/ext/inkcpp_rb/inkcpp/inkcpp/include/functional.h +327 -0
  60. data/ext/inkcpp_rb/inkcpp/inkcpp/include/globals.h +196 -0
  61. data/ext/inkcpp_rb/inkcpp/inkcpp/include/list.h +187 -0
  62. data/ext/inkcpp_rb/inkcpp/inkcpp/include/runner.h +291 -0
  63. data/ext/inkcpp_rb/inkcpp/inkcpp/include/snapshot.h +61 -0
  64. data/ext/inkcpp_rb/inkcpp/inkcpp/include/story.h +219 -0
  65. data/ext/inkcpp_rb/inkcpp/inkcpp/include/story_ptr.h +233 -0
  66. data/ext/inkcpp_rb/inkcpp/inkcpp/include/traits.h +270 -0
  67. data/ext/inkcpp_rb/inkcpp/inkcpp/include/types.h +169 -0
  68. data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.cpp +79 -0
  69. data/ext/inkcpp_rb/inkcpp/inkcpp/list_impl.h +39 -0
  70. data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.cpp +276 -0
  71. data/ext/inkcpp_rb/inkcpp/inkcpp/list_operations.h +356 -0
  72. data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.cpp +841 -0
  73. data/ext/inkcpp_rb/inkcpp/inkcpp/list_table.h +450 -0
  74. data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.cpp +40 -0
  75. data/ext/inkcpp_rb/inkcpp/inkcpp/numeric_operations.h +529 -0
  76. data/ext/inkcpp_rb/inkcpp/inkcpp/operation_bases.h +164 -0
  77. data/ext/inkcpp_rb/inkcpp/inkcpp/operations.h +100 -0
  78. data/ext/inkcpp_rb/inkcpp/inkcpp/output.cpp +528 -0
  79. data/ext/inkcpp_rb/inkcpp/inkcpp/output.h +153 -0
  80. data/ext/inkcpp_rb/inkcpp/inkcpp/platform.h +22 -0
  81. data/ext/inkcpp_rb/inkcpp/inkcpp/random.h +38 -0
  82. data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.cpp +1396 -0
  83. data/ext/inkcpp_rb/inkcpp/inkcpp/runner_impl.h +336 -0
  84. data/ext/inkcpp_rb/inkcpp/inkcpp/simple_restorable_stack.h +335 -0
  85. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.cpp +182 -0
  86. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_impl.h +91 -0
  87. data/ext/inkcpp_rb/inkcpp/inkcpp/snapshot_interface.h +57 -0
  88. data/ext/inkcpp_rb/inkcpp/inkcpp/stack.cpp +618 -0
  89. data/ext/inkcpp_rb/inkcpp/inkcpp/stack.h +243 -0
  90. data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.cpp +361 -0
  91. data/ext/inkcpp_rb/inkcpp/inkcpp/story_impl.h +92 -0
  92. data/ext/inkcpp_rb/inkcpp/inkcpp/story_ptr.cpp +75 -0
  93. data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.cpp +125 -0
  94. data/ext/inkcpp_rb/inkcpp/inkcpp/string_operations.h +67 -0
  95. data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.cpp +149 -0
  96. data/ext/inkcpp_rb/inkcpp/inkcpp/string_table.h +47 -0
  97. data/ext/inkcpp_rb/inkcpp/inkcpp/string_utils.h +207 -0
  98. data/ext/inkcpp_rb/inkcpp/inkcpp/system.cpp +39 -0
  99. data/ext/inkcpp_rb/inkcpp/inkcpp/tuple.hpp +151 -0
  100. data/ext/inkcpp_rb/inkcpp/inkcpp/value.cpp +279 -0
  101. data/ext/inkcpp_rb/inkcpp/inkcpp/value.h +666 -0
  102. data/ext/inkcpp_rb/inkcpp/inkcpp_c/CMakeLists.txt +62 -0
  103. data/ext/inkcpp_rb/inkcpp/inkcpp_c/include/inkcpp.h +393 -0
  104. data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp.cpp +344 -0
  105. data/ext/inkcpp_rb/inkcpp/inkcpp_c/inkcpp_c.pc.in +10 -0
  106. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/ExternalFunction.c +56 -0
  107. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Globals.c +98 -0
  108. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Lists.c +73 -0
  109. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Observer.c +36 -0
  110. data/ext/inkcpp_rb/inkcpp/inkcpp_c/tests/Snapshot.c +65 -0
  111. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/CMakeLists.txt +49 -0
  112. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/inkcpp_cl.cpp +215 -0
  113. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.cpp +209 -0
  114. data/ext/inkcpp_rb/inkcpp/inkcpp_cl/test.h +8 -0
  115. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/CMakeLists.txt +37 -0
  116. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.cpp +446 -0
  117. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_emitter.h +70 -0
  118. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.cpp +166 -0
  119. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/binary_stream.h +79 -0
  120. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/command.cpp +107 -0
  121. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/compiler.cpp +96 -0
  122. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.cpp +62 -0
  123. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/emitter.h +104 -0
  124. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compilation_results.h +22 -0
  125. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/include/compiler.h +44 -0
  126. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json.hpp +24596 -0
  127. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.cpp +411 -0
  128. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/json_compiler.h +62 -0
  129. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.cpp +47 -0
  130. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/list_data.h +70 -0
  131. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.cpp +107 -0
  132. data/ext/inkcpp_rb/inkcpp/inkcpp_compiler/reporter.h +55 -0
  133. data/ext/inkcpp_rb/inkcpp/inkcpp_py/CMakeLists.txt +19 -0
  134. data/ext/inkcpp_rb/inkcpp/inkcpp_py/example.py +78 -0
  135. data/ext/inkcpp_rb/inkcpp/inkcpp_py/src/module.cpp +317 -0
  136. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/conftest.py +53 -0
  137. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_ExternalFunctions.py +35 -0
  138. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Globals.py +40 -0
  139. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Lists.py +43 -0
  140. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Observer.py +27 -0
  141. data/ext/inkcpp_rb/inkcpp/inkcpp_py/tests/test_Snapshot.py +57 -0
  142. data/ext/inkcpp_rb/inkcpp/inkcpp_py/unreal_example.ink +71 -0
  143. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Array.cpp +115 -0
  144. data/ext/inkcpp_rb/inkcpp/inkcpp_test/CMakeLists.txt +117 -0
  145. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Callstack.cpp +392 -0
  146. data/ext/inkcpp_rb/inkcpp/inkcpp_test/EmptyStringForDivert.cpp +36 -0
  147. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ExternalFunctionsExecuteProperly.cpp +34 -0
  148. data/ext/inkcpp_rb/inkcpp/inkcpp_test/FallbackFunction.cpp +77 -0
  149. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Globals.cpp +73 -0
  150. data/ext/inkcpp_rb/inkcpp/inkcpp_test/InkyJson.cpp +34 -0
  151. data/ext/inkcpp_rb/inkcpp/inkcpp_test/LabelCondition.cpp +60 -0
  152. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Lists.cpp +144 -0
  153. data/ext/inkcpp_rb/inkcpp/inkcpp_test/LookaheadSafe.cpp +46 -0
  154. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Main.cpp +7 -0
  155. data/ext/inkcpp_rb/inkcpp/inkcpp_test/MoveTo.cpp +95 -0
  156. data/ext/inkcpp_rb/inkcpp/inkcpp_test/NewLines.cpp +76 -0
  157. data/ext/inkcpp_rb/inkcpp/inkcpp_test/NoEarlyTags.cpp +33 -0
  158. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Observer.cpp +245 -0
  159. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Pointer.cpp +191 -0
  160. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Restorable.cpp +294 -0
  161. data/ext/inkcpp_rb/inkcpp/inkcpp_test/SpaceAfterBracketChoice.cpp +45 -0
  162. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Stack.cpp +224 -0
  163. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Tags.cpp +131 -0
  164. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ThirdTierChoiceAfterBrackets.cpp +38 -0
  165. data/ext/inkcpp_rb/inkcpp/inkcpp_test/UTF8.cpp +56 -0
  166. data/ext/inkcpp_rb/inkcpp/inkcpp_test/Value.cpp +210 -0
  167. data/ext/inkcpp_rb/inkcpp/inkcpp_test/catch.hpp +17970 -0
  168. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/AHF.ink +7 -0
  169. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ChoiceBracketStory.ink +7 -0
  170. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/EmptyStringForDivert.ink +13 -0
  171. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ExternalFunctionsExecuteProperly.ink +11 -0
  172. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/FallBack.ink +15 -0
  173. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/GlobalStory.ink +9 -0
  174. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LabelConditionStory.ink +5 -0
  175. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LinesStory.ink +42 -0
  176. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListLogicStory.ink +40 -0
  177. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ListStory.ink +8 -0
  178. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/LookaheadSafe.ink +14 -0
  179. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/MoveTo.ink +36 -0
  180. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/NoEarlyTags.ink +19 -0
  181. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ObserverStory.ink +8 -0
  182. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/SimpleStoryFlow.ink +65 -0
  183. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TagsStory.ink +22 -0
  184. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/TheIntercept.ink +1686 -0
  185. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/ThirdTierChoiceAfterBracketsStory.ink +13 -0
  186. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF-8-demo.txt +212 -0
  187. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/UTF8Story.ink +218 -0
  188. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inklecate.json +154 -0
  189. data/ext/inkcpp_rb/inkcpp/inkcpp_test/ink/simple-1.1.1-inky.json +160 -0
  190. data/ext/inkcpp_rb/inkcpp/notes/ArchitectureNotes.md +54 -0
  191. data/ext/inkcpp_rb/inkcpp/notes/ListNotes.md +69 -0
  192. data/ext/inkcpp_rb/inkcpp/notes/OperationNotes.md +35 -0
  193. data/ext/inkcpp_rb/inkcpp/notes/TagsNotes.md +24 -0
  194. data/ext/inkcpp_rb/inkcpp/notes/WhitespaceNotes.md +28 -0
  195. data/ext/inkcpp_rb/inkcpp/proofing/README.md +3 -0
  196. data/ext/inkcpp_rb/inkcpp/proofing/inkcpp_runtime_driver +12 -0
  197. data/ext/inkcpp_rb/inkcpp/pyproject.toml +63 -0
  198. data/ext/inkcpp_rb/inkcpp/setup.py +166 -0
  199. data/ext/inkcpp_rb/inkcpp/shared/CMakeLists.txt +14 -0
  200. data/ext/inkcpp_rb/inkcpp/shared/private/command.h +172 -0
  201. data/ext/inkcpp_rb/inkcpp/shared/private/header.h +46 -0
  202. data/ext/inkcpp_rb/inkcpp/shared/public/config.h +53 -0
  203. data/ext/inkcpp_rb/inkcpp/shared/public/system.h +307 -0
  204. data/ext/inkcpp_rb/inkcpp/shared/public/version.h +14 -0
  205. data/ext/inkcpp_rb/inkcpp/tests/TestAllSequenceTypes.ink +59 -0
  206. data/ext/inkcpp_rb/inkcpp/tests/TestArithmetic.ink +17 -0
  207. data/ext/inkcpp_rb/inkcpp/tests/TestBasicStringLiterals.ink +8 -0
  208. data/ext/inkcpp_rb/inkcpp/tests/TestBasicTunnel.ink +10 -0
  209. data/ext/inkcpp_rb/inkcpp/tests/TestBlanksInInlineSequences.ink +51 -0
  210. data/ext/inkcpp_rb/inkcpp/tests/TestCallStackEvaluation.ink +15 -0
  211. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceCount.ink +15 -0
  212. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceDivertsToDone.ink +6 -0
  213. data/ext/inkcpp_rb/inkcpp/tests/TestChoiceWithBracketsOnly.ink +9 -0
  214. data/ext/inkcpp_rb/inkcpp/tests/TestCompareDivertTargets.ink +26 -0
  215. data/ext/inkcpp_rb/inkcpp/tests/TestComplexTunnels.ink +22 -0
  216. data/ext/inkcpp_rb/inkcpp/tests/TestConditionalChoiceInWeave.ink +19 -0
  217. data/ext/inkcpp_rb/inkcpp/tests/TestTunnelOnwardsAfterTunnel.ink +17 -0
  218. data/ext/inkcpp_rb/inkcpp/unreal/CMakeLists.txt +51 -0
  219. data/ext/inkcpp_rb/inkcpp/unreal/UE_example.ink +92 -0
  220. data/ext/inkcpp_rb/inkcpp/unreal/blueprint_filter.js +377 -0
  221. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Resources/Icon128.png +0 -0
  222. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkAsset.cpp +47 -0
  223. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkChoice.cpp +40 -0
  224. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkList.cpp +86 -0
  225. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkRuntime.cpp +265 -0
  226. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkThread.cpp +239 -0
  227. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/InkVar.cpp +143 -0
  228. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/TagList.cpp +95 -0
  229. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Private/inkcpp.cpp +13 -0
  230. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkAsset.h +50 -0
  231. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkChoice.h +58 -0
  232. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkDelegates.h +139 -0
  233. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkList.h +102 -0
  234. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkRuntime.h +177 -0
  235. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkSnapshot.h +30 -0
  236. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkThread.h +215 -0
  237. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/InkVar.h +245 -0
  238. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/TagList.h +77 -0
  239. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/Public/inkcpp.h +217 -0
  240. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp/inkcpp.Build.cs +62 -0
  241. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.cpp +237 -0
  242. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/InkAssetFactory.h +43 -0
  243. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inkcpp_editor.cpp +13 -0
  244. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Private/inklecate_cmd.cpp.in +24 -0
  245. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/Public/inkcpp_editor.h +9 -0
  246. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/Source/inkcpp_editor/inkcpp_editor.Build.cs +61 -0
  247. data/ext/inkcpp_rb/inkcpp/unreal/inkcpp/inkcpp.uplugin +44 -0
  248. data/ext/inkcpp_rb/inkcpp/unreal/render.css +1 -0
  249. data/ext/inkcpp_rb/inkcpp_rb.cpp +321 -0
  250. data/inkcpp_rb.gemspec +54 -0
  251. data/rbi/inkcpp_rb.rbi +211 -0
  252. data/sorbet/config +4 -0
  253. data/sorbet/rbi/annotations/.gitattributes +1 -0
  254. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  255. data/sorbet/rbi/gems/.gitattributes +1 -0
  256. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +618 -0
  257. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  258. data/sorbet/rbi/gems/minitest@5.25.4.rbi +1547 -0
  259. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  260. data/sorbet/rbi/gems/parallel@1.26.3.rbi +291 -0
  261. data/sorbet/rbi/gems/prism@1.3.0.rbi +40040 -0
  262. data/sorbet/rbi/gems/rake-compiler@1.2.8.rbi +9 -0
  263. data/sorbet/rbi/gems/rake@13.2.1.rbi +3033 -0
  264. data/sorbet/rbi/gems/rbi@0.2.2.rbi +4527 -0
  265. data/sorbet/rbi/gems/rice@4.3.3.rbi +44 -0
  266. data/sorbet/rbi/gems/spoom@1.5.0.rbi +4932 -0
  267. data/sorbet/rbi/gems/tapioca@0.16.7.rbi +3611 -0
  268. data/sorbet/rbi/gems/thor@1.3.2.rbi +4378 -0
  269. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  270. data/sorbet/rbi/gems/yard@0.9.37.rbi +18379 -0
  271. data/sorbet/tapioca/config.yml +13 -0
  272. data/sorbet/tapioca/require.rb +4 -0
  273. metadata +400 -0
@@ -0,0 +1,13 @@
1
+ -> content
2
+ == content
3
+
4
+ * Some choice
5
+ blah blah
6
+ blah blah blah
7
+ * * [This is the killer!] Text can be here though, just not on the left.
8
+ Blah blah
9
+ Something something
10
+ * * * Encountering this choice causes an error.
11
+ - Weave...
12
+
13
+ -> DONE
@@ -0,0 +1,212 @@
1
+ Here's a cat: 🐈
2
+
3
+ UTF-8 encoded sample plain-text file
4
+ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
5
+
6
+ Markus Kuhn ˈmaʳkʊs kuːn — 2002-07-25 CC BY
7
+
8
+
9
+ The ASCII compatible UTF-8 encoding used in this plain-text file
10
+ is defined in Unicode, ISO 10646-1, and RFC 2279.
11
+
12
+
13
+ Using Unicode/UTF-8, you can write in emails and source code things such as
14
+
15
+ Mathematics and sciences:
16
+
17
+ ∮ E⋅da = Q,n → ∞, ∑ f(i) = ∏ g(i),⎧⎡⎛┌─────┐⎞⎤⎫
18
+ ⎪⎢⎜│a²+b³ ⎟⎥⎪
19
+ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),⎪⎢⎜│───── ⎟⎥⎪
20
+ ⎪⎢⎜⎷ c₈ ⎟⎥⎪
21
+ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
22
+ ⎪⎢⎜ ∞ ⎟⎥⎪
23
+ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫),⎪⎢⎜ ⎲ ⎟⎥⎪
24
+ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
25
+ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1⎠⎦⎭
26
+
27
+ Linguistics and dictionaries:
28
+
29
+ ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
30
+ Y ˈʏpsilɔn, Yen jɛn, Yoga ˈjoːgɑ
31
+
32
+ APL:
33
+
34
+ ((V⍳V)=⍳⍴V)/V←,V⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
35
+
36
+ Nicer typography in plain text files:
37
+
38
+ ╔══════════════════════════════════════════╗
39
+ ║║
40
+ ║ • ‘single’ and “double” quotes ║
41
+ ║║
42
+ ║ • Curly apostrophes: “We’ve been here” ║
43
+ ║║
44
+ ║ • Latin-1 apostrophe and accents: '´`║
45
+ ║║
46
+ ║ • ‚deutsche‘ „Anführungszeichen“ ║
47
+ ║║
48
+ ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, …║
49
+ ║║
50
+ ║ • ASCII safety test: 1lI, 0OD, 8B ║
51
+ ║╭─────────╮ ║
52
+ ║ • the euro symbol: │ 14.95 € │ ║
53
+ ║╰─────────╯ ║
54
+ ╚══════════════════════════════════════════╝
55
+
56
+ Combining characters:
57
+
58
+ STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
59
+
60
+ Greek (in Polytonic):
61
+
62
+ The Greek anthem:
63
+
64
+ Σὲ γνωρίζω ἀπὸ τὴν κόψη
65
+ τοῦ σπαθιοῦ τὴν τρομερή,
66
+ σὲ γνωρίζω ἀπὸ τὴν ὄψη
67
+ ποὺ μὲ βία μετράει τὴ γῆ.
68
+
69
+ ᾿Απ᾿ τὰ κόκκαλα βγαλμένη
70
+ τῶν ῾Ελλήνων τὰ ἱερά
71
+ καὶ σὰν πρῶτα ἀνδρειωμένη
72
+ χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
73
+
74
+ From a speech of Demosthenes in the 4th century BC:
75
+
76
+ Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
77
+ ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
78
+ λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
79
+ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
80
+ εἰς τοῦτο προήκοντα,ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
81
+ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
82
+ οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
83
+ οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
84
+ ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
85
+ τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
86
+ γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
87
+ προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
88
+ σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
89
+ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
90
+ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
91
+ τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
92
+
93
+ Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
94
+
95
+ Georgian:
96
+
97
+ From a Unicode conference invitation:
98
+
99
+ გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
100
+ კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
101
+ ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
102
+ ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
103
+ ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
104
+ ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
105
+ ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
106
+
107
+ Russian:
108
+
109
+ From a Unicode conference invitation:
110
+
111
+ Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
112
+ Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
113
+ Конференция соберет широкий круг экспертов повопросам глобального
114
+ Интернета и Unicode, локализации и интернационализации, воплощению и
115
+ применению Unicode в различных операционных системах и программных
116
+ приложениях, шрифтах, верстке и многоязычных компьютерных системах.
117
+
118
+ Thai (UCS Level 2):
119
+
120
+ Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
121
+ classic 'San Gua'):
122
+
123
+ ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวชพระปกเกศกองบู๊กู้ขึ้นใหม่
124
+ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
125
+ ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
126
+ โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
127
+ เหมือนขับไสไล่เสือจากเคหารับหมาป่าเข้ามาเลยอาสัญ
128
+ ฝ่ายอ้องอุ้นยุแยกให้แตกกันใช้สาวนั้นเป็นชนวนชื่นชวนใจ
129
+ พลันลิฉุยกุยกีกลับก่อเหตุช่างอาเพศจริงหนาฟ้าร้องไห้
130
+ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
131
+
132
+ (The above is a two-column text. If combining characters are handled
133
+ correctly, the lines of the second column should be aligned with the
134
+ character above.)
135
+
136
+ Ethiopian:
137
+
138
+ Proverbs in the Amharic language:
139
+
140
+ ሰማይ አይታረስ ንጉሥ አይከሰስ።
141
+ ብላ ካለኝ እንደአባቴ በቆመጠኝ።
142
+ ጌጥ ያለቤቱ ቁምጥና ነው።
143
+ ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
144
+ የአፍ ወለምታ በቅቤ አይታሽም።
145
+ አይጥ በበላ ዳዋ ተመታ።
146
+ ሲተረጉሙ ይደረግሙ።
147
+ ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
148
+ ድር ቢያብር አንበሳ ያስር።
149
+ ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
150
+ እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
151
+ የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
152
+ ሥራ ከመፍታት ልጄን ላፋታት።
153
+ ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
154
+ የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
155
+ ተንጋሎ ቢተፉ ተመልሶ ባፉ።
156
+ ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
157
+ እግርህን በፍራሽህ ልክ ዘርጋ።
158
+
159
+ Runes:
160
+
161
+ ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
162
+
163
+ (Old English, which transcribed into Latin reads 'He cwaeth that he
164
+ bude thaem lande northweardum with tha Westsae.' and means 'He said
165
+ that he lived in the northern land near the Western Sea.')
166
+
167
+ Braille:
168
+
169
+ ⡌⠁⠧⠑ ⠼⠁⠒⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
170
+
171
+ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
172
+ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
173
+ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
174
+ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
175
+ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
176
+ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
177
+
178
+ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
179
+
180
+ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
181
+ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
182
+ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
183
+ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
184
+ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
185
+ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
186
+ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
187
+ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
188
+ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
189
+
190
+ (The first couple of paragraphs of "A Christmas Carol" by Dickens)
191
+
192
+ Compact font selection example text:
193
+
194
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
195
+ abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
196
+ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
197
+ ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა
198
+
199
+ Greetings in various languages:
200
+
201
+ Hello world, Καλημέρα κόσμε, コンニチハ
202
+
203
+ Box drawing alignment tests:█
204
+
205
+ ╔══╦══╗┌──┬──┐╭──┬──╮╭──┬──╮┏━━┳━━┓┎┒┏┑ ╷╻ ┏┯┓ ┌┰┐▊ ╱╲╱╲╳╳╳
206
+ ║┌─╨─┐║│╔═╧═╗││╒═╪═╕││╓─╁─╖│┃┌─╂─┐┃┗╃╄┙╶┼╴╺╋╸┠┼┨ ┝╋┥▋ ╲╱╲╱╳╳╳
207
+ ║│╲ ╱│║│║ ║│││ │ │││║ ┃ ║│┃│ ╿ │┃┍╅╆┓ ╵╹ ┗┷┛ └┸┘▌ ╱╲╱╲╳╳╳
208
+ ╠╡ ╳ ╞╣├╢ ╟┤├┼─┼─┼┤├╫─╂─╫┤┣┿╾┼╼┿┫┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
209
+ ║│╱ ╲│║│║ ║│││ │ │││║ ┃ ║│┃│ ╽ │┃░░▒▒▓▓██ ┊┆ ╎ ╏┇ ┋ ▎
210
+ ║└─╥─┘║│╚═╤═╝││╘═╪═╛││╙─╀─╜│┃└─╂─┘┃░░▒▒▓▓██ ┊┆ ╎ ╏┇ ┋ ▏
211
+ ╚══╩══╝└──┴──┘╰──┴──╯╰──┴──╯┗━━┻━━┛▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋▁▂▃▄▅▆▇█
212
+ ▀▘▙▄▟
@@ -0,0 +1,218 @@
1
+ // Test UTF8 from:
2
+ // https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
3
+ // Double-spaces and some special characters removed for ink-friendliness. Emoji test also added.
4
+
5
+ Here's a cat: 🐈
6
+
7
+ UTF-8 encoded sample plain-text file
8
+ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
9
+
10
+ Markus Kuhn ˈmaʳkʊs kuːn — 2002-07-25 CC BY
11
+
12
+
13
+ The ASCII compatible UTF-8 encoding used in this plain-text file
14
+ is defined in Unicode, ISO 10646-1, and RFC 2279.
15
+
16
+
17
+ Using Unicode/UTF-8, you can write in emails and source code things such as
18
+
19
+ Mathematics and sciences:
20
+
21
+ ∮ E⋅da = Q,n → ∞, ∑ f(i) = ∏ g(i),⎧⎡⎛┌─────┐⎞⎤⎫
22
+ ⎪⎢⎜│a²+b³ ⎟⎥⎪
23
+ ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β),⎪⎢⎜│───── ⎟⎥⎪
24
+ ⎪⎢⎜⎷ c₈ ⎟⎥⎪
25
+ ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬
26
+ ⎪⎢⎜ ∞ ⎟⎥⎪
27
+ ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫),⎪⎢⎜ ⎲ ⎟⎥⎪
28
+ ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪
29
+ 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1⎠⎦⎭
30
+
31
+ Linguistics and dictionaries:
32
+
33
+ ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn
34
+ Y ˈʏpsilɔn, Yen jɛn, Yoga ˈjoːgɑ
35
+
36
+ APL:
37
+
38
+ ((V⍳V)=⍳⍴V)/V←,V⌷←⍳→⍴∆∇⊃‾⍎⍕⌈
39
+
40
+ Nicer typography in plain text files:
41
+
42
+ ╔══════════════════════════════════════════╗
43
+ ║║
44
+ ║ • ‘single’ and “double” quotes ║
45
+ ║║
46
+ ║ • Curly apostrophes: “We’ve been here” ║
47
+ ║║
48
+ ║ • Latin-1 apostrophe and accents: '´`║
49
+ ║║
50
+ ║ • ‚deutsche‘ „Anführungszeichen“ ║
51
+ ║║
52
+ ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, …║
53
+ ║║
54
+ ║ • ASCII safety test: 1lI, 0OD, 8B ║
55
+ ║╭─────────╮ ║
56
+ ║ • the euro symbol: │ 14.95 € │ ║
57
+ ║╰─────────╯ ║
58
+ ╚══════════════════════════════════════════╝
59
+
60
+ Combining characters:
61
+
62
+ STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
63
+
64
+ Greek (in Polytonic):
65
+
66
+ The Greek anthem:
67
+
68
+ Σὲ γνωρίζω ἀπὸ τὴν κόψη
69
+ τοῦ σπαθιοῦ τὴν τρομερή,
70
+ σὲ γνωρίζω ἀπὸ τὴν ὄψη
71
+ ποὺ μὲ βία μετράει τὴ γῆ.
72
+
73
+ ᾿Απ᾿ τὰ κόκκαλα βγαλμένη
74
+ τῶν ῾Ελλήνων τὰ ἱερά
75
+ καὶ σὰν πρῶτα ἀνδρειωμένη
76
+ χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά!
77
+
78
+ From a speech of Demosthenes in the 4th century BC:
79
+
80
+ Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι,
81
+ ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς
82
+ λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ
83
+ τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿
84
+ εἰς τοῦτο προήκοντα,ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ
85
+ πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν
86
+ οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι,
87
+ οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν
88
+ ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον
89
+ τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι
90
+ γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν
91
+ προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους
92
+ σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ
93
+ τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ
94
+ τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς
95
+ τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον.
96
+
97
+ Δημοσθένους, Γ´ ᾿Ολυνθιακὸς
98
+
99
+ Georgian:
100
+
101
+ From a Unicode conference invitation:
102
+
103
+ გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო
104
+ კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს,
105
+ ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს
106
+ ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი,
107
+ ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება
108
+ ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში,
109
+ ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში.
110
+
111
+ Russian:
112
+
113
+ From a Unicode conference invitation:
114
+
115
+ Зарегистрируйтесь сейчас на Десятую Международную Конференцию по
116
+ Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии.
117
+ Конференция соберет широкий круг экспертов повопросам глобального
118
+ Интернета и Unicode, локализации и интернационализации, воплощению и
119
+ применению Unicode в различных операционных системах и программных
120
+ приложениях, шрифтах, верстке и многоязычных компьютерных системах.
121
+
122
+ Thai (UCS Level 2):
123
+
124
+ Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese
125
+ classic 'San Gua'):
126
+
127
+ ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวชพระปกเกศกองบู๊กู้ขึ้นใหม่
128
+ สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา
129
+ ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา
130
+ โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ
131
+ เหมือนขับไสไล่เสือจากเคหารับหมาป่าเข้ามาเลยอาสัญ
132
+ ฝ่ายอ้องอุ้นยุแยกให้แตกกันใช้สาวนั้นเป็นชนวนชื่นชวนใจ
133
+ พลันลิฉุยกุยกีกลับก่อเหตุช่างอาเพศจริงหนาฟ้าร้องไห้
134
+ ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ
135
+
136
+ (The above is a two-column text. If combining characters are handled
137
+ correctly, the lines of the second column should be aligned with the
138
+ character above.)
139
+
140
+ Ethiopian:
141
+
142
+ Proverbs in the Amharic language:
143
+
144
+ ሰማይ አይታረስ ንጉሥ አይከሰስ።
145
+ ብላ ካለኝ እንደአባቴ በቆመጠኝ።
146
+ ጌጥ ያለቤቱ ቁምጥና ነው።
147
+ ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው።
148
+ የአፍ ወለምታ በቅቤ አይታሽም።
149
+ አይጥ በበላ ዳዋ ተመታ።
150
+ ሲተረጉሙ ይደረግሙ።
151
+ ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል።
152
+ ድር ቢያብር አንበሳ ያስር።
153
+ ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም።
154
+ እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም።
155
+ የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ።
156
+ ሥራ ከመፍታት ልጄን ላፋታት።
157
+ ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል።
158
+ የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ።
159
+ ተንጋሎ ቢተፉ ተመልሶ ባፉ።
160
+ ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው።
161
+ እግርህን በፍራሽህ ልክ ዘርጋ።
162
+
163
+ Runes:
164
+
165
+ ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ
166
+
167
+ (Old English, which transcribed into Latin reads 'He cwaeth that he
168
+ bude thaem lande northweardum with tha Westsae.' and means 'He said
169
+ that he lived in the northern land near the Western Sea.')
170
+
171
+ Braille:
172
+
173
+ ⡌⠁⠧⠑ ⠼⠁⠒⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌
174
+
175
+ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞
176
+ ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎
177
+ ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂
178
+ ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙
179
+ ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑
180
+ ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲
181
+
182
+ ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
183
+
184
+ ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹
185
+ ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞
186
+ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕
187
+ ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹
188
+ ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎
189
+ ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎
190
+ ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳
191
+ ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞
192
+ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲
193
+
194
+ (The first couple of paragraphs of "A Christmas Carol" by Dickens)
195
+
196
+ Compact font selection example text:
197
+
198
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789
199
+ abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ
200
+ –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд
201
+ ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა
202
+
203
+ Greetings in various languages:
204
+
205
+ Hello world, Καλημέρα κόσμε, コンニチハ
206
+
207
+ Box drawing alignment tests:█
208
+
209
+ ╔══╦══╗┌──┬──┐╭──┬──╮╭──┬──╮┏━━┳━━┓┎┒┏┑ ╷╻ ┏┯┓ ┌┰┐▊ ╱╲╱╲╳╳╳
210
+ ║┌─╨─┐║│╔═╧═╗││╒═╪═╕││╓─╁─╖│┃┌─╂─┐┃┗╃╄┙╶┼╴╺╋╸┠┼┨ ┝╋┥▋ ╲╱╲╱╳╳╳
211
+ ║│╲ ╱│║│║ ║│││ │ │││║ ┃ ║│┃│ ╿ │┃┍╅╆┓ ╵╹ ┗┷┛ └┸┘▌ ╱╲╱╲╳╳╳
212
+ ╠╡ ╳ ╞╣├╢ ╟┤├┼─┼─┼┤├╫─╂─╫┤┣┿╾┼╼┿┫┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳
213
+ ║│╱ ╲│║│║ ║│││ │ │││║ ┃ ║│┃│ ╽ │┃░░▒▒▓▓██ ┊┆ ╎ ╏┇ ┋ ▎
214
+ ║└─╥─┘║│╚═╤═╝││╘═╪═╛││╙─╀─╜│┃└─╂─┘┃░░▒▒▓▓██ ┊┆ ╎ ╏┇ ┋ ▏
215
+ ╚══╩══╝└──┴──┘╰──┴──╯╰──┴──╯┗━━┻━━┛▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋▁▂▃▄▅▆▇█
216
+ ▀▘▙▄▟
217
+
218
+ -> DONE
@@ -0,0 +1,154 @@
1
+ {
2
+ "inkVersion": 21,
3
+ "root": [
4
+ [
5
+ {
6
+ "->": "start"
7
+ },
8
+ [
9
+ "done",
10
+ {
11
+ "#n": "g-0"
12
+ }
13
+ ],
14
+ null
15
+ ],
16
+ "done",
17
+ {
18
+ "start": [
19
+ [
20
+ "^Once upon a time...",
21
+ "\n",
22
+ [
23
+ "ev",
24
+ {
25
+ "^->": "start.0.2.$r1"
26
+ },
27
+ {
28
+ "temp=": "$r"
29
+ },
30
+ "str",
31
+ {
32
+ "->": ".^.s"
33
+ },
34
+ [
35
+ {
36
+ "#n": "$r1"
37
+ }
38
+ ],
39
+ "/str",
40
+ "/ev",
41
+ {
42
+ "*": ".^.^.c-0",
43
+ "flg": 18
44
+ },
45
+ {
46
+ "s": [
47
+ "^There were two choices.",
48
+ {
49
+ "->": "$r",
50
+ "var": true
51
+ },
52
+ null
53
+ ]
54
+ }
55
+ ],
56
+ [
57
+ "ev",
58
+ {
59
+ "^->": "start.0.3.$r1"
60
+ },
61
+ {
62
+ "temp=": "$r"
63
+ },
64
+ "str",
65
+ {
66
+ "->": ".^.s"
67
+ },
68
+ [
69
+ {
70
+ "#n": "$r1"
71
+ }
72
+ ],
73
+ "/str",
74
+ "/ev",
75
+ {
76
+ "*": ".^.^.c-1",
77
+ "flg": 18
78
+ },
79
+ {
80
+ "s": [
81
+ "^There were four lines of content.",
82
+ {
83
+ "->": "$r",
84
+ "var": true
85
+ },
86
+ null
87
+ ]
88
+ }
89
+ ],
90
+ {
91
+ "c-0": [
92
+ "ev",
93
+ {
94
+ "^->": "start.0.c-0.$r2"
95
+ },
96
+ "/ev",
97
+ {
98
+ "temp=": "$r"
99
+ },
100
+ {
101
+ "->": ".^.^.2.s"
102
+ },
103
+ [
104
+ {
105
+ "#n": "$r2"
106
+ }
107
+ ],
108
+ "\n",
109
+ {
110
+ "->": ".^.^.g-0"
111
+ },
112
+ {
113
+ "#f": 5
114
+ }
115
+ ],
116
+ "c-1": [
117
+ "ev",
118
+ {
119
+ "^->": "start.0.c-1.$r2"
120
+ },
121
+ "/ev",
122
+ {
123
+ "temp=": "$r"
124
+ },
125
+ {
126
+ "->": ".^.^.3.s"
127
+ },
128
+ [
129
+ {
130
+ "#n": "$r2"
131
+ }
132
+ ],
133
+ "\n",
134
+ {
135
+ "->": ".^.^.g-0"
136
+ },
137
+ {
138
+ "#f": 5
139
+ }
140
+ ],
141
+ "g-0": [
142
+ "^They lived happily ever after.",
143
+ "\n",
144
+ "end",
145
+ null
146
+ ]
147
+ }
148
+ ],
149
+ null
150
+ ]
151
+ }
152
+ ],
153
+ "listDefs": {}
154
+ }