Remove old functions in the process of renaming WebFontFamily to WebFallbackFont

Second blink side change, part 3 of the series in total.

BUG=382411
R=eae,behdad,tkent

Review URL: https://codereview.chromium.org/323963002

git-svn-id: svn://svn.chromium.org/blink/trunk@176207 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 5923c0ee
...@@ -47,83 +47,6 @@ void WebFontInfo::setSubpixelPositioning(bool subpixelPositioning) ...@@ -47,83 +47,6 @@ void WebFontInfo::setSubpixelPositioning(bool subpixelPositioning)
useSubpixelPositioning = subpixelPositioning; useSubpixelPositioning = subpixelPositioning;
} }
// TODO(dro): Remove this legacy version, kept until renames on the Chromium side are done. crbug.com/382411
void WebFontInfo::familyForChar(WebUChar32 c, const char* preferredLocale, WebFontFamily* family)
{
FcCharSet* cset = FcCharSetCreate();
FcCharSetAddChar(cset, c);
FcPattern* pattern = FcPatternCreate();
FcValue fcvalue;
fcvalue.type = FcTypeCharSet;
fcvalue.u.c = cset;
FcPatternAdd(pattern, FC_CHARSET, fcvalue, FcFalse);
fcvalue.type = FcTypeBool;
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);
FcResult result;
FcFontSet* fontSet = FcFontSort(0, pattern, 0, 0, &result);
FcPatternDestroy(pattern);
FcCharSetDestroy(cset);
if (!fontSet) {
family->name = WebCString();
family->isBold = false;
family->isItalic = false;
return;
}
// Older versions of fontconfig have a bug where they cannot select
// only scalable fonts so we have to manually filter the results.
for (int i = 0; i < fontSet->nfont; ++i) {
FcPattern* current = fontSet->fonts[i];
FcBool isScalable;
if (FcPatternGetBool(current, FC_SCALABLE, 0, &isScalable) != FcResultMatch
|| !isScalable)
continue;
// fontconfig can also return fonts which are unreadable
FcChar8* cFilename;
if (FcPatternGetString(current, FC_FILE, 0, &cFilename) != FcResultMatch)
continue;
if (access(reinterpret_cast<char*>(cFilename), R_OK))
continue;
FcChar8* familyName;
if (FcPatternGetString(current, FC_FAMILY, 0, &familyName) == FcResultMatch) {
const char* charFamily = reinterpret_cast<char*>(familyName);
family->name = WebCString(charFamily, strlen(charFamily));
}
int weight;
if (FcPatternGetInteger(current, FC_WEIGHT, 0, &weight) == FcResultMatch)
family->isBold = weight >= FC_WEIGHT_BOLD;
else
family->isBold = false;
int slant;
if (FcPatternGetInteger(current, FC_SLANT, 0, &slant) == FcResultMatch)
family->isItalic = slant != FC_SLANT_ROMAN;
else
family->isItalic = false;
FcFontSetDestroy(fontSet);
return;
}
FcFontSetDestroy(fontSet);
}
void WebFontInfo::fallbackFontForChar(WebUChar32 c, const char* preferredLocale, WebFallbackFont* fallbackFont) void WebFontInfo::fallbackFontForChar(WebUChar32 c, const char* preferredLocale, WebFallbackFont* fallbackFont)
{ {
FcCharSet* cset = FcCharSetCreate(); FcCharSet* cset = FcCharSetCreate();
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include "platform/fonts/FontCache.h" #include "platform/fonts/FontCache.h"
#include "public/platform/linux/WebFontFamily.h" #include "public/platform/linux/WebFallbackFont.h"
#include "public/platform/linux/WebFontInfo.h" #include "public/platform/linux/WebFontInfo.h"
#include "public/platform/linux/WebSandboxSupport.h" #include "public/platform/linux/WebSandboxSupport.h"
#include "public/platform/Platform.h" #include "public/platform/Platform.h"
...@@ -36,24 +36,17 @@ namespace WebCore { ...@@ -36,24 +36,17 @@ namespace WebCore {
void FontCache::getFontForCharacter(UChar32 c, const char* preferredLocale, FontCache::PlatformFallbackFont* fallbackFont) void FontCache::getFontForCharacter(UChar32 c, const char* preferredLocale, FontCache::PlatformFallbackFont* fallbackFont)
{ {
blink::WebFallbackFont webFallbackFont;
if (blink::Platform::current()->sandboxSupport()) { if (blink::Platform::current()->sandboxSupport()) {
// TODO(dro): crbug.com/382411 Change this to using new getFallbackFontForCharacter sandbox API blink::Platform::current()->sandboxSupport()->getFallbackFontForCharacter(c, preferredLocale, &webFallbackFont);
// and WebFallbackFont class to complete the rename, and pull WebFallbackFont out of the if statement again.
blink::WebFontFamily webFamily;
blink::Platform::current()->sandboxSupport()->getFontFamilyForCharacter(c, preferredLocale, &webFamily);
fallbackFont->name = String::fromUTF8(CString(webFamily.name));
fallbackFont->isBold = webFamily.isBold;
fallbackFont->isItalic = webFamily.isItalic;
} else { } else {
blink::WebFallbackFont webFallbackFont;
blink::WebFontInfo::fallbackFontForChar(c, preferredLocale, &webFallbackFont); blink::WebFontInfo::fallbackFontForChar(c, preferredLocale, &webFallbackFont);
fallbackFont->name = String::fromUTF8(CString(webFallbackFont.name));
fallbackFont->filename = CString(webFallbackFont.filename);
fallbackFont->ttcIndex = webFallbackFont.ttcIndex;
fallbackFont->isBold = webFallbackFont.isBold;
fallbackFont->isItalic = webFallbackFont.isItalic;
} }
fallbackFont->name = String::fromUTF8(CString(webFallbackFont.name));
fallbackFont->filename = webFallbackFont.filename;
fallbackFont->ttcIndex = webFallbackFont.ttcIndex;
fallbackFont->isBold = webFallbackFont.isBold;
fallbackFont->isItalic = webFallbackFont.isItalic;
} }
} }
...@@ -58,9 +58,6 @@ public: ...@@ -58,9 +58,6 @@ public:
// Returns: the font family instance. The instance has an empty font name if the request could not be satisfied. // Returns: the font family instance. The instance has an empty font name if the request could not be satisfied.
BLINK_EXPORT static void fallbackFontForChar(const WebUChar32 character, const char* preferredLocale, WebFallbackFont*); BLINK_EXPORT static void fallbackFontForChar(const WebUChar32 character, const char* preferredLocale, WebFallbackFont*);
// TODO(dro): Remove this legacy version, kept until renames on the Chromium side are done. crbug.com/382411
BLINK_EXPORT static void familyForChar(const WebUChar32 character, const char* preferredLocale, WebFontFamily*);
// Fill out the given WebFontRenderStyle with the user's preferences for // Fill out the given WebFontRenderStyle with the user's preferences for
// rendering the given font at the given size (in pixels). // rendering the given font at the given size (in pixels).
// family: i.e. "Times New Roman" // family: i.e. "Times New Roman"
......
...@@ -50,13 +50,9 @@ public: ...@@ -50,13 +50,9 @@ public:
// preferredLocale: preferred locale identifier for the |characters| // preferredLocale: preferred locale identifier for the |characters|
// (e.g. "en", "ja", "zh-CN") // (e.g. "en", "ja", "zh-CN")
// //
// Returns a WebFontFamily instance with the font name. The instance has empty font name if the request cannot be satisfied. // Returns a WebFallbackFont instance with the font name and filename.
virtual void getFontFamilyForCharacter(WebUChar32, const char* preferredLocale, WebFontFamily*) = 0; // The instance has empty font name if the request cannot be satisfied.
virtual void getFallbackFontForCharacter(WebUChar32, const char* preferredLocale, WebFallbackFont*) = 0;
// TODO(dro): crbug.com/382411 Add a new version on the Chromium side to complete
// the WebFontFamily->WebFallbackFont rename, like
// virtual void getFallbackFontForCharacter(WebUChar32, const char* preferredLocale, WebFallbackFont*) = 0;
// then add it here.
virtual void getRenderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle*) = 0; virtual void getRenderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle*) = 0;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment