summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/chromium/src/gtk/WebFontInfo.cpp')
-rw-r--r--Source/WebKit/chromium/src/gtk/WebFontInfo.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp b/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp
index dd25eb1..94b75de 100644
--- a/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp
+++ b/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp
@@ -38,7 +38,7 @@
namespace WebKit {
-WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters)
+WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale)
{
FcCharSet* cset = FcCharSetCreate();
for (size_t i = 0; i < numCharacters; ++i) {
@@ -62,6 +62,13 @@ WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCha
fcvalue.u.b = FcTrue;
FcPatternAdd(pattern, FC_SCALABLE, fcvalue, FcFalse);
+ if (preferredLocale) {
+ FcLangSet* langset = FcLangSetCreate();
+ FcLangSetAdd(langset, reinterpret_cast<const FcChar8 *>(preferredLocale));
+ FcPatternAddLangSet(pattern, FC_LANG, langset);
+ FcLangSetDestroy(langset);
+ }
+
FcConfigSubstitute(0, pattern, FcMatchPattern);
FcDefaultSubstitute(pattern);