{ "reference": "EterLib/GrpFontTexture.cpp", "reference_sha256": "d50b85e6e494b2e2a10289f40a5ebc518be03e1e73d60cd7463fd2dc5032ba00", "priority": "P4", "contracts": [], "functions": { "CGraphicFontTexture::CGraphicFontTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CGraphicFontTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::~CGraphicFontTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::~CGraphicFontTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Initialize": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Initialize" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::IsEmpty": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::IsEmpty" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Destroy": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Destroy" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250 deletes fonts/pages. PORT also unregisters the live raster atlas and deletes oversampled twins; rebuilding preserves cached character-info node addresses. See docs/MAC-UI-CLARITY.md and audit/evidence/2026-09-30-mac-ui-clarity.md." }, "CGraphicFontTexture::CreateDeviceObjects": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CreateDeviceObjects" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::DestroyDeviceObjects": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::DestroyDeviceObjects" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Create": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Create" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250 retains logical font metrics and atlas dimensions. PORT allocates 1–4x raster pages and registers successful atlases for monitor-density refresh; port.text verifies unchanged width/height/advance and stable glyph pointers. See docs/MAC-UI-CLARITY.md and audit/evidence/2026-09-30-mac-ui-clarity.md." }, "CGraphicFontTexture::GetFont": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::GetFont" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250: CreateFontIndirect per code page. Port: with s > 1 also creates an s-times-height twin for drawing. Invariant: the measuring font is the 40250 one." }, "CGraphicFontTexture::AppendTexture": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::AppendTexture" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250 creates A4R4G4B4 pages. PORT uses A8R8G8B8 for HiDPI pages to retain 256 coverage levels; 1x still uses A4R4G4B4. tests/port/port_text_test.cpp checks alpha finer than 4-bit. See docs/MAC-UI-CLARITY.md and audit/evidence/2026-09-30-mac-ui-clarity.md." }, "CGraphicFontTexture::UpdateTexture": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::UpdateTexture" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250 copies DIB cells into 16-bit pages. PORT copies 32-bit ARGB rows for HiDPI pages; 1x retains the original conversion. Tests check actual published memory textures. See docs/MAC-UI-CLARITY.md and audit/evidence/2026-09-30-mac-ui-clarity.md." }, "CGraphicFontTexture::GetCharacterInfomation": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::GetCharacterInfomation" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::UpdateCharacterInfomation": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::UpdateCharacterInfomation" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250 measures the logical font and caches metrics/UVs. PORT draws oversampled white glyphs with 8-bit coverage and preserves logical metrics. Monitor changes rebuild map values in place without invalidating text-instance pointers; port.text tests 1→2→3→1→2 scales. See docs/MAC-UI-CLARITY.md and audit/evidence/2026-09-30-mac-ui-clarity.md." }, "CGraphicFontTexture::CheckTextureIndex": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CheckTextureIndex" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::SelectTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::SelectTexture" ], "test": [ "tests/port/port_text_test.cpp" ] } } }