* cmake: download Noto Sans at configure time
Fetch the hinted Regular, Bold, Italic and Bold Italic of Noto Sans
v2.015 and their licence from the Noto project's font distribution
(notofonts.github.io) with FetchContent, like the other third-party
dependencies. The commit and each file's SHA-256 are pinned in
variables.
Only these four styles are needed, so they are fetched individually
instead of through the release archive (117 MB, every style and build).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* cmake: ship Noto Sans beside the emulator
Copy the downloaded fonts to assets/fonts next to kyty_emulator on every
build, like the touch cursors and the trophy sound, and install them
there with the SIL Open Font License under licenses/noto-sans.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* libFont: fall back to the shipped Noto Sans instead of Tracy's Roboto
Fonts stb_truetype cannot read, including every system font set opened
with sceFontOpenFontSet, used Roboto from Tracy's source folder, found
relative to the source tree or the working directory. Installed builds
have neither, so their system fonts drew every character as '?'.
Load Noto Sans Regular, Bold, Italic or Bold Italic from assets/fonts
next to the emulator instead, and log when a file is missing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* libFont: fetch Noto Sans with file(DOWNLOAD) and drop the style substitution
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: nmzik <Nmzik@mail.ru>
Glyph images were rendered into a fixed 128x128 buffer and their width and
height were clamped to 128. Since glyphs are rasterized at the requested
scale (f96a14a0), large text such as title cards lost every row and column
past 128 pixels, so letters were drawn cut into bands.
The glyph buffers now grow to the glyph's bitmap box and width_byte is the
glyph's width. The VGA fallback font keeps its 128-pixel limit; scalable
glyphs are limited to 4096 pixels only to reject absurd scales.