Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
288f2899
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
大约 1 年 前同步成功
通知
0
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
288f2899
编写于
9月 06, 2013
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[docs/introspection] More annotations
上级
17905c54
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
1355 addition
and
47 deletion
+1355
-47
src/hb-blob.cc
src/hb-blob.cc
+27
-36
src/hb-buffer-serialize.cc
src/hb-buffer-serialize.cc
+63
-0
src/hb-buffer.cc
src/hb-buffer.cc
+301
-6
src/hb-face.cc
src/hb-face.cc
+171
-0
src/hb-font-private.hh
src/hb-font-private.hh
+2
-2
src/hb-font.cc
src/hb-font.cc
+502
-2
src/hb-set.cc
src/hb-set.cc
+1
-1
src/hb-shape-plan.cc
src/hb-shape-plan.cc
+104
-0
src/hb-shape.cc
src/hb-shape.cc
+56
-0
src/hb-unicode.cc
src/hb-unicode.cc
+128
-0
未找到文件。
src/hb-blob.cc
浏览文件 @
288f2899
...
...
@@ -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.
*
* Return
s
: 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.
*
* Return
s: 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.
*
* Return
s: T
he empty blob.
* Return
value: (transfer full): t
he 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.
*
* Return
s
: @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.
*
*
* Return
s: (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.
*
*
* Return
s
: 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
*
*
* Return
s
: 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
**/
...
...
src/hb-buffer-serialize.cc
浏览文件 @
288f2899
...
...
@@ -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
,
...
...
src/hb-buffer.cc
浏览文件 @
288f2899
...
...
@@ -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
)
{
...
...
src/hb-face.cc
浏览文件 @
288f2899
...
...
@@ -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
)
{
...
...
src/hb-font-private.hh
浏览文件 @
288f2899
...
...
@@ -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
);
}
...
...
src/hb-font.cc
浏览文件 @
288f2899
...
...
@@ -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
,
...
...
src/hb-set.cc
浏览文件 @
288f2899
...
...
@@ -53,7 +53,7 @@ hb_set_create (void)
/**
* hb_set_get_empty:
*
* Return value: (transfer
none
):
* Return value: (transfer
full
):
*
* Since: 1.0
**/
...
...
src/hb-shape-plan.cc
浏览文件 @
288f2899
...
...
@@ -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
)
{
...
...
src/hb-shape.cc
浏览文件 @
288f2899
...
...
@@ -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
,
...
...
src/hb-unicode.cc
浏览文件 @
288f2899
...
...
@@ -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
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录