Optional module · pdftoolkit/pdf-fonts 0.1.7
English | Français
Unreleased
0.1.7 — 2026-10-14
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5 || ^0.6. - Locks release validation to published core
0.5.5without changing development tool versions or commits. - Checks the unchanged module against the core 0.6 candidate on PHP 8.3, 8.4 and 8.5.
- Preserves the TrueType conversion API, supported programs and limits; output PDF version rules remain in the core.
0.1.6 — 2026-10-14
Bilingual documentation
- Makes English the default language for the README, guides and complete release history.
- Adds complete French counterparts with reciprocal language links and French documentation entrypoints.
- Translates explanatory example comments while preserving executable tokens and output data.
- Locks validation to published core 0.5.4 without changing other dependency versions or commits.
- Preserves API identifiers, original fixtures and runtime behaviour.
0.1.5 — 2026-10-14
Installation and publication
- Publishes the package on Packagist and reduces installation to one
composer requirecommand in an application. - Uses default Composer repositories and connects package metadata to its
documentation at
https://pdftoolkit.github.io/. - Locks checks to stable core
roukmoute/pdf:0.5.3without changing development tool versions. - Verifies indexing of published versions and installation without VCS or local repositories. Preserves the PHP API, existing mechanisms and limits.
0.1.4 — 2026-10-14
Documentation
- Connects shared documentation to
https://pdftoolkit.github.io/and adds the stable fonts entrypoint at/modules/fonts/. - Entrusts shared guides and site publication to
PDFToolkit/pdftoolkit.github.io, with module sources pinned to their published versions and exact commits. - Corrects README compatibility information to reflect the existing
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5constraint. - Preserves the API, conversions, dependencies and their locked versions; this release changes documentation only.
0.1.3 — 2026-10-13
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4 || ^0.5. - Locks checks to published core
0.4.0under PHP 8.3, 8.4 and 8.5. - Preserves the fonts API and limits; no additional font-format processing is added by this compatibility patch.
0.1.2 — 2026-10-13
Compatibility
- Accepts stable core
roukmoute/pdf:^0.2 || ^0.3 || ^0.4. - Preserves the module API and external-data processing boundary.
- Checks stable core 0.3.0 and new core 0.4 objects in development under PHP 8.3, 8.4 and 8.5.
0.1.1 — 2026-10-13
Compatibility
- Accepts core
roukmoute/pdf:^0.2 || ^0.3, allowing installation with new PDF objects in the 0.3 series without changing the module API. - Revalidates tests and independent PDFs with stable core
0.2.1. No reading or conversion mechanism is added by this patch.
0.1.0 — 2026-10-13
First release of pdftoolkit/pdf-fonts, under PDF\Fonts\TrueType.
The module depends on core roukmoute/pdf:^0.2, which retains normalised PDF
objects; the core does not depend on font converters.
Added
- Thirteen components to parse an external TrueType program and explicitly produce its PDF values.
- Reading sfnt tables, horizontal metrics,
glyfoutlines, Unicodecmapmappings and font names. - Validation of table bounds and overlaps, glyph references, cycles and composite glyph depth.
- Configurable input budget with
FontProgramLimitsand UTF-8 text validation; no implicit file or URL access. fsTypeembedding permission checks.- Program conversion for
/CIDFontType2, preserving all glyphs while removingcmapandDSIG, then rebuilding checksums. - Instantiated factories for descriptors and CID/GID mappings, with metric conversion to PDF units and embedded program verification.
- Explicit Identity-H encoding of the declared Unicode repertoire, without implicit font mutation.
- Complete example with OFL-licensed Noto Sans and a synthetic MIT fixture.
- Tests of invalid inputs, limits and PDF output; checks on PHP 8.3, 8.4 and 8.5.
Supported programs are static TrueType fonts with glyf outlines, on 64-bit
PHP. Collections, CFF, WOFF and variable fonts are rejected. Subsetting,
contextual shaping, ligatures, kerning and vertical writing are not implemented.