diff --git a/allegro_schrift.c b/allegro_schrift.c index 0e787fc..1f85c39 100644 --- a/allegro_schrift.c +++ b/allegro_schrift.c @@ -18,7 +18,11 @@ ALLEGRO_DEBUG_CHANNEL("font") #define CANI_ALLEGRO_SCHRIFT_VER 1 -#define delimit_color al_map_rgba(0, 0, 255, 255) +#define delimit_red 0 +#define delimit_green 0 +#define delimit_blue 255 +#define delimit_alpha 255 +#define delimit_color al_map_rgba(delimit_red, delimit_green, delimit_blue, delimit_alpha) /* globals */ static bool ttf_inited; @@ -180,7 +184,12 @@ ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file, unsigned int pixiw = 0, pixih = 0, pixi = 0; while (pixi < gtexh * gtexw) { uint32_t* pixel = (uint32_t*)((uint8_t*)glock->data + (glock->pitch * (signed)pixih)) + pixiw; - if (*pixel == 0xFFFF0000) *pixel = 0xFF000000; + constexpr uint32_t delimiter = + delimit_alpha << 24 + | delimit_blue << 16 + | delimit_green << 8 + | delimit_red; + if (*pixel == delimiter) *pixel = 0xFF000000; else *pixel = (*pixel & 0xffu) * 0x01010101u; pixi++; if (++pixiw >= gtexw) {