mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 636042 - All fonts are serif, give preference to stock android fonts r=jdaggett
This commit is contained in:
parent
8c45d9037a
commit
fabf4f3f9a
@ -417,6 +417,23 @@ void
|
||||
gfxAndroidPlatform::FindFontsInDirectory(const nsCString& aFontsDir,
|
||||
FontNameCache* aFontCache)
|
||||
{
|
||||
static const char* sStandardFonts[] = {
|
||||
"DroidSans.ttf",
|
||||
"DroidSans-Bold.ttf",
|
||||
"DroidSerif-Regular.ttf",
|
||||
"DroidSerif-Bold.ttf",
|
||||
"DroidSerif-Italic.ttf",
|
||||
"DroidSerif-BoldItalic.ttf",
|
||||
"DroidSansMono.ttf",
|
||||
"DroidSansArabic.ttf",
|
||||
"DroidSansHebrew.ttf",
|
||||
"DroidSansThai.ttf",
|
||||
"MTLmr3m.ttf",
|
||||
"MTLc3m.ttf",
|
||||
"DroidSansJapanese.ttf",
|
||||
"DroidSansFallback.ttf"
|
||||
};
|
||||
|
||||
DIR *d = opendir(aFontsDir.get());
|
||||
struct dirent *ent = NULL;
|
||||
while(d && (ent = readdir(d)) != NULL) {
|
||||
@ -424,14 +441,25 @@ gfxAndroidPlatform::FindFontsInDirectory(const nsCString& aFontsDir,
|
||||
if (namelen > 4 &&
|
||||
strcasecmp(ent->d_name + namelen - 4, ".ttf") == 0)
|
||||
{
|
||||
nsCString s(aFontsDir);
|
||||
s.Append(nsDependentCString(ent->d_name));
|
||||
bool isStdFont = false;
|
||||
for (int i = 0; i < NS_ARRAY_LENGTH(sStandardFonts) && !isStdFont; i++) {
|
||||
isStdFont = strcmp(sStandardFonts[i], ent->d_name) == 0;
|
||||
}
|
||||
if (!isStdFont) {
|
||||
nsCString s(aFontsDir);
|
||||
s.Append(nsDependentCString(ent->d_name));
|
||||
|
||||
AppendFacesFromFontFile(nsPromiseFlatCString(s).get(),
|
||||
aFontCache, &mFontList);
|
||||
AppendFacesFromFontFile(s.get(), aFontCache, &mFontList);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir(d);
|
||||
for (int i = 0; i < NS_ARRAY_LENGTH(sStandardFonts); i++) {
|
||||
nsCString s(aFontsDir);
|
||||
s.Append(nsDependentCString(sStandardFonts[i]));
|
||||
|
||||
AppendFacesFromFontFile(s.get(), aFontCache, &mFontList);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user