summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-03-12 15:56:15 +0000
committerNorbert Thiebaud <nthiebaud@gmail.com>2014-03-12 13:21:29 -0500
commitf000cc02ee6e75e0e610940f61c3207a105dc95c (patch)
tree0eb143e451ae04b201f8f3bab506cf77f6299a57
parent910716696fa7bd0b87381121b10668dcb7953661 (diff)
Resolves: fdo#50855 Nimbus Sans L missing styles
Change-Id: Ie8cdcf4ad0ffe52024fd5cfe33073abfc6aadca8 (cherry picked from commit 1e539dbf0fe3894bbf6bf1a0851163b56e37f090) Reviewed-on: https://gerrit.libreoffice.org/8557 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
-rw-r--r--vcl/generic/fontmanager/fontconfig.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/generic/fontmanager/fontconfig.cxx b/vcl/generic/fontmanager/fontconfig.cxx
index 20e7768f6368..3d3bd81fb835 100644
--- a/vcl/generic/fontmanager/fontconfig.cxx
+++ b/vcl/generic/fontmanager/fontconfig.cxx
@@ -529,6 +529,7 @@ void PrintFontManager::countFontconfigFonts( boost::unordered_map<OString, int,
FcChar8* format = NULL;
int slant = 0;
int weight = 0;
+ int width = 0;
int spacing = 0;
int nCollectionEntry = -1;
FcBool outline = false;
@@ -538,6 +539,7 @@ void PrintFontManager::countFontconfigFonts( boost::unordered_map<OString, int,
FcResult eStyleRes = rWrapper.LocalizedElementFromPattern( pFSet->fonts[i], &style, FC_STYLE, FC_STYLELANG );
FcResult eSlantRes = FcPatternGetInteger(pFSet->fonts[i], FC_SLANT, 0, &slant);
FcResult eWeightRes = FcPatternGetInteger(pFSet->fonts[i], FC_WEIGHT, 0, &weight);
+ FcResult eWidthRes = FcPatternGetInteger(pFSet->fonts[i], FC_WIDTH, 0, &width);
FcResult eSpacRes = FcPatternGetInteger(pFSet->fonts[i], FC_SPACING, 0, &spacing);
FcResult eOutRes = FcPatternGetBool(pFSet->fonts[i], FC_OUTLINE, 0, &outline);
FcResult eIndexRes = FcPatternGetInteger(pFSet->fonts[i], FC_INDEX, 0, &nCollectionEntry);
@@ -549,11 +551,12 @@ void PrintFontManager::countFontconfigFonts( boost::unordered_map<OString, int,
#if (OSL_DEBUG_LEVEL > 2)
fprintf( stderr, "found font \"%s\" in file %s\n"
" weight = %d, slant = %d, style = \"%s\"\n"
- " spacing = %d, outline = %d, format %s\n"
+ " width = %d, spacing = %d, outline = %d, format %s\n"
, family, file
, eWeightRes == FcResultMatch ? weight : -1
, eSpacRes == FcResultMatch ? slant : -1
, eStyleRes == FcResultMatch ? (const char*) style : "<nil>"
+ , eWeightRes == FcResultMatch ? width : -1
, eSpacRes == FcResultMatch ? spacing : -1
, eOutRes == FcResultMatch ? outline : -1
, eFormatRes == FcResultMatch ? (const char*)format : "<unknown>"
@@ -655,6 +658,8 @@ void PrintFontManager::countFontconfigFonts( boost::unordered_map<OString, int,
}
if( eWeightRes == FcResultMatch )
pUpdate->m_eWeight = convertWeight(weight);
+ if( eWidthRes == FcResultMatch )
+ pUpdate->m_eWidth = convertWidth(width);
if( eSpacRes == FcResultMatch )
pUpdate->m_ePitch = convertSpacing(spacing);
if( eSlantRes == FcResultMatch )