Add hb_glyph_info_get_glyph_flags()

New API.
This commit is contained in:
Behdad Esfahbod 2017-08-23 13:12:54 -07:00
parent 3e8f4f1452
commit b2dd0c1c32
2 changed files with 25 additions and 1 deletions

View File

@ -1411,6 +1411,23 @@ hb_buffer_get_glyph_positions (hb_buffer_t *buffer,
return (hb_glyph_position_t *) buffer->pos; return (hb_glyph_position_t *) buffer->pos;
} }
/**
* hb_glyph_info_get_glyph_flags:
* @buffer: a #hb_glyph_info_t.
*
* Returns glyph flags encoded within a #hb_glyph_info_t.
*
* Return value:
* The #hb_glyph_flags_t encoded within @info.
*
* Since: 1.5.0
**/
hb_glyph_flags_t
(hb_glyph_info_get_glyph_flags) (const hb_glyph_info_t *info)
{
return hb_glyph_info_get_glyph_flags (info);
}
/** /**
* hb_buffer_reverse: * hb_buffer_reverse:
* @buffer: an #hb_buffer_t. * @buffer: an #hb_buffer_t.

View File

@ -63,7 +63,7 @@ HB_BEGIN_DECLS
*/ */
typedef struct hb_glyph_info_t { typedef struct hb_glyph_info_t {
hb_codepoint_t codepoint; hb_codepoint_t codepoint;
hb_mask_t mask; /* Holds hb_glyph_flags_t after hb_shape() */ hb_mask_t mask; /* Holds hb_glyph_flags_t after hb_shape(), plus other things. */
uint32_t cluster; uint32_t cluster;
/*< private >*/ /*< private >*/
@ -77,6 +77,13 @@ typedef enum { /*< flags >*/
HB_GLYPH_FLAG_DEFINED = 0x00000001 /* OR of all defined flags */ HB_GLYPH_FLAG_DEFINED = 0x00000001 /* OR of all defined flags */
} hb_glyph_flags_t; } hb_glyph_flags_t;
HB_EXTERN hb_glyph_flags_t
hb_glyph_info_get_glyph_flags (const hb_glyph_info_t *info);
#define hb_glyph_info_get_glyph_flags(info) \
((hb_glyph_flags_t) ((unsigned int) (info)->mask & HB_GLYPH_FLAG_DEFINED))
/** /**
* hb_glyph_position_t: * hb_glyph_position_t:
* @x_advance: how much the line advances after drawing this glyph when setting * @x_advance: how much the line advances after drawing this glyph when setting