mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-25 10:39:01 -06:00
Type0Font::new built its FallbackFontQuery from the Type 0 font dictionary, which has no /FontDescriptor (ISO 32000-2 §9.7.6.1, Table 119); the descriptor belongs to the descendant CIDFont (§9.7.4.1, Table 115). Every request for a non-embedded CID font therefore said not serif, not italic, weight 400, and no resolver could tell a Song or Mincho font from a Hei or Gothic one, or see /FontWeight 700 (§9.8, Tables 120, 121). FallbackFontQuery::with_descriptor takes the name from the font dictionary and the style from the given descriptor; new() calls it with the dictionary's own descriptor, so simple fonts are unchanged. The CID path passes the descendant's descriptor it already reads. Vendored hayro-interpret patch (58). Tests in crates/render/tests/it/cid_fallback_query.rs record the request a font_resolver receives. The CID-fonts parity note now says the Japanese face also follows the Serif flag and /FontWeight. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0175FWj4xFhMhSH3UpMU8DSC