mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-08 13:50:20 +00:00
4.3 KiB
4.3 KiB
libfontconfig technical debt
Unknown function info
- FcCharSet and FcMatrix exports (libfontconfig) -
FcCharSetCreate,FcCharSetDestroy,FcCharSetAddChar,FcCharSetMerge,FcCharSetSubtractCountandFcMatrixMultiplyfollow the public fontconfig.h, fccharset.c and fcmatrix.c. The module's fontconfig version is unknown and no console or title caller was read. Character sets hold no reference count and no constant state, because nothing exported here can share one yet.
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 - 42 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 |
FcPatternAddInteger |
LNzAovAnOd8 |
FcLangSetAdd |
Lsu4XJJ3V2o |
FcFontSort |
MApHziT-St4 |
FcPatternGetCharSet |
NKrjlO4HBhg |
FcPatternDel |
Om2ww9GOmes |
FcConfigDestroy |
Oor7ukCXZOE |
FcPatternReference |
QZuEIDVT42s |
FcPatternGet |
Xmsz9ffM-9g |
FcPatternAddMatrix |
Zqa5tqMhOrI |
FcPatternAddString |
bU30lh8YpkE |
FcLangSetHasLang |
gbtAblHLpQg |
FcLangSetCreate |
jjz2C1StauM |
FcFreeTypeCharIndex |
l240XTbw2vk |
FcPatternDestroy |
nVkAFM4iCS4 |
FcPatternAddCharSet |
paHcj4DoPQ4 |
FcDefaultSubstitute |
sqEJZ2yMVNw |
FcPatternAddLangSet |
vqX-PYS3MPc |
FcPatternGetLangSet |
x55q-bC-i+8 |
FcPatternCreate |
xGAEbwA7FNo |
FcConfigReference |
yQed09jA3VA |
FcPatternFormat |
zqe0Dw9BCpc |