< prev index next >
src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer.h
Print this page
*** 42,52 ****
/**
* hb_glyph_info_t:
* @codepoint: either a Unicode code point (before shaping) or a glyph index
* (after shaping).
- * @mask:
* @cluster: the index of the character in the original text that corresponds
* to this #hb_glyph_info_t, or whatever the client passes to
* hb_buffer_add(). More than one #hb_glyph_info_t can have the same
* @cluster value, if they resulted from the same character (e.g. one
* to many glyph substitution), and when more than one character gets
--- 42,51 ----
*** 57,71 ****
* even if they are separate glyphs, hb_buffer_set_cluster_level()
* allow selecting more fine-grained cluster handling.
*
* The #hb_glyph_info_t is the structure that holds information about the
* glyphs and their relation to input text.
- *
*/
! typedef struct hb_glyph_info_t {
hb_codepoint_t codepoint;
! hb_mask_t mask; /* Holds hb_glyph_flags_t after hb_shape(), plus other things. */
uint32_t cluster;
/*< private >*/
hb_var_int_t var1;
hb_var_int_t var2;
--- 56,72 ----
* even if they are separate glyphs, hb_buffer_set_cluster_level()
* allow selecting more fine-grained cluster handling.
*
* The #hb_glyph_info_t is the structure that holds information about the
* glyphs and their relation to input text.
*/
! typedef struct hb_glyph_info_t
! {
hb_codepoint_t codepoint;
! /*< private >*/
! hb_mask_t mask;
! /*< public >*/
uint32_t cluster;
/*< private >*/
hb_var_int_t var1;
hb_var_int_t var2;
*** 86,95 ****
--- 87,99 ----
* separately. This can be used to optimize
* paragraph layout, by avoiding re-shaping
* of each line after line-breaking, or limiting
* 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,
HB_GLYPH_FLAG_DEFINED = 0x00000001 /* OR of all defined flags */
*** 296,306 ****
hb_buffer_flags_t flags);
HB_EXTERN hb_buffer_flags_t
hb_buffer_get_flags (hb_buffer_t *buffer);
! /*
* Since: 0.9.42
*/
typedef enum {
HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0,
HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1,
--- 300,318 ----
hb_buffer_flags_t flags);
HB_EXTERN hb_buffer_flags_t
hb_buffer_get_flags (hb_buffer_t *buffer);
! /**
! * hb_buffer_cluster_level_t:
! * @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES: Return cluster values grouped by graphemes into
! * monotone order.
! * @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS: Return cluster values grouped into monotone order.
! * @HB_BUFFER_CLUSTER_LEVEL_CHARACTERS: Don't group cluster values.
! * @HB_BUFFER_CLUSTER_LEVEL_DEFAULT: Default cluster level,
! * equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES.
! *
* Since: 0.9.42
*/
typedef enum {
HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES = 0,
HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS = 1,
*** 330,339 ****
--- 342,358 ----
hb_codepoint_t replacement);
HB_EXTERN hb_codepoint_t
hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer);
+ HB_EXTERN void
+ hb_buffer_set_invisible_glyph (hb_buffer_t *buffer,
+ hb_codepoint_t invisible);
+
+ HB_EXTERN hb_codepoint_t
+ hb_buffer_get_invisible_glyph (hb_buffer_t *buffer);
+
HB_EXTERN void
hb_buffer_reset (hb_buffer_t *buffer);
HB_EXTERN void
< prev index next >