openpencil/packages/docs/programmable
Danila Poyarkov d4f34abdb2
fix(fonts): explain PingFang substitution and draw its CJK text (#781)
* fix(text): request script fallbacks for substituted text

When a text's font could not be loaded and the default family
substituted for it, font readiness returned before checking glyph
coverage. That check is what requests CJK and Arabic fallbacks, so text
such as Chinese in an unavailable PingFang SC drew missing glyphs unless
another layer happened to request the fallback first.

Substituted text now observes glyph coverage too. It waits while a
fallback loads and stays visible when none is available.

* fix(fonts): explain installed fonts with unsupported outlines

On macOS 15 and later PingFang ships only `hvgl` outlines, which neither
font-kit nor CanvasKit can read. The desktop loader spent over a second
parsing the collection per style, and the font banner showed PingFang as
substituted with no explanation.

The loader now reads the family's table directories first and returns a
structured unsupported-format error. The font manager records it per
face, document font status exposes it as `reason`, and the banner shows
it inline with the full explanation in a tooltip. The resolver reports
progress after each failed candidate so the banner updates before web
font lookups finish.

* fix(fonts): keep the unsupported-format reason after failed retries

A later host attempt that returns no font no longer clears the reason; only a loaded face does.
2026-09-26 11:14:30 +04:00
..
cli fix: use official Homebrew cask installation guidance (#712) 2026-09-17 13:36:17 +03:00
sdk feat(updater): show download progress while installing an update 2026-09-25 23:15:14 +04:00
ai-chat.md feat(settings): configure tool access, MCP failures, and step limits 2026-09-17 23:55:58 +03:00
byok-provider-compatibility.md docs(ai): tighten BYOK compatibility probes 2026-08-05 16:23:23 +03:00
collaboration.md Add Programmable docs section with CLI, JSX, MCP, AI, Collab 2026-03-08 13:22:36 +03:00
index.md feat: open documents and layers from openpencil:// and web links (#708) 2026-09-18 14:45:49 +03:00
jsx-renderer.md refactor: share design authoring guidance across agents 2026-09-13 19:08:27 +03:00
mcp-server.md fix(fonts): explain PingFang substitution and draw its CJK text (#781) 2026-09-26 11:14:30 +04:00
native-api.md refactor: share design authoring guidance across agents 2026-09-13 19:08:27 +03:00