Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
eb27ec0c
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看板
提交
eb27ec0c
编写于
8月 10, 2009
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[HB] Add hb_unicode_funcs_make_immutable()
上级
af9e1040
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
5 deletion
+21
-5
src/hb-unicode-private.h
src/hb-unicode-private.h
+2
-0
src/hb-unicode.c
src/hb-unicode.c
+17
-5
src/hb-unicode.h
src/hb-unicode.h
+2
-0
未找到文件。
src/hb-unicode-private.h
浏览文件 @
eb27ec0c
...
@@ -40,6 +40,8 @@ HB_BEGIN_DECLS
...
@@ -40,6 +40,8 @@ HB_BEGIN_DECLS
struct
_hb_unicode_funcs_t
{
struct
_hb_unicode_funcs_t
{
hb_reference_count_t
ref_count
;
hb_reference_count_t
ref_count
;
hb_bool_t
immutable
;
hb_unicode_get_general_category_func_t
get_general_category
;
hb_unicode_get_general_category_func_t
get_general_category
;
hb_unicode_get_combining_class_func_t
get_combining_class
;
hb_unicode_get_combining_class_func_t
get_combining_class
;
hb_unicode_get_mirroring_char_func_t
get_mirroring_char
;
hb_unicode_get_mirroring_char_func_t
get_mirroring_char
;
...
...
src/hb-unicode.c
浏览文件 @
eb27ec0c
...
@@ -41,6 +41,8 @@ static unsigned int hb_unicode_get_eastasian_width_nil (hb_codepoint_t unicode)
...
@@ -41,6 +41,8 @@ static unsigned int hb_unicode_get_eastasian_width_nil (hb_codepoint_t unicode)
hb_unicode_funcs_t
_hb_unicode_funcs_nil
=
{
hb_unicode_funcs_t
_hb_unicode_funcs_nil
=
{
HB_REFERENCE_COUNT_INVALID
,
/* ref_count */
HB_REFERENCE_COUNT_INVALID
,
/* ref_count */
TRUE
,
/* immutable */
hb_unicode_get_general_category_nil
,
hb_unicode_get_general_category_nil
,
hb_unicode_get_combining_class_nil
,
hb_unicode_get_combining_class_nil
,
hb_unicode_get_mirroring_char_nil
,
hb_unicode_get_mirroring_char_nil
,
...
@@ -92,16 +94,26 @@ hb_unicode_funcs_copy (hb_unicode_funcs_t *other_ufuncs)
...
@@ -92,16 +94,26 @@ hb_unicode_funcs_copy (hb_unicode_funcs_t *other_ufuncs)
*
ufuncs
=
*
other_ufuncs
;
*
ufuncs
=
*
other_ufuncs
;
HB_OBJECT_DO_INIT
(
ufuncs
);
HB_OBJECT_DO_INIT
(
ufuncs
);
ufuncs
->
immutable
=
FALSE
;
return
ufuncs
;
return
ufuncs
;
}
}
void
hb_unicode_funcs_make_immutable
(
hb_unicode_funcs_t
*
ufuncs
)
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
))
return
;
ufuncs
->
immutable
=
TRUE
;
}
void
void
hb_unicode_funcs_set_mirroring_char_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_funcs_set_mirroring_char_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_get_mirroring_char_func_t
mirroring_char_func
)
hb_unicode_get_mirroring_char_func_t
mirroring_char_func
)
{
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
)
)
if
(
ufuncs
->
immutable
)
return
;
return
;
ufuncs
->
get_mirroring_char
=
mirroring_char_func
?
mirroring_char_func
:
hb_unicode_get_mirroring_char_nil
;
ufuncs
->
get_mirroring_char
=
mirroring_char_func
?
mirroring_char_func
:
hb_unicode_get_mirroring_char_nil
;
...
@@ -111,7 +123,7 @@ void
...
@@ -111,7 +123,7 @@ void
hb_unicode_funcs_set_general_category_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_funcs_set_general_category_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_get_general_category_func_t
general_category_func
)
hb_unicode_get_general_category_func_t
general_category_func
)
{
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
)
)
if
(
ufuncs
->
immutable
)
return
;
return
;
ufuncs
->
get_general_category
=
general_category_func
?
general_category_func
:
hb_unicode_get_general_category_nil
;
ufuncs
->
get_general_category
=
general_category_func
?
general_category_func
:
hb_unicode_get_general_category_nil
;
...
@@ -121,7 +133,7 @@ void
...
@@ -121,7 +133,7 @@ void
hb_unicode_funcs_set_script_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_funcs_set_script_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_get_script_func_t
script_func
)
hb_unicode_get_script_func_t
script_func
)
{
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
)
)
if
(
ufuncs
->
immutable
)
return
;
return
;
ufuncs
->
get_script
=
script_func
?
script_func
:
hb_unicode_get_script_nil
;
ufuncs
->
get_script
=
script_func
?
script_func
:
hb_unicode_get_script_nil
;
...
@@ -131,7 +143,7 @@ void
...
@@ -131,7 +143,7 @@ void
hb_unicode_funcs_set_combining_class_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_funcs_set_combining_class_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_get_combining_class_func_t
combining_class_func
)
hb_unicode_get_combining_class_func_t
combining_class_func
)
{
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
)
)
if
(
ufuncs
->
immutable
)
return
;
return
;
ufuncs
->
get_combining_class
=
combining_class_func
?
combining_class_func
:
hb_unicode_get_combining_class_nil
;
ufuncs
->
get_combining_class
=
combining_class_func
?
combining_class_func
:
hb_unicode_get_combining_class_nil
;
...
@@ -141,7 +153,7 @@ void
...
@@ -141,7 +153,7 @@ void
hb_unicode_funcs_set_eastasian_width_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_funcs_set_eastasian_width_func
(
hb_unicode_funcs_t
*
ufuncs
,
hb_unicode_get_eastasian_width_func_t
eastasian_width_func
)
hb_unicode_get_eastasian_width_func_t
eastasian_width_func
)
{
{
if
(
HB_OBJECT_IS_INERT
(
ufuncs
)
)
if
(
ufuncs
->
immutable
)
return
;
return
;
ufuncs
->
get_eastasian_width
=
eastasian_width_func
?
eastasian_width_func
:
hb_unicode_get_eastasian_width_nil
;
ufuncs
->
get_eastasian_width
=
eastasian_width_func
?
eastasian_width_func
:
hb_unicode_get_eastasian_width_nil
;
...
...
src/hb-unicode.h
浏览文件 @
eb27ec0c
...
@@ -180,6 +180,8 @@ hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs);
...
@@ -180,6 +180,8 @@ hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs);
hb_unicode_funcs_t
*
hb_unicode_funcs_t
*
hb_unicode_funcs_copy
(
hb_unicode_funcs_t
*
ufuncs
);
hb_unicode_funcs_copy
(
hb_unicode_funcs_t
*
ufuncs
);
void
hb_unicode_funcs_make_immutable
(
hb_unicode_funcs_t
*
ufuncs
);
/* funcs */
/* funcs */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录