mirror of
https://github.com/priyanshujain/margin-docs.git
synced 2026-10-02 11:07:05 +00:00
feature fixes
This commit is contained in:
1 parent
586ee946d0
commit
c1c47bc513
63 files changed
+12083
-229
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# Where these faces came from
|
||||
|
||||
Nine static instances, cut from the four variable fonts in `public/fonts/` that the editor renders
|
||||
with. Same designs, same licence, same bytes underneath: the only difference is that a weight axis
|
||||
has been pinned rather than left open.
|
||||
|
||||
They exist because Typst does not support a variable axis. It warns that it does not, then lays the
|
||||
text out at the default instance whatever weight was asked for, so a PDF set from the variable files
|
||||
has its headings, its bold runs and its callout labels all at 400 and no visible hierarchy at all.
|
||||
|
||||
They live here rather than in `public/fonts/` because nothing in the webview loads them. Everything
|
||||
under `public/` is copied into the frontend bundle, and these are compiled into the binary by
|
||||
`src-tauri/src/pdf.rs`, so keeping them here ships them once instead of twice.
|
||||
|
||||
To regenerate after updating a variable font, with fonttools installed:
|
||||
|
||||
```python
|
||||
from fontTools.ttLib import TTFont
|
||||
from fontTools.varLib import instancer
|
||||
|
||||
font = TTFont("public/fonts/Literata-VF.ttf")
|
||||
instancer.instantiateVariableFont(font, {"wght": 600, "opsz": 12}, inplace=True)
|
||||
# then set name IDs 1, 2, 4, 6, 16 and 17 to the family and style, and save.
|
||||
font.save("src-tauri/fonts/Literata-SemiBold.ttf")
|
||||
```
|
||||
|
||||
Literata pins `opsz` to 12, which is its own default and the size the body text is set at. The
|
||||
weights are 400, 600 and 700 upright and 400 and 700 italic for Literata, and 400 and 700 in both
|
||||
slopes for Hanken Grotesk, which are the weights `src/export/typst.ts` asks for. Typst falls back to
|
||||
the nearest weight it has, so a face that is missing is a heading that comes out too heavy rather
|
||||
than an export that fails.
|
||||
Reference in new issue
Block a user