зеркало из https://github.com/mozilla/pjs.git
Bug 312156 - Make gfxFont::HasCharacter work for Pango fonts. r=roc
This commit is contained in:
Родитель
a512d28a8c
Коммит
6329d2326e
|
@ -161,6 +161,14 @@ FindFunctionSymbol(const char *name)
|
|||
return result;
|
||||
}
|
||||
|
||||
static PRBool HasChar(FcPattern *aFont, FcChar32 wc)
|
||||
{
|
||||
FcCharSet *charset = NULL;
|
||||
FcPatternGetCharSet(aFont, FC_CHARSET, 0, &charset);
|
||||
|
||||
return charset && FcCharSetHasChar(charset, wc);
|
||||
}
|
||||
|
||||
/**
|
||||
* gfxFcFontEntry:
|
||||
*
|
||||
|
@ -199,6 +207,17 @@ public:
|
|||
// GetFontTable() here
|
||||
virtual nsString RealFaceName();
|
||||
|
||||
// This is needed to make gfxFontEntry::HasCharacter(aCh) work.
|
||||
virtual PRBool TestCharacterMap(PRUint32 aCh)
|
||||
{
|
||||
for (PRUint32 i = 0; i < mPatterns.Length(); ++i) {
|
||||
if (HasChar(mPatterns[i], aCh)) {
|
||||
return PR_TRUE;
|
||||
}
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
|
||||
protected:
|
||||
gfxFcFontEntry(const nsAString& aName)
|
||||
: gfxFontEntry(aName),
|
||||
|
@ -1634,14 +1653,6 @@ gfxFcFontSet::GetFontPatternAt(PRUint32 i)
|
|||
return mFonts[i].mPattern;
|
||||
}
|
||||
|
||||
static PRBool HasChar(FcPattern *aFont, FcChar32 wc)
|
||||
{
|
||||
FcCharSet *charset = NULL;
|
||||
FcPatternGetCharSet(aFont, FC_CHARSET, 0, &charset);
|
||||
|
||||
return charset && FcCharSetHasChar(charset, wc);
|
||||
}
|
||||
|
||||
/**
|
||||
* gfxPangoFontMap: An implementation of a PangoFontMap.
|
||||
*
|
||||
|
|
Загрузка…
Ссылка в новой задаче