WIP - Baked system, fix subsequent sources overriding shared font metrics.

This commit is contained in:
ocornut 2025-02-06 13:06:05 +01:00
parent de9cd4116d
commit 4f8f7ff999
2 changed files with 7 additions and 3 deletions

View file

@ -4316,7 +4316,8 @@ static void ImGui_ImplStbTrueType_FontBakedInit(ImFontAtlas* atlas, ImFontBaked*
{
ImFontConfig* src = &font->Sources[src_n];
ImGui_ImplStbTrueType_FontSrcData* bd_font_data = (ImGui_ImplStbTrueType_FontSrcData*)src->FontLoaderData;
if (src_n != 0)
continue;
// FIXME-NEWFONTS: reevaluate how to use sizing metrics
// FIXME-NEWFONTS: make use of line gap value
float scale_for_layout = bd_font_data->ScaleFactor * baked->Size;

View file

@ -479,8 +479,11 @@ void ImGui_ImplFreeType_FontBakedInit(ImFontAtlas* atlas, ImFontBaked* baked)
bd_baked_data->MaxAdvanceWidth = (float)FT_CEIL(metrics.max_advance) * bd_font_data->InvRasterizationDensity;
// Output
baked->Ascent = bd_baked_data->Ascender;
baked->Descent = bd_baked_data->Descender;
if (src_n == 0)
{
baked->Ascent = bd_baked_data->Ascender;
baked->Descent = bd_baked_data->Descender;
}
}
}