[ot-var] Add hb_ot_var_axis_get_flags()

Part of https://github.com/harfbuzz/harfbuzz/issues/1241

New API:
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_get_flags
This commit is contained in:
Behdad Esfahbod 2018-11-19 12:36:56 -05:00
parent bd6b2ba1d3
commit 1a2eb108b8
5 changed files with 38 additions and 0 deletions

View File

@ -587,6 +587,8 @@ hb_ot_var_has_data
hb_ot_var_find_axis
hb_ot_var_get_axis_count
hb_ot_var_get_axes
hb_ot_var_axis_flags_t
hb_ot_var_axis_get_flags
hb_ot_var_normalize_variations
hb_ot_var_normalize_coords
</SECTION>

View File

@ -90,6 +90,8 @@ typedef struct hb_glyph_info_t
* the reshaping to a small piece around the
* breaking point only.
* @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
*
* Since: 1.5.0
*/
typedef enum { /*< flags >*/
HB_GLYPH_FLAG_UNSAFE_TO_BREAK = 0x00000001,

View File

@ -131,6 +131,15 @@ struct fvar
return true;
}
inline hb_ot_var_axis_flags_t get_axis_flags (unsigned int index) const
{
if (unlikely (index >= axisCount))
return (hb_ot_var_axis_flags_t) 0;
const AxisRecord &axis = get_axes ()[index];
return (hb_ot_var_axis_flags_t) (unsigned int) axis.flags;
}
inline unsigned int get_axis_infos (unsigned int start_offset,
unsigned int *axes_count /* IN/OUT */,
hb_ot_var_axis_t *axes_array /* OUT */) const

View File

@ -104,6 +104,18 @@ hb_ot_var_find_axis (hb_face_t *face,
return face->table.fvar->find_axis (axis_tag, axis_index, axis_info);
}
/**
* hb_ot_var_axis_get_flags:
*
* Since: REPLACEME
**/
hb_ot_var_axis_flags_t
hb_ot_var_axis_get_flags (hb_face_t *face,
unsigned int axis_index)
{
return face->table.fvar->get_axis_flags (axis_index);
}
/**
* hb_ot_var_normalize_variations:

View File

@ -85,6 +85,19 @@ hb_ot_var_find_axis (hb_face_t *face,
unsigned int *axis_index,
hb_ot_var_axis_t *axis_info);
/**
* hb_ot_var_axis_flags_t:
* @HB_OT_VAR_AXIS_FLAG_HIDDEN: The axis should not be exposed directly in user interfaces.
*
* Since: REPLACEME
*/
typedef enum { /*< flags >*/
HB_OT_VAR_AXIS_FLAG_HIDDEN = 0x0001u,
} hb_ot_var_axis_flags_t;
HB_EXTERN hb_ot_var_axis_flags_t
hb_ot_var_axis_get_flags (hb_face_t *face,
unsigned int axis_index);
HB_EXTERN void
hb_ot_var_normalize_variations (hb_face_t *face,