[cmap/ft] Only map 0xF000 range if font_page is NONE
This commit is contained in:
parent
41a079bdec
commit
55350377b0
|
@ -315,7 +315,7 @@ hb_ft_get_nominal_glyph (hb_font_t *font,
|
||||||
if (unlikely (ft_font->symbol))
|
if (unlikely (ft_font->symbol))
|
||||||
{
|
{
|
||||||
switch ((unsigned) font->face->table.OS2->get_font_page ()) {
|
switch ((unsigned) font->face->table.OS2->get_font_page ()) {
|
||||||
default:
|
case OT::OS2::font_page_t::FONT_PAGE_NONE:
|
||||||
if (unicode <= 0x00FFu)
|
if (unicode <= 0x00FFu)
|
||||||
/* For symbol-encoded OpenType fonts, we duplicate the
|
/* For symbol-encoded OpenType fonts, we duplicate the
|
||||||
* U+F000..F0FF range at U+0000..U+00FF. That's what
|
* U+F000..F0FF range at U+0000..U+00FF. That's what
|
||||||
|
@ -330,6 +330,8 @@ hb_ft_get_nominal_glyph (hb_font_t *font,
|
||||||
case OT::OS2::font_page_t::FONT_PAGE_TRAD_ARABIC:
|
case OT::OS2::font_page_t::FONT_PAGE_TRAD_ARABIC:
|
||||||
g = FT_Get_Char_Index (ft_font->ft_face, _hb_remap_arabic_pua2 (unicode));
|
g = FT_Get_Char_Index (ft_font->ft_face, _hb_remap_arabic_pua2 (unicode));
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (!g)
|
if (!g)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -1744,7 +1744,7 @@ struct cmap
|
||||||
if (unlikely (symbol))
|
if (unlikely (symbol))
|
||||||
{
|
{
|
||||||
switch ((unsigned) face->table.OS2->get_font_page ()) {
|
switch ((unsigned) face->table.OS2->get_font_page ()) {
|
||||||
default:
|
case OS2::font_page_t::FONT_PAGE_NONE:
|
||||||
this->get_glyph_funcZ = get_glyph_from_symbol<CmapSubtable, _hb_remap_symbol_pua>;
|
this->get_glyph_funcZ = get_glyph_from_symbol<CmapSubtable, _hb_remap_symbol_pua>;
|
||||||
break;
|
break;
|
||||||
case OS2::font_page_t::FONT_PAGE_SIMP_ARABIC:
|
case OS2::font_page_t::FONT_PAGE_SIMP_ARABIC:
|
||||||
|
@ -1753,6 +1753,9 @@ struct cmap
|
||||||
case OS2::font_page_t::FONT_PAGE_TRAD_ARABIC:
|
case OS2::font_page_t::FONT_PAGE_TRAD_ARABIC:
|
||||||
this->get_glyph_funcZ = get_glyph_from_symbol<CmapSubtable, _hb_remap_arabic_pua2>;
|
this->get_glyph_funcZ = get_glyph_from_symbol<CmapSubtable, _hb_remap_arabic_pua2>;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
this->get_glyph_funcZ = get_glyph_from<CmapSubtable>;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue