From d4a5bf2c231912bf4e0a51bfb71f6b19ab0daafb Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 15 Mar 2005 22:26:40 +0000 Subject: [PATCH] Understand Futura-CondensedBold and Futura-CondensedLight svn path=/trunk/kdegraphics/kpdf/; revision=397924 --- xpdf/xpdf/GlobalParams.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xpdf/xpdf/GlobalParams.cc b/xpdf/xpdf/GlobalParams.cc index 462c57550..692c540d1 100644 --- a/xpdf/xpdf/GlobalParams.cc +++ b/xpdf/xpdf/GlobalParams.cc @@ -1058,7 +1058,7 @@ FILE *GlobalParams::findToUnicodeFile(GString *name) { // KPDF: parse xpdf font name into family and style // Helvetica-BoldOblique => name=Helvetica, weight=Bold, slant=Oblique -void parseStyle(QString& name, int& weight, int& slant) +void parseStyle(QString& name, int& weight, int& slant, int& width) { if (name.find("MS-") == 0) name = "MS " + name.remove(0,3); @@ -1068,28 +1068,28 @@ void parseStyle(QString& name, int& weight, int& slant) if (type.contains("Oblique")) slant=FC_SLANT_OBLIQUE; if (type.contains("Italic")) slant=FC_SLANT_ITALIC; if (type.contains("Bold")) weight=FC_WEIGHT_BOLD; + if (type.contains("Light")) weight=FC_WEIGHT_LIGHT; + if (type.contains("Condensed")) width=FC_WIDTH_CONDENSED; } - - DisplayFontParam *GlobalParams::getDisplayFont(GString *fontName) { DisplayFontParam *dfp; FcPattern *p=0,*m=0; FcChar8* s; char * ext; FcResult res; - lockGlobalParams; dfp = (DisplayFontParam *)displayFonts->lookup(fontName); // KPDF: try to find font using Xft if (!dfp) { - int weight=FC_WEIGHT_MEDIUM, slant=FC_SLANT_ROMAN; + int weight=FC_WEIGHT_MEDIUM, slant=FC_SLANT_ROMAN, width=FC_WIDTH_NORMAL; QString name(fontName->getCString()); - parseStyle(name,weight,slant); + + parseStyle(name,weight,slant,width); p = FcPatternBuild(0,FC_FAMILY,FcTypeString, name.ascii(), FC_SLANT, FcTypeInteger, slant, FC_WEIGHT, FcTypeInteger, weight, - FC_LANG, FcTypeString, "xx", (char*)0); + FC_WIDTH, FcTypeInteger, width, FC_LANG, FcTypeString, "xx", (char*)0); if (!p) goto fin; m = XftFontMatch(qt_xdisplay(),qt_xscreen(),p,&res); if (!m) goto fin;