* 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>
* graphics: give InlinePageOwnerList's const_iterator iterator traits
The Linux build failed in textureCache.cpp: std::any_of over the image
owners of a page needs std::iterator_traits, which libstdc++ only fills
from the iterator's own member types. MSVC's STL and libc++ don't
consult them there, so Windows and macOS built.
Declare the five member types. The category is input, not forward,
because operator* returns a copy.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* tests: assert InlinePageOwnerList's const_iterator has an input category
Only libstdc++ needs the iterator traits for std::any_of, so removing
them would compile on Windows and macOS and break only the Linux build.
The assert fails the build on every platform instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* tests: serve SRT walker test loads on macOS too
FakeGuestMemory only installed its fault handler on Linux and Windows,
so on macOS the walker's deliberately faulting loads crashed
scalar_provenance, resource_materialization and resource_tracking.
Share the Linux sigaction path with macOS, read the registers from the
macOS thread state, and catch SIGBUS as well as SIGSEGV there, like the
emulator's own handler.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>