Commit Graph
22 Commits
Author SHA1 Message Date
hypermistandClaude Opus 5.5 dfc3c4e5f6 Merge remote-tracking branch 'origin/feat/font-get-font-style-information' into feat/font-get-glyphs-outline-profile
Dropped the pre-restructuring struct block; the outline profile stub stays removed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:33:09 +13:00
hypermistandClaude Opus 5.5 4e8c077237 Merge remote-tracking branch 'upstream/main' into feat/font-get-font-style-information
Kept main's Api.hpp declarations and dropped the duplicated struct block from Unimplemented.cpp.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 13:22:32 +13:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
hypermistandClaude Opus 5.5 928729bdfb feat(libSceFont): report the glyph outline profile through the FreeType driver
sceFontGetFontGlyphsOutlineProfile reports the maxp maximum contours,
points, composite contours and composite points through the driver slot
at SysDriver+0x70, as libSceFont and libSceFontFt do in firmware 13.60.
A maxp older than 1.0 returns SCE_FONT_ERROR_NO_SUPPORT_FUNCTION, and a
failed call clears the output. Font-set records, which the console
merges over system font entries, still throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 22:02:15 +13:00
hypermistandClaude Opus 5.5 2dd8d4902d feat(libSceFont): report font style information through the FreeType driver
sceFontGetFontStyleInformation fills the 24-byte style block through the
driver slot at SysDriver+0x48, as libSceFont and libSceFontFt do in
firmware 13.60: the FreeType family and style names, the italic and bold
flags, the OS/2 weight class when it is a multiple of 100 from 100 to 900,
the width class below 10, and 1 plus a right-to-left head direction plus
0x80 for vertical metrics. A font-set record supplies the same fields
directly. A failed call points both names at an empty string and clears
the rest.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 18:30:38 +13:00
hypermistandClaude Opus 5.5 da04d2eede feat(libSceFont): report font metrics through the FreeType driver
sceFontGetFontMetrics fills the 64-byte metrics block through a new
driver slot at SysDriver+0x98, as libSceFont and libSceFontFt do in
firmware 13.60. Form 1 reads hhea, 2 the OS/2 typographic values, 3 the
OS/2 Windows values and 4 the vertical values from vhea or OS/2; 2 and 3
fall back to hhea when OS/2 is missing or gives an empty range. The
bounding box, em size, raw weight deltas and slant follow. A failed call
clears the block and sets both weights to 1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 18:11:40 +13:00
Dean 560e0c4a55 Merge pull request #9428 from MarcZX10/feat/fontft-truetype-gx-probe
feat(libSceFontFt): report TrueType GX support
2026-10-23 12:58:59 +13:00
Dean a661d12e30 Merge pull request #8375 from orezraey/fix/font-system-fonts-wide-env
fix(libSceFont): open fonts and the system font directory under non-ASCII paths on Windows
2026-10-23 08:54:15 +13:00
MarcZX10 173603428d feat(libSceFontFt): report TrueType GX support 2026-10-21 21:44:31 +00:00
boykopovar 512ae7f80f fix(font): use 32-bit resolution in driver callbacks 2026-10-21 21:54:22 +03:00
boykopovar 41e386a495 fix(fontft): restore library arguments and validate format queries 2026-10-21 21:49:59 +03:00
orezraeyandClaude Opus 5.5 2d1a3e5187 fix(libSceFontFt): map font files through CreateFileW as FreeType's Windows stream does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 09:22:14 -03:00
orezraeyandClaude Opus 5.5 162a705447 fix(libSceFont): open fonts and the system font directory under non-ASCII paths on Windows
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 08:42:54 -03:00
capmare 2be7b0769a feat(libSceFontFt): implement the font format support exports 2026-10-15 16:30:32 +02:00
LeandroLP23andClaude Opus 5.5 34ba33faf7 feat(font): implement sceFontGetFontGlyphsCount and sceFontGetCharGlyphCode
Report the face's glyph count and the glyph index of a character through
the library's driver; the FreeType driver gains its glyphs_count entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 09:23:44 +02:00
Dean Galvin 9d4e6d2f28 feat(font): open system font sets from a font directory
sceFontOpenFontSet failed for every set type, so PPSA21564 drew no text
in system fonts (the title screen copyright line, credits, button
guides). It now loads the set's primary font file from
ANYPS5_SYSTEM_FONTS, or anyps5-fonts beside the executable: console
files under their own names first, then openly licensed substitutes
(Noto Sans, Noto Sans Mono, Noto Sans Thai, Noto Sans CJK). The
PS5-only JG2 set types are accepted.

System font handles use the system font context. Their faces are
loaded by FreeType in host memory: about 1 MiB per CJK face does not
fit the font memory the title sizes for the console's fonts, and
sceFontCreateRenderer then failed with ALLOCATION_FAILED. Handles of
the same font file share one copy of its bytes.
2026-10-06 10:27:09 +13:00
SamG-Coder 95bc3e6d73 fix(font): build PS5 module-named font libraries
(cherry picked from commit bfc08b5372b9b5e73dc0b277897799e0ee86c843)
2026-09-29 10:36:48 +10:00
Dean GalvinandClaude Opus 5.5 588b5bb2bf build(font): build FreeType from a submodule instead of requiring a system package
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01ButHENCbXXt8h4EZuWUabJ
2026-09-28 22:03:39 +13:00
Dean GalvinandClaude Opus 5.5 00e4f7678d feat(font): port shadPS4's sceFont and sceFontFt on FreeType
Ported from shadPS4 (GPL-2.0-or-later) with system fonts removed, stubs made to throw,
and sceFontCloseFont implemented.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01ButHENCbXXt8h4EZuWUabJ
2026-09-28 16:45:30 +13:00
boykopovar abc72da741 feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
boykopovar 6123893998 feat(libs): throw not impl ex in every stub 2026-09-06 15:05:04 +03:00
boykopovar 59bee8d187 feat(libs): add libs function signatures 2026-08-20 23:18:16 +03:00