Remove FLAG_SAFE()
No flag is safe, over time... See previous commit.
This commit is contained in:
parent
7c561dacc3
commit
6058f98825
|
@ -41,7 +41,7 @@
|
||||||
/* See:
|
/* See:
|
||||||
* https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516 */
|
* https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516 */
|
||||||
#define HB_ARABIC_GENERAL_CATEGORY_IS_WORD(gen_cat) \
|
#define HB_ARABIC_GENERAL_CATEGORY_IS_WORD(gen_cat) \
|
||||||
(FLAG_SAFE (gen_cat) & \
|
(FLAG_UNSAFE (gen_cat) & \
|
||||||
(FLAG (HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED) | \
|
(FLAG (HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED) | \
|
||||||
FLAG (HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE) | \
|
FLAG (HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE) | \
|
||||||
/*FLAG (HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER) |*/ \
|
/*FLAG (HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER) |*/ \
|
||||||
|
@ -90,7 +90,7 @@ static unsigned int get_joining_type (hb_codepoint_t u, hb_unicode_general_categ
|
||||||
if (likely (j_type != JOINING_TYPE_X))
|
if (likely (j_type != JOINING_TYPE_X))
|
||||||
return j_type;
|
return j_type;
|
||||||
|
|
||||||
return (FLAG_SAFE(gen_cat) &
|
return (FLAG_UNSAFE(gen_cat) &
|
||||||
(FLAG(HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) |
|
(FLAG(HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) |
|
||||||
FLAG(HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) |
|
FLAG(HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) |
|
||||||
FLAG(HB_UNICODE_GENERAL_CATEGORY_FORMAT))
|
FLAG(HB_UNICODE_GENERAL_CATEGORY_FORMAT))
|
||||||
|
|
|
@ -142,7 +142,7 @@ is_one_of (const hb_glyph_info_t &info, unsigned int flags)
|
||||||
{
|
{
|
||||||
/* If it ligated, all bets are off. */
|
/* If it ligated, all bets are off. */
|
||||||
if (_hb_glyph_info_ligated (&info)) return false;
|
if (_hb_glyph_info_ligated (&info)) return false;
|
||||||
return !!(FLAG_SAFE (info.indic_category()) & flags);
|
return !!(FLAG_UNSAFE (info.indic_category()) & flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool
|
static inline bool
|
||||||
|
@ -233,7 +233,7 @@ set_indic_properties (hb_glyph_info_t &info)
|
||||||
* Re-assign position.
|
* Re-assign position.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ((FLAG_SAFE (cat) & CONSONANT_FLAGS))
|
if ((FLAG_UNSAFE (cat) & CONSONANT_FLAGS))
|
||||||
{
|
{
|
||||||
pos = POS_BASE_C;
|
pos = POS_BASE_C;
|
||||||
if (is_ra (u))
|
if (is_ra (u))
|
||||||
|
@ -243,7 +243,7 @@ set_indic_properties (hb_glyph_info_t &info)
|
||||||
{
|
{
|
||||||
pos = matra_position (u, pos);
|
pos = matra_position (u, pos);
|
||||||
}
|
}
|
||||||
else if ((FLAG_SAFE (cat) & (FLAG (OT_SM) | FLAG (OT_VD) | FLAG (OT_A) | FLAG (OT_Symbol))))
|
else if ((FLAG_UNSAFE (cat) & (FLAG (OT_SM) | FLAG (OT_VD) | FLAG (OT_A) | FLAG (OT_Symbol))))
|
||||||
{
|
{
|
||||||
pos = POS_SMVD;
|
pos = POS_SMVD;
|
||||||
}
|
}
|
||||||
|
@ -968,7 +968,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
|
||||||
indic_position_t last_pos = POS_START;
|
indic_position_t last_pos = POS_START;
|
||||||
for (unsigned int i = start; i < end; i++)
|
for (unsigned int i = start; i < end; i++)
|
||||||
{
|
{
|
||||||
if ((FLAG_SAFE (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | MEDIAL_FLAGS | HALANT_OR_COENG_FLAGS)))
|
if ((FLAG_UNSAFE (info[i].indic_category()) & (JOINER_FLAGS | FLAG (OT_N) | FLAG (OT_RS) | MEDIAL_FLAGS | HALANT_OR_COENG_FLAGS)))
|
||||||
{
|
{
|
||||||
info[i].indic_position() = last_pos;
|
info[i].indic_position() = last_pos;
|
||||||
if (unlikely (info[i].indic_category() == OT_H &&
|
if (unlikely (info[i].indic_category() == OT_H &&
|
||||||
|
@ -1538,7 +1538,7 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
|
||||||
{
|
{
|
||||||
new_reph_pos = base;
|
new_reph_pos = base;
|
||||||
while (new_reph_pos + 1 < end &&
|
while (new_reph_pos + 1 < end &&
|
||||||
!( FLAG_SAFE (info[new_reph_pos + 1].indic_position()) & (FLAG (POS_POST_C) | FLAG (POS_AFTER_POST) | FLAG (POS_SMVD))))
|
!( FLAG_UNSAFE (info[new_reph_pos + 1].indic_position()) & (FLAG (POS_POST_C) | FLAG (POS_AFTER_POST) | FLAG (POS_SMVD))))
|
||||||
new_reph_pos++;
|
new_reph_pos++;
|
||||||
if (new_reph_pos < end)
|
if (new_reph_pos < end)
|
||||||
goto reph_move;
|
goto reph_move;
|
||||||
|
@ -1688,7 +1688,7 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
|
||||||
/* Apply 'init' to the Left Matra if it's a word start. */
|
/* Apply 'init' to the Left Matra if it's a word start. */
|
||||||
if (info[start].indic_position () == POS_PRE_M &&
|
if (info[start].indic_position () == POS_PRE_M &&
|
||||||
(!start ||
|
(!start ||
|
||||||
!(FLAG_SAFE (_hb_glyph_info_get_general_category (&info[start - 1])) &
|
!(FLAG_UNSAFE (_hb_glyph_info_get_general_category (&info[start - 1])) &
|
||||||
FLAG_RANGE (HB_UNICODE_GENERAL_CATEGORY_FORMAT, HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))))
|
FLAG_RANGE (HB_UNICODE_GENERAL_CATEGORY_FORMAT, HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))))
|
||||||
info[start].mask |= indic_plan->mask_array[INIT];
|
info[start].mask |= indic_plan->mask_array[INIT];
|
||||||
|
|
||||||
|
|
|
@ -424,7 +424,7 @@ reorder_syllable (hb_buffer_t *buffer, unsigned int start, unsigned int end)
|
||||||
{
|
{
|
||||||
syllable_type_t syllable_type = (syllable_type_t) (buffer->info[start].syllable() & 0x0F);
|
syllable_type_t syllable_type = (syllable_type_t) (buffer->info[start].syllable() & 0x0F);
|
||||||
/* Only a few syllable types need reordering. */
|
/* Only a few syllable types need reordering. */
|
||||||
if (unlikely (!(FLAG_SAFE (syllable_type) &
|
if (unlikely (!(FLAG_UNSAFE (syllable_type) &
|
||||||
(FLAG (virama_terminated_cluster) |
|
(FLAG (virama_terminated_cluster) |
|
||||||
FLAG (standard_cluster) |
|
FLAG (standard_cluster) |
|
||||||
FLAG (broken_cluster) |
|
FLAG (broken_cluster) |
|
||||||
|
|
|
@ -1001,11 +1001,10 @@ hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3)
|
||||||
|
|
||||||
/* Useful for set-operations on small enums.
|
/* Useful for set-operations on small enums.
|
||||||
* For example, for testing "x ∈ {x1, x2, x3}" use:
|
* For example, for testing "x ∈ {x1, x2, x3}" use:
|
||||||
* (FLAG_SAFE(x) & (FLAG(x1) | FLAG(x2) | FLAG(x3)))
|
* (FLAG_UNSAFE(x) & (FLAG(x1) | FLAG(x2) | FLAG(x3)))
|
||||||
*/
|
*/
|
||||||
#define FLAG(x) (ASSERT_STATIC_EXPR_ZERO ((x) < 32) + (1U << (x)))
|
#define FLAG(x) (ASSERT_STATIC_EXPR_ZERO ((x) < 32) + (1U << (x)))
|
||||||
#define FLAG_SAFE(x) (1U << (x))
|
#define FLAG_UNSAFE(x) ((x) < 32 ? (1U << (x)) : 0)
|
||||||
#define FLAG_UNSAFE(x) ((x) < 32 ? FLAG_SAFE(x) : 0)
|
|
||||||
#define FLAG_RANGE(x,y) (ASSERT_STATIC_EXPR_ZERO ((x) < (y)) + FLAG(y+1) - FLAG(x))
|
#define FLAG_RANGE(x,y) (ASSERT_STATIC_EXPR_ZERO ((x) < (y)) + FLAG(y+1) - FLAG(x))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -357,13 +357,13 @@ extern HB_INTERNAL const hb_unicode_funcs_t _hb_unicode_funcs_nil;
|
||||||
/* Misc */
|
/* Misc */
|
||||||
|
|
||||||
#define HB_UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat) \
|
#define HB_UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat) \
|
||||||
(FLAG_SAFE (gen_cat) & \
|
(FLAG_UNSAFE (gen_cat) & \
|
||||||
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \
|
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \
|
||||||
FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | \
|
FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | \
|
||||||
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)))
|
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)))
|
||||||
|
|
||||||
#define HB_UNICODE_GENERAL_CATEGORY_IS_NON_ENCLOSING_MARK_OR_MODIFIER_SYMBOL(gen_cat) \
|
#define HB_UNICODE_GENERAL_CATEGORY_IS_NON_ENCLOSING_MARK_OR_MODIFIER_SYMBOL(gen_cat) \
|
||||||
(FLAG_SAFE (gen_cat) & \
|
(FLAG_UNSAFE (gen_cat) & \
|
||||||
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \
|
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) | \
|
||||||
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) | \
|
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) | \
|
||||||
FLAG (HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL)))
|
FLAG (HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL)))
|
||||||
|
|
Loading…
Reference in New Issue