[docs] Complete hb-buffer docs a bit
This commit is contained in:
parent
492a5a9096
commit
2fdab788ad
|
@ -516,6 +516,8 @@ hb_buffer_serialize_glyphs (hb_buffer_t *buffer,
|
||||||
* @buf_size: the size of @buf.
|
* @buf_size: the size of @buf.
|
||||||
* @buf_consumed: (out) (allow-none): if not %NULL, will be set to the number of byes written into @buf.
|
* @buf_consumed: (out) (allow-none): if not %NULL, will be set to the number of byes written into @buf.
|
||||||
* @format: the #hb_buffer_serialize_format_t to use for formatting the output.
|
* @format: the #hb_buffer_serialize_format_t to use for formatting the output.
|
||||||
|
* @flags: the #hb_buffer_serialize_flags_t that control what glyph properties
|
||||||
|
* to serialize.
|
||||||
*
|
*
|
||||||
* Serializes @buffer into a textual representation of its content,
|
* Serializes @buffer into a textual representation of its content,
|
||||||
* when the buffer contains Unicode codepoints (i.e., before shaping). This is
|
* when the buffer contains Unicode codepoints (i.e., before shaping). This is
|
||||||
|
@ -724,15 +726,17 @@ parse_hex (const char *pp, const char *end, uint32_t *pv)
|
||||||
/**
|
/**
|
||||||
* hb_buffer_deserialize_glyphs:
|
* hb_buffer_deserialize_glyphs:
|
||||||
* @buffer: an #hb_buffer_t buffer.
|
* @buffer: an #hb_buffer_t buffer.
|
||||||
* @buf: (array length=buf_len):
|
* @buf: (array length=buf_len): string to deserialize
|
||||||
* @buf_len:
|
* @buf_len: the size of @buf, or -1 if it is %NULL-terminated
|
||||||
* @end_ptr: (out):
|
* @end_ptr: (out) (allow-none): output pointer to the character after last
|
||||||
* @font:
|
* consumed one.
|
||||||
* @format:
|
* @font: (allow-none): font for getting glyph IDs
|
||||||
|
* @format: the #hb_buffer_serialize_format_t of the input @buf
|
||||||
*
|
*
|
||||||
|
* Deserializes glyphs @buffer from textual representation in the format
|
||||||
|
* produced by hb_buffer_serialize_glyphs().
|
||||||
*
|
*
|
||||||
*
|
* Return value: %true if @buf is not fully consumed, %false otherwise.
|
||||||
* Return value:
|
|
||||||
*
|
*
|
||||||
* Since: 0.9.7
|
* Since: 0.9.7
|
||||||
**/
|
**/
|
||||||
|
@ -795,14 +799,16 @@ hb_buffer_deserialize_glyphs (hb_buffer_t *buffer,
|
||||||
/**
|
/**
|
||||||
* hb_buffer_deserialize_unicode:
|
* hb_buffer_deserialize_unicode:
|
||||||
* @buffer: an #hb_buffer_t buffer.
|
* @buffer: an #hb_buffer_t buffer.
|
||||||
* @buf: (array length=buf_len):
|
* @buf: (array length=buf_len): string to deserialize
|
||||||
* @buf_len:
|
* @buf_len: the size of @buf, or -1 if it is %NULL-terminated
|
||||||
* @end_ptr: (out):
|
* @end_ptr: (out) (allow-none): output pointer to the character after last
|
||||||
* @format:
|
* consumed one.
|
||||||
|
* @format: the #hb_buffer_serialize_format_t of the input @buf
|
||||||
*
|
*
|
||||||
|
* Deserializes Unicode @buffer from textual representation in the format
|
||||||
|
* produced by hb_buffer_serialize_unicode().
|
||||||
*
|
*
|
||||||
*
|
* Return value: %true if @buf is not fully consumed, %false otherwise.
|
||||||
* Return value:
|
|
||||||
*
|
*
|
||||||
* Since: 2.7.3
|
* Since: 2.7.3
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -795,7 +795,7 @@ hb_buffer_set_user_data (hb_buffer_t *buffer,
|
||||||
* Fetches the user data associated with the specified key,
|
* Fetches the user data associated with the specified key,
|
||||||
* attached to the specified buffer.
|
* attached to the specified buffer.
|
||||||
*
|
*
|
||||||
* Return value: (transfer-none): A pointer to the user data
|
* Return value: (transfer none): A pointer to the user data
|
||||||
*
|
*
|
||||||
* Since: 0.9.2
|
* Since: 0.9.2
|
||||||
**/
|
**/
|
||||||
|
@ -1137,7 +1137,7 @@ hb_buffer_get_cluster_level (hb_buffer_t *buffer)
|
||||||
* Sets the #hb_codepoint_t that replaces invalid entries for a given encoding
|
* Sets the #hb_codepoint_t that replaces invalid entries for a given encoding
|
||||||
* when adding text to @buffer.
|
* when adding text to @buffer.
|
||||||
*
|
*
|
||||||
* Default is %HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.
|
* Default is #HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.
|
||||||
*
|
*
|
||||||
* Since: 0.9.31
|
* Since: 0.9.31
|
||||||
**/
|
**/
|
||||||
|
@ -1501,20 +1501,20 @@ hb_buffer_reverse_clusters (hb_buffer_t *buffer)
|
||||||
*
|
*
|
||||||
* Sets unset buffer segment properties based on buffer Unicode
|
* Sets unset buffer segment properties based on buffer Unicode
|
||||||
* contents. If buffer is not empty, it must have content type
|
* contents. If buffer is not empty, it must have content type
|
||||||
* %HB_BUFFER_CONTENT_TYPE_UNICODE.
|
* #HB_BUFFER_CONTENT_TYPE_UNICODE.
|
||||||
*
|
*
|
||||||
* If buffer script is not set (ie. is %HB_SCRIPT_INVALID), it
|
* If buffer script is not set (ie. is #HB_SCRIPT_INVALID), it
|
||||||
* will be set to the Unicode script of the first character in
|
* will be set to the Unicode script of the first character in
|
||||||
* the buffer that has a script other than %HB_SCRIPT_COMMON,
|
* the buffer that has a script other than #HB_SCRIPT_COMMON,
|
||||||
* %HB_SCRIPT_INHERITED, and %HB_SCRIPT_UNKNOWN.
|
* #HB_SCRIPT_INHERITED, and #HB_SCRIPT_UNKNOWN.
|
||||||
*
|
*
|
||||||
* Next, if buffer direction is not set (ie. is %HB_DIRECTION_INVALID),
|
* Next, if buffer direction is not set (ie. is #HB_DIRECTION_INVALID),
|
||||||
* it will be set to the natural horizontal direction of the
|
* it will be set to the natural horizontal direction of the
|
||||||
* buffer script as returned by hb_script_get_horizontal_direction().
|
* buffer script as returned by hb_script_get_horizontal_direction().
|
||||||
* If hb_script_get_horizontal_direction() returns %HB_DIRECTION_INVALID,
|
* If hb_script_get_horizontal_direction() returns #HB_DIRECTION_INVALID,
|
||||||
* then %HB_DIRECTION_LTR is used.
|
* then #HB_DIRECTION_LTR is used.
|
||||||
*
|
*
|
||||||
* Finally, if buffer language is not set (ie. is %HB_LANGUAGE_INVALID),
|
* Finally, if buffer language is not set (ie. is #HB_LANGUAGE_INVALID),
|
||||||
* it will be set to the process's default language as returned by
|
* it will be set to the process's default language as returned by
|
||||||
* hb_language_get_default(). This may change in the future by
|
* hb_language_get_default(). This may change in the future by
|
||||||
* taking buffer script into consideration when choosing a language.
|
* taking buffer script into consideration when choosing a language.
|
||||||
|
@ -1902,8 +1902,8 @@ hb_buffer_t::sort (unsigned int start, unsigned int end, int(*compar)(const hb_g
|
||||||
* @dottedcircle_glyph: glyph id of U+25CC DOTTED CIRCLE, or (hb_codepont_t) -1.
|
* @dottedcircle_glyph: glyph id of U+25CC DOTTED CIRCLE, or (hb_codepont_t) -1.
|
||||||
* @position_fuzz: allowed absolute difference in position values.
|
* @position_fuzz: allowed absolute difference in position values.
|
||||||
*
|
*
|
||||||
* If dottedcircle_glyph is (hb_codepoint_t) -1 then %HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
|
* If dottedcircle_glyph is (hb_codepoint_t) -1 then #HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
|
||||||
* and %HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT are never returned. This should be used by most
|
* and #HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT are never returned. This should be used by most
|
||||||
* callers if just comparing two buffers is needed.
|
* callers if just comparing two buffers is needed.
|
||||||
*
|
*
|
||||||
* Since: 1.5.0
|
* Since: 1.5.0
|
||||||
|
@ -1994,11 +1994,11 @@ hb_buffer_diff (hb_buffer_t *buffer,
|
||||||
/**
|
/**
|
||||||
* hb_buffer_set_message_func:
|
* hb_buffer_set_message_func:
|
||||||
* @buffer: An #hb_buffer_t
|
* @buffer: An #hb_buffer_t
|
||||||
* @func: (closure user_data) (destroy destroy) (scope notified):
|
* @func: (closure user_data) (destroy destroy) (scope notified): Callback function
|
||||||
* @user_data:
|
* @user_data: (nullable): Data to pass to @func
|
||||||
* @destroy:
|
* @destroy: (optional): The function to call when @user_data is not needed anymore
|
||||||
*
|
|
||||||
*
|
*
|
||||||
|
* Sets the implementation function for #hb_buffer_message_func_t.
|
||||||
*
|
*
|
||||||
* Since: 1.1.3
|
* Since: 1.1.3
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -90,6 +90,8 @@ typedef struct hb_glyph_info_t {
|
||||||
* breaking point only.
|
* breaking point only.
|
||||||
* @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
|
* @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
|
||||||
*
|
*
|
||||||
|
* Flags for #hb_glyph_info_t.
|
||||||
|
*
|
||||||
* Since: 1.5.0
|
* Since: 1.5.0
|
||||||
*/
|
*/
|
||||||
typedef enum { /*< flags >*/
|
typedef enum { /*< flags >*/
|
||||||
|
@ -150,6 +152,11 @@ typedef struct hb_segment_properties_t {
|
||||||
void *reserved2;
|
void *reserved2;
|
||||||
} hb_segment_properties_t;
|
} hb_segment_properties_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HB_SEGMENT_PROPERTIES_DEFAULT:
|
||||||
|
*
|
||||||
|
* The default #hb_segment_properties_t of of freshly created #hb_buffer_t.
|
||||||
|
*/
|
||||||
#define HB_SEGMENT_PROPERTIES_DEFAULT {HB_DIRECTION_INVALID, \
|
#define HB_SEGMENT_PROPERTIES_DEFAULT {HB_DIRECTION_INVALID, \
|
||||||
HB_SCRIPT_INVALID, \
|
HB_SCRIPT_INVALID, \
|
||||||
HB_LANGUAGE_INVALID, \
|
HB_LANGUAGE_INVALID, \
|
||||||
|
@ -203,6 +210,8 @@ hb_buffer_get_user_data (hb_buffer_t *buffer,
|
||||||
* @HB_BUFFER_CONTENT_TYPE_INVALID: Initial value for new buffer.
|
* @HB_BUFFER_CONTENT_TYPE_INVALID: Initial value for new buffer.
|
||||||
* @HB_BUFFER_CONTENT_TYPE_UNICODE: The buffer contains input characters (before shaping).
|
* @HB_BUFFER_CONTENT_TYPE_UNICODE: The buffer contains input characters (before shaping).
|
||||||
* @HB_BUFFER_CONTENT_TYPE_GLYPHS: The buffer contains output glyphs (after shaping).
|
* @HB_BUFFER_CONTENT_TYPE_GLYPHS: The buffer contains output glyphs (after shaping).
|
||||||
|
*
|
||||||
|
* The type of #hb_buffer_t contents.
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
HB_BUFFER_CONTENT_TYPE_INVALID = 0,
|
HB_BUFFER_CONTENT_TYPE_INVALID = 0,
|
||||||
|
@ -288,6 +297,8 @@ hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
|
||||||
* not be inserted in the rendering of incorrect
|
* not be inserted in the rendering of incorrect
|
||||||
* character sequences (such at <0905 093E>). Since: 2.4
|
* character sequences (such at <0905 093E>). Since: 2.4
|
||||||
*
|
*
|
||||||
|
* Flags for #hb_buffer_t.
|
||||||
|
*
|
||||||
* Since: 0.9.20
|
* Since: 0.9.20
|
||||||
*/
|
*/
|
||||||
typedef enum { /*< flags >*/
|
typedef enum { /*< flags >*/
|
||||||
|
@ -579,6 +590,35 @@ hb_buffer_deserialize_unicode (hb_buffer_t *buffer,
|
||||||
* Compare buffers
|
* Compare buffers
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hb_buffer_diff_flags_t:
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_EQUAL: equal buffers.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH: buffers with different
|
||||||
|
* #hb_buffer_content_type_t.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH: buffers with differing length.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT: `.notdef` glyph is present in the
|
||||||
|
* reference buffer.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT: dotted circle glyph is present
|
||||||
|
* in the reference buffer.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH: difference in #hb_glyph_info_t.codepoint
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH: difference in #hb_glyph_info_t.cluster
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH: difference in #hb_glyph_flags_t.
|
||||||
|
* @HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH: difference in #hb_glyph_position_t.
|
||||||
|
*
|
||||||
|
* Flags from comparing two #hb_buffer_t's.
|
||||||
|
*
|
||||||
|
* Buffer with different #hb_buffer_content_type_t cannot be meaningfully
|
||||||
|
* compared in any further detail.
|
||||||
|
*
|
||||||
|
* For buffers with differing length, the per-glyph comparison is not
|
||||||
|
* attempted, though we do still scan reference buffer for dotted circle and
|
||||||
|
* `.notdef` glyphs.
|
||||||
|
*
|
||||||
|
* If the buffers have the same length, we compare them glyph-by-glyph and
|
||||||
|
* report which aspect(s) of the glyph info/position are different.
|
||||||
|
*
|
||||||
|
* Since: 1.5.0
|
||||||
|
*/
|
||||||
typedef enum { /*< flags >*/
|
typedef enum { /*< flags >*/
|
||||||
HB_BUFFER_DIFF_FLAG_EQUAL = 0x0000,
|
HB_BUFFER_DIFF_FLAG_EQUAL = 0x0000,
|
||||||
|
|
||||||
|
@ -618,6 +658,23 @@ hb_buffer_diff (hb_buffer_t *buffer,
|
||||||
* Debugging.
|
* Debugging.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hb_buffer_message_func_t:
|
||||||
|
* @buffer: An #hb_buffer_t to work upon
|
||||||
|
* @font: The #hb_font_t the @buffer is shaped with
|
||||||
|
* @message: %NULL-terminated message passed to the function
|
||||||
|
* @user_data: User data pointer passed by the caller
|
||||||
|
*
|
||||||
|
* A callback method for #hb_buffer_t. The method gets called with the
|
||||||
|
* #hb_buffer_t it was set on, the #hb_font_t the buffer is shaped with and a
|
||||||
|
* message describing what step of the shaping process will be performed.
|
||||||
|
* Returning %false from this method will skip this shaping step and move to
|
||||||
|
* the next one.
|
||||||
|
*
|
||||||
|
* Return value: %true to perform the shaping step, %false to skip it.
|
||||||
|
*
|
||||||
|
* Since: 1.1.3
|
||||||
|
*/
|
||||||
typedef hb_bool_t (*hb_buffer_message_func_t) (hb_buffer_t *buffer,
|
typedef hb_bool_t (*hb_buffer_message_func_t) (hb_buffer_t *buffer,
|
||||||
hb_font_t *font,
|
hb_font_t *font,
|
||||||
const char *message,
|
const char *message,
|
||||||
|
|
|
@ -55,7 +55,17 @@ HB_BEGIN_DECLS
|
||||||
|
|
||||||
#define HB_SCRIPT_CANADIAN_ABORIGINAL HB_SCRIPT_CANADIAN_SYLLABICS
|
#define HB_SCRIPT_CANADIAN_ABORIGINAL HB_SCRIPT_CANADIAN_SYLLABICS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HB_BUFFER_FLAGS_DEFAULT:
|
||||||
|
*
|
||||||
|
* Use #HB_BUFFER_FLAG_DEFAULT instead.
|
||||||
|
*/
|
||||||
#define HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_DEFAULT
|
#define HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_DEFAULT
|
||||||
|
/**
|
||||||
|
* HB_BUFFER_SERIALIZE_FLAGS_DEFAULT:
|
||||||
|
*
|
||||||
|
* Use HB_BUFFER_SERIALIZE_FLAG_DEFAULT instead.
|
||||||
|
*/
|
||||||
#define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT
|
#define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue