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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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