Changeset 80489 in webkit
- Timestamp:
- Mar 7, 2011 12:43:34 PM (13 years ago)
- Location:
- trunk/Source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r80488 r80489 1 2011-03-07 Takayoshi Kochi <kochi@chromium.org> 2 3 Reviewed by Tony Chang. 4 5 [chromium] Use preferred locale information when choosing fallback 6 font using fontconfig on Linux platform. 7 http://bugs.webkit.org/show_bug.cgi?id=55453 8 9 No new tests, as it depends on ICU and locale setting, so it will be 10 covered by Chromium side. 11 12 * platform/chromium/PlatformBridge.h: 13 * platform/graphics/chromium/FontCacheLinux.cpp: 14 1 15 2011-03-07 Adam Barth <abarth@webkit.org> 2 16 -
trunk/Source/WebCore/platform/chromium/PlatformBridge.h
r80177 r80489 151 151 #if OS(LINUX) || OS(FREEBSD) 152 152 static void getRenderStyleForStrike(const char* family, int sizeAndStyle, FontRenderStyle* result); 153 static String getFontFamilyForCharacters(const UChar*, size_t numCharacters );153 static String getFontFamilyForCharacters(const UChar*, size_t numCharacters, const char* preferredLocale); 154 154 #endif 155 155 #if OS(DARWIN) -
trunk/Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp
r76340 r80489 44 44 #include "SkUtils.h" 45 45 46 #include <unicode/locid.h> 46 47 #include <wtf/Assertions.h> 47 48 #include <wtf/text/AtomicString.h> … … 58 59 int length) 59 60 { 60 String family = PlatformBridge::getFontFamilyForCharacters(characters, length); 61 icu::Locale locale = icu::Locale::getDefault(); 62 String family = PlatformBridge::getFontFamilyForCharacters(characters, length, locale.getLanguage()); 61 63 if (family.isEmpty()) 62 64 return 0; -
trunk/Source/WebKit/chromium/ChangeLog
r80482 r80489 1 2011-03-07 Takayoshi Kochi <kochi@chromium.org> 2 3 Reviewed by Tony Chang. 4 5 Use preferred locale information when choosing fallback font using 6 fontconfig on Linux platform. 7 https://bugs.webkit.org/show_bug.cgi?id=55453 8 9 Tests will be covered by Chromium side. 10 11 * public/gtk/WebFontInfo.h: 12 (WebKit::WebFontInfo::familyForChars): added 3rd parameter |preferredLocale| 13 * public/linux/WebSandboxSupport.h: 14 (WebKit::WebSandboxSupport::getFontFamilyForCharacters): added 3rd parameter |preferredLocale| 15 * src/PlatformBridge.cpp: 16 * src/gtk/WebFontInfo.cpp: 17 1 18 2011-03-07 James Robinson <jamesr@chromium.org> 2 19 -
trunk/Source/WebKit/chromium/public/gtk/WebFontInfo.h
r55089 r80489 46 46 // characters: a native-endian UTF16 string 47 47 // numCharacters: the number of 16-bit words in |utf16| 48 // preferredLocale: preferred locale identifier for the |characters| 49 // (e.g. "en", "ja", "zh-CN") 48 50 // 49 51 // Returns: the font family or an empty string if the request could not be 50 52 // satisfied. 51 WEBKIT_API static WebCString familyForChars(const WebUChar* characters, size_t numCharacters );53 WEBKIT_API static WebCString familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale = 0); 52 54 53 55 // Fill out the given WebFontRenderStyle with the user's preferences for -
trunk/Source/WebKit/chromium/public/linux/WebSandboxSupport.h
r55089 r80489 48 48 // characters: a UTF-16 encoded string 49 49 // numCharacters: the number of 16-bit words in |characters| 50 // preferredLocale: preferred locale identifier for the |characters| 51 // (e.g. "en", "ja", "zh-CN") 50 52 // 51 53 // Returns a string with the font family on an empty string if the 52 54 // request cannot be satisfied. 53 virtual WebString getFontFamilyForCharacters(const WebUChar* characters, size_t numCharacters )= 0;55 virtual WebString getFontFamilyForCharacters(const WebUChar* characters, size_t numCharacters, const char* preferredLocale) = 0; 54 56 virtual void getRenderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle* style) = 0; 55 57 }; -
trunk/Source/WebKit/chromium/src/PlatformBridge.cpp
r80177 r80489 438 438 439 439 #if OS(LINUX) || OS(FREEBSD) 440 String PlatformBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters )440 String PlatformBridge::getFontFamilyForCharacters(const UChar* characters, size_t numCharacters, const char* preferredLocale) 441 441 { 442 442 if (webKitClient()->sandboxSupport()) 443 return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters );444 445 WebCString family = WebFontInfo::familyForChars(characters, numCharacters );443 return webKitClient()->sandboxSupport()->getFontFamilyForCharacters(characters, numCharacters, preferredLocale); 444 445 WebCString family = WebFontInfo::familyForChars(characters, numCharacters, preferredLocale); 446 446 if (family.data()) 447 447 return WebString::fromUTF8(family.data()); -
trunk/Source/WebKit/chromium/src/gtk/WebFontInfo.cpp
r63780 r80489 39 39 namespace WebKit { 40 40 41 WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters )41 WebCString WebFontInfo::familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale) 42 42 { 43 43 FcCharSet* cset = FcCharSetCreate(); … … 62 62 fcvalue.u.b = FcTrue; 63 63 FcPatternAdd(pattern, FC_SCALABLE, fcvalue, FcFalse); 64 65 if (preferredLocale) { 66 FcLangSet* langset = FcLangSetCreate(); 67 FcLangSetAdd(langset, reinterpret_cast<const FcChar8 *>(preferredLocale)); 68 FcPatternAddLangSet(pattern, FC_LANG, langset); 69 FcLangSetDestroy(langset); 70 } 64 71 65 72 FcConfigSubstitute(0, pattern, FcMatchPattern);
Note: See TracChangeset
for help on using the changeset viewer.