diff options
-rw-r--r-- | pango/pangowin32-fontmap.c | 100 |
1 files changed, 2 insertions, 98 deletions
diff --git a/pango/pangowin32-fontmap.c b/pango/pangowin32-fontmap.c index 28e0ebd0..833219a9 100644 --- a/pango/pangowin32-fontmap.c +++ b/pango/pangowin32-fontmap.c @@ -1069,63 +1069,9 @@ pango_win32_font_description_from_logfontw (const LOGFONTW *lfp) gchar *family; PangoStyle style; PangoVariant variant; - PangoWeight weight, name_weight; + PangoWeight weight; PangoStretch stretch; - static const struct { - const char *marker; - int marker_len; - int remove_len; - PangoWeight weight; - } weight_names[] = { -#define ENTRY(n, s) ENTRY2 (n, sizeof (#n) - 1, s) -#define ENTRY2(n, l, s) ENTRY3 (n, l, l, s) -#define ENTRY3(n, marker_len, remove_len, s) { #n, marker_len, remove_len, PANGO_WEIGHT_##s } - ENTRY (Ultra Light, ULTRALIGHT), - ENTRY (UltraLight, ULTRALIGHT), - ENTRY (Light, LIGHT), - ENTRY (Medium, NORMAL), - ENTRY (Demi Bold, SEMIBOLD), - ENTRY (Demi, SEMIBOLD), - ENTRY (Ultra Bold, ULTRABOLD), - ENTRY (Extra Bold, ULTRABOLD), - ENTRY (SemiBold, SEMIBOLD), - ENTRY (DemiBold, SEMIBOLD), - ENTRY (UltraBold, ULTRABOLD), - ENTRY (ExtraBold, ULTRABOLD), - ENTRY (Bold, BOLD), - ENTRY (Heavy, HEAVY), - ENTRY (Black, HEAVY), -#undef ENTRY -#undef ENTRY2 -#undef ENTRY3 - }; - - static const struct { - const char *marker; - int marker_len; - PangoStretch stretch; - } stretch_names[] = { -#define ENTRY(n, s) { #n, sizeof (#n) - 1, PANGO_STRETCH_##s } - ENTRY (Ext Condensed, EXTRA_CONDENSED), - ENTRY (Extra Condensed, EXTRA_CONDENSED), - ENTRY (UltraCondensed, ULTRA_CONDENSED), - ENTRY (ExtraCondensed, EXTRA_CONDENSED), - ENTRY (Condensed, CONDENSED), - ENTRY (Cond, CONDENSED), - ENTRY (Narrow, CONDENSED), - ENTRY (Ext Expanded, EXTRA_EXPANDED), - ENTRY (Extra Expanded, EXTRA_EXPANDED), - ENTRY (Ultra Expanded, ULTRA_EXPANDED), - ENTRY (ExtraExpanded, EXTRA_EXPANDED), - ENTRY (UltraExpanded, ULTRA_EXPANDED), - ENTRY (Expanded, EXPANDED), -#undef ENTRY - }; - - int i; - char *p; - family = get_family_nameW (lfp); if ((lfp->lfPitchAndFamily & 0xF0) == FF_ROMAN && lfp->lfItalic) @@ -1158,51 +1104,9 @@ pango_win32_font_description_from_logfontw (const LOGFONTW *lfp) else weight = PANGO_WEIGHT_HEAVY; - name_weight = 0; - - p = family; - while ((p = strchr (p, ' ')) != NULL) - { - for (i = 0; i < G_N_ELEMENTS (weight_names); i++) - { - if (g_ascii_strncasecmp (p + 1, weight_names[i].marker, weight_names[i].marker_len) == 0 && - (p[1 + weight_names[i].marker_len] == '\0' || - p[1 + weight_names[i].marker_len] == ' ')) - { - strcpy (p, p + 1 + weight_names[i].remove_len); - name_weight = weight_names[i].weight; - break; - } - } - if (i < G_N_ELEMENTS (weight_names)) - break; - p++; - } - - if (weight == PANGO_WEIGHT_NORMAL && name_weight > 0) - weight = name_weight; - + /* XXX No idea how to figure out the stretch */ stretch = PANGO_STRETCH_NORMAL; - p = family; - while ((p = strchr (p, ' ')) != NULL) - { - for (i = 0; i < G_N_ELEMENTS (stretch_names); i++) - { - if (g_ascii_strncasecmp (p + 1, stretch_names[i].marker, stretch_names[i].marker_len) == 0 && - (p[1 + stretch_names[i].marker_len] == '\0' || - p[1 + stretch_names[i].marker_len] == ' ')) - { - strcpy (p, p + 1 + stretch_names[i].marker_len); - stretch = stretch_names[i].stretch; - break; - } - } - if (i < G_N_ELEMENTS (stretch_names)) - break; - p++; - } - description = pango_font_description_new (); pango_font_description_set_family (description, family); g_free(family); |