[docs/introspection] More annotations
This commit is contained in:
parent
17905c54f1
commit
288f289997
@ -77,17 +77,17 @@ _hb_blob_destroy_user_data (hb_blob_t *blob)
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_blob_create:
|
||||
* @data: (array length=length) (allow-none): Pointer to blob data.
|
||||
* hb_blob_create: (constructor)
|
||||
* @data: (array length=length): Pointer to blob data.
|
||||
* @length: Length of @data in bytes.
|
||||
* @mode: Memory mode for @data.
|
||||
* @user_data: (allow-none): Data parameter to pass to @destroy.
|
||||
* @destroy: (allow-none) (closure user_data): Callback to call when @data is not needed anymore.
|
||||
* @user_data: Data parameter to pass to @destroy.
|
||||
* @destroy: (closure user_data): Callback to call when @data is not needed anymore.
|
||||
*
|
||||
* Creates a new "blob" object wrapping @data. The @mode parameter is used
|
||||
* to negotiate ownership and lifecycle of @data.
|
||||
*
|
||||
* Returns: New blob, or the empty blob if something failed or if @length is
|
||||
* Return value: New blob, or the empty blob if something failed or if @length is
|
||||
* zero. Destroy with hb_blob_destroy().
|
||||
*
|
||||
* Since: 1.0
|
||||
@ -139,9 +139,9 @@ hb_blob_create (const char *data,
|
||||
*
|
||||
* Makes @parent immutable.
|
||||
*
|
||||
* Returns: New blob, or the empty blob if something failed or if @length is
|
||||
* zero or @offset is beyond the end of @parent's data. Destroy with
|
||||
* hb_blob_destroy().
|
||||
* Return value: New blob, or the empty blob if something failed or if
|
||||
* @length is zero or @offset is beyond the end of @parent's data. Destroy
|
||||
* with hb_blob_destroy().
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -173,7 +173,7 @@ hb_blob_create_sub_blob (hb_blob_t *parent,
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
* Returns: The empty blob.
|
||||
* Return value: (transfer full): the empty blob.
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -197,14 +197,14 @@ hb_blob_get_empty (void)
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_blob_reference:
|
||||
* hb_blob_reference: (skip)
|
||||
* @blob: a blob.
|
||||
*
|
||||
* Increases the reference count on @blob.
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
* Returns: @blob.
|
||||
* Return value: @blob.
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -215,7 +215,7 @@ hb_blob_reference (hb_blob_t *blob)
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_blob_destroy:
|
||||
* hb_blob_destroy: (skip)
|
||||
* @blob: a blob.
|
||||
*
|
||||
* Descreases the reference count on @blob, and if it reaches zero, destroys
|
||||
@ -237,18 +237,14 @@ hb_blob_destroy (hb_blob_t *blob)
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_blob_set_user_data:
|
||||
* hb_blob_set_user_data: (skip)
|
||||
* @blob: a blob.
|
||||
* @key: key for data to set.
|
||||
* @data: data to set.
|
||||
* @destroy: callback to call when @data is not needed anymore.
|
||||
* @replace: whether to replace an existing data with the same key.
|
||||
*
|
||||
* Attaches a piece of data to the object.
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
* Returns: TODO
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -263,15 +259,13 @@ hb_blob_set_user_data (hb_blob_t *blob,
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_blob_get_user_data:
|
||||
* hb_blob_get_user_data: (skip)
|
||||
* @blob: a blob.
|
||||
* @key: key for data to get.
|
||||
*
|
||||
* TODO
|
||||
*
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
* Returns: (transfer none): data, or TODO
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -287,9 +281,7 @@ hb_blob_get_user_data (hb_blob_t *blob,
|
||||
* hb_blob_make_immutable:
|
||||
* @blob: a blob.
|
||||
*
|
||||
* TODO
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -306,11 +298,9 @@ hb_blob_make_immutable (hb_blob_t *blob)
|
||||
* hb_blob_is_immutable:
|
||||
* @blob: a blob.
|
||||
*
|
||||
* TODO
|
||||
*
|
||||
*
|
||||
* See TODO:link object types for more information.
|
||||
*
|
||||
* Returns: TODO
|
||||
* Return value: TODO
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -325,9 +315,9 @@ hb_blob_is_immutable (hb_blob_t *blob)
|
||||
* hb_blob_get_length:
|
||||
* @blob: a blob.
|
||||
*
|
||||
* TODO
|
||||
*
|
||||
*
|
||||
* Returns: the length of blob data in bytes.
|
||||
* Return value: the length of blob data in bytes.
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -340,11 +330,11 @@ hb_blob_get_length (hb_blob_t *blob)
|
||||
/**
|
||||
* hb_blob_get_data:
|
||||
* @blob: a blob.
|
||||
* @length: (out) TODO
|
||||
* @length: (out):
|
||||
*
|
||||
* TODO
|
||||
*
|
||||
*
|
||||
* Returns: (transfer none): TODO
|
||||
* Returns: (transfer none) (array length=length):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
@ -368,7 +358,8 @@ hb_blob_get_data (hb_blob_t *blob, unsigned int *length)
|
||||
* Fails if blob has been made immutable, or if memory allocation
|
||||
* fails.
|
||||
*
|
||||
* Returns: (transfer none): Writable blob data, or %NULL if failed.
|
||||
* Returns: (transfer none) (array length=length): Writable blob data,
|
||||
* or %NULL if failed.
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
|
@ -33,12 +33,32 @@ static const char *serialize_formats[] = {
|
||||
NULL
|
||||
};
|
||||
|
||||
/**
|
||||
* hb_buffer_serialize_list_formats:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
const char **
|
||||
hb_buffer_serialize_list_formats (void)
|
||||
{
|
||||
return serialize_formats;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_serialize_format_from_string:
|
||||
* @str:
|
||||
* @len:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_serialize_format_t
|
||||
hb_buffer_serialize_format_from_string (const char *str, int len)
|
||||
{
|
||||
@ -46,6 +66,16 @@ hb_buffer_serialize_format_from_string (const char *str, int len)
|
||||
return (hb_buffer_serialize_format_t) (hb_tag_from_string (str, len) & ~0x20202020);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_serialize_format_to_string:
|
||||
* @format:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
const char *
|
||||
hb_buffer_serialize_format_to_string (hb_buffer_serialize_format_t format)
|
||||
{
|
||||
@ -194,6 +224,24 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer,
|
||||
}
|
||||
|
||||
/* Returns number of items, starting at start, that were serialized. */
|
||||
/**
|
||||
* hb_buffer_serialize_glyphs:
|
||||
* @buffer: a buffer.
|
||||
* @start:
|
||||
* @end:
|
||||
* @buf: (array length=buf_size):
|
||||
* @buf_size:
|
||||
* @buf_consumed: (out):
|
||||
* @font:
|
||||
* @format:
|
||||
* @flags:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
unsigned int
|
||||
hb_buffer_serialize_glyphs (hb_buffer_t *buffer,
|
||||
unsigned int start,
|
||||
@ -286,6 +334,21 @@ parse_int (const char *pp, const char *end, int32_t *pv)
|
||||
#include "hb-buffer-deserialize-json.hh"
|
||||
#include "hb-buffer-deserialize-text.hh"
|
||||
|
||||
/**
|
||||
* hb_buffer_deserialize_glyphs:
|
||||
* @buffer: a buffer.
|
||||
* @buf: (array length=buf_len):
|
||||
* @buf_len:
|
||||
* @end_ptr: (out):
|
||||
* @font:
|
||||
* @format:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_buffer_deserialize_glyphs (hb_buffer_t *buffer,
|
||||
const char *buf,
|
||||
|
307
src/hb-buffer.cc
307
src/hb-buffer.cc
@ -603,6 +603,15 @@ void hb_buffer_t::deallocate_var_all (void)
|
||||
|
||||
/* Public API */
|
||||
|
||||
/**
|
||||
* hb_buffer_create: (constructor)
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full)
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_t *
|
||||
hb_buffer_create (void)
|
||||
{
|
||||
@ -616,6 +625,15 @@ hb_buffer_create (void)
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_t *
|
||||
hb_buffer_get_empty (void)
|
||||
{
|
||||
@ -637,12 +655,30 @@ hb_buffer_get_empty (void)
|
||||
return const_cast<hb_buffer_t *> (&_hb_buffer_nil);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_reference: (skip)
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_t *
|
||||
hb_buffer_reference (hb_buffer_t *buffer)
|
||||
{
|
||||
return hb_object_reference (buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_destroy: (skip)
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_destroy (hb_buffer_t *buffer)
|
||||
{
|
||||
@ -656,6 +692,20 @@ hb_buffer_destroy (hb_buffer_t *buffer)
|
||||
free (buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_user_data: (skip)
|
||||
* @buffer: a buffer.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_buffer_set_user_data (hb_buffer_t *buffer,
|
||||
hb_user_data_key_t *key,
|
||||
@ -666,6 +716,17 @@ hb_buffer_set_user_data (hb_buffer_t *buffer,
|
||||
return hb_object_set_user_data (buffer, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_user_data: (skip)
|
||||
* @buffer: a buffer.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_buffer_get_user_data (hb_buffer_t *buffer,
|
||||
hb_user_data_key_t *key)
|
||||
@ -674,6 +735,15 @@ hb_buffer_get_user_data (hb_buffer_t *buffer,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_buffer_set_content_type:
|
||||
* @buffer: a buffer.
|
||||
* @content_type:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_content_type (hb_buffer_t *buffer,
|
||||
hb_buffer_content_type_t content_type)
|
||||
@ -681,6 +751,16 @@ hb_buffer_set_content_type (hb_buffer_t *buffer,
|
||||
buffer->content_type = content_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_content_type:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_content_type_t
|
||||
hb_buffer_get_content_type (hb_buffer_t *buffer)
|
||||
{
|
||||
@ -688,28 +768,56 @@ hb_buffer_get_content_type (hb_buffer_t *buffer)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_buffer_set_unicode_funcs:
|
||||
* @buffer: a buffer.
|
||||
* @unicode_funcs:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_unicode_funcs (hb_buffer_t *buffer,
|
||||
hb_unicode_funcs_t *unicode)
|
||||
hb_unicode_funcs_t *unicode_funcs)
|
||||
{
|
||||
if (unlikely (hb_object_is_inert (buffer)))
|
||||
return;
|
||||
|
||||
if (!unicode)
|
||||
unicode = hb_unicode_funcs_get_default ();
|
||||
if (!unicode_funcs)
|
||||
unicode_funcs = hb_unicode_funcs_get_default ();
|
||||
|
||||
|
||||
hb_unicode_funcs_reference (unicode);
|
||||
hb_unicode_funcs_reference (unicode_funcs);
|
||||
hb_unicode_funcs_destroy (buffer->unicode);
|
||||
buffer->unicode = unicode;
|
||||
buffer->unicode = unicode_funcs;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_unicode_funcs:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_unicode_funcs_t *
|
||||
hb_buffer_get_unicode_funcs (hb_buffer_t *buffer)
|
||||
{
|
||||
return buffer->unicode;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_direction:
|
||||
* @buffer: a buffer.
|
||||
* @direction:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_direction (hb_buffer_t *buffer,
|
||||
hb_direction_t direction)
|
||||
@ -721,12 +829,31 @@ hb_buffer_set_direction (hb_buffer_t *buffer,
|
||||
buffer->props.direction = direction;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_direction:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_direction_t
|
||||
hb_buffer_get_direction (hb_buffer_t *buffer)
|
||||
{
|
||||
return buffer->props.direction;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_script:
|
||||
* @buffer: a buffer.
|
||||
* @script:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_script (hb_buffer_t *buffer,
|
||||
hb_script_t script)
|
||||
@ -737,12 +864,31 @@ hb_buffer_set_script (hb_buffer_t *buffer,
|
||||
buffer->props.script = script;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_script:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_script_t
|
||||
hb_buffer_get_script (hb_buffer_t *buffer)
|
||||
{
|
||||
return buffer->props.script;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_language:
|
||||
* @buffer: a buffer.
|
||||
* @language:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_language (hb_buffer_t *buffer,
|
||||
hb_language_t language)
|
||||
@ -753,12 +899,31 @@ hb_buffer_set_language (hb_buffer_t *buffer,
|
||||
buffer->props.language = language;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_language:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_language_t
|
||||
hb_buffer_get_language (hb_buffer_t *buffer)
|
||||
{
|
||||
return buffer->props.language;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_segment_properties:
|
||||
* @buffer: a buffer.
|
||||
* @props:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_segment_properties (hb_buffer_t *buffer,
|
||||
const hb_segment_properties_t *props)
|
||||
@ -769,6 +934,15 @@ hb_buffer_set_segment_properties (hb_buffer_t *buffer,
|
||||
buffer->props = *props;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_segment_properties:
|
||||
* @buffer: a buffer.
|
||||
* @props:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_get_segment_properties (hb_buffer_t *buffer,
|
||||
hb_segment_properties_t *props)
|
||||
@ -777,6 +951,15 @@ hb_buffer_get_segment_properties (hb_buffer_t *buffer,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_buffer_set_flags:
|
||||
* @buffer: a buffer.
|
||||
* @flags:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_set_flags (hb_buffer_t *buffer,
|
||||
hb_buffer_flags_t flags)
|
||||
@ -787,6 +970,16 @@ hb_buffer_set_flags (hb_buffer_t *buffer,
|
||||
buffer->flags = flags;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_get_flags:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_buffer_flags_t
|
||||
hb_buffer_get_flags (hb_buffer_t *buffer)
|
||||
{
|
||||
@ -794,30 +987,77 @@ hb_buffer_get_flags (hb_buffer_t *buffer)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_buffer_reset:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_reset (hb_buffer_t *buffer)
|
||||
{
|
||||
buffer->reset ();
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_clear_contents:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_clear_contents (hb_buffer_t *buffer)
|
||||
{
|
||||
buffer->clear ();
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_pre_allocate:
|
||||
* @buffer: a buffer.
|
||||
* @size:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_buffer_pre_allocate (hb_buffer_t *buffer, unsigned int size)
|
||||
{
|
||||
return buffer->ensure (size);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_allocation_successful:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_buffer_allocation_successful (hb_buffer_t *buffer)
|
||||
{
|
||||
return !buffer->in_error;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_add:
|
||||
* @buffer: a buffer.
|
||||
* @codepoint:
|
||||
* @cluster:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_add (hb_buffer_t *buffer,
|
||||
hb_codepoint_t codepoint,
|
||||
@ -827,6 +1067,17 @@ hb_buffer_add (hb_buffer_t *buffer,
|
||||
buffer->clear_context (1);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_set_length:
|
||||
* @buffer: a buffer.
|
||||
* @length:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_buffer_set_length (hb_buffer_t *buffer,
|
||||
unsigned int length)
|
||||
@ -1042,6 +1293,18 @@ hb_buffer_add_utf (hb_buffer_t *buffer,
|
||||
buffer->content_type = HB_BUFFER_CONTENT_TYPE_UNICODE;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_add_utf8:
|
||||
* @buffer: a buffer.
|
||||
* @text: (array length=text_length):
|
||||
* @text_length:
|
||||
* @item_offset:
|
||||
* @item_length:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_add_utf8 (hb_buffer_t *buffer,
|
||||
const char *text,
|
||||
@ -1052,16 +1315,40 @@ hb_buffer_add_utf8 (hb_buffer_t *buffer,
|
||||
hb_buffer_add_utf (buffer, (const uint8_t *) text, text_length, item_offset, item_length);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_add_utf16:
|
||||
* @buffer: a buffer.
|
||||
* @text: (array length=text_length):
|
||||
* @text_length:
|
||||
* @item_offset:
|
||||
* @item_length:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_add_utf16 (hb_buffer_t *buffer,
|
||||
const uint16_t *text,
|
||||
int text_length,
|
||||
unsigned int item_offset,
|
||||
int item_length)
|
||||
int item_length)
|
||||
{
|
||||
hb_buffer_add_utf (buffer, text, text_length, item_offset, item_length);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_add_utf32:
|
||||
* @buffer: a buffer.
|
||||
* @text: (array length=text_length):
|
||||
* @text_length:
|
||||
* @item_offset:
|
||||
* @item_length:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_add_utf32 (hb_buffer_t *buffer,
|
||||
const uint32_t *text,
|
||||
@ -1128,6 +1415,14 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_buffer_normalize_glyphs:
|
||||
* @buffer: a buffer.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_buffer_normalize_glyphs (hb_buffer_t *buffer)
|
||||
{
|
||||
|
171
src/hb-face.cc
171
src/hb-face.cc
@ -68,6 +68,18 @@ const hb_face_t _hb_face_nil = {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* hb_face_create_for_tables:
|
||||
* @reference_table_func:
|
||||
* @user_data:
|
||||
* @destroy:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full)
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_face_t *
|
||||
hb_face_create_for_tables (hb_reference_table_func_t reference_table_func,
|
||||
void *user_data,
|
||||
@ -137,6 +149,17 @@ _hb_face_for_data_reference_table (hb_face_t *face HB_UNUSED, hb_tag_t tag, void
|
||||
return blob;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_create: (constructor)
|
||||
* @blob:
|
||||
* @index:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_face_t *
|
||||
hb_face_create (hb_blob_t *blob,
|
||||
unsigned int index)
|
||||
@ -160,6 +183,15 @@ hb_face_create (hb_blob_t *blob,
|
||||
return face;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full)
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_face_t *
|
||||
hb_face_get_empty (void)
|
||||
{
|
||||
@ -167,12 +199,30 @@ hb_face_get_empty (void)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_face_reference: (skip)
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_face_t *
|
||||
hb_face_reference (hb_face_t *face)
|
||||
{
|
||||
return hb_object_reference (face);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_destroy: (skip)
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_face_destroy (hb_face_t *face)
|
||||
{
|
||||
@ -196,6 +246,20 @@ hb_face_destroy (hb_face_t *face)
|
||||
free (face);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_set_user_data: (skip)
|
||||
* @face: a face.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_face_set_user_data (hb_face_t *face,
|
||||
hb_user_data_key_t *key,
|
||||
@ -206,6 +270,17 @@ hb_face_set_user_data (hb_face_t *face,
|
||||
return hb_object_set_user_data (face, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_get_user_data: (skip)
|
||||
* @face: a face.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_face_get_user_data (hb_face_t *face,
|
||||
hb_user_data_key_t *key)
|
||||
@ -213,6 +288,14 @@ hb_face_get_user_data (hb_face_t *face,
|
||||
return hb_object_get_user_data (face, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_make_immutable:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_face_make_immutable (hb_face_t *face)
|
||||
{
|
||||
@ -222,6 +305,16 @@ hb_face_make_immutable (hb_face_t *face)
|
||||
face->immutable = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_is_immutable:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_face_is_immutable (hb_face_t *face)
|
||||
{
|
||||
@ -229,6 +322,17 @@ hb_face_is_immutable (hb_face_t *face)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_face_reference_table:
|
||||
* @face: a face.
|
||||
* @tag:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_blob_t *
|
||||
hb_face_reference_table (hb_face_t *face,
|
||||
hb_tag_t tag)
|
||||
@ -236,12 +340,31 @@ hb_face_reference_table (hb_face_t *face,
|
||||
return face->reference_table (tag);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_reference_blob:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_blob_t *
|
||||
hb_face_reference_blob (hb_face_t *face)
|
||||
{
|
||||
return face->reference_table (HB_TAG_NONE);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_set_index:
|
||||
* @face: a face.
|
||||
* @index:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_face_set_index (hb_face_t *face,
|
||||
unsigned int index)
|
||||
@ -252,12 +375,31 @@ hb_face_set_index (hb_face_t *face,
|
||||
face->index = index;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_get_index:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
unsigned int
|
||||
hb_face_get_index (hb_face_t *face)
|
||||
{
|
||||
return face->index;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_set_upem:
|
||||
* @face: a face.
|
||||
* @upem:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_face_set_upem (hb_face_t *face,
|
||||
unsigned int upem)
|
||||
@ -268,6 +410,16 @@ hb_face_set_upem (hb_face_t *face,
|
||||
face->upem = upem;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_get_upem:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
unsigned int
|
||||
hb_face_get_upem (hb_face_t *face)
|
||||
{
|
||||
@ -283,6 +435,15 @@ hb_face_t::load_upem (void) const
|
||||
hb_blob_destroy (head_blob);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_set_glyph_count:
|
||||
* @face: a face.
|
||||
* @glyph_count:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_face_set_glyph_count (hb_face_t *face,
|
||||
unsigned int glyph_count)
|
||||
@ -293,6 +454,16 @@ hb_face_set_glyph_count (hb_face_t *face,
|
||||
face->num_glyphs = glyph_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_face_get_glyph_count:
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
unsigned int
|
||||
hb_face_get_glyph_count (hb_face_t *face)
|
||||
{
|
||||
|
@ -193,10 +193,10 @@ struct hb_font_t {
|
||||
klass->user_data.glyph_h_kerning);
|
||||
}
|
||||
|
||||
inline hb_position_t get_glyph_v_kerning (hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
|
||||
inline hb_position_t get_glyph_v_kerning (hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph)
|
||||
{
|
||||
return klass->get.glyph_v_kerning (this, user_data,
|
||||
left_glyph, right_glyph,
|
||||
top_glyph, bottom_glyph,
|
||||
klass->user_data.glyph_v_kerning);
|
||||
}
|
||||
|
||||
|
504
src/hb-font.cc
504
src/hb-font.cc
@ -230,6 +230,15 @@ static const hb_font_funcs_t _hb_font_funcs_nil = {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* hb_font_funcs_create: (constructor)
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_funcs_t *
|
||||
hb_font_funcs_create (void)
|
||||
{
|
||||
@ -243,18 +252,45 @@ hb_font_funcs_create (void)
|
||||
return ffuncs;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_funcs_t *
|
||||
hb_font_funcs_get_empty (void)
|
||||
{
|
||||
return const_cast<hb_font_funcs_t *> (&_hb_font_funcs_nil);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_reference: (skip)
|
||||
* @ffuncs: font functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_funcs_t *
|
||||
hb_font_funcs_reference (hb_font_funcs_t *ffuncs)
|
||||
{
|
||||
return hb_object_reference (ffuncs);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_destroy: (skip)
|
||||
* @ffuncs: font functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_funcs_destroy (hb_font_funcs_t *ffuncs)
|
||||
{
|
||||
@ -268,6 +304,20 @@ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs)
|
||||
free (ffuncs);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_set_user_data: (skip)
|
||||
* @ffuncs: font functions.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
|
||||
hb_user_data_key_t *key,
|
||||
@ -278,6 +328,17 @@ hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
|
||||
return hb_object_set_user_data (ffuncs, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_get_user_data: (skip)
|
||||
* @ffuncs: font functions.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,
|
||||
hb_user_data_key_t *key)
|
||||
@ -286,6 +347,14 @@ hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_font_funcs_make_immutable:
|
||||
* @ffuncs: font functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
|
||||
{
|
||||
@ -295,6 +364,16 @@ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
|
||||
ffuncs->immutable = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_funcs_is_immutable:
|
||||
* @ffuncs: font functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs)
|
||||
{
|
||||
@ -336,6 +415,19 @@ HB_FONT_FUNCS_IMPLEMENT_CALLBACKS
|
||||
|
||||
/* Public getters */
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph:
|
||||
* @font: a font.
|
||||
* @unicode:
|
||||
* @variation_selector:
|
||||
* @glyph: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph (hb_font_t *font,
|
||||
hb_codepoint_t unicode, hb_codepoint_t variation_selector,
|
||||
@ -344,6 +436,17 @@ hb_font_get_glyph (hb_font_t *font,
|
||||
return font->get_glyph (unicode, variation_selector, glyph);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_h_advance:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_position_t
|
||||
hb_font_get_glyph_h_advance (hb_font_t *font,
|
||||
hb_codepoint_t glyph)
|
||||
@ -351,6 +454,17 @@ hb_font_get_glyph_h_advance (hb_font_t *font,
|
||||
return font->get_glyph_h_advance (glyph);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_v_advance:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_position_t
|
||||
hb_font_get_glyph_v_advance (hb_font_t *font,
|
||||
hb_codepoint_t glyph)
|
||||
@ -358,6 +472,19 @@ hb_font_get_glyph_v_advance (hb_font_t *font,
|
||||
return font->get_glyph_v_advance (glyph);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_h_origin:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_h_origin (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -366,6 +493,19 @@ hb_font_get_glyph_h_origin (hb_font_t *font,
|
||||
return font->get_glyph_h_origin (glyph, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_v_origin:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_v_origin (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -374,6 +514,18 @@ hb_font_get_glyph_v_origin (hb_font_t *font,
|
||||
return font->get_glyph_v_origin (glyph, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_h_kerning:
|
||||
* @font: a font.
|
||||
* @left_glyph:
|
||||
* @right_glyph:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_position_t
|
||||
hb_font_get_glyph_h_kerning (hb_font_t *font,
|
||||
hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
|
||||
@ -381,13 +533,37 @@ hb_font_get_glyph_h_kerning (hb_font_t *font,
|
||||
return font->get_glyph_h_kerning (left_glyph, right_glyph);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_v_kerning:
|
||||
* @font: a font.
|
||||
* @top_glyph:
|
||||
* @bottom_glyph:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_position_t
|
||||
hb_font_get_glyph_v_kerning (hb_font_t *font,
|
||||
hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
|
||||
hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph)
|
||||
{
|
||||
return font->get_glyph_v_kerning (left_glyph, right_glyph);
|
||||
return font->get_glyph_v_kerning (top_glyph, bottom_glyph);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_extents:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @extents: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_extents (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -396,6 +572,20 @@ hb_font_get_glyph_extents (hb_font_t *font,
|
||||
return font->get_glyph_extents (glyph, extents);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_contour_point:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @point_index:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_contour_point (hb_font_t *font,
|
||||
hb_codepoint_t glyph, unsigned int point_index,
|
||||
@ -404,6 +594,19 @@ hb_font_get_glyph_contour_point (hb_font_t *font,
|
||||
return font->get_glyph_contour_point (glyph, point_index, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_name:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @name: (array length=size):
|
||||
* @size:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_name (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -412,6 +615,19 @@ hb_font_get_glyph_name (hb_font_t *font,
|
||||
return font->get_glyph_name (glyph, name, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_from_name:
|
||||
* @font: a font.
|
||||
* @name: (array length=len):
|
||||
* @len:
|
||||
* @glyph: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_from_name (hb_font_t *font,
|
||||
const char *name, int len, /* -1 means nul-terminated */
|
||||
@ -423,6 +639,18 @@ hb_font_get_glyph_from_name (hb_font_t *font,
|
||||
|
||||
/* A bit higher-level, and with fallback */
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_advance_for_direction:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_get_glyph_advance_for_direction (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -432,6 +660,18 @@ hb_font_get_glyph_advance_for_direction (hb_font_t *font,
|
||||
return font->get_glyph_advance_for_direction (glyph, direction, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_origin_for_direction:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_get_glyph_origin_for_direction (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -441,6 +681,18 @@ hb_font_get_glyph_origin_for_direction (hb_font_t *font,
|
||||
return font->get_glyph_origin_for_direction (glyph, direction, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_add_glyph_origin_for_direction:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_add_glyph_origin_for_direction (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -450,6 +702,18 @@ hb_font_add_glyph_origin_for_direction (hb_font_t *font,
|
||||
return font->add_glyph_origin_for_direction (glyph, direction, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_subtract_glyph_origin_for_direction:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -459,6 +723,19 @@ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
|
||||
return font->subtract_glyph_origin_for_direction (glyph, direction, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_kerning_for_direction:
|
||||
* @font: a font.
|
||||
* @first_glyph:
|
||||
* @second_glyph:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
|
||||
hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
|
||||
@ -468,6 +745,19 @@ hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
|
||||
return font->get_glyph_kerning_for_direction (first_glyph, second_glyph, direction, x, y);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_extents_for_origin:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @direction:
|
||||
* @extents: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_extents_for_origin (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -477,6 +767,21 @@ hb_font_get_glyph_extents_for_origin (hb_font_t *font,
|
||||
return font->get_glyph_extents_for_origin (glyph, direction, extents);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_glyph_contour_point_for_origin:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @point_index:
|
||||
* @direction:
|
||||
* @x: (out):
|
||||
* @y: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
|
||||
hb_codepoint_t glyph, unsigned int point_index,
|
||||
@ -487,6 +792,17 @@ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
|
||||
}
|
||||
|
||||
/* Generates gidDDD if glyph has no name. */
|
||||
/**
|
||||
* hb_font_glyph_to_string:
|
||||
* @font: a font.
|
||||
* @glyph:
|
||||
* @s: (array length=size):
|
||||
* @size:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_glyph_to_string (hb_font_t *font,
|
||||
hb_codepoint_t glyph,
|
||||
@ -496,6 +812,19 @@ hb_font_glyph_to_string (hb_font_t *font,
|
||||
}
|
||||
|
||||
/* Parses gidDDD and uniUUUU strings automatically. */
|
||||
/**
|
||||
* hb_font_glyph_from_string:
|
||||
* @font: a font.
|
||||
* @s: (array length=len):
|
||||
* @len:
|
||||
* @glyph: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_glyph_from_string (hb_font_t *font,
|
||||
const char *s, int len, /* -1 means nul-terminated */
|
||||
@ -509,6 +838,16 @@ hb_font_glyph_from_string (hb_font_t *font,
|
||||
* hb_font_t
|
||||
*/
|
||||
|
||||
/**
|
||||
* hb_font_create: (constructor)
|
||||
* @face: a face.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_t *
|
||||
hb_font_create (hb_face_t *face)
|
||||
{
|
||||
@ -528,6 +867,16 @@ hb_font_create (hb_face_t *face)
|
||||
return font;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_create_sub_font:
|
||||
* @parent: parent font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_t *
|
||||
hb_font_create_sub_font (hb_font_t *parent)
|
||||
{
|
||||
@ -550,6 +899,15 @@ hb_font_create_sub_font (hb_font_t *parent)
|
||||
return font;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full)
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_t *
|
||||
hb_font_get_empty (void)
|
||||
{
|
||||
@ -581,12 +939,30 @@ hb_font_get_empty (void)
|
||||
return const_cast<hb_font_t *> (&_hb_font_nil);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_reference: (skip)
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_t *
|
||||
hb_font_reference (hb_font_t *font)
|
||||
{
|
||||
return hb_object_reference (font);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_destroy: (skip)
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_destroy (hb_font_t *font)
|
||||
{
|
||||
@ -606,6 +982,20 @@ hb_font_destroy (hb_font_t *font)
|
||||
free (font);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_set_user_data: (skip)
|
||||
* @font: a font.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_set_user_data (hb_font_t *font,
|
||||
hb_user_data_key_t *key,
|
||||
@ -616,6 +1006,17 @@ hb_font_set_user_data (hb_font_t *font,
|
||||
return hb_object_set_user_data (font, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_user_data: (skip)
|
||||
* @font: a font.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_font_get_user_data (hb_font_t *font,
|
||||
hb_user_data_key_t *key)
|
||||
@ -623,6 +1024,14 @@ hb_font_get_user_data (hb_font_t *font,
|
||||
return hb_object_get_user_data (font, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_make_immutable:
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_make_immutable (hb_font_t *font)
|
||||
{
|
||||
@ -632,18 +1041,48 @@ hb_font_make_immutable (hb_font_t *font)
|
||||
font->immutable = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_is_immutable:
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_font_is_immutable (hb_font_t *font)
|
||||
{
|
||||
return font->immutable;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_parent:
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_font_t *
|
||||
hb_font_get_parent (hb_font_t *font)
|
||||
{
|
||||
return font->parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_face:
|
||||
* @font: a font.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_face_t *
|
||||
hb_font_get_face (hb_font_t *font)
|
||||
{
|
||||
@ -651,6 +1090,17 @@ hb_font_get_face (hb_font_t *font)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_font_set_funcs:
|
||||
* @font: a font.
|
||||
* @klass:
|
||||
* @user_data:
|
||||
* @destroy:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_set_funcs (hb_font_t *font,
|
||||
hb_font_funcs_t *klass,
|
||||
@ -676,6 +1126,16 @@ hb_font_set_funcs (hb_font_t *font,
|
||||
font->destroy = destroy;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_set_funcs_data:
|
||||
* @font: a font.
|
||||
* @user_data:
|
||||
* @destroy:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_set_funcs_data (hb_font_t *font,
|
||||
void *user_data,
|
||||
@ -696,6 +1156,16 @@ hb_font_set_funcs_data (hb_font_t *font,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_font_set_scale:
|
||||
* @font: a font.
|
||||
* @x_scale:
|
||||
* @y_scale:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_set_scale (hb_font_t *font,
|
||||
int x_scale,
|
||||
@ -708,6 +1178,16 @@ hb_font_set_scale (hb_font_t *font,
|
||||
font->y_scale = y_scale;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_scale:
|
||||
* @font: a font.
|
||||
* @x_scale: (out):
|
||||
* @y_scale: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_get_scale (hb_font_t *font,
|
||||
int *x_scale,
|
||||
@ -717,6 +1197,16 @@ hb_font_get_scale (hb_font_t *font,
|
||||
if (y_scale) *y_scale = font->y_scale;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_set_ppem:
|
||||
* @font: a font.
|
||||
* @x_ppem:
|
||||
* @y_ppem:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_set_ppem (hb_font_t *font,
|
||||
unsigned int x_ppem,
|
||||
@ -729,6 +1219,16 @@ hb_font_set_ppem (hb_font_t *font,
|
||||
font->y_ppem = y_ppem;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_ppem:
|
||||
* @font: a font.
|
||||
* @x_ppem: (out):
|
||||
* @y_ppem: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_font_get_ppem (hb_font_t *font,
|
||||
unsigned int *x_ppem,
|
||||
|
@ -53,7 +53,7 @@ hb_set_create (void)
|
||||
/**
|
||||
* hb_set_get_empty:
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
|
@ -83,6 +83,20 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan,
|
||||
* hb_shape_plan_t
|
||||
*/
|
||||
|
||||
/**
|
||||
* hb_shape_plan_create: (constructor)
|
||||
* @face:
|
||||
* @props:
|
||||
* @user_features: (array length=num_user_features):
|
||||
* @num_user_features:
|
||||
* @shaper_list: (array zero-terminated=1):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_shape_plan_t *
|
||||
hb_shape_plan_create (hb_face_t *face,
|
||||
const hb_segment_properties_t *props,
|
||||
@ -111,6 +125,15 @@ hb_shape_plan_create (hb_face_t *face,
|
||||
return shape_plan;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_shape_plan_t *
|
||||
hb_shape_plan_get_empty (void)
|
||||
{
|
||||
@ -134,12 +157,30 @@ hb_shape_plan_get_empty (void)
|
||||
return const_cast<hb_shape_plan_t *> (&_hb_shape_plan_nil);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_reference: (skip)
|
||||
* @shape_plan: a shape plan.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_shape_plan_t *
|
||||
hb_shape_plan_reference (hb_shape_plan_t *shape_plan)
|
||||
{
|
||||
return hb_object_reference (shape_plan);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_destroy: (skip)
|
||||
* @shape_plan: a shape plan.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_shape_plan_destroy (hb_shape_plan_t *shape_plan)
|
||||
{
|
||||
@ -154,6 +195,20 @@ hb_shape_plan_destroy (hb_shape_plan_t *shape_plan)
|
||||
free (shape_plan);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_set_user_data: (skip)
|
||||
* @shape_plan: a shape plan.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
|
||||
hb_user_data_key_t *key,
|
||||
@ -164,6 +219,17 @@ hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
|
||||
return hb_object_set_user_data (shape_plan, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_get_user_data: (skip)
|
||||
* @shape_plan: a shape plan.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
|
||||
hb_user_data_key_t *key)
|
||||
@ -172,6 +238,20 @@ hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_shape_plan_execute:
|
||||
* @shape_plan: a shape plan.
|
||||
* @font: a font.
|
||||
* @buffer: a buffer.
|
||||
* @features: (array length=num_features):
|
||||
* @num_features:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
|
||||
hb_font_t *font,
|
||||
@ -238,6 +318,20 @@ hb_shape_plan_matches (const hb_shape_plan_t *shape_plan,
|
||||
(shape_plan->shaper_func == proposal->shaper_func));
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_create_cached:
|
||||
* @face:
|
||||
* @props:
|
||||
* @user_features: (array length=num_user_features):
|
||||
* @num_user_features:
|
||||
* @shaper_list: (array zero-terminated=1):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_shape_plan_t *
|
||||
hb_shape_plan_create_cached (hb_face_t *face,
|
||||
const hb_segment_properties_t *props,
|
||||
@ -307,6 +401,16 @@ retry:
|
||||
return hb_shape_plan_reference (shape_plan);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_plan_get_shaper:
|
||||
* @shape_plan: a shape plan.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
const char *
|
||||
hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan)
|
||||
{
|
||||
|
@ -153,6 +153,18 @@ parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
|
||||
*pp == end;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_feature_from_string:
|
||||
* @str: (array length=len):
|
||||
* @len:
|
||||
* @feature: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_feature_from_string (const char *str, int len,
|
||||
hb_feature_t *feature)
|
||||
@ -163,6 +175,16 @@ hb_feature_from_string (const char *str, int len,
|
||||
return parse_one_feature (&str, str + len, feature);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_feature_to_string:
|
||||
* @feature:
|
||||
* @buf: (array length=size):
|
||||
* @size:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_feature_to_string (hb_feature_t *feature,
|
||||
char *buf, unsigned int size)
|
||||
@ -209,6 +231,15 @@ void free_static_shaper_list (void)
|
||||
free (static_shaper_list);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape_list_shapers:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
const char **
|
||||
hb_shape_list_shapers (void)
|
||||
{
|
||||
@ -244,6 +275,20 @@ retry:
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_shape_full:
|
||||
* @font: a font.
|
||||
* @buffer: a buffer.
|
||||
* @features: (array length=num_features):
|
||||
* @num_features:
|
||||
* @shaper_list: (array zero-terminated=1):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_shape_full (hb_font_t *font,
|
||||
hb_buffer_t *buffer,
|
||||
@ -265,6 +310,17 @@ hb_shape_full (hb_font_t *font,
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_shape:
|
||||
* @font: a font.
|
||||
* @buffer: a buffer.
|
||||
* @features: (array length=num_features):
|
||||
* @num_features:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_shape (hb_font_t *font,
|
||||
hb_buffer_t *buffer,
|
||||
|
@ -150,6 +150,16 @@ hb_unicode_funcs_get_default (void)
|
||||
#pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS.")
|
||||
#endif
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_create: (constructor)
|
||||
* @parent: (allow-none):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_unicode_funcs_t *
|
||||
hb_unicode_funcs_create (hb_unicode_funcs_t *parent)
|
||||
{
|
||||
@ -187,18 +197,45 @@ const hb_unicode_funcs_t _hb_unicode_funcs_nil = {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_get_empty:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_unicode_funcs_t *
|
||||
hb_unicode_funcs_get_empty (void)
|
||||
{
|
||||
return const_cast<hb_unicode_funcs_t *> (&_hb_unicode_funcs_nil);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_reference: (skip)
|
||||
* @ufuncs: Unicode functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer full):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_unicode_funcs_t *
|
||||
hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs)
|
||||
{
|
||||
return hb_object_reference (ufuncs);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_destroy: (skip)
|
||||
* @ufuncs: Unicode functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs)
|
||||
{
|
||||
@ -214,6 +251,20 @@ hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs)
|
||||
free (ufuncs);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_set_user_data: (skip)
|
||||
* @ufuncs: Unicode functions.
|
||||
* @key:
|
||||
* @data:
|
||||
* @destroy:
|
||||
* @replace:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs,
|
||||
hb_user_data_key_t *key,
|
||||
@ -224,6 +275,17 @@ hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs,
|
||||
return hb_object_set_user_data (ufuncs, key, data, destroy, replace);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_get_user_data: (skip)
|
||||
* @ufuncs: Unicode functions.
|
||||
* @key:
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value: (transfer none):
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void *
|
||||
hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs,
|
||||
hb_user_data_key_t *key)
|
||||
@ -232,6 +294,14 @@ hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_make_immutable:
|
||||
* @ufuncs: Unicode functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
void
|
||||
hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs)
|
||||
{
|
||||
@ -241,12 +311,32 @@ hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs)
|
||||
ufuncs->immutable = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_is_immutable:
|
||||
* @ufuncs: Unicode functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs)
|
||||
{
|
||||
return ufuncs->immutable;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_funcs_get_parent:
|
||||
* @ufuncs: Unicode functions.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_unicode_funcs_t *
|
||||
hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs)
|
||||
{
|
||||
@ -294,6 +384,19 @@ hb_unicode_##name (hb_unicode_funcs_t *ufuncs, \
|
||||
HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
|
||||
#undef HB_UNICODE_FUNC_IMPLEMENT
|
||||
|
||||
/**
|
||||
* hb_unicode_compose:
|
||||
* @ufuncs: Unicode functions.
|
||||
* @a:
|
||||
* @b:
|
||||
* @ab: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
|
||||
hb_codepoint_t a,
|
||||
@ -303,6 +406,19 @@ hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
|
||||
return ufuncs->compose (a, b, ab);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_decompose:
|
||||
* @ufuncs: Unicode functions.
|
||||
* @ab:
|
||||
* @a: (out):
|
||||
* @b: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
hb_bool_t
|
||||
hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
|
||||
hb_codepoint_t ab,
|
||||
@ -312,6 +428,18 @@ hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
|
||||
return ufuncs->decompose (ab, a, b);
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_unicode_decompose_compatibility:
|
||||
* @ufuncs: Unicode functions.
|
||||
* @u:
|
||||
* @decomposed: (out):
|
||||
*
|
||||
*
|
||||
*
|
||||
* Return value:
|
||||
*
|
||||
* Since: 1.0
|
||||
**/
|
||||
unsigned int
|
||||
hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
|
||||
hb_codepoint_t u,
|
||||
|
Loading…
Reference in New Issue
Block a user