[pango/pango1-dwrite: 6/8] PangoCairo: Create cairo_font_face_t using DirectWrite
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/pango1-dwrite: 6/8] PangoCairo: Create cairo_font_face_t using DirectWrite
- Date: Tue, 16 Aug 2022 08:08:47 +0000 (UTC)
commit cdf6d576147de11f26df285f875c3a531ba44223
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Mon Aug 15 17:35:09 2022 +0800
PangoCairo: Create cairo_font_face_t using DirectWrite
...if Cairo is built with DirectWrite support. With this, we can
support colored Emoji, a long-standing issue, on Windows without needing
to use FontConfig, on Windows 8.1 or later, since DirectWrite added support
for colored Emoji starting with Windows 8.1.
This will really fix issue !302 completely, regarding the Emoji not
shown in color!
pango/pangocairo-win32font.c | 8 ++++++++
1 file changed, 8 insertions(+)
---
diff --git a/pango/pangocairo-win32font.c b/pango/pangocairo-win32font.c
index 5b860bab8..523ac62e7 100644
--- a/pango/pangocairo-win32font.c
+++ b/pango/pangocairo-win32font.c
@@ -75,6 +75,14 @@ pango_cairo_win32_font_create_font_face (PangoCairoFont *font)
{
PangoCairoWin32Font *cwfont = PANGO_CAIRO_WIN32_FONT (font);
PangoWin32Font *win32font = &cwfont->font;
+ void *dwrite_font_face = NULL;
+ gpointer dwrite_font = NULL;
+
+#ifdef HAVE_CAIRO_WIN32_DIRECTWRITE
+ dwrite_font_face = pango_win32_font_get_dwrite_font_face (win32font);
+ if (dwrite_font_face != NULL)
+ return cairo_dwrite_font_face_create_for_dwrite_fontface (dwrite_font_face);
+#endif
return cairo_win32_font_face_create_for_logfontw (&win32font->logfontw);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]