diff --git a/src/harfbuzz-buffer.c b/src/harfbuzz-buffer.c index 8f9539a9d..4b25a5f12 100644 --- a/src/harfbuzz-buffer.c +++ b/src/harfbuzz-buffer.c @@ -356,5 +356,9 @@ _hb_buffer_replace_output_glyph( HB_Buffer buffer, HB_INTERNAL FT_UShort _hb_buffer_allocate_ligid( HB_Buffer buffer ) { - return ++buffer->max_ligID; + buffer->max_ligID++; + if (HB_UNLIKELY (buffer->max_ligID == 0)) + buffer->max_ligID++; + + return buffer->max_ligID; } diff --git a/src/harfbuzz-impl.h b/src/harfbuzz-impl.h index 2215d2c40..dc89fa679 100644 --- a/src/harfbuzz-impl.h +++ b/src/harfbuzz-impl.h @@ -49,6 +49,9 @@ FT_BEGIN_HEADER # define FT_UNUSED(arg) ((arg) = (arg)) #endif +#define HB_LIKELY(cond) (cond) +#define HB_UNLIKELY(cond) (cond) + #include "ftglue.h" #define ARRAY_LEN(Array) ((int)(sizeof (Array) / sizeof (Array)[0]))