@heroiclands/fonts 0.1.3 → 0.1.5

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 (360) hide show
  1. package/README.md +26 -6
  2. package/charts/index.md +2 -0
  3. package/charts/teng-chou/chart-1.png +0 -0
  4. package/charts/teng-chou/chart-1.svg +702 -0
  5. package/charts/teng-chou/chart-2.png +0 -0
  6. package/charts/teng-chou/chart-2.svg +514 -0
  7. package/charts/teng-chou/chart-3.png +0 -0
  8. package/charts/teng-chou/chart-3.svg +502 -0
  9. package/charts/teng-chou/glyphs/U+F1000.svg +4 -0
  10. package/charts/teng-chou/glyphs/U+F1001.svg +4 -0
  11. package/charts/teng-chou/glyphs/U+F1002.svg +4 -0
  12. package/charts/teng-chou/glyphs/U+F1003.svg +4 -0
  13. package/charts/teng-chou/glyphs/U+F1004.svg +4 -0
  14. package/charts/teng-chou/glyphs/U+F1005.svg +4 -0
  15. package/charts/teng-chou/glyphs/U+F1006.svg +4 -0
  16. package/charts/teng-chou/glyphs/U+F1007.svg +4 -0
  17. package/charts/teng-chou/glyphs/U+F1008.svg +4 -0
  18. package/charts/teng-chou/glyphs/U+F1009.svg +4 -0
  19. package/charts/teng-chou/glyphs/U+F100A.svg +4 -0
  20. package/charts/teng-chou/glyphs/U+F100B.svg +4 -0
  21. package/charts/teng-chou/glyphs/U+F100C.svg +4 -0
  22. package/charts/teng-chou/glyphs/U+F100D.svg +4 -0
  23. package/charts/teng-chou/glyphs/U+F100E.svg +4 -0
  24. package/charts/teng-chou/glyphs/U+F100F.svg +4 -0
  25. package/charts/teng-chou/glyphs/U+F1010.svg +4 -0
  26. package/charts/teng-chou/glyphs/U+F1011.svg +4 -0
  27. package/charts/teng-chou/glyphs/U+F1012.svg +4 -0
  28. package/charts/teng-chou/glyphs/U+F1013.svg +4 -0
  29. package/charts/teng-chou/glyphs/U+F1014.svg +4 -0
  30. package/charts/teng-chou/glyphs/U+F1015.svg +4 -0
  31. package/charts/teng-chou/glyphs/U+F1016.svg +4 -0
  32. package/charts/teng-chou/glyphs/U+F1017.svg +4 -0
  33. package/charts/teng-chou/glyphs/U+F1018.svg +4 -0
  34. package/charts/teng-chou/glyphs/U+F1019.svg +4 -0
  35. package/charts/teng-chou/glyphs/U+F101A.svg +4 -0
  36. package/charts/teng-chou/glyphs/U+F101B.svg +4 -0
  37. package/charts/teng-chou/glyphs/U+F101C.svg +4 -0
  38. package/charts/teng-chou/glyphs/U+F101D.svg +4 -0
  39. package/charts/teng-chou/glyphs/U+F101E.svg +4 -0
  40. package/charts/teng-chou/glyphs/U+F101F.svg +4 -0
  41. package/charts/teng-chou/glyphs/U+F1020.svg +4 -0
  42. package/charts/teng-chou/glyphs/U+F1021.svg +4 -0
  43. package/charts/teng-chou/glyphs/U+F1022.svg +4 -0
  44. package/charts/teng-chou/glyphs/U+F1023.svg +4 -0
  45. package/charts/teng-chou/glyphs/U+F1024.svg +4 -0
  46. package/charts/teng-chou/glyphs/U+F1025.svg +4 -0
  47. package/charts/teng-chou/glyphs/U+F1026.svg +4 -0
  48. package/charts/teng-chou/glyphs/U+F1027.svg +4 -0
  49. package/charts/teng-chou/glyphs/U+F1028.svg +4 -0
  50. package/charts/teng-chou/glyphs/U+F1029.svg +4 -0
  51. package/charts/teng-chou/glyphs/U+F102A.svg +4 -0
  52. package/charts/teng-chou/glyphs/U+F102B.svg +4 -0
  53. package/charts/teng-chou/glyphs/U+F102C.svg +4 -0
  54. package/charts/teng-chou/glyphs/U+F102D.svg +4 -0
  55. package/charts/teng-chou/glyphs/U+F102E.svg +4 -0
  56. package/charts/teng-chou/glyphs/U+F102F.svg +4 -0
  57. package/charts/teng-chou/glyphs/U+F1030.svg +4 -0
  58. package/charts/teng-chou/glyphs/U+F1031.svg +4 -0
  59. package/charts/teng-chou/glyphs/U+F1032.svg +4 -0
  60. package/charts/teng-chou/glyphs/U+F1033.svg +4 -0
  61. package/charts/teng-chou/glyphs/U+F1034.svg +4 -0
  62. package/charts/teng-chou/glyphs/U+F1035.svg +4 -0
  63. package/charts/teng-chou/glyphs/U+F1036.svg +4 -0
  64. package/charts/teng-chou/glyphs/U+F1037.svg +4 -0
  65. package/charts/teng-chou/glyphs/U+F1038.svg +4 -0
  66. package/charts/teng-chou/glyphs/U+F1039.svg +4 -0
  67. package/charts/teng-chou/glyphs/U+F103A.svg +4 -0
  68. package/charts/teng-chou/glyphs/U+F103B.svg +4 -0
  69. package/charts/teng-chou/glyphs/U+F103C.svg +4 -0
  70. package/charts/teng-chou/glyphs/U+F103D.svg +4 -0
  71. package/charts/teng-chou/glyphs/U+F103E.svg +4 -0
  72. package/charts/teng-chou/glyphs/U+F103F.svg +4 -0
  73. package/charts/teng-chou/glyphs/U+F1040.svg +4 -0
  74. package/charts/teng-chou/glyphs/U+F1041.svg +4 -0
  75. package/charts/teng-chou/glyphs/U+F1042.svg +4 -0
  76. package/charts/teng-chou/glyphs/U+F1043.svg +4 -0
  77. package/charts/teng-chou/glyphs/U+F1044.svg +4 -0
  78. package/charts/teng-chou/glyphs/U+F1045.svg +4 -0
  79. package/charts/teng-chou/glyphs/U+F1046.svg +4 -0
  80. package/charts/teng-chou/glyphs/U+F1047.svg +4 -0
  81. package/charts/teng-chou/glyphs/U+F1048.svg +4 -0
  82. package/charts/teng-chou/glyphs/U+F1049.svg +4 -0
  83. package/charts/teng-chou/glyphs/U+F104A.svg +4 -0
  84. package/charts/teng-chou/glyphs/U+F104B.svg +4 -0
  85. package/charts/teng-chou/glyphs/U+F104C.svg +4 -0
  86. package/charts/teng-chou/glyphs/U+F104D.svg +4 -0
  87. package/charts/teng-chou/glyphs/U+F104E.svg +4 -0
  88. package/charts/teng-chou/glyphs/U+F104F.svg +4 -0
  89. package/charts/teng-chou/glyphs/U+F1050.svg +4 -0
  90. package/charts/teng-chou/glyphs/U+F1051.svg +4 -0
  91. package/charts/teng-chou/glyphs/U+F1052.svg +4 -0
  92. package/charts/teng-chou/glyphs/U+F1053.svg +4 -0
  93. package/charts/teng-chou/glyphs/U+F1054.svg +4 -0
  94. package/charts/teng-chou/glyphs/U+F1055.svg +4 -0
  95. package/charts/teng-chou/glyphs/U+F1056.svg +4 -0
  96. package/charts/teng-chou/glyphs/U+F1057.svg +4 -0
  97. package/charts/teng-chou/glyphs/U+F1058.svg +4 -0
  98. package/charts/teng-chou/glyphs/U+F1059.svg +4 -0
  99. package/charts/teng-chou/glyphs/U+F105A.svg +4 -0
  100. package/charts/teng-chou/glyphs/U+F105B.svg +4 -0
  101. package/charts/teng-chou/glyphs/U+F105C.svg +4 -0
  102. package/charts/teng-chou/glyphs/U+F105D.svg +4 -0
  103. package/charts/teng-chou/glyphs/U+F105E.svg +4 -0
  104. package/charts/teng-chou/glyphs/U+F105F.svg +4 -0
  105. package/charts/teng-chou/glyphs/U+F1060.svg +4 -0
  106. package/charts/teng-chou/glyphs/U+F1061.svg +4 -0
  107. package/charts/teng-chou/glyphs/U+F1062.svg +4 -0
  108. package/charts/teng-chou/glyphs/U+F1063.svg +4 -0
  109. package/charts/teng-chou/glyphs/U+F1064.svg +4 -0
  110. package/charts/teng-chou/glyphs/U+F1065.svg +4 -0
  111. package/charts/teng-chou/glyphs/U+F1066.svg +4 -0
  112. package/charts/teng-chou/glyphs/U+F1067.svg +4 -0
  113. package/charts/teng-chou/glyphs/U+F1068.svg +4 -0
  114. package/charts/teng-chou/glyphs/U+F1069.svg +4 -0
  115. package/charts/teng-chou/glyphs/U+F106A.svg +4 -0
  116. package/charts/teng-chou/glyphs/U+F106B.svg +4 -0
  117. package/charts/teng-chou/glyphs/U+F106C.svg +4 -0
  118. package/charts/teng-chou/glyphs/U+F106D.svg +4 -0
  119. package/charts/teng-chou/glyphs/U+F106E.svg +4 -0
  120. package/charts/teng-chou/glyphs/U+F106F.svg +4 -0
  121. package/charts/teng-chou/glyphs/U+F1070.svg +4 -0
  122. package/charts/teng-chou/glyphs/U+F1071.svg +4 -0
  123. package/charts/teng-chou/glyphs/U+F1072.svg +4 -0
  124. package/charts/teng-chou/glyphs/U+F1073.svg +4 -0
  125. package/charts/teng-chou/glyphs/U+F1074.svg +4 -0
  126. package/charts/teng-chou/glyphs/U+F1075.svg +4 -0
  127. package/charts/teng-chou/glyphs/U+F1076.svg +4 -0
  128. package/charts/teng-chou/glyphs/U+F1077.svg +4 -0
  129. package/charts/teng-chou/glyphs/U+F1078.svg +4 -0
  130. package/charts/teng-chou/glyphs/U+F1079.svg +4 -0
  131. package/charts/teng-chou/glyphs/U+F107A.svg +4 -0
  132. package/charts/teng-chou/glyphs/U+F107B.svg +4 -0
  133. package/charts/teng-chou/glyphs/U+F107C.svg +4 -0
  134. package/charts/teng-chou/glyphs/U+F107D.svg +4 -0
  135. package/charts/teng-chou/glyphs/U+F107E.svg +4 -0
  136. package/charts/teng-chou/glyphs/U+F107F.svg +4 -0
  137. package/charts/teng-chou/glyphs/U+F1080.svg +4 -0
  138. package/charts/teng-chou/glyphs/U+F1081.svg +4 -0
  139. package/charts/teng-chou/glyphs/U+F1082.svg +4 -0
  140. package/charts/teng-chou/glyphs/U+F1083.svg +4 -0
  141. package/charts/teng-chou/glyphs/U+F1084.svg +4 -0
  142. package/charts/teng-chou/glyphs/U+F1085.svg +4 -0
  143. package/charts/teng-chou/glyphs/U+F1086.svg +4 -0
  144. package/charts/teng-chou/glyphs/U+F1087.svg +4 -0
  145. package/charts/teng-chou/glyphs/U+F1088.svg +4 -0
  146. package/charts/teng-chou/glyphs/U+F1089.svg +4 -0
  147. package/charts/teng-chou/glyphs/U+F108A.svg +4 -0
  148. package/charts/teng-chou/glyphs/U+F108B.svg +4 -0
  149. package/charts/teng-chou/glyphs/U+F108C.svg +4 -0
  150. package/charts/teng-chou/glyphs/U+F108D.svg +4 -0
  151. package/charts/teng-chou/glyphs/U+F108E.svg +4 -0
  152. package/charts/teng-chou/glyphs/U+F108F.svg +4 -0
  153. package/charts/teng-chou/glyphs/U+F1090.svg +4 -0
  154. package/charts/teng-chou/glyphs/U+F1091.svg +4 -0
  155. package/charts/teng-chou/glyphs/U+F1092.svg +4 -0
  156. package/charts/teng-chou/glyphs/U+F1093.svg +4 -0
  157. package/charts/teng-chou/glyphs/U+F1094.svg +4 -0
  158. package/charts/teng-chou/glyphs/U+F1095.svg +4 -0
  159. package/charts/teng-chou/glyphs/U+F1096.svg +4 -0
  160. package/charts/teng-chou/glyphs/U+F1097.svg +4 -0
  161. package/charts/teng-chou/glyphs/U+F1098.svg +4 -0
  162. package/charts/teng-chou/glyphs/U+F1099.svg +4 -0
  163. package/charts/teng-chou/glyphs/U+F109A.svg +4 -0
  164. package/charts/teng-chou/glyphs/U+F109B.svg +4 -0
  165. package/charts/teng-chou/glyphs/U+F109C.svg +4 -0
  166. package/charts/teng-chou/glyphs/U+F109D.svg +4 -0
  167. package/charts/teng-chou/glyphs/U+F109E.svg +4 -0
  168. package/charts/teng-chou/glyphs/U+F109F.svg +4 -0
  169. package/charts/teng-chou/glyphs/U+F10A0.svg +4 -0
  170. package/charts/teng-chou/glyphs/U+F10A1.svg +4 -0
  171. package/charts/teng-chou/glyphs/U+F10A2.svg +4 -0
  172. package/charts/teng-chou/glyphs/U+F10A3.svg +4 -0
  173. package/charts/teng-chou/glyphs/U+F10A4.svg +4 -0
  174. package/charts/teng-chou/glyphs/U+F10A5.svg +4 -0
  175. package/charts/teng-chou/glyphs/U+F10A6.svg +4 -0
  176. package/charts/teng-chou/glyphs/U+F10A7.svg +4 -0
  177. package/charts/teng-chou/glyphs/U+F10A8.svg +4 -0
  178. package/charts/teng-chou/glyphs/U+F10A9.svg +4 -0
  179. package/charts/teng-chou/glyphs/U+F10AA.svg +4 -0
  180. package/charts/teng-chou/glyphs/U+F10AB.svg +4 -0
  181. package/charts/teng-chou/glyphs/U+F10AC.svg +4 -0
  182. package/charts/teng-chou/glyphs/U+F10AD.svg +4 -0
  183. package/charts/teng-chou/glyphs/U+F10AE.svg +4 -0
  184. package/charts/teng-chou/glyphs/U+F10AF.svg +4 -0
  185. package/charts/teng-chou/glyphs/U+F10B0.svg +4 -0
  186. package/charts/teng-chou/glyphs/U+F10B1.svg +4 -0
  187. package/charts/teng-chou/glyphs/U+F10B2.svg +4 -0
  188. package/charts/teng-chou/glyphs/U+F10B3.svg +4 -0
  189. package/charts/teng-chou/glyphs/U+F10B4.svg +4 -0
  190. package/charts/teng-chou/glyphs/U+F10B5.svg +4 -0
  191. package/charts/teng-chou/glyphs/U+F10B6.svg +4 -0
  192. package/charts/teng-chou/glyphs/U+F10B7.svg +4 -0
  193. package/charts/teng-chou/glyphs/U+F10B8.svg +4 -0
  194. package/charts/teng-chou/glyphs/U+F10B9.svg +4 -0
  195. package/charts/teng-chou/glyphs/U+F10BA.svg +4 -0
  196. package/charts/teng-chou/glyphs/U+F10BB.svg +4 -0
  197. package/charts/teng-chou/glyphs/U+F10BC.svg +4 -0
  198. package/charts/teng-chou/glyphs/U+F10BD.svg +4 -0
  199. package/charts/teng-chou/glyphs/U+F10BE.svg +4 -0
  200. package/charts/teng-chou/glyphs/U+F10BF.svg +4 -0
  201. package/charts/teng-chou/glyphs/U+F10C0.svg +4 -0
  202. package/charts/teng-chou/glyphs/U+F10C1.svg +4 -0
  203. package/charts/teng-chou/glyphs/U+F10C2.svg +4 -0
  204. package/charts/teng-chou/glyphs/U+F10C3.svg +4 -0
  205. package/charts/teng-chou/glyphs/U+F10C4.svg +4 -0
  206. package/charts/teng-chou/glyphs/U+F10C5.svg +4 -0
  207. package/charts/teng-chou/glyphs/U+F10C6.svg +4 -0
  208. package/charts/teng-chou/glyphs/U+F10C7.svg +4 -0
  209. package/charts/teng-chou/glyphs/U+F10C8.svg +4 -0
  210. package/charts/teng-chou/glyphs/U+F10C9.svg +4 -0
  211. package/charts/teng-chou/glyphs/U+F10CA.svg +4 -0
  212. package/charts/teng-chou/glyphs/U+F10CB.svg +4 -0
  213. package/charts/teng-chou/glyphs/U+F10CC.svg +4 -0
  214. package/charts/teng-chou/glyphs/U+F10CD.svg +4 -0
  215. package/charts/teng-chou/glyphs/U+F10CE.svg +4 -0
  216. package/charts/teng-chou/glyphs/U+F10CF.svg +4 -0
  217. package/charts/teng-chou/glyphs/U+F10D0.svg +4 -0
  218. package/charts/teng-chou/glyphs/U+F10D1.svg +4 -0
  219. package/charts/teng-chou/glyphs/U+F10D2.svg +4 -0
  220. package/charts/teng-chou/glyphs/U+F10D3.svg +4 -0
  221. package/charts/teng-chou/glyphs/U+F10D4.svg +4 -0
  222. package/charts/teng-chou/glyphs/U+F10D5.svg +4 -0
  223. package/charts/teng-chou/glyphs/U+F10D6.svg +4 -0
  224. package/charts/teng-chou/glyphs/U+F10D7.svg +4 -0
  225. package/charts/teng-chou/glyphs/U+F10D8.svg +4 -0
  226. package/charts/teng-chou/glyphs/U+F10D9.svg +4 -0
  227. package/charts/teng-chou/glyphs/U+F2000.svg +4 -0
  228. package/charts/teng-chou/glyphs/U+F2001.svg +4 -0
  229. package/charts/teng-chou/glyphs/U+F2002.svg +4 -0
  230. package/charts/teng-chou/glyphs/U+F2003.svg +4 -0
  231. package/charts/teng-chou/glyphs/U+F2004.svg +4 -0
  232. package/charts/teng-chou/glyphs/U+F2005.svg +4 -0
  233. package/charts/teng-chou/glyphs/U+F2006.svg +4 -0
  234. package/charts/teng-chou/glyphs/U+F2007.svg +4 -0
  235. package/charts/teng-chou/glyphs/U+F2008.svg +4 -0
  236. package/charts/teng-chou/glyphs/U+F2009.svg +4 -0
  237. package/charts/teng-chou/glyphs/U+F200A.svg +4 -0
  238. package/charts/teng-chou/glyphs/U+F200B.svg +4 -0
  239. package/charts/teng-chou/glyphs/U+F200C.svg +4 -0
  240. package/charts/teng-chou/glyphs/U+F200D.svg +4 -0
  241. package/charts/teng-chou/glyphs/U+F200E.svg +4 -0
  242. package/charts/teng-chou/glyphs/U+F200F.svg +4 -0
  243. package/charts/teng-chou/glyphs/U+F2010.svg +4 -0
  244. package/charts/teng-chou/glyphs/U+F2011.svg +4 -0
  245. package/charts/teng-chou/glyphs/U+F2012.svg +4 -0
  246. package/charts/teng-chou/glyphs/U+F2013.svg +4 -0
  247. package/charts/teng-chou/glyphs/U+F2014.svg +4 -0
  248. package/charts/teng-chou/glyphs/U+F2015.svg +4 -0
  249. package/charts/teng-chou/glyphs/U+F2016.svg +4 -0
  250. package/charts/teng-chou/glyphs/U+F2017.svg +4 -0
  251. package/charts/teng-chou/glyphs/U+F2018.svg +4 -0
  252. package/charts/teng-chou/glyphs/U+F2019.svg +4 -0
  253. package/charts/teng-chou/glyphs/U+F201A.svg +4 -0
  254. package/charts/teng-chou/glyphs/U+F201B.svg +4 -0
  255. package/charts/teng-chou/glyphs/U+F201C.svg +4 -0
  256. package/charts/teng-chou/glyphs/U+F201D.svg +4 -0
  257. package/charts/teng-chou/glyphs/U+F201E.svg +4 -0
  258. package/charts/teng-chou/glyphs/U+F201F.svg +4 -0
  259. package/charts/teng-chou/glyphs/U+F2020.svg +4 -0
  260. package/charts/teng-chou/glyphs/U+F2021.svg +4 -0
  261. package/charts/teng-chou/glyphs/U+F2022.svg +4 -0
  262. package/charts/teng-chou/glyphs/U+F2023.svg +4 -0
  263. package/charts/teng-chou/glyphs/U+F2024.svg +4 -0
  264. package/charts/teng-chou/glyphs/U+F2025.svg +4 -0
  265. package/charts/teng-chou/glyphs/U+F2026.svg +4 -0
  266. package/charts/teng-chou/glyphs/U+F2027.svg +4 -0
  267. package/charts/teng-chou/glyphs/U+F2028.svg +4 -0
  268. package/charts/teng-chou/glyphs/U+F2029.svg +4 -0
  269. package/charts/teng-chou/glyphs/U+F202A.svg +4 -0
  270. package/charts/teng-chou/glyphs/U+F202B.svg +4 -0
  271. package/charts/teng-chou/glyphs/U+F202C.svg +4 -0
  272. package/charts/teng-chou/glyphs/U+F202D.svg +4 -0
  273. package/charts/teng-chou/glyphs/U+F202E.svg +4 -0
  274. package/charts/teng-chou/glyphs/U+F202F.svg +4 -0
  275. package/charts/teng-chou/glyphs/U+F2030.svg +4 -0
  276. package/charts/teng-chou/glyphs/U+F2031.svg +4 -0
  277. package/charts/teng-chou/glyphs/U+F2032.svg +4 -0
  278. package/charts/teng-chou/glyphs/U+F2033.svg +4 -0
  279. package/charts/teng-chou/glyphs/U+F2034.svg +4 -0
  280. package/charts/teng-chou/glyphs/U+F2035.svg +4 -0
  281. package/charts/teng-chou/glyphs/U+F2036.svg +4 -0
  282. package/charts/teng-chou/glyphs/U+F2037.svg +4 -0
  283. package/charts/teng-chou/glyphs/U+F2038.svg +4 -0
  284. package/charts/teng-chou/glyphs/U+F2039.svg +4 -0
  285. package/charts/teng-chou/glyphs/U+F203A.svg +4 -0
  286. package/charts/teng-chou/glyphs/U+F203B.svg +4 -0
  287. package/charts/teng-chou/glyphs/U+F203C.svg +4 -0
  288. package/charts/teng-chou/glyphs/U+F203D.svg +4 -0
  289. package/charts/teng-chou/glyphs/U+F203E.svg +4 -0
  290. package/charts/teng-chou/glyphs/U+F203F.svg +4 -0
  291. package/charts/teng-chou/glyphs/U+F2040.svg +4 -0
  292. package/charts/teng-chou/glyphs/U+F2041.svg +4 -0
  293. package/charts/teng-chou/glyphs/U+F2042.svg +4 -0
  294. package/charts/teng-chou/glyphs/U+F2043.svg +4 -0
  295. package/charts/teng-chou/glyphs/U+F2044.svg +4 -0
  296. package/charts/teng-chou/glyphs/U+F2045.svg +4 -0
  297. package/charts/teng-chou/glyphs/U+F2046.svg +4 -0
  298. package/charts/teng-chou/glyphs/U+F2047.svg +4 -0
  299. package/charts/teng-chou/glyphs/U+F2048.svg +4 -0
  300. package/charts/teng-chou/glyphs/U+F2049.svg +4 -0
  301. package/charts/teng-chou/glyphs/U+F204A.svg +4 -0
  302. package/charts/teng-chou/glyphs/U+F204B.svg +4 -0
  303. package/charts/teng-chou/glyphs/U+F204C.svg +4 -0
  304. package/charts/teng-chou/glyphs/U+F204D.svg +4 -0
  305. package/charts/teng-chou/glyphs/U+F204E.svg +4 -0
  306. package/charts/teng-chou/glyphs/U+F204F.svg +4 -0
  307. package/charts/teng-chou/glyphs/U+F2050.svg +4 -0
  308. package/charts/teng-chou/glyphs/U+F2051.svg +4 -0
  309. package/charts/teng-chou/glyphs/U+F2052.svg +4 -0
  310. package/charts/teng-chou/glyphs/U+F2053.svg +4 -0
  311. package/charts/teng-chou/glyphs/U+F2054.svg +4 -0
  312. package/charts/teng-chou/glyphs/U+F2055.svg +4 -0
  313. package/charts/teng-chou/glyphs/U+F2056.svg +4 -0
  314. package/charts/teng-chou.md +326 -0
  315. package/charts/veldikko/chart-1.png +0 -0
  316. package/charts/veldikko/chart-1.svg +240 -0
  317. package/charts/veldikko/glyphs/U+1ED50.svg +4 -0
  318. package/charts/veldikko/glyphs/U+1ED51.svg +4 -0
  319. package/charts/veldikko/glyphs/U+1ED52.svg +4 -0
  320. package/charts/veldikko/glyphs/U+1ED53.svg +4 -0
  321. package/charts/veldikko/glyphs/U+1ED54.svg +4 -0
  322. package/charts/veldikko/glyphs/U+1ED55.svg +4 -0
  323. package/charts/veldikko/glyphs/U+1ED56.svg +4 -0
  324. package/charts/veldikko/glyphs/U+1ED57.svg +4 -0
  325. package/charts/veldikko/glyphs/U+1ED58.svg +4 -0
  326. package/charts/veldikko/glyphs/U+1ED59.svg +4 -0
  327. package/charts/veldikko/glyphs/U+1ED5A.svg +4 -0
  328. package/charts/veldikko/glyphs/U+1ED5B.svg +4 -0
  329. package/charts/veldikko/glyphs/U+1ED5C.svg +4 -0
  330. package/charts/veldikko/glyphs/U+1ED5D.svg +4 -0
  331. package/charts/veldikko/glyphs/U+1ED60.svg +4 -0
  332. package/charts/veldikko/glyphs/U+1ED61.svg +4 -0
  333. package/charts/veldikko/glyphs/U+1ED62.svg +4 -0
  334. package/charts/veldikko/glyphs/U+1ED63.svg +4 -0
  335. package/charts/veldikko/glyphs/U+1ED64.svg +4 -0
  336. package/charts/veldikko/glyphs/U+1ED65.svg +4 -0
  337. package/charts/veldikko/glyphs/U+1ED66.svg +4 -0
  338. package/charts/veldikko/glyphs/U+1ED67.svg +4 -0
  339. package/charts/veldikko/glyphs/U+1ED68.svg +4 -0
  340. package/charts/veldikko/glyphs/U+1ED70.svg +4 -0
  341. package/charts/veldikko/glyphs/U+1ED71.svg +4 -0
  342. package/charts/veldikko/glyphs/U+1ED72.svg +4 -0
  343. package/charts/veldikko/glyphs/U+1ED73.svg +4 -0
  344. package/charts/veldikko/glyphs/U+1ED74.svg +4 -0
  345. package/charts/veldikko/glyphs/U+1ED75.svg +4 -0
  346. package/charts/veldikko/glyphs/U+1ED76.svg +4 -0
  347. package/charts/veldikko/glyphs/U+1ED78.svg +4 -0
  348. package/charts/veldikko/glyphs/U+1ED79.svg +4 -0
  349. package/charts/veldikko/glyphs/U+1ED7A.svg +4 -0
  350. package/charts/veldikko/glyphs/U+1ED7B.svg +4 -0
  351. package/charts/veldikko/glyphs/U+1ED7C.svg +4 -0
  352. package/charts/veldikko.md +54 -0
  353. package/fonts/TengChou-Regular.ttf +0 -0
  354. package/fonts/TengChou-Regular.woff2 +0 -0
  355. package/fonts/Veldikko-Regular.ttf +0 -0
  356. package/fonts/Veldikko-Regular.woff2 +0 -0
  357. package/fonts.css +27 -0
  358. package/fonts.json +2066 -0
  359. package/keyboards/macos/HeroicLands.bundle/Contents/Info.plist +2 -2
  360. package/package.json +1 -1
package/README.md CHANGED
@@ -6,10 +6,14 @@ Pirzath Carved and Thuravark Carved draw their script over the setting's Latin s
6
6
 
7
7
  Semaron Kuriale, the Vylarian chancery hand, draws the Vylari spelling in majuscules and minuscules: a doubled vowel types the long vowel's curl, a catch after a letter types the grave over it, and every pause types the one point.
8
8
 
9
- Each left-to-right face also draws every one of its characters on a code point of its own in plane 15, the Supplementary Private Use Area-A: the Pirzath faces on U+F0000, Thuravark Carved on U+F0100 and Semaron Kuriale on U+F0200 (see [Code point blocks](#code-point-blocks)). `fonts.json` lists each face's characters under `codepoints`, and `specimens/<face>/codepoints.png` charts them.
9
+ Each left-to-right face also draws every one of its characters on a code point of its own in plane 15, the Supplementary Private Use Area-A: the Pirzath faces on U+F0000, Thuravark Carved on U+F0100, Semaron Kuriale on U+F0200, and Teng Chou's characters on U+F1000 and its Jurthati syllabary on U+F2000 (see [Code point blocks](#code-point-blocks)). `fonts.json` lists each face's characters under `codepoints`, and `specimens/<face>/codepoints.png` charts them.
10
+
11
+ Teng Chou, the Celestial Record of Tantsou and Jenchai, writes one character per Tantsou morpheme, and the Jurthati syllabary beside them for the island tongue's particles and endings. It is written in columns, read from the right: every character takes exactly one em down a column, so a column of N characters is N em tall and a page set in vertical text stands on an even grid, and an inline span sets the characters left to right. Its characters are generated from strokes, components and layouts, not drawn one by one; `design/teng-chou.md` gives the system.
10
12
 
11
13
  Qalezu, the Khelathi alphabet, is written right to left on code points of its own, U+1EA00 to U+1EA3F, with the catch-before forms in U+1ECC0 to U+1ECFF. A converter turns Latin Khelathi into those code points, and the font draws them; `tools/qalezu-hand/encoding.json` is the one table of what each code point is, its sound and the Latin that types it.
12
14
 
15
+ Veldikko is the starlight-hand of the Sinale, in which both the Sinale and the Áelendi write: a flowing calligraphy written right to left, its letters joined by hairlines along the line and its vowels marks floating above, in one face for both tongues. It is written on code points of its own, U+1ED50 to U+1EDFF: a letter, then the length bar if the consonant is doubled, then each vowel mark, each followed by its signs of length, pitch and emphasis. The font joins each letter to its neighbours, folds a vowel and its signs into one mark and stands the marks over their letter. Its bowls stand at the x-height Semaron Kuriale and Latin text stand at, and its risers and tails reach well beyond, so a block of Veldikko wants a line height of about 2.4 em from the page's style sheet; a Veldikko word inside an English line leaves the line spacing even. `tools/veldikko/encoding.json` is the one table of what each code point is, and `tools/veldikko/convert.mjs` turns romanized Sinale into those code points; `design/veldikko.md` gives the system.
16
+
13
17
  ## Code point blocks
14
18
 
15
19
  Every script draws on a block of code points of its own, and every face of a script draws its script's block: Pirzath Carved, Pirzath Hand and Pirzath Hand Lifted share the Pirzath block, so changing the face changes only the look. The blocks are registered in `BLOCKS` in `tools/codepoint_order.py`; `tools/codepoints.py` checks that every face's code points lie in its registered blocks, that no two blocks overlap, and that this table is the registry's.
@@ -21,15 +25,18 @@ Every script draws on a block of code points of its own, and every face of a scr
21
25
  | U+1EA00–U+1EA3F | Qalezu: signs, digits and punctuation | right to left |
22
26
  | U+1EA40–U+1EC6F | Khelathi Zethu Glyphs: signs, and its format controls at U+1EC60–U+1EC6F | right to left |
23
27
  | U+1ECC0–U+1ECFF | Qalezu: a sign with a catch before it | right to left |
28
+ | U+1ED50–U+1EDFF | Veldikko: letters, vowel marks and the signs of length, pitch, emphasis and doubling | right to left |
24
29
  | U+F0000–U+F00FF | Pirzath | left to right |
25
30
  | U+F0100–U+F01FF | Thuravark | left to right |
26
31
  | U+F0200–U+F02FF | Semaron | left to right |
27
32
  | U+F0300–U+F0FFF | Reserved for the remaining alphabets and syllabaries, 256 code points each as they are assigned | left to right |
28
- | U+F1000–U+F2FFF | Reserved for Teng Chou | left to right |
33
+ | U+F1000–U+F1FFF | Teng Chou: characters, one per morpheme, in the order they are added | left to right |
34
+ | U+F2000–U+F20FF | Teng Chou: the Jurthati syllabary | left to right |
35
+ | U+F2100–U+F2FFF | Reserved for Teng Chou | left to right |
29
36
  | U+100000–U+10FFFD | Plane 16, unassigned | – |
30
37
 
31
- - **Left-to-right scripts** (Pirzath, Thuravark, Semaron) sit in plane 15, the Supplementary Private Use Area-A, whose characters are left to right by default. Each takes 256 code points. U+F0300 to U+F0FFF is reserved for the remaining alphabets and syllabaries, 256 code points each as they are assigned, and U+F1000 to U+F2FFF for Teng Chou.
32
- - **Right-to-left scripts** (Qalezu and Khelathi Zethu Glyphs) sit in unassigned code points of plane 1 whose default bidi class is right to left. That is why their text runs right to left in any editor, browser or typesetter, mixed with English and with no controls. Because the code points are unassigned rather than private, Unicode could in principle assign them to a script later. Qalezu takes U+1EA00 to U+1EA3F for its signs, digits and punctuation and U+1ECC0 to U+1ECFF for a sign with a catch before it. Khelathi Zethu Glyphs takes U+1EA40 to U+1EC6F with U+1E960 to U+1E9FF as overflow, 720 code points together. U+1ED50 to U+1EDFF is the remaining free right-to-left range, kept for a further right-to-left script.
38
+ - **Left-to-right scripts** (Pirzath, Thuravark, Semaron) sit in plane 15, the Supplementary Private Use Area-A, whose characters are left to right by default. Each takes 256 code points. U+F0300 to U+F0FFF is reserved for the remaining alphabets and syllabaries, 256 code points each as they are assigned. Teng Chou takes U+F1000 to U+F2FFF: its characters from U+F1000, one per morpheme in the order they are added so that none is renumbered, its Jurthati syllabary from U+F2000, and the rest reserved. Teng Chou is written in columns; its characters are left to right where an inline span sets them along a line.
39
+ - **Right-to-left scripts** (Qalezu, Khelathi Zethu Glyphs and Veldikko) sit in unassigned code points of plane 1 whose default bidi class is right to left. That is why their text runs right to left in any editor, browser or typesetter, mixed with English and with no controls. Because the code points are unassigned rather than private, Unicode could in principle assign them to a script later. Qalezu takes U+1EA00 to U+1EA3F for its signs, digits and punctuation and U+1ECC0 to U+1ECFF for a sign with a catch before it. Khelathi Zethu Glyphs takes U+1EA40 to U+1EC6F with U+1E960 to U+1E9FF as overflow, 720 code points together. Veldikko takes U+1ED50 to U+1EDFF: its letters from U+1ED50, its vowel marks from U+1ED70 and its signs of length, pitch, emphasis and doubling from U+1ED78.
33
40
  - **Plane 16** is unassigned.
34
41
 
35
42
  ## Licence
@@ -102,6 +109,8 @@ The layouts and input methods are in `keyboards/`:
102
109
  - **Windows layouts.** `keyboards/windows/<script>.klc` is the Microsoft Keyboard Layout Creator source of each layout, saved as UTF-16 with a byte order mark. Option is the right Alt key (AltGr). Every output is a ligature entry, a character of plane 1 or plane 15 written as its surrogate pair. MSKLC builds the installer on Windows only: open the `.klc` in Microsoft Keyboard Layout Creator, choose Project, Build DLL and Setup Package, and run the `setup.exe` it writes. Then add the layout under Settings, Time & language, Language & region, English (United States), Keyboard.
103
110
  - **Linux layouts.** `keyboards/linux/hl_<script>` is an XKB symbols file for each layout, with a `U<hex>` keysym on every key that types one character and `VoidSymbol` on the rest. Option is the third level, reached with the right Alt key. Copy the files to `~/.config/xkb/symbols/`, then run `setxkbmap -I$HOME/.config/xkb -layout hl_pirzath` under X11; a desktop that reads `~/.config/xkb` lists them as custom layouts. `setxkbmap us` returns to the usual layout.
104
111
  - **Emacs input methods.** `keyboards/emacs/heroiclands-<script>.el` defines a Quail input method per layout. Put the directory on `load-path`, evaluate `(require 'heroiclands-semaron)`, then `M-x set-input-method RET heroiclands-semaron`. Shift is the shifted character. Emacs has no Option key, so Option+x is typed `\` and then the key x types: Option+T is `\t` and Option+Shift+T is `\T`.
112
+ - **Teng Chou.** Teng Chou writes one character per morpheme and has no keyboard layout: its characters and signs are typed by code point, or written by a mapping in the consuming build. `charts/teng-chou.md` lists every code point with its morpheme or syllable.
113
+ - **Veldikko.** The Veldikko has no keyboard layout: its letters, vowel marks and signs are typed by code point, or written from romanized Sinale by a mapping in the consuming build. `charts/veldikko.md` lists every code point with its name.
105
114
  - **Khelathi Zethu Glyphs.** Zethu writes meanings, not sounds, and has far more signs than a keyboard has keys, so it has an Emacs input method only, `heroiclands-zethu`, typed by sign id: `08-001` inserts that sign. `keyboards/zethu.md` lists the ids. The format controls have no key: a mapping in the consuming build writes them.
106
115
 
107
116
  ## Cheatsheets
@@ -128,7 +137,7 @@ python3 -m venv .venv
128
137
  .venv/bin/pip install -r requirements.txt
129
138
  ```
130
139
 
131
- The source of each font is a UFO under `sources/`: `PirzathCarved.ufo`, `PirzathHand.ufo`, `ThuravarkCarved.ufo`, `QalezuHand.ufo`, `KhelathiZethuGlyphs.ufo` and `SemaronKuriale.ufo`. Open one in FontForge, Glyphs or RoboFont to edit it. The UFO carries the outlines, the character map, the metrics and `features.fea`, which holds every OpenType feature. Every glyph's advance is its ink width plus one sidebearing a side, the same across its face; `tools/respace.py` sets a UFO to that rule, and `design/making-fonts.md` gives each face's sidebearing.
140
+ The source of each font is a UFO under `sources/`: `PirzathCarved.ufo`, `PirzathHand.ufo`, `ThuravarkCarved.ufo`, `QalezuHand.ufo`, `KhelathiZethuGlyphs.ufo`, `SemaronKuriale.ufo`, `TengChou.ufo` and `Veldikko.ufo`. Open one in FontForge, Glyphs or RoboFont to edit it. `TengChou.ufo` is generated from its data by `tools/teng-chou/build_ufo.py`: an edit to a Teng Chou character belongs in `tools/teng-chou/`, and the script is run after it, before the build. `Veldikko.ufo` is generated the same way by `tools/veldikko/build_ufo.py`, from the letters and the joining in `tools/veldikko/`. The UFO carries the outlines, the character map, the metrics and `features.fea`, which holds every OpenType feature. Every glyph's advance is its ink width plus one sidebearing a side, the same across its face; `tools/respace.py` sets a UFO to that rule, and `design/making-fonts.md` gives each face's sidebearing.
132
141
 
133
142
  Build the fonts into `fonts/`. The build is reproducible, so the committed fonts match a fresh build byte for byte:
134
143
 
@@ -161,6 +170,11 @@ Check the built fonts, render the specimens, and prove that each guard fails a b
161
170
  .venv/bin/python tools/qalezu-hand/check_font.py
162
171
  .venv/bin/python tools/khelathi-zethu-glyphs/check_font.py
163
172
  .venv/bin/python tools/semaron-kuriale/check_font.py
173
+ .venv/bin/python tools/teng-chou/check_font.py
174
+ .venv/bin/python tools/veldikko/check_font.py
175
+ .venv/bin/python tools/veldikko/guard.py --fixtures-only # the converter's fixtures join and carry their marks
176
+ .venv/bin/python tools/teng-chou/syllabary_distinct.py # the Jurthati signs stay distinct at body size
177
+ .venv/bin/python tools/teng-chou/stroke_mix.py # every character's body is strokes, dabs a minority
164
178
  .venv/bin/python tools/notdef_box.py
165
179
  .venv/bin/python tools/vertical.py
166
180
  .venv/bin/python tools/spacing.py # every face is set at a natural spacing; --report prints the measures
@@ -177,10 +191,14 @@ Check the built fonts, render the specimens, and prove that each guard fails a b
177
191
  .venv/bin/python tools/khelathi-zethu-glyphs/specimens.py # specimens/khelathi-zethu-glyphs/
178
192
  .venv/bin/python tools/khelathi-zethu-glyphs/paint_guard.py # every drawn sign has a paint map
179
193
  .venv/bin/python tools/semaron-kuriale/specimens.py # specimens/semaron-kuriale/
194
+ .venv/bin/python tools/teng-chou/character_specimens.py # specimens/teng-chou/characters.png
195
+ .venv/bin/python tools/teng-chou/character_specimens.py --name syllabary.png
196
+ .venv/bin/python tools/teng-chou/text_specimen.py # specimens/teng-chou/text.png, text-vertical.png and tally.png
197
+ .venv/bin/python tools/veldikko/font_sheets.py # specimens/veldikko/forms.png, joined.png, verse.png, sizes.png and beside.png
180
198
  .venv/bin/python tools/prove_guards.py
181
199
  ```
182
200
 
183
- Each guard shapes every form of its lexicon and asserts the font renders it rightly; the Pirzath guards read the Khazari lexicon, the Thuravark guard the Nordmal one, Semaron Kuriale's the Vylari one, and Qalezu's converts the Khelathi lexicon from Latin first, through `tools/qalezu-hand/convert.mjs`, an internal tool of that guard, under `node`. Each reads its lexicon from the `origin/main` of a local thalorna checkout, `~/dev/HeroicLands/thalorna` by default:
201
+ Each guard shapes every form of its lexicon and asserts the font renders it rightly; the Pirzath guards read the Khazari lexicon, the Thuravark guard the Nordmal one, Semaron Kuriale's the Vylari one, Teng Chou's the Tantsou one (each form cut into morphemes and set one character to each, along a line and down a column), Qalezu's converts the Khelathi lexicon from Latin first, through `tools/qalezu-hand/convert.mjs`, an internal tool of that guard, under `node`, and Veldikko's converts the Sinale lexicon the same way, through `tools/veldikko/convert.mjs`, and asserts each letter's form and where each mark stands. Each reads its lexicon from the `origin/main` of a local thalorna checkout, `~/dev/HeroicLands/thalorna` by default:
184
202
 
185
203
  ```sh
186
204
  .venv/bin/python tools/pirzath/guard.py --thalorna /path/to/thalorna
@@ -188,6 +206,8 @@ Each guard shapes every form of its lexicon and asserts the font renders it righ
188
206
  .venv/bin/python tools/thuravark-carved/guard.py --thalorna /path/to/thalorna
189
207
  .venv/bin/python tools/qalezu-hand/guard.py --thalorna /path/to/thalorna
190
208
  .venv/bin/python tools/semaron-kuriale/guard.py --thalorna /path/to/thalorna
209
+ .venv/bin/python tools/teng-chou/guard.py --thalorna /path/to/thalorna
210
+ .venv/bin/python tools/veldikko/guard.py --thalorna /path/to/thalorna
191
211
  ```
192
212
 
193
213
  `tools/keyboards_guard.py` checks the key map (no key or chord carries two sounds, every sound has a key, a capital sits on Shift and its small sound's key) and reads every layout and input method back: each key must type exactly the code points `keyboards/sounds.json` gives its sound in the script, or nothing where the script does not write the sound or the platform cannot carry it, and no key may type a character below U+0080. Without `--fixtures-only` it also writes `keyboards/sounds.json` afresh from thalorna's mapping notes, through `tools/sounds.mjs` under `node`, and fails where the committed file differs.
package/charts/index.md CHANGED
@@ -8,4 +8,6 @@ Each font has a sheet of every character it draws: a code chart laid out like Un
8
8
  - [Pirzath Hand Lifted](pirzath-hand-lifted.md): 64 characters on 1 chart page
9
9
  - [Qalezu Hand](qalezu-hand.md): 101 characters on 2 chart pages
10
10
  - [Semaron Kuriale](semaron-kuriale.md): 70 characters on 1 chart page
11
+ - [Teng Chou](teng-chou.md): 305 characters on 3 chart pages
11
12
  - [Thuravark Carved](thuravark-carved.md): 40 characters on 1 chart page
13
+ - [Veldikko](veldikko.md): 35 characters on 1 chart page
Binary file