[gtk/pango2-windows: 1/4] gdk/win32: WIP Port to Pango2




commit 71ea2e2ecb2bdb806ea82df20e95f44a6a32abf7
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Jul 5 17:28:48 2022 +0800

    gdk/win32: WIP Port to Pango2

 gdk/win32/gdkkeys-win32.c     |  8 ++++----
 gdk/win32/gdkproperty-win32.c | 17 ++++-------------
 2 files changed, 8 insertions(+), 17 deletions(-)
---
diff --git a/gdk/win32/gdkkeys-win32.c b/gdk/win32/gdkkeys-win32.c
index 9c70eee483..092d6c23cd 100644
--- a/gdk/win32/gdkkeys-win32.c
+++ b/gdk/win32/gdkkeys-win32.c
@@ -732,10 +732,10 @@ get_hkl_direction (HKL hkl)
 #endif
     case LANG_FARSI:
       /* Others? */
-      return PANGO_DIRECTION_RTL;
+      return PANGO2_DIRECTION_RTL;
 
     default:
-      return PANGO_DIRECTION_LTR;
+      return PANGO2_DIRECTION_LTR;
     }
 }
 
@@ -745,7 +745,7 @@ gdk_win32_keymap_get_direction (GdkKeymap *gdk_keymap)
   GdkWin32Keymap *keymap;
   HKL             active_hkl;
   
-  g_return_val_if_fail (GDK_IS_KEYMAP (gdk_keymap), PANGO_DIRECTION_LTR);
+  g_return_val_if_fail (GDK_IS_KEYMAP (gdk_keymap), PANGO2_DIRECTION_LTR);
 
   keymap = GDK_WIN32_KEYMAP (gdk_keymap);
 
@@ -777,7 +777,7 @@ gdk_win32_keymap_have_bidi_layouts (GdkKeymap *gdk_keymap)
   for (group = 0; group < keymap->layout_handles->len; group++)
     {
       if (get_hkl_direction (g_array_index (keymap->layout_handles, HKL,
-                             group)) == PANGO_DIRECTION_RTL)
+                             group)) == PANGO2_DIRECTION_RTL)
         have_rtl = TRUE;
       else
         have_ltr = TRUE;
diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c
index 0debd4dacb..b97025585b 100644
--- a/gdk/win32/gdkproperty-win32.c
+++ b/gdk/win32/gdkproperty-win32.c
@@ -27,7 +27,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <glib/gprintf.h>
-#include <pango/pangowin32.h>
+#include <pango2/pangodwrite-fontmap.h>
 
 #include "gdkdisplayprivate.h"
 #include "gdkprivate-win32.h"
@@ -47,9 +47,9 @@ _get_system_font_name (HDC hdc)
     return NULL;
 
   logpixelsy = GetDeviceCaps (hdc, LOGPIXELSY);
-  font_desc = pango_win32_font_description_from_logfontw (&ncm.lfMessageFont);
-  font_desc_string = pango_font_description_to_string (font_desc);
-  pango_font_description_free (font_desc);
+  font_desc = pango2_direct_write_get_font_description_from_logfontw (&ncm.lfMessageFont, NULL);
+  font_desc_string = pango2_font_description_to_string (font_desc);
+  pango2_font_description_free (font_desc);
 
   /* https://docs.microsoft.com/en-us/windows/desktop/api/wingdi/ns-wingdi-taglogfonta */
   font_size = -MulDiv (ncm.lfMessageFont.lfHeight, 72, logpixelsy);
@@ -192,15 +192,6 @@ _gdk_win32_get_setting (const char *name,
 
       if (font_name)
         {
-          /* The pango font fallback list got fixed during 1.43, before that
-           * using anything but "Segoe UI" would lead to a poor glyph coverage */
-          if (pango_version_check (1, 43, 0) != NULL &&
-              g_ascii_strncasecmp (font_name, "Segoe UI", strlen ("Segoe UI")) != 0)
-            {
-              g_free (font_name);
-              return FALSE;
-            }
-
           GDK_NOTE(MISC, g_print("gdk_screen_get_setting(\"%s\") : %s\n", name, font_name));
           g_value_take_string (value, font_name);
           return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]