From e7f215c2c401944892501c158188301a09622842 Mon Sep 17 00:00:00 2001 From: bruvzg <7645683+bruvzg@users.noreply.github.com> Date: Wed, 14 Aug 2024 23:52:19 +0300 Subject: [PATCH] [BMFont] Fix importing fonts with `Match char height` enabled. --- scene/resources/font.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp index 104187775d6..6b65ea4cfb9 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -1482,8 +1482,8 @@ Error FontFile::_load_bitmap_font(const String &p_path, List *r_image_fi switch (block_type) { case 1: /* info */ { ERR_FAIL_COND_V_MSG(block_size < 15, ERR_CANT_CREATE, "Invalid BMFont info block size."); - base_size = f->get_16(); - if (base_size <= 0) { + base_size = ABS(static_cast(f->get_16())); + if (base_size == 0) { base_size = 16; } uint8_t flags = f->get_8(); @@ -1776,7 +1776,10 @@ Error FontFile::_load_bitmap_font(const String &p_path, List *r_image_fi if (type == "info") { if (keys.has("size")) { - base_size = keys["size"].to_int(); + base_size = ABS(keys["size"].to_int()); + if (base_size == 0) { + base_size = 16; + } } if (keys.has("outline")) { outline = keys["outline"].to_int();