Clean Fitzpatrick hack

This commit is contained in:
Behdad Esfahbod 2018-10-03 21:17:59 +02:00
parent 95e5f1ae69
commit b710ea4fde
3 changed files with 8 additions and 23 deletions

View File

@ -214,7 +214,7 @@ _hb_glyph_info_set_unicode_props (hb_glyph_info_t *info, hb_buffer_t *buffer)
{
hb_unicode_funcs_t *unicode = buffer->unicode;
unsigned int u = info->codepoint;
unsigned int gen_cat = (unsigned int) unicode->modified_general_category (u);
unsigned int gen_cat = (unsigned int) unicode->general_category (u);
unsigned int props = gen_cat;
if (u >= 0x80)

View File

@ -290,8 +290,13 @@ hb_set_unicode_props (hb_buffer_t *buffer)
_hb_glyph_info_set_unicode_props (&info[i], buffer);
/* Marks are already set as continuation by the above line.
* Handle ZWJ-continuation. */
if (unlikely (_hb_glyph_info_is_zwj (&info[i])))
* Handle Emoji_Modifier and ZWJ-continuation. */
if (unlikely (_hb_glyph_info_get_general_category (&info[i]) == HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL &&
hb_in_range<hb_codepoint_t> (info[i].codepoint, 0x1F3FBu, 0x1F3FFu)))
{
_hb_glyph_info_set_continuation (&info[i]);
}
else if (unlikely (_hb_glyph_info_is_zwj (&info[i])))
{
_hb_glyph_info_set_continuation (&info[i]);
if (i + 1 < count &&

View File

@ -101,26 +101,6 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
return ret;
}
inline hb_unicode_general_category_t
modified_general_category (hb_codepoint_t u)
{
hb_unicode_general_category_t cat = general_category (u);
if (unlikely (cat == HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL))
{
/* Recategorize emoji skin-tone modifiers as Unicode mark, so they
* behave correctly in non-native directionality. They originally
* are MODIFIER_SYMBOL. Fixes:
* https://github.com/harfbuzz/harfbuzz/issues/169
*/
if (unlikely (hb_in_range<hb_codepoint_t> (u, 0x1F3FBu, 0x1F3FFu)))
cat = HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK;
}
return cat;
}
inline unsigned int
modified_combining_class (hb_codepoint_t u)
{