@heroiclands/fonts 0.1.5 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -207
- package/charts/helonika-book/chart-1.png +0 -0
- package/charts/helonika-book/chart-1.svg +474 -0
- package/charts/helonika-book/glyphs/U+F0300.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0301.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0302.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0303.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0304.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0305.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0306.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0307.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0308.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0309.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030A.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030B.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030C.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030D.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030E.svg +4 -0
- package/charts/helonika-book/glyphs/U+F030F.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0310.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0311.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0312.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0313.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0314.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0315.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0316.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0317.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0318.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0319.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0320.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0321.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0322.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0330.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0331.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0332.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0333.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0334.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0335.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0336.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0337.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0338.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0339.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033A.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033B.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033C.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033D.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033E.svg +4 -0
- package/charts/helonika-book/glyphs/U+F033F.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0340.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0341.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0342.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0343.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0344.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0345.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0346.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0347.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0348.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0349.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0350.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0351.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0352.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0360.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0361.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0362.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0363.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0364.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0365.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0366.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0367.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0368.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0369.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0370.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0371.svg +4 -0
- package/charts/helonika-book/glyphs/U+F0378.svg +4 -0
- package/charts/helonika-book.md +100 -0
- package/charts/index.md +5 -2
- package/charts/pirzath/chart-1.png +0 -0
- package/charts/pirzath/chart-1.svg +1 -1
- package/charts/pirzath/glyphs/U+F0017.svg +1 -1
- package/charts/pirzath-hand/chart-1.png +0 -0
- package/charts/pirzath-hand/chart-1.svg +1 -1
- package/charts/pirzath-hand/glyphs/U+F0017.svg +1 -1
- package/charts/pirzath-hand-lifted/chart-1.png +0 -0
- package/charts/pirzath-hand-lifted/chart-1.svg +1 -1
- package/charts/pirzath-hand-lifted/glyphs/U+F0017.svg +1 -1
- package/charts/qalezu-hand/chart-1.png +0 -0
- package/charts/qalezu-hand/chart-1.svg +2 -2
- package/charts/qalezu-hand.md +1 -51
- package/charts/semaron-kuriale/chart-1.png +0 -0
- package/charts/semaron-kuriale/chart-1.svg +2 -2
- package/charts/semaron-kuriale/glyphs/U+F0215.svg +1 -1
- package/charts/semaron-kuriale/glyphs/U+F0245.svg +1 -1
- package/charts/thuravark-carved/chart-1.png +0 -0
- package/charts/thuravark-carved/chart-1.svg +64 -26
- package/charts/thuravark-carved/glyphs/U+F0128.svg +4 -0
- package/charts/thuravark-carved/glyphs/U+F0129.svg +4 -0
- package/charts/thuravark-carved/glyphs/U+F012A.svg +4 -0
- package/charts/thuravark-carved/glyphs/U+F0150.svg +4 -0
- package/charts/thuravark-carved/glyphs/U+F0151.svg +4 -0
- package/charts/thuravark-carved-bound/chart-1.png +0 -0
- package/charts/thuravark-carved-bound/chart-1.svg +334 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0100.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0101.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0102.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0103.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0104.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0105.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0106.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0107.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0108.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0109.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010A.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010B.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010C.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010D.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010E.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F010F.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0110.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0111.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0112.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0113.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0114.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0115.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0120.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0121.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0122.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0123.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0124.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0125.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0128.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0129.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F012A.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0130.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0131.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0132.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0133.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0134.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0135.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0136.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0137.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0138.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0139.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0140.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0148.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0150.svg +4 -0
- package/charts/thuravark-carved-bound/glyphs/U+F0151.svg +4 -0
- package/charts/thuravark-carved-bound.md +89 -0
- package/charts/thuravark-carved.md +16 -1
- package/charts/vedyakshara-classical/chart-1.png +0 -0
- package/charts/vedyakshara-classical/chart-1.svg +350 -0
- package/charts/vedyakshara-classical/glyphs/U+F0400.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0401.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0402.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0403.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0404.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0405.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0406.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0407.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0408.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0409.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040A.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040B.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040C.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040D.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040E.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F040F.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0410.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0411.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0412.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0413.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0414.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0415.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0420.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0421.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0422.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0423.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0424.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0425.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0426.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0430.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0431.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0432.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0433.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0434.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0435.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0438.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0439.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0440.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0441.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0442.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0443.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0444.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0445.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0446.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0447.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0448.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0449.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0450.svg +4 -0
- package/charts/vedyakshara-classical/glyphs/U+F0451.svg +4 -0
- package/charts/vedyakshara-classical.md +78 -0
- package/fonts/HelonikaBook-Regular.ttf +0 -0
- package/fonts/HelonikaBook-Regular.woff2 +0 -0
- package/fonts/PirzathCarved-Regular.ttf +0 -0
- package/fonts/PirzathCarved-Regular.woff2 +0 -0
- package/fonts/PirzathHand-Regular.ttf +0 -0
- package/fonts/PirzathHand-Regular.woff2 +0 -0
- package/fonts/QalezuHand-Regular.ttf +0 -0
- package/fonts/QalezuHand-Regular.woff2 +0 -0
- package/fonts/SemaronKuriale-Regular.ttf +0 -0
- package/fonts/SemaronKuriale-Regular.woff2 +0 -0
- package/fonts/ThuravarkCarved-Regular.ttf +0 -0
- package/fonts/ThuravarkCarved-Regular.woff2 +0 -0
- package/fonts/VedyaksharaClassical-Regular.ttf +0 -0
- package/fonts/VedyaksharaClassical-Regular.woff2 +0 -0
- package/fonts.css +32 -0
- package/fonts.json +3235 -2440
- package/keyboards/emacs/heroiclands-helonika.el +206 -0
- package/keyboards/emacs/heroiclands-pirzath.el +2 -2
- package/keyboards/emacs/heroiclands-qalezu.el +4 -4
- package/keyboards/emacs/heroiclands-semaron.el +4 -4
- package/keyboards/emacs/heroiclands-thuravark.el +6 -6
- package/keyboards/emacs/heroiclands-vedyakshara.el +205 -0
- package/keyboards/emacs/heroiclands-veldikko.el +211 -0
- package/keyboards/helonika.md +258 -0
- package/keyboards/helonika.png +0 -0
- package/keyboards/helonika.svg +728 -0
- package/keyboards/index.md +319 -156
- package/keyboards/keyboard.png +0 -0
- package/keyboards/keyboard.svg +10 -2
- package/keyboards/linux/hl_helonika +58 -0
- package/keyboards/linux/hl_pirzath +1 -1
- package/keyboards/linux/hl_qalezu +2 -2
- package/keyboards/linux/hl_semaron +2 -2
- package/keyboards/linux/hl_thuravark +2 -2
- package/keyboards/linux/hl_vedyakshara +58 -0
- package/keyboards/linux/hl_veldikko +58 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Info.plist +23 -2
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Helonika.keylayout +392 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Pirzath.keylayout +2 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Qalezu.keylayout +4 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Semaron.keylayout +4 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Thuravark.keylayout +4 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Vedyakshara.keylayout +363 -0
- package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Veldikko.keylayout +378 -0
- package/keyboards/pirzath.md +191 -150
- package/keyboards/pirzath.png +0 -0
- package/keyboards/pirzath.svg +716 -0
- package/keyboards/qalezu.md +191 -150
- package/keyboards/qalezu.png +0 -0
- package/keyboards/qalezu.svg +468 -0
- package/keyboards/semaron.md +191 -150
- package/keyboards/semaron.png +0 -0
- package/keyboards/semaron.svg +700 -0
- package/keyboards/sounds.json +144 -144
- package/keyboards/thuravark.md +191 -150
- package/keyboards/thuravark.png +0 -0
- package/keyboards/thuravark.svg +686 -0
- package/keyboards/vedyakshara.md +243 -0
- package/keyboards/vedyakshara.png +0 -0
- package/keyboards/vedyakshara.svg +605 -0
- package/keyboards/veldikko.md +265 -0
- package/keyboards/veldikko.png +0 -0
- package/keyboards/veldikko.svg +674 -0
- package/keyboards/windows/helonika.klc +0 -0
- package/keyboards/windows/pirzath.klc +0 -0
- package/keyboards/windows/qalezu.klc +0 -0
- package/keyboards/windows/semaron.klc +0 -0
- package/keyboards/windows/thuravark.klc +0 -0
- package/keyboards/windows/vedyakshara.klc +0 -0
- package/keyboards/windows/veldikko.klc +0 -0
- package/keyboards/zethu.md +353 -350
- package/package.json +2 -2
- package/charts/qalezu-hand/chart-2.png +0 -0
- package/charts/qalezu-hand/chart-2.svg +0 -276
- package/charts/qalezu-hand/glyphs/U+1ECC0.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC1.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC2.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC3.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC4.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC5.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC6.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC7.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC8.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECC9.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCA.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCB.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCC.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCD.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCE.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECCF.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD0.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD1.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD2.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD3.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD4.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD5.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD6.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD7.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD8.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECD9.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDA.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDB.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDC.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDD.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDE.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECDF.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE0.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE1.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE2.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE3.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE4.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE5.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE6.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE7.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE8.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECE9.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECEA.svg +0 -4
- package/charts/qalezu-hand/glyphs/U+1ECEB.svg +0 -4
package/README.md
CHANGED
|
@@ -1,246 +1,109 @@
|
|
|
1
|
-
# fonts
|
|
1
|
+
# Fantasy script fonts
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Open-source fonts for invented writing systems, free to use in your own campaign, game, book or website. They were built for the [HeroicLands Thalorna](https://www.heroiclands.org/thalorna/) setting, and anyone may use them.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
| Font | What it is | Direction | Sample | Keyboard |
|
|
6
|
+
| --------------------- | ----------------------------------------------------------------------------------------- | ----------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------ |
|
|
7
|
+
| Pirzath Carved | Khazari (dwarven) runic lapidary | Left to right |  | [HL Pirzath](keyboards/pirzath.md) |
|
|
8
|
+
| Pirzath Hand | Khazari (dwarven) common hand, the modern script | Left to right |  | [HL Pirzath](keyboards/pirzath.md) |
|
|
9
|
+
| Thuravark Carved | Proto-Pelwar (human) runic lapidary, derived from Pirzath, with the Tharavarkon recension | Left to right |  | [HL Thuravark](keyboards/thuravark.md) |
|
|
10
|
+
| Semaron Kuriale | Vylarian (human) chancery hand | Left to right |  | [HL Semaron](keyboards/semaron.md) |
|
|
11
|
+
| Helonika Book | Helonic (human) book hand, geometric capitals over a round minuscule | Left to right |  | [HL Helónika](keyboards/helonika.md) |
|
|
12
|
+
| Vedyakshara Classical | Vedyari (human) temple syllabary, hung from a headline | Left to right |  | [HL Vedyakshara](keyboards/vedyakshara.md) |
|
|
13
|
+
| Veldikko | Sinale (elvish) joined calligraphic hand | Right to left |  | [HL Veldikko](keyboards/veldikko.md) |
|
|
14
|
+
| Qalezu Hand | Au'Khelathu merchants' script | Right to left |  | [HL Qalezu](keyboards/qalezu.md) |
|
|
15
|
+
| Khelathi Zethu Glyphs | Au'Khelathu temple hieroglyphs | Right to left |  | none: [use the chart](charts/khelathi-zethu-glyphs.md) |
|
|
16
|
+
| Teng Chou | Tantsou (human) logographic script | Vertical, top to bottom |  | none: [use the chart](charts/teng-chou.md) |
|
|
6
17
|
|
|
7
|
-
|
|
18
|
+
Each font draws only its own characters, on code points of its own, so ordinary English text typed in one shows empty boxes. You type in a script with its keyboard layout, or insert characters by code point from the font's chart.
|
|
8
19
|
|
|
9
|
-
|
|
20
|
+
## Download
|
|
10
21
|
|
|
11
|
-
|
|
22
|
+
Every font is a TrueType file (`.ttf`, for documents and desktop apps) and a WOFF2 file (`.woff2`, for websites). Download them from the [latest release](https://github.com/HeroicLands/fonts/releases/latest), which also holds `keyboards.zip` (the keyboard layouts for every platform and their cheatsheets) and `charts.zip` (the character charts). Unzip both into one folder so the cheatsheets find their charts. Programs can take everything from npm instead; see [For programs](#for-programs).
|
|
12
23
|
|
|
13
|
-
|
|
24
|
+
## Install a font
|
|
14
25
|
|
|
15
|
-
|
|
26
|
+
Install the `.ttf` file. Close and reopen a program that was running, so it sees the new font.
|
|
16
27
|
|
|
17
|
-
|
|
28
|
+
- **macOS.** Double-click the `.ttf`, then choose Install Font in the Font Book window.
|
|
29
|
+
- **Windows.** Right-click the `.ttf` and choose Install, or Install for all users.
|
|
30
|
+
- **Linux.** Copy the `.ttf` to `~/.local/share/fonts/`, then run `fc-cache -f`.
|
|
18
31
|
|
|
19
|
-
|
|
32
|
+
## Use a font in a document
|
|
20
33
|
|
|
21
|
-
|
|
22
|
-
| ----------------- | --------------------------------------------------------------------------------------------------------- | ------------- |
|
|
23
|
-
| U+13430–U+1343F | Egyptian Hieroglyph Format Controls, Unicode's own: Khelathi Zethu Glyphs' quadrat and cartouche controls | left to right |
|
|
24
|
-
| U+1E960–U+1E9FF | Khelathi Zethu Glyphs, overflow beyond its main block | right to left |
|
|
25
|
-
| U+1EA00–U+1EA3F | Qalezu: signs, digits and punctuation | right to left |
|
|
26
|
-
| U+1EA40–U+1EC6F | Khelathi Zethu Glyphs: signs, and its format controls at U+1EC60–U+1EC6F | right to left |
|
|
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 |
|
|
29
|
-
| U+F0000–U+F00FF | Pirzath | left to right |
|
|
30
|
-
| U+F0100–U+F01FF | Thuravark | left to right |
|
|
31
|
-
| U+F0200–U+F02FF | Semaron | left to right |
|
|
32
|
-
| U+F0300–U+F0FFF | Reserved for the remaining alphabets and syllabaries, 256 code points each as they are assigned | 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 |
|
|
36
|
-
| U+100000–U+10FFFD | Plane 16, unassigned | – |
|
|
34
|
+
Choose the font by its name, such as `Pirzath Carved`, in the font box of your word processor.
|
|
37
35
|
|
|
38
|
-
- **
|
|
39
|
-
- **
|
|
40
|
-
- **
|
|
36
|
+
- **Microsoft Word, LibreOffice Writer and Apple Pages** use an installed font directly. Word, LibreOffice and Pages all shape OpenType text, which the joined scripts need: Veldikko's letters join along the line and its vowel marks stand over them only in an app that shapes text this way.
|
|
37
|
+
- **Web apps such as Google Docs cannot use a font installed on your computer.** Use a desktop app, or put the text in a picture.
|
|
38
|
+
- **Right-to-left scripts** (Veldikko, Qalezu Hand and Khelathi Zethu Glyphs) run right to left on their own, mixed with English, with no setting to change.
|
|
39
|
+
- **Veldikko** has tall risers and long tails. Set its paragraphs to a line height of about 2.4 times the font size so lines do not collide.
|
|
40
|
+
- **Pirzath Hand and Thuravark Carved** each have an optional form, the OpenType stylistic set `ss01`. Turned on, Pirzath Hand draws a joining line under its letters and Thuravark Carved binds common pairs of staves onto one stem. In LibreOffice, write the font name as `Pirzath Hand:ss01` or `Thuravark Carved:ss01`.
|
|
41
|
+
- **Teng Chou** is written in columns. Set it as ordinary text on a line, or use your app's vertical text direction for columns.
|
|
41
42
|
|
|
42
|
-
##
|
|
43
|
-
|
|
44
|
-
The fonts are licensed under the SIL Open Font License 1.1; see `LICENSE`. Under it they may be embedded in web pages, documents and books, and bundled with software, without that work taking on the font's licence.
|
|
45
|
-
|
|
46
|
-
## Installing and using the fonts
|
|
47
|
-
|
|
48
|
-
The fonts are published to npm as `@heroiclands/fonts`. The package holds each font as WOFF2 and TrueType, `fonts.css` with one `@font-face` rule and one `hl-<font>` class per family, `fonts.json`, the manifest of the families, `keyboards/`, the keyboard layouts, Emacs input methods and cheatsheets for typing in them, and `charts/`, the cheatsheet of each font.
|
|
49
|
-
|
|
50
|
-
```sh
|
|
51
|
-
npm install @heroiclands/fonts
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Web.** Import the stylesheet from a bundler or a stylesheet, or link it:
|
|
55
|
-
|
|
56
|
-
```css
|
|
57
|
-
@import "@heroiclands/fonts/fonts.css";
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
```html
|
|
61
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@heroiclands/fonts@0/fonts.css" />
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
The jsDelivr form is `https://cdn.jsdelivr.net/npm/@heroiclands/fonts@<version>/<file>`. `@0` follows the newest 0.x release, and a full version pins one. A rule's URLs are relative, so every file resolves beside the stylesheet. A family is named by its font-family, such as `font-family: "Pirzath Carved"`.
|
|
65
|
-
|
|
66
|
-
**Foundry VTT.** A module ships the files it needs from its own folder, then registers each family either by importing `fonts.css` from its stylesheet or through `CONFIG.fontDefinitions`, so every client loads it:
|
|
43
|
+
## Type in a script
|
|
67
44
|
|
|
68
|
-
|
|
69
|
-
CONFIG.fontDefinitions["Pirzath Carved"] = {
|
|
70
|
-
editor: true,
|
|
71
|
-
fonts: [{ urls: ["modules/<module id>/fonts/PirzathCarved-Regular.woff2"] }],
|
|
72
|
-
};
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**Typst.** Point the compiler's font path at the package's `fonts/` folder, and name the family in `#set text(font: "Qalezu Hand")`:
|
|
76
|
-
|
|
77
|
-
```sh
|
|
78
|
-
typst compile --font-path node_modules/@heroiclands/fonts/fonts book.typ
|
|
79
|
-
```
|
|
45
|
+
Eight of the fonts have a keyboard layout that types by sound. You press the key for the sound, and the layout types the script's character for it: `t` types the script's t, Option+T types its th, and Shift makes a capital. Each layout is a standard US keyboard underneath, so the roman letters are the ones printed on the keys. **Option** is the Option key on a Mac and the **AltGr** key on Windows and Linux (the right Alt key; on a keyboard without one, hold Ctrl and Alt together).
|
|
80
46
|
|
|
81
|
-
|
|
47
|
+
Every layout has a printable cheatsheet with a picture of the keyboard and a table of every key:
|
|
82
48
|
|
|
83
|
-
|
|
49
|
+
| Layout | Types | Cheatsheet |
|
|
50
|
+
| -------------- | ---------------------------- | ---------------------------------------------------- |
|
|
51
|
+
| HL Pirzath | Pirzath Carved, Pirzath Hand | [keyboards/pirzath.md](keyboards/pirzath.md) |
|
|
52
|
+
| HL Thuravark | Thuravark Carved | [keyboards/thuravark.md](keyboards/thuravark.md) |
|
|
53
|
+
| HL Semaron | Semaron Kuriale | [keyboards/semaron.md](keyboards/semaron.md) |
|
|
54
|
+
| HL Helónika | Helonika Book | [keyboards/helonika.md](keyboards/helonika.md) |
|
|
55
|
+
| HL Vedyakshara | Vedyakshara Classical | [keyboards/vedyakshara.md](keyboards/vedyakshara.md) |
|
|
56
|
+
| HL Veldikko | Veldikko | [keyboards/veldikko.md](keyboards/veldikko.md) |
|
|
57
|
+
| HL Qalezu | Qalezu Hand | [keyboards/qalezu.md](keyboards/qalezu.md) |
|
|
84
58
|
|
|
85
|
-
|
|
59
|
+
[keyboards/index.md](keyboards/index.md) draws the keys they share. Install a layout, switch to it, and set the text's font to the matching font.
|
|
86
60
|
|
|
87
|
-
|
|
61
|
+
### Installing a keyboard layout
|
|
88
62
|
|
|
89
|
-
|
|
63
|
+
- **macOS.** Copy the `keyboards/macos/HeroicLands.bundle` folder to `~/Library/Keyboard Layouts/` (in Finder, choose Go, Go to Folder, and paste the path). Log out and back in. Open System Settings, Keyboard, Text Input, Input Sources, press the add button and look under English for the `HL` layouts. Switch layouts from the menu bar. Command and Control shortcuts keep working.
|
|
64
|
+
- **Windows.** Each layout is a source file, `keyboards/windows/<layout>.klc`, for Microsoft Keyboard Layout Creator, which builds the installer on Windows only. Install that free tool, open the `.klc` file in it, choose Project, then 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. Switch layouts with Windows key+Space.
|
|
65
|
+
- **Linux.** Each layout is an XKB symbols file, `keyboards/linux/hl_<layout>`. Copy the files to `~/.config/xkb/symbols/`. Under X11 run `setxkbmap -I$HOME/.config/xkb -layout hl_pirzath` (substitute the layout); a desktop that reads `~/.config/xkb` lists them as custom layouts. `setxkbmap us` returns to the usual layout.
|
|
66
|
+
- **Emacs.** `keyboards/emacs/heroiclands-<layout>.el` is an input method. Put the folder on `load-path`, evaluate `(require 'heroiclands-pirzath)`, then run `M-x set-input-method` and name `heroiclands-pirzath`. Emacs has no Option key, so Option+T is typed as a backslash and then `t`.
|
|
90
67
|
|
|
91
|
-
|
|
68
|
+
A few sounds are written with more characters than a Windows key (four UTF-16 code units) or a Linux key (one character) can hold. Those keys type nothing on that platform, and each cheatsheet lists them. macOS and Emacs type everything.
|
|
92
69
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
**Markup types itself.** In every layout on every platform, the characters Markdown and a span's `[text]{font=…}` need type themselves, as plain ASCII, at their U.S. positions: `` * _ [ ] { } ( ) = : | \ ~ ` ``. A note's markup is written without switching layouts, and no script draws it. `#` is not among them, because Shift+3 is Pirzath's numeral eleven. In Emacs the backslash key is the prefix of the Option chords, so a backslash is typed twice.
|
|
96
|
-
|
|
97
|
-
**Where the outputs come from.** `tools/sound_keys.json` puts each sound on its key and states the principles. `keyboards/sounds.json` gives each sound's output in each script; `tools/sounds.mjs` writes it by running each sound's spelling through the four mapping notes on thalorna's `origin/main` (`Lore/Scripts/Semaron_Spelling.md`, `Pirzath_Spelling.md`, `Thuravark_Spelling.md` and `Qalezu_Spelling.md`) with package-build's own mapping rules, the ones a run marked `map=` is set by. A vowel is spelled inside a word, between two _t_'s, and _y_ before an _a_, where it is the glide; so a vowel in Qalezu, which writes consonants only, types nothing. `tools/keyboards.py` writes the layouts from those two files, and the fonts build needs no thalorna checkout:
|
|
98
|
-
|
|
99
|
-
```sh
|
|
100
|
-
node tools/sounds.mjs --thalorna ~/dev/HeroicLands/thalorna --write
|
|
101
|
-
.venv/bin/python tools/keyboards.py
|
|
102
|
-
```
|
|
70
|
+
### Fonts without a keyboard
|
|
103
71
|
|
|
104
|
-
|
|
72
|
+
Teng Chou writes one character for each word or syllable, and Khelathi Zethu Glyphs has hundreds of pictorial signs, far more than a keyboard has keys. Open the font's chart ([Teng Chou](charts/teng-chou.md), [Khelathi Zethu Glyphs](charts/khelathi-zethu-glyphs.md)), find the character, and insert it by its code point, such as `U+1EA41`:
|
|
105
73
|
|
|
106
|
-
|
|
74
|
+
- **Word on Windows, and LibreOffice:** type the hex digits (`1EA41`) with the cursor after them and press Alt+X. The digits become the character.
|
|
75
|
+
- **macOS:** choose Edit, Emoji & Symbols to open the Character Viewer, search for the code point, and double-click the character. The Unicode Hex Input source also types a code point with Option and four hex digits.
|
|
76
|
+
- **Linux:** press Ctrl+Shift+U, type the hex digits, and press Enter.
|
|
77
|
+
- **Emacs:** `M-x set-input-method` with `heroiclands-zethu` types a Khelathi Zethu sign from its sign id, such as `08-001`; see [keyboards/zethu.md](keyboards/zethu.md).
|
|
107
78
|
|
|
108
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
79
|
+
Set the character's font to the matching font, or it shows as an empty box. Each chart lists every character with its code point and name.
|
|
115
80
|
|
|
116
|
-
##
|
|
81
|
+
## For programs
|
|
117
82
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
- **A code chart**, laid out like Unicode's charts: columns headed by the code point without its last hex digit, rows `0` to `F`, each cell holding the glyph above its code point, and a code point the font does not draw hatched. The grid runs left to right in every font. A long range is split into pages of eight columns, and a column with no character is left out.
|
|
121
|
-
- **A table** of Character Name, Character, Code Point (`U+05DC`), Entity (`ל`) and Hex Entity (`ל`), in code point order and grouped by kind.
|
|
122
|
-
|
|
123
|
-
The glyphs are outlines taken from the font, so a sheet reads without the font installed: `charts/<face folder>/chart-<n>.svg` and `.png` are the chart pages, `charts/<face folder>/glyphs/U+XXXX.svg` is one glyph for the table, and `charts/<face folder>.md` embeds both. Pirzath Hand Lifted is drawn with `ss01` off. Character names are Unicode-style (uppercase ASCII letters, digits, spaces and hyphens) and come from `tools/names/<script>.json`, one JSON object per script of `"U+XXXX": "NAME"` pairs, which `tools/write_css.py` writes into `fonts.json`. A script without that file has no names, and its table shows an empty Character Name cell. Khelathi Zethu Glyphs names a sign `ZETHU CHARACTER <n>`, where n is its code point's position in the font's code point space: U+1EA40 is `ZETHU CHARACTER 001`, and the overflow block U+1E960 to U+1E9FF continues after the main block. A format control takes Unicode's name at its Unicode code point, `EGYPTIAN HIEROGLYPH VERTICAL JOINER`, and the font's own at its twin, `ZETHU VERTICAL JOINER`. `tools/zethu_names.py` writes `tools/names/zethu.json`, so drawing a sign renames no other.
|
|
124
|
-
|
|
125
|
-
## Setting up
|
|
126
|
-
|
|
127
|
-
Install the dependencies, which also activates the repository's git hooks:
|
|
83
|
+
The fonts are on npm as `@heroiclands/fonts`, with the font files, `fonts.css`, the `fonts.json` manifest, the keyboards and the charts:
|
|
128
84
|
|
|
129
85
|
```sh
|
|
130
|
-
npm
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
Create the virtual environment:
|
|
134
|
-
|
|
135
|
-
```sh
|
|
136
|
-
python3 -m venv .venv
|
|
137
|
-
.venv/bin/pip install -r requirements.txt
|
|
138
|
-
```
|
|
139
|
-
|
|
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.
|
|
141
|
-
|
|
142
|
-
Build the fonts into `fonts/`. The build is reproducible, so the committed fonts match a fresh build byte for byte:
|
|
143
|
-
|
|
144
|
-
```sh
|
|
145
|
-
PATH=.venv/bin:$PATH ./build.sh
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
`build.sh` runs `fontmake` and compresses the `.woff2`, once per font (`PirzathCarved` shown), adding Khelathi Zethu Glyphs' quadrat layout between the two with `tools/khelathi-zethu-glyphs/layout.py`, then runs `tools/write_css.py`, which writes `fonts.css` and `fonts.json` from the built fonts' name tables and one table of per-family facts. `tools/keyboards.py` then writes `keyboards/` from `tools/sound_keys.json` and `keyboards/sounds.json` (see [Typing in the fonts](#typing-in-the-fonts)). `tools/charts.py` last writes `charts/` from `fonts.json` and the built fonts, and rasterizes the chart pages with `resvg-py`, pinned in `requirements.txt`:
|
|
149
|
-
|
|
150
|
-
```sh
|
|
151
|
-
export SOURCE_DATE_EPOCH=1767225600
|
|
152
|
-
fontmake -u sources/PirzathCarved.ufo -o ttf --keep-overlaps --no-production-names \
|
|
153
|
-
--output-path fonts/PirzathCarved-Regular.ttf
|
|
154
|
-
fonttools ttLib.woff2 compress -o fonts/PirzathCarved-Regular.woff2 fonts/PirzathCarved-Regular.ttf
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
Check the package holds exactly what it should, and that the formatting is clean:
|
|
158
|
-
|
|
159
|
-
```sh
|
|
160
|
-
npm run check:package
|
|
161
|
-
npm run format:check
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
Check the built fonts, render the specimens, and prove that each guard fails a broken font:
|
|
165
|
-
|
|
166
|
-
```sh
|
|
167
|
-
.venv/bin/python tools/pirzath/check_font.py
|
|
168
|
-
.venv/bin/python tools/pirzath-hand/check_font.py
|
|
169
|
-
.venv/bin/python tools/thuravark-carved/check_font.py
|
|
170
|
-
.venv/bin/python tools/qalezu-hand/check_font.py
|
|
171
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/check_font.py
|
|
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
|
|
178
|
-
.venv/bin/python tools/notdef_box.py
|
|
179
|
-
.venv/bin/python tools/vertical.py
|
|
180
|
-
.venv/bin/python tools/spacing.py # every face is set at a natural spacing; --report prints the measures
|
|
181
|
-
.venv/bin/python tools/font_names.py
|
|
182
|
-
.venv/bin/python tools/codepoints.py
|
|
183
|
-
.venv/bin/python tools/keyboards_guard.py --fixtures-only # the layouts type each sound's output, and nothing else
|
|
184
|
-
.venv/bin/python tools/charts_guard.py # every character is on its sheet; unnamed rows are listed
|
|
185
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/quadrats.py # quadrats and cartouches land where the layout puts them
|
|
186
|
-
.venv/bin/python tools/codepoints_chart.py # specimens/<face>/codepoints.png
|
|
187
|
-
.venv/bin/python tools/pirzath/specimens.py # specimens/pirzath/
|
|
188
|
-
.venv/bin/python tools/pirzath-hand/specimens.py # specimens/pirzath-hand/
|
|
189
|
-
.venv/bin/python tools/thuravark-carved/specimens.py # specimens/thuravark-carved/
|
|
190
|
-
.venv/bin/python tools/qalezu-hand/specimens.py # specimens/qalezu-hand/
|
|
191
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/specimens.py # specimens/khelathi-zethu-glyphs/
|
|
192
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/paint_guard.py # every drawn sign has a paint map
|
|
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
|
|
198
|
-
.venv/bin/python tools/prove_guards.py
|
|
199
|
-
```
|
|
200
|
-
|
|
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:
|
|
202
|
-
|
|
203
|
-
```sh
|
|
204
|
-
.venv/bin/python tools/pirzath/guard.py --thalorna /path/to/thalorna
|
|
205
|
-
.venv/bin/python tools/pirzath-hand/guard.py --thalorna /path/to/thalorna
|
|
206
|
-
.venv/bin/python tools/thuravark-carved/guard.py --thalorna /path/to/thalorna
|
|
207
|
-
.venv/bin/python tools/qalezu-hand/guard.py --thalorna /path/to/thalorna
|
|
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
|
|
86
|
+
npm install @heroiclands/fonts
|
|
211
87
|
```
|
|
212
88
|
|
|
213
|
-
|
|
89
|
+
On a web page, import the stylesheet and name a family:
|
|
214
90
|
|
|
215
|
-
```
|
|
216
|
-
|
|
91
|
+
```css
|
|
92
|
+
@import "@heroiclands/fonts/fonts.css";
|
|
217
93
|
```
|
|
218
94
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
Khelathi Zethu Glyphs is the temple hieroglyphs of the Khelathi, on U+1EA40 to U+1EC6F and written right to left. Its guard reads no lexicon: it shapes the sample inscriptions kept in `tools/khelathi-zethu-glyphs/samples.json`.
|
|
222
|
-
|
|
223
|
-
```sh
|
|
224
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/guard.py
|
|
95
|
+
```html
|
|
96
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@heroiclands/fonts@0/fonts.css" />
|
|
225
97
|
```
|
|
226
98
|
|
|
227
|
-
|
|
99
|
+
`@0` follows the newest 0.x release, and a full version pins one. A family is named by its font-family, such as `font-family: "Pirzath Carved"`, or by the `hl-<font>` class in `fonts.css`, which also turns on any OpenType feature the family needs and sets right-to-left families to run right to left.
|
|
228
100
|
|
|
229
|
-
|
|
230
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/paint_guard.py
|
|
231
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/paint.py
|
|
232
|
-
```
|
|
101
|
+
For Foundry VTT, Typst and the manifest's contents, see [DEVELOPING.md](DEVELOPING.md).
|
|
233
102
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
```html
|
|
237
|
-
<span class="hl-khelathi-zethu-glyphs">𞩁𞱠𞩂</span>
|
|
238
|
-
```
|
|
103
|
+
## Licence
|
|
239
104
|
|
|
240
|
-
|
|
105
|
+
The fonts are licensed under the SIL Open Font License 1.1; see `LICENSE`. Under it they may be used, embedded in web pages, documents and books, and bundled with software, without that work taking on the font's licence.
|
|
241
106
|
|
|
242
|
-
|
|
243
|
-
.venv/bin/python tools/khelathi-zethu-glyphs/quadrats.py
|
|
244
|
-
```
|
|
107
|
+
## Developing
|
|
245
108
|
|
|
246
|
-
|
|
109
|
+
To build the fonts, run the checks or add a font, see [DEVELOPING.md](DEVELOPING.md).
|
|
Binary file
|