@heroiclands/fonts 0.1.0 → 0.1.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.
package/README.md CHANGED
@@ -4,6 +4,8 @@ Fonts for the scripts of the HeroicLands settings, drawn from scratch so that a
4
4
 
5
5
  Pirzath Carved and Thuravark Carved draw their script over the setting's Latin spelling. Text stays plain, readable and searchable, and a passage switches to the script by its font alone. A letter pair that the spelling uses for one sound, such as _th_ or _kh_, draws the single letter for that sound.
6
6
 
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
+
7
9
  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.
8
10
 
9
11
  ## Licence
@@ -64,7 +66,7 @@ python3 -m venv .venv
64
66
  .venv/bin/pip install -r requirements.txt
65
67
  ```
66
68
 
67
- The source of each font is a UFO under `sources/`: `PirzathCarved.ufo`, `PirzathHand.ufo`, `ThuravarkCarved.ufo`, `QalezuHand.ufo` and `KhelathiZethuGlyphs.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.
69
+ 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.
68
70
 
69
71
  Build the fonts into `fonts/`. The build is reproducible, so the committed fonts match a fresh build byte for byte:
70
72
 
@@ -96,6 +98,7 @@ Check the built fonts, render the specimens, and prove that each guard fails a b
96
98
  .venv/bin/python tools/thuravark-carved/check_font.py
97
99
  .venv/bin/python tools/qalezu-hand/check_font.py
98
100
  .venv/bin/python tools/khelathi-zethu-glyphs/check_font.py
101
+ .venv/bin/python tools/semaron-kuriale/check_font.py
99
102
  .venv/bin/python tools/notdef_box.py
100
103
  .venv/bin/python tools/font_names.py
101
104
  .venv/bin/python tools/pirzath/specimens.py # specimens/pirzath/
@@ -103,16 +106,18 @@ Check the built fonts, render the specimens, and prove that each guard fails a b
103
106
  .venv/bin/python tools/thuravark-carved/specimens.py # specimens/thuravark-carved/
104
107
  .venv/bin/python tools/qalezu-hand/specimens.py # specimens/qalezu-hand/
105
108
  .venv/bin/python tools/khelathi-zethu-glyphs/specimens.py # specimens/khelathi-zethu-glyphs/
109
+ .venv/bin/python tools/semaron-kuriale/specimens.py # specimens/semaron-kuriale/
106
110
  .venv/bin/python tools/prove_guards.py
107
111
  ```
108
112
 
109
- 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, and Qalezu's converts the Khelathi lexicon from Latin first. Each reads its lexicon from the `origin/main` of a local thalorna checkout, `~/dev/HeroicLands/thalorna` by default:
113
+ 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. Each reads its lexicon from the `origin/main` of a local thalorna checkout, `~/dev/HeroicLands/thalorna` by default:
110
114
 
111
115
  ```sh
112
116
  .venv/bin/python tools/pirzath/guard.py --thalorna /path/to/thalorna
113
117
  .venv/bin/python tools/pirzath-hand/guard.py --thalorna /path/to/thalorna
114
118
  .venv/bin/python tools/thuravark-carved/guard.py --thalorna /path/to/thalorna
115
119
  .venv/bin/python tools/qalezu-hand/guard.py --thalorna /path/to/thalorna
120
+ .venv/bin/python tools/semaron-kuriale/guard.py --thalorna /path/to/thalorna
116
121
  ```
117
122
 
118
123
  Qalezu's character map follows from `encoding.json`; after editing that file, `.venv/bin/python tools/qalezu-hand/apply_encoding.py` rewrites the UFO's code points, and `--check` reports a disagreement.
Binary file
package/fonts.css CHANGED
@@ -26,6 +26,13 @@
26
26
  font-display: swap;
27
27
  }
28
28
 
29
+ @font-face {
30
+ font-family: "Semaron Kuriale";
31
+ src: url("fonts/SemaronKuriale-Regular.woff2") format("woff2"),
32
+ url("fonts/SemaronKuriale-Regular.ttf") format("truetype");
33
+ font-display: swap;
34
+ }
35
+
29
36
  @font-face {
30
37
  font-family: "Thuravark Carved";
31
38
  src: url("fonts/ThuravarkCarved-Regular.woff2") format("woff2"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heroiclands/fonts",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Fonts for the HeroicLands settings' scripts, drawn from scratch and licensed under the SIL OFL 1.1.",
5
5
  "license": "OFL-1.1",
6
6
  "type": "module",