Lines Matching defs:character
128 // The default order in which we look for a font for a CJK character. If the user's default code page is
163 static bool currentFontContainsCharacter(HDC hdc, UChar character)
172 while (i < glyphset->cRanges && glyphset->ranges[i].wcLow <= character)
175 return i && glyphset->ranges[i - 1].wcLow + glyphset->ranges[i - 1].cGlyphs > character;
178 static HFONT createMLangFont(IMLangFontLinkType* langFontLink, HDC hdc, DWORD codePageMask, UChar character = 0)
182 if (SUCCEEDED(langFontLink->MapFont(hdc, codePageMask, character, &MLangFont)) && MLangFont) {
193 UChar character = characters[0];
203 langFontLink->GetCharCodePages(character, &codePages);
205 if (codePages && u_getIntPropertyValue(character, UCHAR_UNIFIED_IDEOGRAPH)) {
206 // The CJK character may belong to multiple code pages. We want to
215 // returned by MLang, so the font might not contain the character.
217 if (!currentFontContainsCharacter(hdc, character)) {
225 hfont = createMLangFont(langFontLink, hdc, codePages, character);
228 // A font returned from MLang is trusted to contain the character.
240 // FIXME: If length is greater than 1, we actually return the font for the last character.
241 // This function should be renamed getFontDataForCharacter and take a single 32-bit character.
267 if (containsCharacter || currentFontContainsCharacter(hdc, character))