Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
0987c420
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
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看板
提交
0987c420
编写于
5月 07, 2019
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[name] Remove dead code
上级
5ac4ab68
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
1 addition
and
87 deletion
+1
-87
src/hb-ot-name-table.hh
src/hb-ot-name-table.hh
+1
-87
未找到文件。
src/hb-ot-name-table.hh
浏览文件 @
0987c420
...
...
@@ -102,7 +102,6 @@ struct NameRecord
TRACE_SERIALIZE
(
this
);
auto
*
out
=
c
->
embed
(
this
);
if
(
unlikely
(
!
out
))
return_trace
(
nullptr
);
out
->
offset
.
serialize_copy
(
c
,
src_base
+
offset
,
dst_base
,
length
);
return_trace
(
out
);
}
...
...
@@ -185,91 +184,6 @@ struct name
}
}
bool
serialize_name_record
(
hb_serialize_context_t
*
c
,
const
name
*
source_name
,
const
hb_vector_t
<
unsigned
int
>&
name_record_idx_to_retain
)
{
for
(
unsigned
int
i
=
0
;
i
<
name_record_idx_to_retain
.
length
;
i
++
)
{
unsigned
int
idx
=
name_record_idx_to_retain
[
i
];
if
(
unlikely
(
idx
>=
source_name
->
count
))
{
DEBUG_MSG
(
SUBSET
,
nullptr
,
"Invalid index: %d."
,
idx
);
return
false
;
}
c
->
push
<
NameRecord
>
();
NameRecord
*
p
=
c
->
embed
<
NameRecord
>
(
source_name
->
nameRecordZ
[
idx
]);
if
(
!
p
)
return
false
;
p
->
offset
=
0
;
}
return
true
;
}
bool
serialize_strings
(
hb_serialize_context_t
*
c
,
const
name
*
source_name
,
const
hb_subset_plan_t
*
plan
,
const
hb_vector_t
<
unsigned
int
>&
name_record_idx_to_retain
)
{
hb_face_t
*
face
=
plan
->
source
;
accelerator_t
acc
;
acc
.
init
(
face
);
for
(
unsigned
int
i
=
0
;
i
<
name_record_idx_to_retain
.
length
;
i
++
)
{
unsigned
int
idx
=
name_record_idx_to_retain
[
i
];
unsigned
int
size
=
acc
.
get_name
(
idx
).
get_size
();
c
->
push
<
char
>
();
char
*
new_pos
=
c
->
allocate_size
<
char
>
(
size
);
if
(
unlikely
(
new_pos
==
nullptr
))
{
acc
.
fini
();
DEBUG_MSG
(
SUBSET
,
nullptr
,
"Couldn't allocate enough space for Name string: %u."
,
size
);
return
false
;
}
const
HBUINT8
*
source_string_pool
=
(
source_name
+
source_name
->
stringOffset
).
arrayZ
;
unsigned
int
name_record_offset
=
source_name
->
nameRecordZ
[
idx
].
offset
;
memcpy
(
new_pos
,
source_string_pool
+
name_record_offset
,
size
);
}
acc
.
fini
();
return
true
;
}
bool
pack_record_and_strings
(
name
*
dest_name_unpacked
,
hb_serialize_context_t
*
c
,
unsigned
length
)
{
hb_hashmap_t
<
unsigned
,
unsigned
>
id_str_idx_map
;
for
(
int
i
=
length
-
1
;
i
>=
0
;
i
--
)
{
unsigned
objidx
=
c
->
pop_pack
();
id_str_idx_map
.
set
((
unsigned
)
i
,
objidx
);
}
const
void
*
base
=
&
(
dest_name_unpacked
->
nameRecordZ
[
length
]);
for
(
int
i
=
length
-
1
;
i
>=
0
;
i
--
)
{
unsigned
str_idx
=
id_str_idx_map
.
get
((
unsigned
)
i
);
NameRecord
&
namerecord
=
dest_name_unpacked
->
nameRecordZ
[
i
];
c
->
add_link
<
HBUINT16
>
(
namerecord
.
offset
,
str_idx
,
base
);
c
->
pop_pack
();
}
if
(
c
->
in_error
())
return
false
;
return
true
;
}
bool
serialize
(
hb_serialize_context_t
*
c
,
const
name
*
source_name
,
const
hb_subset_plan_t
*
plan
,
...
...
@@ -294,7 +208,7 @@ struct name
+
hb_iter
(
name_record_idx_to_retain
)
|
hb_apply
([
&
]
(
unsigned
_
)
{
c
->
copy
(
src_array
[
_
],
src_base
,
dst_base
);
})
;
if
(
unlikely
(
c
->
ran_out_of_room
))
return_trace
(
false
);
assert
(
this
->
stringOffset
==
c
->
length
());
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录