if (font->slant == FONT_SLANT_OBLIQUE) {
pango_font_description_set_style(desc, PANGO_STYLE_OBLIQUE);
}
- if (font->weight == FONT_WEIGHT_BOLD) {
+ switch (font->weight) {
+ case FONT_WEIGHT_THIN:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_THIN);
+ break;
+ case FONT_WEIGHT_ULTRALIGHT:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRALIGHT);
+ break;
+ case FONT_WEIGHT_LIGHT:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_LIGHT);
+ break;
+ case FONT_WEIGHT_SEMILIGHT:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_SEMILIGHT);
+ break;
+ case FONT_WEIGHT_BOOK:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_BOOK);
+ break;
+ case FONT_WEIGHT_NORMAL:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_NORMAL);
+ break;
+ case FONT_WEIGHT_MEDIUM:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_MEDIUM);
+ break;
+ case FONT_WEIGHT_SEMIBOLD:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_SEMIBOLD);
+ break;
+ case FONT_WEIGHT_BOLD:
pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD);
+ break;
+ case FONT_WEIGHT_ULTRABOLD:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRABOLD);
+ break;
+ case FONT_WEIGHT_HEAVY:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_HEAVY);
+ break;
+ case FONT_WEIGHT_ULTRAHEAVY:
+ pango_font_description_set_weight(desc, PANGO_WEIGHT_ULTRAHEAVY);
+ break;
}
return desc;
}
font->slant = FONT_SLANT_NORMAL;
}
} else if (!strcmp(nodename, "weight")) {
- font->weight = !strcasecmp(content, "bold") ?
- FONT_WEIGHT_BOLD : FONT_WEIGHT_NORMAL;
+ if (!strcasecmp(content, "thin")) {
+ font->weight = FONT_WEIGHT_THIN;
+ } else if (!strcasecmp(content, "ultralight")) {
+ font->weight = FONT_WEIGHT_ULTRALIGHT;
+ } else if (!strcasecmp(content, "light")) {
+ font->weight = FONT_WEIGHT_LIGHT;
+ } else if (!strcasecmp(content, "semilight")) {
+ font->weight = FONT_WEIGHT_SEMILIGHT;
+ } else if (!strcasecmp(content, "book")) {
+ font->weight = FONT_WEIGHT_BOOK;
+ } else if (!strcasecmp(content, "medium")) {
+ font->weight = FONT_WEIGHT_MEDIUM;
+ } else if (!strcasecmp(content, "semibold")) {
+ font->weight = FONT_WEIGHT_SEMIBOLD;
+ } else if (!strcasecmp(content, "bold")) {
+ font->weight = FONT_WEIGHT_BOLD;
+ } else if (!strcasecmp(content, "ultrabold")) {
+ font->weight = FONT_WEIGHT_ULTRABOLD;
+ } else if (!strcasecmp(content, "heavy")) {
+ font->weight = FONT_WEIGHT_HEAVY;
+ } else if (!strcasecmp(content, "ultraheavy")) {
+ font->weight = FONT_WEIGHT_ULTRAHEAVY;
+ } else {
+ font->weight = FONT_WEIGHT_NORMAL;
+ }
}
}