Skip to content

gui_toolkit 0.37.0

Choose a tag to compare

@sachahjkl sachahjkl released this 26 Oct 03:15
· 409 commits to master since this release
v0.37.0
c70998e

Added

  • 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.