diff --git a/CHANGELOG.md b/CHANGELOG.md index 872ec0c7..739a12a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,19 @@ change type. Preview the next one with `ludic dev release --dry-run`. A released section may carry a hand-written summary paragraph above its groups (v0.2.0 has one); the generated bullets below it are not edited by hand. +## v0.14.0 — 2026-09-13 + +### Features + +- **Overlay text is UTF-8, and a font atlas can carry any script** — `ludic.render3d`'s `ov_text`, + `ov_text_w` and `ov_text_wrap` decode UTF-8 instead of drawing bytes 32–126, so a game can show + Turkish, German, Polish, Greek, Cyrillic or whatever its atlas holds. + + - `font.json` may list the atlas's code points in `"codes"` (atlas order). An atlas without it is + read as before: consecutive code points from `"first"`, so existing ASCII fonts keep working. + - A code point the atlas lacks draws as `?`; a control character as a space; a malformed or + cut-off sequence as one `?`, so a string sliced mid-character still draws. + - `overlay_font(dir)` loads or swaps the atlas at run time, for a language that brings its own font. ## v0.13.3 — 2026-09-13 ### Performance diff --git a/VERSION b/VERSION index 288adf53..a803cc22 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.13.3 +0.14.0 diff --git a/changes/overlay-utf8-fonts.md b/changes/overlay-utf8-fonts.md deleted file mode 100644 index 1a5634c0..00000000 --- a/changes/overlay-utf8-fonts.md +++ /dev/null @@ -1,11 +0,0 @@ -bump: minor -type: feat -**Overlay text is UTF-8, and a font atlas can carry any script** — `ludic.render3d`'s `ov_text`, -`ov_text_w` and `ov_text_wrap` decode UTF-8 instead of drawing bytes 32–126, so a game can show -Turkish, German, Polish, Greek, Cyrillic or whatever its atlas holds. - -- `font.json` may list the atlas's code points in `"codes"` (atlas order). An atlas without it is - read as before: consecutive code points from `"first"`, so existing ASCII fonts keep working. -- A code point the atlas lacks draws as `?`; a control character as a space; a malformed or - cut-off sequence as one `?`, so a string sliced mid-character still draws. -- `overlay_font(dir)` loads or swaps the atlas at run time, for a language that brings its own font.