summaryrefslogtreecommitdiffstats
path: root/skia/ext/SkFontHost_fontconfig.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'skia/ext/SkFontHost_fontconfig.cpp')
-rw-r--r--skia/ext/SkFontHost_fontconfig.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/skia/ext/SkFontHost_fontconfig.cpp b/skia/ext/SkFontHost_fontconfig.cpp
index 04ac5b9d..2ecbe6c 100644
--- a/skia/ext/SkFontHost_fontconfig.cpp
+++ b/skia/ext/SkFontHost_fontconfig.cpp
@@ -101,7 +101,7 @@ SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace,
const unsigned fileid = UniqueIdToFileId(familyFace->uniqueID());
if (!GetFcImpl()->Match(
&resolved_family_name, NULL, true /* fileid valid */, fileid, "",
- -1, -1)) {
+ NULL, NULL)) {
return NULL;
}
} else if (familyName) {
@@ -110,16 +110,19 @@ SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace,
return NULL;
}
- const bool bold = style & SkTypeface::kBold;
- const bool italic = style & SkTypeface::kItalic;
+ bool bold = style & SkTypeface::kBold;
+ bool italic = style & SkTypeface::kItalic;
unsigned fileid;
if (!GetFcImpl()->Match(NULL, &fileid, false, -1, /* no fileid */
- resolved_family_name, bold, italic)) {
+ resolved_family_name, &bold, &italic)) {
return NULL;
}
+ const SkTypeface::Style resulting_style = static_cast<SkTypeface::Style>(
+ (bold ? SkTypeface::kBold : 0) |
+ (italic ? SkTypeface::kItalic : 0));
- const unsigned id = FileIdAndStyleToUniqueId(fileid, style);
- SkTypeface* typeface = SkNEW_ARGS(FontConfigTypeface, (style, id));
+ const unsigned id = FileIdAndStyleToUniqueId(fileid, resulting_style);
+ SkTypeface* typeface = SkNEW_ARGS(FontConfigTypeface, (resulting_style, id));
{
SkAutoMutexAcquire ac(global_fc_map_lock);