diff --git a/src/rtext.c b/src/rtext.c index a1b184310..208e16d15 100644 --- a/src/rtext.c +++ b/src/rtext.c @@ -2228,32 +2228,32 @@ static Font LoadBMFont(const char *fileName) imFonts[i] = LoadImage(TextFormat("%s/%s", GetDirectoryPath(fileName), imFileName[i])); PixelFormat format = imFonts[i].format; - if (format != PIXELFORMAT_UNCOMPRESSED_GRAYSCALE && format != PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 && format != PIXELFORMAT_UNCOMPRESSED_R8G8B8) - continue; - - // Convert image to GRAYSCALE + ALPHA, using the mask as the alpha channel - Image imFontAlpha = { - .data = RL_CALLOC(imFonts[i].width*imFonts[i].height, 2), - .width = imFonts[i].width, - .height = imFonts[i].height, - .mipmaps = 1, - .format = PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA - }; - - int stride = 1; - if (format == PIXELFORMAT_UNCOMPRESSED_R8G8B8){ - stride = 3; - }else if (format == PIXELFORMAT_UNCOMPRESSED_R8G8B8A8){ - stride = 4; - } - - for (int p = 0, pi = 0; p < (imFonts[i].width*imFonts[i].height*2); p += 2, pi++) - { - ((unsigned char *)(imFontAlpha.data))[p] = 0xff; - ((unsigned char *)(imFontAlpha.data))[p + 1] = ((unsigned char *)imFonts[i].data)[pi * stride]; - } - - UnloadImage(imFonts[i]); + if (format != PIXELFORMAT_UNCOMPRESSED_GRAYSCALE && format != PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 && format != PIXELFORMAT_UNCOMPRESSED_R8G8B8) + continue; + + // Convert image to GRAYSCALE + ALPHA, using the mask as the alpha channel + Image imFontAlpha = { + .data = RL_CALLOC(imFonts[i].width*imFonts[i].height, 2), + .width = imFonts[i].width, + .height = imFonts[i].height, + .mipmaps = 1, + .format = PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA + }; + + int stride = 1; + if (format == PIXELFORMAT_UNCOMPRESSED_R8G8B8){ + stride = 3; + }else if (format == PIXELFORMAT_UNCOMPRESSED_R8G8B8A8){ + stride = 4; + } + + for (int p = 0, pi = 0; p < (imFonts[i].width*imFonts[i].height*2); p += 2, pi++) + { + ((unsigned char *)(imFontAlpha.data))[p] = 0xff; + ((unsigned char *)(imFontAlpha.data))[p + 1] = ((unsigned char *)imFonts[i].data)[pi * stride]; + } + + UnloadImage(imFonts[i]); imFonts[i] = imFontAlpha; }