Typsastra Enhanced Unicode Engine v0.4.0¶
This release compacts the physical TrueType glyph namespace used by logical Unicode text while preserving v0.3's public API, semantic ordering, visual positioning, and standard two-byte PDF character codes.
Source identity¶
- Engine version:
0.4.0 - Typst CLI compatibility:
0.15.1 - Enhanced Typst revision:
821bf1bf6ad099531219647b268342fc87851a8b - Enhanced Krilla revision:
bb0873416484587814b9ecb682e262056f8effe2 - License: Apache-2.0
Changes since v0.3.1¶
- Embed only source glyphs used by each logical-font shard, including their transitive TrueType component dependencies.
- Reuse compact source-backed glyphs when a logical unit has one unpositioned component with its nominal advance.
- Retain synthetic composite glyphs for positioned, multi-component, or advance-adjusted visual units.
- Map semantic CIDs to compact embedded glyph IDs explicitly, allowing different Unicode sequences to share the same visual glyph without making extraction ambiguous.
- Track semantic-CID and embedded-glyph capacity independently so large source font namespaces do not force premature logical-font sharding.
The controlled v3-to-v4 Krilla corpus produced 85 pixel-identical rendered pages and byte-identical Poppler raw extraction. Embedded glyph counts fell from 2,707 to 2,279, and every fixture remained within 1.01% of its v3 PDF size. These measurements qualify the namespace change without changing the published viewer-compatibility claims.
PDF viewer compatibility¶
v0.4.0 carries forward the same published Khmer viewer compatibility data. No
viewer result is upgraded or downgraded by the glyph-namespace compaction. The
source article contains 12 occurrences of the search term អក្សរ:
| Viewer | Tested version | Render | Selection | Copy/paste | Search |
|---|---|---|---|---|---|
| Chrome | 151.0.7922.174 (Official Build, 64-bit) | Pass | Pass | Pass | 12/12 |
| Brave | 1.94.117 (Official Build, 64-bit) | Pass | Pass | Pass | 12/12 |
| Microsoft Edge | 151.0.4129.107 (Official build, 64-bit) | Pass | Pass | Pass | 12/12 |
| Okular | 25.08.1 | Pass | Pass | Pass | Pass |
| SumatraPDF | 3.6.1 | Pass | Pass | Pass | Pass |
| Adobe Acrobat | 2022.001.20085 | Pass | Pass | Pass | 6/12 |
| Firefox | 154.0.1 (64-bit) | Pass | Partial | Partial | 0/12 |
| ONLYOFFICE Desktop Editors Community | 9.3.1.8 (x64 exe) | Pass | Pass visually | Fail | 0/12 |
| Typsastra | 0.8.0 | Pass | Pass | Pass | 12/12 |
These are the unchanged results from the original published matrix. They preserve the existing compatibility results while recording the tested application versions. The operating systems used for the original matrix were not recorded.
Platform packages¶
The release workflow builds ZIP packages for Windows x64, Linux x64, Linux
ARM64, macOS x64, and macOS ARM64. Each package contains the compatible typst
executable, the Apache-2.0 license, and exact source metadata. The generated
enhanced-unicode-manifest.json records each archive's byte length and SHA-256
digest for Typsastra's managed installer.
Validation¶
Every platform build must:
- report the expected Typst 0.15.1 CLI version,
- compile Typsastra's multilingual Enhanced Unicode fixture,
- compile the wide repeated-fill regression fixture, and
- compile PDFs for every supported base PDF version, PDF/A profile, and PDF/UA-1 combination before the release is published.
The release gate covers PDF 1.4, 1.5, 1.6, 1.7, and 2.0; all eleven PDF/A profiles exposed by Typst; PDF/UA-1; and compatible PDF/A-2a+PDF/UA-1 and PDF/A-3a+PDF/UA-1 combinations. The Linux x64 artifacts are independently checked with pinned veraPDF 1.30.2. Publication is blocked unless every claimed PDF/A and PDF/UA profile is reported compliant.
Scope¶
This optional engine is used only for explicit PDF export. Tinymist remains the compiler and language service for live preview, autocomplete, diagnostics, and source synchronization.