- /* get the data from the parsed xft string */
-
- /* get the family */
- if (FcPatternGetString(pat, "family", 0,
- (FcChar8**)&sval) == FcResultMatch)
- pango_font_description_set_family(out->font_desc, sval);
-
- /* get the weight */
- if (FcPatternGetInteger(pat, "weight", 0, &ival) == FcResultMatch) {
- if (ival == FC_WEIGHT_LIGHT)
- pango_font_description_set_weight(out->font_desc,
- PANGO_WEIGHT_LIGHT);
- else if (ival == FC_WEIGHT_DEMIBOLD)
- pango_font_description_set_weight(out->font_desc,
- PANGO_WEIGHT_SEMIBOLD);
- else if (ival == FC_WEIGHT_BOLD)
- pango_font_description_set_weight(out->font_desc,
- PANGO_WEIGHT_BOLD);
- else if (ival == FC_WEIGHT_BLACK)
- pango_font_description_set_weight(out->font_desc,
- PANGO_WEIGHT_ULTRABOLD);
+ switch (weight) {
+ case RR_FONTWEIGHT_LIGHT: pweight = PANGO_WEIGHT_LIGHT; break;
+ case RR_FONTWEIGHT_NORMAL: pweight = PANGO_WEIGHT_NORMAL; break;
+ case RR_FONTWEIGHT_SEMIBOLD: pweight = PANGO_WEIGHT_SEMIBOLD; break;
+ case RR_FONTWEIGHT_BOLD: pweight = PANGO_WEIGHT_BOLD; break;
+ case RR_FONTWEIGHT_ULTRABOLD: pweight = PANGO_WEIGHT_ULTRABOLD; break;
+ default: g_assert_not_reached();