Welcome to mirror list, hosted at ThFree Co, Russian Federation.

pango-system-font-check-version.patch « patches « packages - github.com/mono/bockbuild.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3188dcde47cb0ab305ead7c58f2dfb948f504ba6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
diff --git a/pango/pangocairo-coretextfontmap.c b/pango/pangocairo-coretextfontmap.c
index 6cb3809..c75737c 100644
--- a/pango/pangocairo-coretextfontmap.c
+++ b/pango/pangocairo-coretextfontmap.c
@@ -185,9 +185,13 @@ pango_cairo_core_text_font_map_load_font (PangoCoreTextFontMap       *fontmap,
                                           PangoContext               *context,
                                           const PangoFontDescription *description)
 {
-  char *descname = pango_font_description_get_family (description);
+  const char *descname = pango_font_description_get_family (description);
+  SInt32 major, minor;

-  if (strcmp (descname, "-apple-system-font") == 0)
+  Gestalt (gestaltSystemVersionMajor, &major);
+  Gestalt (gestaltSystemVersionMinor, &minor);
+
+  if (major == 10 && minor>= 11 && strcmp (descname, "-apple-system-font") == 0)
     {
       PangoCoreTextFont *cfont;
       NSFont *sysfont;
@@ -195,7 +199,6 @@ pango_cairo_core_text_font_map_load_font (PangoCoreTextFontMap       *fontmap,
       cairo_matrix_t font_matrix;
       PangoCoreTextFontsetKey fontset_key;
       PangoCoreTextFontKey key;
-      PangoLanguage *language;
       PangoFontDescription *tmp_desc;
       gboolean synthetic_italic = FALSE;
       double abs_size = get_scaled_size (fontmap, context, description);
@@ -207,7 +210,7 @@ pango_cairo_core_text_font_map_load_font (PangoCoreTextFontMap       *fontmap,
       PangoCairoCoreTextFont *cafont = g_object_new (PANGO_TYPE_CAIRO_CORE_TEXT_FONT, NULL);
       cfont = PANGO_CORE_TEXT_FONT (cafont);
       cafont->abs_size = abs_size;
-      _pango_core_text_font_set_ctfont (cfont, CFRetain (sysfont));
+      _pango_core_text_font_set_ctfont (cfont, (CTFontRef)CFRetain (sysfont));

       tmp_desc = pango_font_description_copy_static (description);

@@ -261,7 +264,7 @@ pango_cairo_core_text_font_map_load_font (PangoCoreTextFontMap       *fontmap,
         }
     }

-  return PANGO_FONT_MAP_CLASS (pango_cairo_core_text_font_map_parent_class)->load_font (fontmap, context, description);
+  return (PangoCoreTextFont*) PANGO_FONT_MAP_CLASS (pango_cairo_core_text_font_map_parent_class)->load_font (PANGO_FONT_MAP (fontmap), context, description);
 }

 static void
diff --git a/pango/pangocoretext-fontmap.c b/pango/pangocoretext-fontmap.c
index 4234bf1..c395c91 100644
--- a/pango/pangocoretext-fontmap.c
+++ b/pango/pangocoretext-fontmap.c
@@ -1367,6 +1367,7 @@ pango_core_text_font_map_init (PangoCoreTextFontMap *ctfontmap)
   CTFontCollectionRef collection;
   CFArrayRef ctfaces;
   CFIndex i, count;
+  SInt32 major, minor;

   ctfontmap->serial = 1;
   ctfontmap->families = g_hash_table_new_full (g_str_hash, g_str_equal,
@@ -1430,7 +1431,10 @@ pango_core_text_font_map_init (PangoCoreTextFontMap *ctfontmap)
       CFRelease (dict);
     }

-  if (true)
+  Gestalt (gestaltSystemVersionMajor, &major);
+  Gestalt (gestaltSystemVersionMinor, &minor);
+
+  if (major == 10 && minor >= 11)
     {
       NSFont *sysfont = [NSFont systemFontOfSize: 0.0];
       NSString *name = [[NSFont fontWithName: [[sysfont fontDescriptor] postscriptName] size: 0.0] familyName];