From 481ce3d39d8072d20b425dba928efe4cff522db9 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 21 Nov 2016 19:47:58 +0100 Subject: [PATCH] Corrected bug with alpha mask on font Mask was wrongly applied to 8-bit font image, it generated dark borders on the font. Grayscale image has to be considered as the alpha mask for a completely white image to use it correctly. --- src/text.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/text.c b/src/text.c index d752f1cbd..c394889ec 100644 --- a/src/text.c +++ b/src/text.c @@ -875,10 +875,18 @@ static SpriteFont LoadBMFont(const char *fileName) TraceLog(DEBUG, "[%s] Font texture loading path: %s", fileName, texPath); Image imFont = LoadImage(texPath); + + if (imFont.format == UNCOMPRESSED_GRAYSCALE) + { + Image imCopy = ImageCopy(imFont); + + for (int i = 0; i < imCopy.width*imCopy.height; i++) ((unsigned char *)imCopy.data)[i] = 0xff; // WHITE pixel - if (imFont.format == UNCOMPRESSED_GRAYSCALE) ImageAlphaMask(&imFont, imFont); - - font.texture = LoadTextureFromImage(imFont); + ImageAlphaMask(&imCopy, imFont); + font.texture = LoadTextureFromImage(imCopy); + UnloadImage(imCopy); + } + else font.texture = LoadTextureFromImage(imFont); font.size = fontSize; font.numChars = numChars;