You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Text backends (font/backend.odin, docs/font-backend.md): the font package shapes, analyses (scripts, bidi, line breaks) and reads faces (coverage, metrics, glyph boxes, Slug outlines) through Text_Backend, a table of procedures, and finds the system's fonts (fallback, font.system_families) through System_Fonts, the platform's. DirectWrite is the dwrite backend (font/backend_dwrite.odin, the code moved, not changed: the corpus dump of tools/text_dump is byte-identical before and after); other platforms get an "unsupported" system stub (font/system_other.odin, TODO fontconfig / CoreText). Settings.backend (init only), font.backend, font.backend_available, font.face_metrics.
tools/text_corpus, tools/text_dump: a multilingual corpus (Latin with ligatures and kerning, Cyrillic, Greek, Arabic, Hebrew, Devanagari, Thai, Lao, Khmer, Myanmar, Chinese, Japanese, Korean, emoji sequences, a variable font, fallback) and a dump of everything the package says about it (glyphs, clusters, widths, metrics, bidi levels, line breaks), to diff two builds.
Changed
Font.features (cascade features) are []Feature instead of DirectWrite's structure; the system fallback and the script analysis of ASCII text go through the backend.