explico 0.12.0 → 0.13.1

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 (279) hide show
  1. package/CHANGELOG.md +1137 -1
  2. package/README.md +91 -13
  3. package/dist/compiler/astro.d.ts +4 -3
  4. package/dist/compiler/astro.js +45 -15
  5. package/dist/compiler/cli.d.ts +26 -12
  6. package/dist/compiler/cli.js +96 -25
  7. package/dist/compiler/collections.d.ts +9 -1
  8. package/dist/compiler/collections.js +55 -16
  9. package/dist/compiler/content-schema.d.ts +31 -0
  10. package/dist/compiler/content-schema.js +82 -0
  11. package/dist/compiler/content-schemas.d.ts +422 -0
  12. package/dist/compiler/content-schemas.js +229 -0
  13. package/dist/compiler/course-config.d.ts +1 -1
  14. package/dist/compiler/course-config.js +30 -2
  15. package/dist/compiler/exports/combined-html.d.ts +97 -0
  16. package/dist/compiler/exports/combined-html.js +492 -0
  17. package/dist/compiler/exports/download-index.d.ts +9 -0
  18. package/dist/compiler/exports/download-index.js +33 -0
  19. package/dist/compiler/exports/export-chapters.d.ts +98 -0
  20. package/dist/compiler/exports/export-chapters.js +164 -0
  21. package/dist/compiler/exports/export-pages.d.ts +48 -0
  22. package/dist/compiler/exports/export-pages.js +22 -0
  23. package/dist/compiler/exports/html-tree.d.ts +22 -0
  24. package/dist/compiler/exports/html-tree.js +47 -0
  25. package/dist/compiler/exports/latex/capture.d.ts +106 -0
  26. package/dist/compiler/exports/latex/capture.js +435 -0
  27. package/dist/compiler/exports/latex/compile.d.ts +73 -0
  28. package/dist/compiler/exports/latex/compile.js +115 -0
  29. package/dist/compiler/exports/latex/document.d.ts +102 -0
  30. package/dist/compiler/exports/latex/document.js +349 -0
  31. package/dist/compiler/exports/latex/explico.cls +415 -0
  32. package/dist/compiler/exports/latex/numbering.d.ts +18 -0
  33. package/dist/compiler/exports/latex/numbering.js +57 -0
  34. package/dist/compiler/exports/latex/serialize.d.ts +112 -0
  35. package/dist/compiler/exports/latex/serialize.js +606 -0
  36. package/dist/compiler/exports/latex-export.d.ts +44 -0
  37. package/dist/compiler/exports/latex-export.js +169 -0
  38. package/dist/compiler/exports/markdown/serialize.d.ts +51 -0
  39. package/dist/compiler/exports/markdown/serialize.js +527 -0
  40. package/dist/compiler/exports/markdown-export.d.ts +39 -0
  41. package/dist/compiler/exports/markdown-export.js +240 -0
  42. package/dist/compiler/exports/standalone-html.d.ts +14 -5
  43. package/dist/compiler/exports/standalone-html.js +23 -51
  44. package/dist/compiler/exports/static-tree.d.ts +253 -0
  45. package/dist/compiler/exports/static-tree.js +625 -0
  46. package/dist/compiler/exports/zip.d.ts +16 -0
  47. package/dist/compiler/exports/zip.js +72 -0
  48. package/dist/compiler/lesson-derivation.d.ts +8 -2
  49. package/dist/compiler/lesson-derivation.js +6 -7
  50. package/dist/compiler/manifest.d.ts +87 -6
  51. package/dist/compiler/manifest.js +174 -31
  52. package/dist/compiler/render-diagnostics.d.ts +65 -0
  53. package/dist/compiler/render-diagnostics.js +56 -0
  54. package/dist/compiler/resolution-report.d.ts +2 -1
  55. package/dist/{course-config-Dsnri9Tk.d.ts → course-config-rRtME5UV.d.ts} +56 -13
  56. package/dist/curriculum/validation.d.ts +9 -3
  57. package/dist/curriculum/validation.js +35 -17
  58. package/dist/reference/base-abbreviations.d.mts +2 -2
  59. package/dist/reference/base-abbreviations.mjs +2 -2
  60. package/dist/reference/base-operators.d.mts +2 -2
  61. package/dist/reference/base-operators.mjs +2 -2
  62. package/dist/reference/base-roman-labels.d.mts +4 -3
  63. package/dist/reference/base-roman-labels.mjs +4 -3
  64. package/dist/reference/citation-format.d.mts +35 -0
  65. package/dist/reference/citation-format.mjs +74 -0
  66. package/dist/reference/consistency.d.ts +5 -9
  67. package/dist/reference/consistency.js +34 -38
  68. package/dist/reference/curriculum-alignment.js +3 -24
  69. package/dist/reference/derived-entries.d.ts +45 -0
  70. package/dist/reference/derived-entries.js +50 -0
  71. package/dist/reference/derived-notation.d.mts +125 -0
  72. package/dist/reference/derived-notation.mjs +121 -0
  73. package/dist/reference/diagram-fit.d.ts +45 -0
  74. package/dist/reference/diagram-fit.js +54 -0
  75. package/dist/reference/diagram-layout.d.ts +59 -10
  76. package/dist/reference/diagram-layout.js +85 -24
  77. package/dist/reference/diagrams-validate.d.ts +1 -1
  78. package/dist/reference/equations-validate.d.ts +1 -1
  79. package/dist/reference/equations-validate.js +26 -1
  80. package/dist/reference/equations.d.mts +27 -0
  81. package/dist/reference/equations.mjs +120 -22
  82. package/dist/reference/examples-validate.d.ts +1 -1
  83. package/dist/reference/figure-fit.d.ts +70 -0
  84. package/dist/reference/figure-fit.js +60 -0
  85. package/dist/reference/figure-pictures.d.ts +27 -0
  86. package/dist/reference/figure-pictures.js +49 -0
  87. package/dist/reference/figures-validate.d.ts +1 -1
  88. package/dist/reference/gate-abbreviations.d.ts +1 -1
  89. package/dist/reference/gate-abbreviations.js +1 -1
  90. package/dist/reference/gate-course-rules.d.ts +4 -3
  91. package/dist/reference/gate-course-rules.js +9 -4
  92. package/dist/reference/gate-heading-length.d.ts +2 -0
  93. package/dist/reference/gate-heading-length.js +7 -5
  94. package/dist/reference/gate-heading-structure.js +26 -0
  95. package/dist/reference/gate-indices.d.ts +35 -0
  96. package/dist/reference/gate-indices.js +299 -0
  97. package/dist/reference/gate-math.d.ts +32 -2
  98. package/dist/reference/gate-math.js +68 -12
  99. package/dist/reference/gate-mdx-expression.d.ts +17 -0
  100. package/dist/reference/gate-mdx-expression.js +29 -0
  101. package/dist/reference/gate-part-pages.d.ts +1 -1
  102. package/dist/reference/gate-prop-text.d.ts +28 -0
  103. package/dist/reference/gate-prop-text.js +106 -0
  104. package/dist/reference/gate-prose-notation.d.ts +3 -1
  105. package/dist/reference/gate-prose-notation.js +4 -2
  106. package/dist/reference/gate-retired-keys.d.ts +35 -0
  107. package/dist/reference/gate-retired-keys.js +58 -0
  108. package/dist/reference/gloss.d.ts +2 -0
  109. package/dist/reference/katex-measure.d.ts +17 -0
  110. package/dist/reference/katex-measure.js +223 -0
  111. package/dist/reference/keyed-float-validate.js +12 -0
  112. package/dist/reference/keyed-jsx-floats.d.mts +2 -2
  113. package/dist/reference/keyed-jsx-floats.mjs +11 -14
  114. package/dist/reference/lab-math-scope.d.ts +1 -0
  115. package/dist/reference/lab-math-scope.js +13 -2
  116. package/dist/reference/math-glyphs.d.mts +94 -2
  117. package/dist/reference/math-glyphs.mjs +851 -46
  118. package/dist/reference/mixed-content.d.ts +8 -3
  119. package/dist/reference/mixed-content.js +4 -2
  120. package/dist/reference/page-notation.d.ts +34 -4
  121. package/dist/reference/page-notation.js +54 -2
  122. package/dist/reference/references.d.ts +11 -1
  123. package/dist/reference/references.js +6 -0
  124. package/dist/reference/registry.js +104 -10
  125. package/dist/reference/rehype-fail-katex-errors.d.mts +9 -0
  126. package/dist/reference/rehype-fail-katex-errors.mjs +19 -0
  127. package/dist/reference/rehype-heading-anchors.mjs +11 -1
  128. package/dist/reference/remark-citation.mjs +0 -0
  129. package/dist/reference/remark-notation.mjs +84 -20
  130. package/dist/reference/render-lab-math.d.ts +2 -0
  131. package/dist/reference/render-lab-math.js +17 -5
  132. package/dist/reference/sections-validate.d.ts +28 -3
  133. package/dist/reference/sections-validate.js +31 -4
  134. package/dist/reference/sections.d.mts +24 -6
  135. package/dist/reference/sections.mjs +92 -17
  136. package/dist/reference/tables-validate.d.ts +1 -1
  137. package/dist/reference/tables-validate.js +24 -1
  138. package/dist/reference/text-measure.d.ts +10 -0
  139. package/dist/reference/text-measure.js +41 -0
  140. package/dist/reference/text-widths.d.ts +10 -0
  141. package/dist/reference/text-widths.js +1238 -0
  142. package/dist/reference/types.d.ts +64 -8
  143. package/dist/rules/catalog.js +191 -30
  144. package/dist/rules/in-effect.d.ts +1 -1
  145. package/dist/rules/rules.schema.json +79 -24
  146. package/dist/rules/settings.d.ts +1 -1
  147. package/dist/rules/settings.js +7 -0
  148. package/dist/session/PreferenceStore.d.ts +18 -1
  149. package/dist/session/PreferenceStore.js +29 -1
  150. package/docs/authoring/README.md +32 -21
  151. package/docs/authoring/agents.md +38 -7
  152. package/docs/authoring/components.md +111 -6
  153. package/docs/authoring/migrating.md +707 -0
  154. package/docs/authoring/notation.md +281 -29
  155. package/docs/authoring/retired.md +1 -0
  156. package/docs/authoring/structure-rules.md +10 -41
  157. package/docs/authoring/structure.md +53 -2
  158. package/docs/authoring/visualizations.md +144 -18
  159. package/package.json +12 -7
  160. package/src/compiler/astro.ts +57 -17
  161. package/src/compiler/cli.ts +143 -35
  162. package/src/compiler/collections.ts +92 -19
  163. package/src/compiler/content-schema.ts +108 -0
  164. package/src/compiler/content-schemas.ts +391 -0
  165. package/src/compiler/course-config.ts +86 -15
  166. package/src/compiler/exports/combined-html.ts +669 -0
  167. package/src/compiler/exports/download-index.ts +36 -0
  168. package/src/compiler/exports/export-chapters.ts +233 -0
  169. package/src/compiler/exports/export-pages.ts +44 -0
  170. package/src/compiler/exports/html-tree.ts +62 -0
  171. package/src/compiler/exports/latex/capture.ts +651 -0
  172. package/src/compiler/exports/latex/compile.ts +168 -0
  173. package/src/compiler/exports/latex/document.ts +479 -0
  174. package/src/compiler/exports/latex/explico.cls +415 -0
  175. package/src/compiler/exports/latex/numbering.ts +74 -0
  176. package/src/compiler/exports/latex/serialize.ts +787 -0
  177. package/src/compiler/exports/latex/texlive-packages.txt +76 -0
  178. package/src/compiler/exports/latex-export.ts +255 -0
  179. package/src/compiler/exports/markdown/serialize.ts +632 -0
  180. package/src/compiler/exports/markdown-export.ts +329 -0
  181. package/src/compiler/exports/standalone-html.ts +39 -70
  182. package/src/compiler/exports/static-tree.ts +944 -0
  183. package/src/compiler/exports/zip.ts +88 -0
  184. package/src/compiler/lesson-derivation.ts +13 -8
  185. package/src/compiler/manifest.ts +299 -28
  186. package/src/compiler/render-diagnostics.ts +111 -0
  187. package/src/components/HoverPanel.astro +204 -6
  188. package/src/components/PartOverview.astro +12 -9
  189. package/src/components/abbreviation/AbbreviationLayer.astro +21 -12
  190. package/src/components/assessments/AssessmentRunner.tsx +7 -1
  191. package/src/components/assessments/AssessmentSet.astro +14 -1
  192. package/src/components/block-heading.ts +38 -0
  193. package/src/components/card-arrow.ts +18 -4
  194. package/src/components/card-carry.ts +406 -0
  195. package/src/components/card-drag.ts +1 -30
  196. package/src/components/card-fetch.ts +87 -0
  197. package/src/components/card-manager.ts +1222 -38
  198. package/src/components/card-memory.ts +5 -1
  199. package/src/components/card-placement.ts +211 -13
  200. package/src/components/card-side.ts +281 -31
  201. package/src/components/citation/CitationLayer.astro +45 -40
  202. package/src/components/diagram/Diagram.astro +123 -44
  203. package/src/components/figure/Figure.astro +11 -0
  204. package/src/components/figure/FloatCaption.astro +4 -17
  205. package/src/components/float-toolbar.ts +274 -0
  206. package/src/components/memo/Memo.astro +21 -10
  207. package/src/components/memo/ShortNote.astro +4 -0
  208. package/src/components/notation/NotationGlossary.astro +22 -17
  209. package/src/components/notation/NotationLayer.astro +321 -79
  210. package/src/components/notation/NotationMath.astro +8 -1
  211. package/src/components/notation/render-notation-math.ts +51 -5
  212. package/src/components/readable-text.ts +25 -0
  213. package/src/components/reference/FloatRefLayer.astro +162 -89
  214. package/src/components/starlight/HeadingAnchorEnhancer.astro +13 -8
  215. package/src/components/starlight/KeyedFloatEnhancer.astro +28 -9
  216. package/src/components/starlight/LayoutPageSidebar.astro +17 -3
  217. package/src/components/starlight/LayoutSocialIcons.astro +79 -29
  218. package/src/components/starlight/LessonExportActions.astro +384 -310
  219. package/src/components/starlight/LessonFooter.astro +47 -9
  220. package/src/components/starlight/PrintController.astro +28 -0
  221. package/src/components/starlight/TextSizeControl.astro +137 -0
  222. package/src/components/starlight/print-controller.ts +380 -0
  223. package/src/components/starlight/section-summary.ts +13 -5
  224. package/src/components/table/Table.astro +13 -21
  225. package/src/components/table/table-truncation.ts +15 -0
  226. package/src/content-config.ts +20 -312
  227. package/src/curriculum/validation.ts +72 -24
  228. package/src/reference/base-abbreviations.mjs +2 -2
  229. package/src/reference/base-operators.mjs +2 -2
  230. package/src/reference/base-roman-labels.mjs +4 -3
  231. package/src/reference/citation-format.mjs +74 -0
  232. package/src/reference/consistency.ts +47 -61
  233. package/src/reference/curriculum-alignment.ts +4 -41
  234. package/src/reference/derived-entries.ts +68 -0
  235. package/src/reference/derived-notation.mjs +121 -0
  236. package/src/reference/diagram-fit.ts +104 -0
  237. package/src/reference/diagram-layout.ts +182 -51
  238. package/src/reference/diagrams-validate.ts +2 -1
  239. package/src/reference/equations-validate.ts +41 -2
  240. package/src/reference/equations.mjs +120 -22
  241. package/src/reference/examples-validate.ts +1 -0
  242. package/src/reference/figure-fit.ts +139 -0
  243. package/src/reference/figure-pictures.ts +96 -0
  244. package/src/reference/figures-validate.ts +2 -1
  245. package/src/reference/gate-abbreviations.ts +1 -1
  246. package/src/reference/gate-course-rules.ts +22 -7
  247. package/src/reference/gate-heading-length.ts +25 -7
  248. package/src/reference/gate-heading-structure.ts +40 -1
  249. package/src/reference/gate-indices.ts +470 -0
  250. package/src/reference/gate-math.ts +102 -13
  251. package/src/reference/gate-mdx-expression.ts +45 -0
  252. package/src/reference/gate-prop-text.ts +145 -0
  253. package/src/reference/gate-prose-notation.ts +19 -5
  254. package/src/reference/gate-retired-keys.ts +101 -0
  255. package/src/reference/gloss.ts +2 -0
  256. package/src/reference/katex-measure.ts +384 -0
  257. package/src/reference/keyed-float-validate.ts +22 -0
  258. package/src/reference/keyed-jsx-floats.mjs +11 -14
  259. package/src/reference/lab-math-scope.ts +15 -1
  260. package/src/reference/math-glyphs.mjs +851 -46
  261. package/src/reference/mixed-content.ts +11 -2
  262. package/src/reference/page-notation.ts +100 -3
  263. package/src/reference/references.ts +14 -0
  264. package/src/reference/registry.ts +154 -8
  265. package/src/reference/rehype-fail-katex-errors.mjs +19 -0
  266. package/src/reference/rehype-heading-anchors.mjs +11 -1
  267. package/src/reference/remark-citation.mjs +0 -0
  268. package/src/reference/remark-notation.mjs +84 -20
  269. package/src/reference/render-lab-math.ts +29 -5
  270. package/src/reference/sections-validate.ts +67 -3
  271. package/src/reference/sections.mjs +92 -17
  272. package/src/reference/tables-validate.ts +40 -2
  273. package/src/reference/text-measure.ts +63 -0
  274. package/src/reference/text-widths.ts +133 -0
  275. package/src/reference/types.ts +75 -8
  276. package/src/rules/catalog.ts +205 -29
  277. package/src/rules/settings.ts +10 -0
  278. package/src/session/PreferenceStore.ts +53 -0
  279. package/src/styles/global.css +291 -75
@@ -0,0 +1,1238 @@
1
+ const UNITS_PER_EM = 2048;
2
+ const WIDTH_BLOCKS = [
3
+ // Basic Latin
4
+ [
5
+ 32,
6
+ [
7
+ 651,
8
+ 821,
9
+ 942,
10
+ 1716,
11
+ 1303,
12
+ 1946,
13
+ 1597,
14
+ 563,
15
+ 799,
16
+ 799,
17
+ 1024,
18
+ 1716,
19
+ 651,
20
+ 739,
21
+ 651,
22
+ 690,
23
+ 1303,
24
+ 1303,
25
+ 1303,
26
+ 1303,
27
+ 1303,
28
+ 1303,
29
+ 1303,
30
+ 1303,
31
+ 1303,
32
+ 1303,
33
+ 690,
34
+ 690,
35
+ 1716,
36
+ 1716,
37
+ 1716,
38
+ 1087,
39
+ 2048,
40
+ 1401,
41
+ 1405,
42
+ 1430,
43
+ 1577,
44
+ 1294,
45
+ 1178,
46
+ 1587,
47
+ 1540,
48
+ 604,
49
+ 604,
50
+ 1343,
51
+ 1141,
52
+ 1767,
53
+ 1532,
54
+ 1612,
55
+ 1235,
56
+ 1612,
57
+ 1423,
58
+ 1300,
59
+ 1251,
60
+ 1499,
61
+ 1401,
62
+ 2025,
63
+ 1403,
64
+ 1251,
65
+ 1403,
66
+ 799,
67
+ 690,
68
+ 799,
69
+ 1716,
70
+ 1024,
71
+ 1024,
72
+ 1255,
73
+ 1300,
74
+ 1126,
75
+ 1300,
76
+ 1260,
77
+ 721,
78
+ 1300,
79
+ 1298,
80
+ 569,
81
+ 569,
82
+ 1186,
83
+ 569,
84
+ 1995,
85
+ 1298,
86
+ 1253,
87
+ 1300,
88
+ 1300,
89
+ 842,
90
+ 1067,
91
+ 803,
92
+ 1298,
93
+ 1212,
94
+ 1675,
95
+ 1212,
96
+ 1212,
97
+ 1075,
98
+ 1303,
99
+ 690,
100
+ 1303,
101
+ 1716
102
+ ]
103
+ ],
104
+ // Latin-1 Supplement, Latin Extended-A
105
+ [
106
+ 160,
107
+ [
108
+ 651,
109
+ 821,
110
+ 1303,
111
+ 1303,
112
+ 1303,
113
+ 1303,
114
+ 690,
115
+ 1024,
116
+ 1024,
117
+ 2048,
118
+ 965,
119
+ 1253,
120
+ 1716,
121
+ 739,
122
+ 2048,
123
+ 1024,
124
+ 1024,
125
+ 1716,
126
+ 821,
127
+ 821,
128
+ 1024,
129
+ 1303,
130
+ 1303,
131
+ 651,
132
+ 1024,
133
+ 821,
134
+ 965,
135
+ 1253,
136
+ 1985,
137
+ 1985,
138
+ 1985,
139
+ 1087,
140
+ 1401,
141
+ 1401,
142
+ 1401,
143
+ 1401,
144
+ 1401,
145
+ 1401,
146
+ 1995,
147
+ 1430,
148
+ 1294,
149
+ 1294,
150
+ 1294,
151
+ 1294,
152
+ 604,
153
+ 604,
154
+ 604,
155
+ 604,
156
+ 1587,
157
+ 1532,
158
+ 1612,
159
+ 1612,
160
+ 1612,
161
+ 1612,
162
+ 1612,
163
+ 1716,
164
+ 1612,
165
+ 1499,
166
+ 1499,
167
+ 1499,
168
+ 1499,
169
+ 1251,
170
+ 1239,
171
+ 1290,
172
+ 1255,
173
+ 1255,
174
+ 1255,
175
+ 1255,
176
+ 1255,
177
+ 1255,
178
+ 2011,
179
+ 1126,
180
+ 1260,
181
+ 1260,
182
+ 1260,
183
+ 1260,
184
+ 569,
185
+ 569,
186
+ 569,
187
+ 569,
188
+ 1253,
189
+ 1298,
190
+ 1253,
191
+ 1253,
192
+ 1253,
193
+ 1253,
194
+ 1253,
195
+ 1716,
196
+ 1253,
197
+ 1298,
198
+ 1298,
199
+ 1298,
200
+ 1298,
201
+ 1212,
202
+ 1300,
203
+ 1212,
204
+ 1401,
205
+ 1255,
206
+ 1401,
207
+ 1255,
208
+ 1401,
209
+ 1255,
210
+ 1430,
211
+ 1126,
212
+ 1430,
213
+ 1126,
214
+ 1430,
215
+ 1126,
216
+ 1430,
217
+ 1126,
218
+ 1577,
219
+ 1300,
220
+ 1587,
221
+ 1300,
222
+ 1294,
223
+ 1260,
224
+ 1294,
225
+ 1260,
226
+ 1294,
227
+ 1260,
228
+ 1294,
229
+ 1260,
230
+ 1294,
231
+ 1260,
232
+ 1587,
233
+ 1300,
234
+ 1587,
235
+ 1300,
236
+ 1587,
237
+ 1300,
238
+ 1587,
239
+ 1300,
240
+ 1540,
241
+ 1298,
242
+ 1876,
243
+ 1423,
244
+ 604,
245
+ 569,
246
+ 604,
247
+ 569,
248
+ 604,
249
+ 569,
250
+ 604,
251
+ 569,
252
+ 604,
253
+ 569,
254
+ 1208,
255
+ 1138,
256
+ 604,
257
+ 569,
258
+ 1343,
259
+ 1186,
260
+ 1186,
261
+ 1141,
262
+ 569,
263
+ 1141,
264
+ 569,
265
+ 1141,
266
+ 768,
267
+ 1141,
268
+ 700,
269
+ 1151,
270
+ 582,
271
+ 1532,
272
+ 1298,
273
+ 1532,
274
+ 1298,
275
+ 1532,
276
+ 1298,
277
+ 1666,
278
+ 1532,
279
+ 1298,
280
+ 1612,
281
+ 1253,
282
+ 1612,
283
+ 1253,
284
+ 1612,
285
+ 1253,
286
+ 2191,
287
+ 2095,
288
+ 1423,
289
+ 842,
290
+ 1423,
291
+ 842,
292
+ 1423,
293
+ 842,
294
+ 1300,
295
+ 1067,
296
+ 1300,
297
+ 1067,
298
+ 1300,
299
+ 1067,
300
+ 1300,
301
+ 1067,
302
+ 1251,
303
+ 803,
304
+ 1251,
305
+ 803,
306
+ 1251,
307
+ 803,
308
+ 1499,
309
+ 1298,
310
+ 1499,
311
+ 1298,
312
+ 1499,
313
+ 1298,
314
+ 1499,
315
+ 1298,
316
+ 1499,
317
+ 1298,
318
+ 1499,
319
+ 1298,
320
+ 2025,
321
+ 1675,
322
+ 1251,
323
+ 1212,
324
+ 1251,
325
+ 1403,
326
+ 1075,
327
+ 1403,
328
+ 1075,
329
+ 1403,
330
+ 1075,
331
+ 721
332
+ ]
333
+ ],
334
+ // Greek
335
+ [
336
+ 880,
337
+ [
338
+ 1340,
339
+ 1163,
340
+ 1765,
341
+ 1326,
342
+ 570,
343
+ 570,
344
+ 1532,
345
+ 1331,
346
+ -1,
347
+ -1,
348
+ 1024,
349
+ 1125,
350
+ 1126,
351
+ 1125,
352
+ 690,
353
+ 604,
354
+ -1,
355
+ -1,
356
+ -1,
357
+ -1,
358
+ 1024,
359
+ 1024,
360
+ 1418,
361
+ 651,
362
+ 1528,
363
+ 1784,
364
+ 836,
365
+ -1,
366
+ 1664,
367
+ -1,
368
+ 1689,
369
+ 1691,
370
+ 693,
371
+ 1401,
372
+ 1405,
373
+ 1141,
374
+ 1401,
375
+ 1294,
376
+ 1403,
377
+ 1540,
378
+ 1612,
379
+ 604,
380
+ 1343,
381
+ 1401,
382
+ 1767,
383
+ 1532,
384
+ 1294,
385
+ 1612,
386
+ 1540,
387
+ 1235,
388
+ -1,
389
+ 1294,
390
+ 1251,
391
+ 1251,
392
+ 1612,
393
+ 1403,
394
+ 1612,
395
+ 1565,
396
+ 604,
397
+ 1251,
398
+ 1350,
399
+ 1107,
400
+ 1298,
401
+ 693,
402
+ 1185,
403
+ 1350,
404
+ 1307,
405
+ 1212,
406
+ 1253,
407
+ 1107,
408
+ 1114,
409
+ 1298,
410
+ 1253,
411
+ 693,
412
+ 1207,
413
+ 1212,
414
+ 1303,
415
+ 1144,
416
+ 1142,
417
+ 1253,
418
+ 1233,
419
+ 1300,
420
+ 1202,
421
+ 1298,
422
+ 1233,
423
+ 1185,
424
+ 1351,
425
+ 1183,
426
+ 1351,
427
+ 1715,
428
+ 693,
429
+ 1185,
430
+ 1253,
431
+ 1185,
432
+ 1715,
433
+ 1343,
434
+ 1258,
435
+ 1268,
436
+ 1431,
437
+ 1725,
438
+ 1431,
439
+ 1351,
440
+ 1715,
441
+ 1359,
442
+ 1612,
443
+ 1253,
444
+ 1328,
445
+ 1202,
446
+ 1178,
447
+ 939,
448
+ 1351,
449
+ 1351,
450
+ 1772,
451
+ 1285,
452
+ 1912,
453
+ 1715,
454
+ 1553,
455
+ 1350,
456
+ 1621,
457
+ 1259,
458
+ 1406,
459
+ 1243,
460
+ 1572,
461
+ 1280,
462
+ 1432,
463
+ 1253,
464
+ 1251,
465
+ 1098,
466
+ 1359,
467
+ 1300,
468
+ 1126,
469
+ 569,
470
+ 1612,
471
+ 1260,
472
+ 1260,
473
+ 1239,
474
+ 1300,
475
+ 1430,
476
+ 1767,
477
+ 1333,
478
+ 1300,
479
+ 1440,
480
+ 1430,
481
+ 1440
482
+ ]
483
+ ],
484
+ // General Punctuation
485
+ [
486
+ 8192,
487
+ [
488
+ 1024,
489
+ 2048,
490
+ 1024,
491
+ 2048,
492
+ 675,
493
+ 512,
494
+ 342,
495
+ 1303,
496
+ 651,
497
+ 409,
498
+ 204,
499
+ 0,
500
+ 0,
501
+ 0,
502
+ 0,
503
+ 0,
504
+ 739,
505
+ 739,
506
+ 1303,
507
+ 1024,
508
+ 2048,
509
+ 2048,
510
+ 1024,
511
+ 1024,
512
+ 651,
513
+ 651,
514
+ 651,
515
+ 651,
516
+ 1061,
517
+ 1061,
518
+ 1061,
519
+ 1061,
520
+ 1024,
521
+ 1024,
522
+ 1208,
523
+ 1208,
524
+ 685,
525
+ 1367,
526
+ 2048,
527
+ 651,
528
+ 0,
529
+ 0,
530
+ 0,
531
+ 0,
532
+ 0,
533
+ 0,
534
+ 0,
535
+ 409,
536
+ 2748,
537
+ 3554,
538
+ 465,
539
+ 765,
540
+ 1065,
541
+ 465,
542
+ 765,
543
+ 1065,
544
+ 694,
545
+ 819,
546
+ 819,
547
+ 1716,
548
+ 994,
549
+ 1087,
550
+ 1024,
551
+ 1646,
552
+ 1646,
553
+ 512,
554
+ 2048,
555
+ 1024,
556
+ 342,
557
+ 799,
558
+ 799,
559
+ 1888,
560
+ 1501,
561
+ 1501,
562
+ 1018,
563
+ 1303,
564
+ 1024,
565
+ 1024,
566
+ 1024,
567
+ 690,
568
+ 1646,
569
+ 1024,
570
+ 921,
571
+ 2048,
572
+ 1646,
573
+ 1716,
574
+ 1200,
575
+ 1358,
576
+ 1716,
577
+ 1716,
578
+ 651,
579
+ 1633,
580
+ 1716,
581
+ 651,
582
+ 651,
583
+ 455,
584
+ 0,
585
+ 0,
586
+ 0,
587
+ 0,
588
+ 0,
589
+ -1,
590
+ -1,
591
+ -1,
592
+ -1,
593
+ -1,
594
+ 0,
595
+ 0,
596
+ 0,
597
+ 0,
598
+ 0,
599
+ 0
600
+ ]
601
+ ],
602
+ // superscripts and subscripts
603
+ [
604
+ 8304,
605
+ [
606
+ 821,
607
+ 366,
608
+ -1,
609
+ -1,
610
+ 821,
611
+ 821,
612
+ 821,
613
+ 821,
614
+ 821,
615
+ 821,
616
+ 1081,
617
+ 1081,
618
+ 1081,
619
+ 503,
620
+ 503,
621
+ 816,
622
+ 821,
623
+ 821,
624
+ 821,
625
+ 821,
626
+ 821,
627
+ 821,
628
+ 821,
629
+ 821,
630
+ 821,
631
+ 821,
632
+ 1081,
633
+ 1081,
634
+ 1081,
635
+ 503,
636
+ 503,
637
+ -1,
638
+ 802,
639
+ 854,
640
+ 847,
641
+ 909,
642
+ 854,
643
+ 828,
644
+ 872,
645
+ 340,
646
+ 1276,
647
+ 816,
648
+ 877,
649
+ 764,
650
+ 604,
651
+ -1,
652
+ -1,
653
+ -1
654
+ ]
655
+ ],
656
+ // currency
657
+ [
658
+ 8352,
659
+ [
660
+ 1796,
661
+ 1303,
662
+ 1303,
663
+ 1303,
664
+ 1303,
665
+ 1995,
666
+ 1303,
667
+ 2606,
668
+ 2199,
669
+ 2025,
670
+ 1606,
671
+ 1303,
672
+ 1303,
673
+ 1303,
674
+ 1303,
675
+ 2606,
676
+ 1303,
677
+ 1303,
678
+ 1303,
679
+ 1303,
680
+ 1585,
681
+ 1303,
682
+ -1,
683
+ -1,
684
+ 1303,
685
+ 1303,
686
+ 1303,
687
+ -1,
688
+ -1,
689
+ 1303,
690
+ -1,
691
+ -1,
692
+ -1,
693
+ -1,
694
+ -1,
695
+ -1,
696
+ -1,
697
+ -1,
698
+ -1,
699
+ -1,
700
+ -1,
701
+ -1,
702
+ -1,
703
+ -1,
704
+ -1,
705
+ -1,
706
+ -1,
707
+ -1
708
+ ]
709
+ ],
710
+ // letterlike symbols, number forms
711
+ [
712
+ 8448,
713
+ [
714
+ 2086,
715
+ 2086,
716
+ 1430,
717
+ 2300,
718
+ 1315,
719
+ 2086,
720
+ 2185,
721
+ 1258,
722
+ 1430,
723
+ 1949,
724
+ -1,
725
+ 2024,
726
+ 1545,
727
+ 1740,
728
+ 1298,
729
+ 1298,
730
+ 962,
731
+ 1428,
732
+ 1475,
733
+ 846,
734
+ 1675,
735
+ 1640,
736
+ 2130,
737
+ 2048,
738
+ 1428,
739
+ 1436,
740
+ 1612,
741
+ 1634,
742
+ 1667,
743
+ 1622,
744
+ 1836,
745
+ 1401,
746
+ 2088,
747
+ 2200,
748
+ 2048,
749
+ 1401,
750
+ 1525,
751
+ 1183,
752
+ 1565,
753
+ 1565,
754
+ 1262,
755
+ 693,
756
+ 1343,
757
+ 1401,
758
+ 1610,
759
+ 1440,
760
+ 1750,
761
+ 1212,
762
+ 1240,
763
+ 1610,
764
+ 1178,
765
+ 2190,
766
+ 946,
767
+ 1526,
768
+ 1380,
769
+ 954,
770
+ 1320,
771
+ 778,
772
+ 1896,
773
+ 2445,
774
+ 1438,
775
+ 1490,
776
+ 1340,
777
+ 1738,
778
+ 1660,
779
+ 1587,
780
+ 1141,
781
+ 1141,
782
+ 1251,
783
+ 1677,
784
+ 1450,
785
+ 1260,
786
+ 719,
787
+ 719,
788
+ -1,
789
+ 1597,
790
+ -1,
791
+ -1,
792
+ 1078,
793
+ -1,
794
+ 1985,
795
+ 1985,
796
+ 2806,
797
+ 1985,
798
+ 1985,
799
+ 1985,
800
+ 1985,
801
+ 1985,
802
+ 1985,
803
+ 1985,
804
+ 1985,
805
+ 1985,
806
+ 1985,
807
+ 1985,
808
+ 1985,
809
+ 1163,
810
+ 604,
811
+ 1008,
812
+ 1412,
813
+ 1890,
814
+ 1401,
815
+ 1889,
816
+ 2293,
817
+ 2697,
818
+ 1879,
819
+ 1403,
820
+ 1911,
821
+ 2317,
822
+ 1141,
823
+ 1430,
824
+ 1577,
825
+ 1767,
826
+ 569,
827
+ 937,
828
+ 1305,
829
+ 1662,
830
+ 1212,
831
+ 1661,
832
+ 2029,
833
+ 2397,
834
+ 1677,
835
+ 1212,
836
+ 1684,
837
+ 2052,
838
+ 569,
839
+ 1126,
840
+ 1300,
841
+ 1995,
842
+ 2550,
843
+ 1577,
844
+ 2550,
845
+ 1440,
846
+ 1125,
847
+ 1430,
848
+ -1,
849
+ -1,
850
+ -1,
851
+ 1985,
852
+ -1,
853
+ -1,
854
+ -1,
855
+ -1,
856
+ -1,
857
+ -1
858
+ ]
859
+ ],
860
+ // arrows, mathematical operators
861
+ [
862
+ 8592,
863
+ [
864
+ 1716,
865
+ 1716,
866
+ 1716,
867
+ 1716,
868
+ 1716,
869
+ 1716,
870
+ 1716,
871
+ 1716,
872
+ 1716,
873
+ 1716,
874
+ 1716,
875
+ 1716,
876
+ 1716,
877
+ 1716,
878
+ 1716,
879
+ 1716,
880
+ 1716,
881
+ 1716,
882
+ 1716,
883
+ 1716,
884
+ 1716,
885
+ 1716,
886
+ 1716,
887
+ 1716,
888
+ 1716,
889
+ 1716,
890
+ 1716,
891
+ 1716,
892
+ 1716,
893
+ 1716,
894
+ 1716,
895
+ 1716,
896
+ 1716,
897
+ 1716,
898
+ 1716,
899
+ 1716,
900
+ 1716,
901
+ 1716,
902
+ 1716,
903
+ 1716,
904
+ 1716,
905
+ 1716,
906
+ 1716,
907
+ 1716,
908
+ 1716,
909
+ 1716,
910
+ 1716,
911
+ 1716,
912
+ 1716,
913
+ 1716,
914
+ 1716,
915
+ 1716,
916
+ 1716,
917
+ 1716,
918
+ 1716,
919
+ 1716,
920
+ 1716,
921
+ 1716,
922
+ 1716,
923
+ 1716,
924
+ 1716,
925
+ 1716,
926
+ 1716,
927
+ 1716,
928
+ 1716,
929
+ 1716,
930
+ 1716,
931
+ 1716,
932
+ 1716,
933
+ 1716,
934
+ 1716,
935
+ 1716,
936
+ 1716,
937
+ 1716,
938
+ 1716,
939
+ 1716,
940
+ 1716,
941
+ 1716,
942
+ 1716,
943
+ 1716,
944
+ 1716,
945
+ 1716,
946
+ 1716,
947
+ 1716,
948
+ 1716,
949
+ 1716,
950
+ 1716,
951
+ 1716,
952
+ 1716,
953
+ 1716,
954
+ 1716,
955
+ 1716,
956
+ 1716,
957
+ 1716,
958
+ 1716,
959
+ 1716,
960
+ 1716,
961
+ 1716,
962
+ 1716,
963
+ 1716,
964
+ 1716,
965
+ 1716,
966
+ 1716,
967
+ 1716,
968
+ 1716,
969
+ 1716,
970
+ 1716,
971
+ 1716,
972
+ 1716,
973
+ 1716,
974
+ 1716,
975
+ 1716,
976
+ 1401,
977
+ 1303,
978
+ 1059,
979
+ 1294,
980
+ 1294,
981
+ 1784,
982
+ 1370,
983
+ 1370,
984
+ 1784,
985
+ 1784,
986
+ 1470,
987
+ 1784,
988
+ 1784,
989
+ 1470,
990
+ 1303,
991
+ 1550,
992
+ 1550,
993
+ 1380,
994
+ 1716,
995
+ 1716,
996
+ 1716,
997
+ 690,
998
+ 1304,
999
+ 1716,
1000
+ 1282,
1001
+ 1282,
1002
+ 1305,
1003
+ 1305,
1004
+ 1305,
1005
+ 1463,
1006
+ 1706,
1007
+ 1716,
1008
+ 1836,
1009
+ 1836,
1010
+ 1716,
1011
+ 1024,
1012
+ 1024,
1013
+ 1024,
1014
+ 1024,
1015
+ 1499,
1016
+ 1499,
1017
+ 1499,
1018
+ 1499,
1019
+ 1067,
1020
+ 1616,
1021
+ 2165,
1022
+ 1067,
1023
+ 1616,
1024
+ 2165,
1025
+ 1067,
1026
+ 1067,
1027
+ 1067,
1028
+ 1303,
1029
+ 1303,
1030
+ 533,
1031
+ 1303,
1032
+ 1716,
1033
+ 1716,
1034
+ 1716,
1035
+ 1716,
1036
+ 1716,
1037
+ 1716,
1038
+ 1716,
1039
+ 1716,
1040
+ 768,
1041
+ 1716,
1042
+ 1716,
1043
+ 1716,
1044
+ 1716,
1045
+ 1716,
1046
+ 1716,
1047
+ 1716,
1048
+ 1716,
1049
+ 1716,
1050
+ 1716,
1051
+ 1716,
1052
+ 1716,
1053
+ 1716,
1054
+ 1716,
1055
+ 1716,
1056
+ 1716,
1057
+ 1716,
1058
+ 1718,
1059
+ 1718,
1060
+ 2048,
1061
+ 2048,
1062
+ 1716,
1063
+ 1716,
1064
+ 1716,
1065
+ 1716,
1066
+ 1716,
1067
+ 1716,
1068
+ 1716,
1069
+ 1716,
1070
+ 1716,
1071
+ 1716,
1072
+ 1716,
1073
+ 1716,
1074
+ 1716,
1075
+ 1716,
1076
+ 1716,
1077
+ 1716,
1078
+ 1716,
1079
+ 1716,
1080
+ 1716,
1081
+ 1716,
1082
+ 2144,
1083
+ 2144,
1084
+ 950,
1085
+ 1716,
1086
+ 1716,
1087
+ 1716,
1088
+ 1716,
1089
+ 1716,
1090
+ 1716,
1091
+ 1716,
1092
+ 1716,
1093
+ 1716,
1094
+ 1716,
1095
+ 1716,
1096
+ 1716,
1097
+ 1716,
1098
+ 1716,
1099
+ 1716,
1100
+ 1716,
1101
+ 1716,
1102
+ 1716,
1103
+ 1716,
1104
+ 1716,
1105
+ 1716,
1106
+ 1716,
1107
+ 1716,
1108
+ 1716,
1109
+ 1716,
1110
+ 1716,
1111
+ 1716,
1112
+ 1716,
1113
+ 1716,
1114
+ 1716,
1115
+ 1716,
1116
+ 1499,
1117
+ 1499,
1118
+ 1499,
1119
+ 1716,
1120
+ 1716,
1121
+ 1716,
1122
+ 1716,
1123
+ 1598,
1124
+ 1598,
1125
+ 1716,
1126
+ 1716,
1127
+ 1716,
1128
+ 1716,
1129
+ 1716,
1130
+ 1716,
1131
+ 1716,
1132
+ 1716,
1133
+ 1716,
1134
+ 1716,
1135
+ 1716,
1136
+ 1716,
1137
+ 1716,
1138
+ 1784,
1139
+ 1784,
1140
+ 1784,
1141
+ 1784,
1142
+ 1066,
1143
+ 1066,
1144
+ 1784,
1145
+ 1784,
1146
+ 1784,
1147
+ 1784,
1148
+ 1784,
1149
+ 1784,
1150
+ 1784,
1151
+ 1784,
1152
+ 1716,
1153
+ 1716,
1154
+ 1716,
1155
+ 1716,
1156
+ 1716,
1157
+ 1716,
1158
+ 2048,
1159
+ 2048,
1160
+ 1716,
1161
+ 1716,
1162
+ 1066,
1163
+ 1499,
1164
+ 1499,
1165
+ 1499,
1166
+ 1716,
1167
+ 1716,
1168
+ 1680,
1169
+ 1680,
1170
+ 1680,
1171
+ 1680,
1172
+ 1282,
1173
+ 651,
1174
+ 1282,
1175
+ 1716,
1176
+ 2048,
1177
+ 2048,
1178
+ 2048,
1179
+ 2048,
1180
+ 2048,
1181
+ 1716,
1182
+ 1500,
1183
+ 1500,
1184
+ 1716,
1185
+ 1716,
1186
+ 1716,
1187
+ 1716,
1188
+ 1716,
1189
+ 1716,
1190
+ 1716,
1191
+ 1716,
1192
+ 2913,
1193
+ 2913,
1194
+ 1716,
1195
+ 1716,
1196
+ 1716,
1197
+ 1716,
1198
+ 1716,
1199
+ 1716,
1200
+ 1716,
1201
+ 1716,
1202
+ 1716,
1203
+ 1716,
1204
+ 1716,
1205
+ 1716,
1206
+ 1716,
1207
+ 1716,
1208
+ 1716,
1209
+ 1716,
1210
+ 1716,
1211
+ 1716,
1212
+ 1716,
1213
+ 1716,
1214
+ 2048,
1215
+ 2048,
1216
+ 2048,
1217
+ 2048,
1218
+ 2048,
1219
+ 1784,
1220
+ 1470,
1221
+ 1784,
1222
+ 1784,
1223
+ 1470,
1224
+ 1784,
1225
+ 1784,
1226
+ 2048,
1227
+ 1784,
1228
+ 1470,
1229
+ 1784,
1230
+ 1470,
1231
+ 1784
1232
+ ]
1233
+ ]
1234
+ ];
1235
+ export {
1236
+ UNITS_PER_EM,
1237
+ WIDTH_BLOCKS
1238
+ };