aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Nazaryev <sergey@nazaryev.ru>2020-07-19 12:00:53 +0000
committerSergey Nazaryev <sergey@nazaryev.ru>2020-07-19 12:00:53 +0000
commit620d1fb31c2a0cc52d8205f840cbc4db14c96ce5 (patch)
treec8b9f5bcccacde84bba888e871486efd0bcd6d7e
parent18864b6da06f70a98e01d3e429287e54ef8db833 (diff)
downloadwterm-620d1fb31c2a0cc52d8205f840cbc4db14c96ce5.zip
wterm-620d1fb31c2a0cc52d8205f840cbc4db14c96ce5.tar.gz
wterm-620d1fb31c2a0cc52d8205f840cbc4db14c96ce5.tar.bz2
Enable antialias for all fonts but only for pixman renderer
-rw-r--r--src/wld/font.c3
-rw-r--r--src/wld/pixman.c7
2 files changed, 4 insertions, 6 deletions
diff --git a/src/wld/font.c b/src/wld/font.c
index 36b8a07..97d0f0c 100644
--- a/src/wld/font.c
+++ b/src/wld/font.c
@@ -176,8 +176,7 @@ bool font_ensure_glyph(struct font * font, FT_UInt glyph_index)
if (!glyph)
return false;
- FT_Load_Glyph(font->face, glyph_index, FT_LOAD_RENDER
- | FT_LOAD_MONOCHROME | FT_LOAD_TARGET_MONO);
+ FT_Load_Glyph(font->face, glyph_index, FT_LOAD_RENDER);
FT_Bitmap_New(&glyph->bitmap);
diff --git a/src/wld/pixman.c b/src/wld/pixman.c
index 5f14a7b..8023012 100644
--- a/src/wld/pixman.c
+++ b/src/wld/pixman.c
@@ -342,7 +342,6 @@ void renderer_draw_text(struct wld_renderer * base,
pixman_image_t * solid;
solid = pixman_image_create_solid_fill(&pixman_color);
-
while ((ret = FcUtf8ToUcs4((FcChar8 *) text, &c, length)) > 0 && c != '\0')
{
text += ret;
@@ -370,13 +369,13 @@ void renderer_draw_text(struct wld_renderer * base,
bitmap = &glyph->bitmap;
image = pixman_image_create_bits
- (PIXMAN_a1, bitmap->width, bitmap->rows, NULL, bitmap->pitch);
+ (PIXMAN_a8, bitmap->width, bitmap->rows, NULL, bitmap->pitch);
if (!image)
goto advance;
pitch = pixman_image_get_stride(image);
- bytes_per_row = (bitmap->width + 7) / 8;
+ bytes_per_row = bitmap->width;
src = bitmap->buffer;
dst = (uint8_t *) pixman_image_get_data(image);
@@ -385,7 +384,7 @@ void renderer_draw_text(struct wld_renderer * base,
/* Pixman's A1 format expects the bits in the opposite order
* that Freetype gives us. Sigh... */
for (byte_index = 0; byte_index < bytes_per_row; ++byte_index)
- dst[byte_index] = reverse(src[byte_index]);
+ dst[byte_index] = src[byte_index];
dst += pitch;
src += bitmap->pitch;