[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_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.
|
||||
* @flags: the #hb_buffer_serialize_flags_t that control what glyph properties
|
||||
* to serialize.
|
||||
*
|
||||
* Serializes @buffer into a textual representation of its content,
|
||||
* 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:
|
||||
* @buffer: an #hb_buffer_t buffer.
|
||||
* @buf: (array length=buf_len):
|
||||
* @buf_len:
|
||||
* @end_ptr: (out):
|
||||
* @font:
|
||||
* @format:
|
||||
* @buf: (array length=buf_len): string to deserialize
|
||||
* @buf_len: the size of @buf, or -1 if it is %NULL-terminated
|
||||
* @end_ptr: (out) (allow-none): output pointer to the character after last
|
||||
* consumed one.
|
||||
* @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:
|
||||
* Return value: %true if @buf is not fully consumed, %false otherwise.
|
||||
*
|
||||
* Since: 0.9.7
|
||||
**/
|
||||
|
@ -795,14 +799,16 @@ hb_buffer_deserialize_glyphs (hb_buffer_t *buffer,
|
|||
/**
|
||||
* hb_buffer_deserialize_unicode:
|
||||
* @buffer: an #hb_buffer_t buffer.
|
||||
* @buf: (array length=buf_len):
|
||||
* @buf_len:
|
||||
* @end_ptr: (out):
|
||||
* @format:
|
||||
* @buf: (array length=buf_len): string to deserialize
|
||||
* @buf_len: the size of @buf, or -1 if it is %NULL-terminated
|
||||
* @end_ptr: (out) (allow-none): output pointer to the character after last
|
||||
* 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:
|
||||
* Return value: %true if @buf is not fully consumed, %false otherwise.
|
||||
*
|
||||
* 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,
|
||||
* 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
|
||||
**/
|
||||
|
@ -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
|
||||
* when adding text to @buffer.
|
||||
*
|
||||
* Default is %HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.
|
||||
* Default is #HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.
|
||||
*
|
||||
* 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
|
||||
* 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
|
||||
* the buffer that has a script other than %HB_SCRIPT_COMMON,
|
||||
* %HB_SCRIPT_INHERITED, and %HB_SCRIPT_UNKNOWN.
|
||||
* the buffer that has a script other than #HB_SCRIPT_COMMON,
|
||||
* #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
|
||||
* buffer script as returned by hb_script_get_horizontal_direction().
|
||||
* If hb_script_get_horizontal_direction() returns %HB_DIRECTION_INVALID,
|
||||
* then %HB_DIRECTION_LTR is used.
|
||||
* If hb_script_get_horizontal_direction() returns #HB_DIRECTION_INVALID,
|
||||
* 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
|
||||
* hb_language_get_default(). This may change in the future by
|
||||
* 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.
|
||||
* @position_fuzz: allowed absolute difference in position values.
|
||||
*
|
||||
* 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
|
||||
* 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
|
||||
* callers if just comparing two buffers is needed.
|
||||
*
|
||||
* Since: 1.5.0
|
||||
|
@ -1994,11 +1994,11 @@ hb_buffer_diff (hb_buffer_t *buffer,
|
|||
/**
|
||||
* hb_buffer_set_message_func:
|
||||
* @buffer: An #hb_buffer_t
|
||||
* @func: (closure user_data) (destroy destroy) (scope notified):
|
||||
* @user_data:
|
||||
* @destroy:
|
||||
*
|
||||
* @func: (closure user_data) (destroy destroy) (scope notified): Callback function
|
||||
* @user_data: (nullable): Data to pass to @func
|
||||
* @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
|
||||
**/
|
||||
|
|
|
@ -90,6 +90,8 @@ typedef struct hb_glyph_info_t {
|
|||
* breaking point only.
|
||||
* @HB_GLYPH_FLAG_DEFINED: All the currently defined flags.
|
||||
*
|
||||
* Flags for #hb_glyph_info_t.
|
||||
*
|
||||
* Since: 1.5.0
|
||||
*/
|
||||
typedef enum { /*< flags >*/
|
||||
|
@ -150,6 +152,11 @@ typedef struct hb_segment_properties_t {
|
|||
void *reserved2;
|
||||
} 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, \
|
||||
HB_SCRIPT_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_UNICODE: The buffer contains input characters (before shaping).
|
||||
* @HB_BUFFER_CONTENT_TYPE_GLYPHS: The buffer contains output glyphs (after shaping).
|
||||
*
|
||||
* The type of #hb_buffer_t contents.
|
||||
*/
|
||||
typedef enum {
|
||||
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
|
||||
* character sequences (such at <0905 093E>). Since: 2.4
|
||||
*
|
||||
* Flags for #hb_buffer_t.
|
||||
*
|
||||
* Since: 0.9.20
|
||||
*/
|
||||
typedef enum { /*< flags >*/
|
||||
|
@ -579,6 +590,35 @@ hb_buffer_deserialize_unicode (hb_buffer_t *buffer,
|
|||
* 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 >*/
|
||||
HB_BUFFER_DIFF_FLAG_EQUAL = 0x0000,
|
||||
|
||||
|
@ -618,6 +658,23 @@ hb_buffer_diff (hb_buffer_t *buffer,
|
|||
* 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,
|
||||
hb_font_t *font,
|
||||
const char *message,
|
||||
|
|
|
@ -55,7 +55,17 @@ HB_BEGIN_DECLS
|
|||
|
||||
#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
|
||||
/**
|
||||
* HB_BUFFER_SERIALIZE_FLAGS_DEFAULT:
|
||||
*
|
||||
* Use HB_BUFFER_SERIALIZE_FLAG_DEFAULT instead.
|
||||
*/
|
||||
#define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue