mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
3.7 KiB
3.7 KiB
libfontconfig technical debt
Functional
- Font sets and object sets are based on disassembly of firmware 13.42
libfontconfig.sprx(SHA-25674d7414445f8687c1d22a92fa3c994d2e5fa304e6699dc84dcc5459af7da8472), not the stock desktop Fontconfig layout. Font-set capacity is stored in bytes, grows by sixteen pointers, and stops at 1024 entries; each insertion duplicates the caller's pattern. Object sets allocate their pointer arrays inline and preserve the original argument order with duplicated names. Host safety returns on null destroy and null add, where the firmware accesses pointers without such checks. Console runtime behavior beyond disassembly is not verified. - Pattern-dependent font-set operations require
FcPatternDuplicateandFcPatternDestroy, which still throw in this branch. PR #14435 supplies the real pattern operations; until it lands, only empty-set lifecycle and object sets work at runtime. Source-linked tests supply typed pattern duplication/destruction mocks and check independent ownership, 1024-capacity bounds, and ordering.
Callable exports
- Remaining callable exports - 48 of the 53 callable NIDs match the public 3.20 catalogue and the selected export metadata from two version-labelled images (SHA-256
3694ba82b2fbff0d5d789f91938906ebc8ee45262aaaba2b333d490f7e0c24ab). The labels are not authenticated. Prototypes and behavior are unverified; these declarations throw throughNotImplemented_nid_no_patchand implement no runtime functionality.
| Name | NID |
|---|---|
FcLangSetDestroy |
+6aV1q-CAIg |
FcPatternRemove |
+XnLLwt2q-Y |
FcPatternGetInteger |
2BFkLGmS+Ao |
FcConfigGetCurrent |
2M54M-SKV-k |
FcPatternGetBool |
3zWpyQga5N0 |
FcPatternAddBool |
6LGRGSLdSdQ |
FcFontList |
7+Gq-0xFybo |
FcFontSetMatch |
8DLBHeMsS1k |
FcConfigSubstitute |
8v4Xk2b+C1k |
FcPatternGetMatrix |
9x04OJBX0J0 |
FcInit |
AwGzFwnaitQ |
FcInitBringUptoDate |
Ck9k-L7rz-I |
FcPatternGetString |
CkZ778Hu6Ng |
FcFontRenderPrepare |
CvqQqWqcO-0 |
FcPatternAddDouble |
D-WphAs+Lh8 |
FcPatternDuplicate |
DPxdK61lRaE |
FcFontMatch |
FqneT2syjGE |
FcPatternFilter |
H9TOtqlqmHM |
FcConfigCreate |
HGtDYp4ddNE |
FcPatternGetFTFace |
HjlABSyLzNg |
FcPatternEqual |
HxFAszDPXuE |
FcCharSetSubtractCount |
J8GcxU03WkE |
FcPatternAddInteger |
LNzAovAnOd8 |
FcLangSetAdd |
Lsu4XJJ3V2o |
FcFontSort |
MApHziT-St4 |
FcCharSetMerge |
MafDsPXgY6k |
FcPatternGetCharSet |
NKrjlO4HBhg |
FcCharSetDestroy |
Nw0ilSm8FxY |
FcPatternDel |
Om2ww9GOmes |
FcConfigDestroy |
Oor7ukCXZOE |
FcPatternReference |
QZuEIDVT42s |
FcPatternGet |
Xmsz9ffM-9g |
FcPatternAddMatrix |
Zqa5tqMhOrI |
FcPatternAddString |
bU30lh8YpkE |
FcLangSetHasLang |
gbtAblHLpQg |
FcCharSetCreate |
hNyN1seFzWY |
FcLangSetCreate |
jjz2C1StauM |
FcFreeTypeCharIndex |
l240XTbw2vk |
FcPatternDestroy |
nVkAFM4iCS4 |
FcCharSetAddChar |
nXYd1oE9ZM0 |
FcMatrixMultiply |
oM+8JNTrd24 |
FcPatternAddCharSet |
paHcj4DoPQ4 |
FcDefaultSubstitute |
sqEJZ2yMVNw |
FcPatternAddLangSet |
vqX-PYS3MPc |
FcPatternGetLangSet |
x55q-bC-i+8 |
FcPatternCreate |
xGAEbwA7FNo |
FcConfigReference |
yQed09jA3VA |
FcPatternFormat |
zqe0Dw9BCpc |