Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
db938479
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看板
提交
db938479
编写于
6月 04, 2019
作者:
Q
Qunxin Liu
提交者:
Garret Rieger
6月 05, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[subset] maxp table to use _subset2
上级
d5e5f378
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
27 deletion
+23
-27
src/hb-ot-maxp-table.hh
src/hb-ot-maxp-table.hh
+22
-26
src/hb-subset.cc
src/hb-subset.cc
+1
-1
未找到文件。
src/hb-ot-maxp-table.hh
浏览文件 @
db938479
...
...
@@ -94,39 +94,35 @@ struct maxp
return_trace
(
likely
(
version
.
major
==
0
&&
version
.
minor
==
0x5000u
));
}
bool
subset
(
hb_subset_
plan_t
*
plan
)
const
bool
subset
(
hb_subset_
context_t
*
c
)
const
{
hb_blob_t
*
maxp_blob
=
hb_sanitize_context_t
().
reference_table
<
maxp
>
(
plan
->
source
);
hb_blob_t
*
maxp_prime_blob
=
hb_blob_copy_writable_or_fail
(
maxp_blob
);
hb_blob_destroy
(
maxp_blob
);
TRACE_SUBSET
(
this
);
maxp
*
maxp_prime
=
c
->
serializer
->
embed
(
this
);
if
(
unlikely
(
!
maxp_prime
))
return_trace
(
false
);
if
(
unlikely
(
!
maxp_prime_blob
))
{
return
false
;
}
maxp
*
maxp_prime
=
(
maxp
*
)
hb_blob_get_data
(
maxp_prime_blob
,
nullptr
);
maxp_prime
->
numGlyphs
=
c
->
plan
->
num_output_glyphs
();
if
(
maxp_prime
->
version
.
major
==
1
)
{
const
maxpV1Tail
*
src_v1
=
&
StructAfter
<
maxpV1Tail
>
(
*
this
);
maxpV1Tail
*
dest_v1
=
c
->
serializer
->
embed
<
maxpV1Tail
>
(
src_v1
);
if
(
unlikely
(
!
dest_v1
))
return_trace
(
false
);
maxp_prime
->
set_num_glyphs
(
plan
->
num_output_glyphs
());
if
(
plan
->
drop_hints
)
drop_hint_fields
(
plan
,
maxp_prime
);
if
(
c
->
plan
->
drop_hints
)
drop_hint_fields
(
dest_v1
);
}
bool
result
=
plan
->
add_table
(
HB_OT_TAG_maxp
,
maxp_prime_blob
);
hb_blob_destroy
(
maxp_prime_blob
);
return
result
;
return_trace
(
true
);
}
static
void
drop_hint_fields
(
hb_subset_plan_t
*
plan
HB_UNUSED
,
maxp
*
maxp_prime
)
static
void
drop_hint_fields
(
maxpV1Tail
*
dest_v1
)
{
if
(
maxp_prime
->
version
.
major
==
1
)
{
maxpV1Tail
&
v1
=
StructAfter
<
maxpV1Tail
>
(
*
maxp_prime
);
v1
.
maxZones
=
1
;
v1
.
maxTwilightPoints
=
0
;
v1
.
maxStorage
=
0
;
v1
.
maxFunctionDefs
=
0
;
v1
.
maxInstructionDefs
=
0
;
v1
.
maxStackElements
=
0
;
v1
.
maxSizeOfInstructions
=
0
;
}
dest_v1
->
maxZones
=
1
;
dest_v1
->
maxTwilightPoints
=
0
;
dest_v1
->
maxStorage
=
0
;
dest_v1
->
maxFunctionDefs
=
0
;
dest_v1
->
maxInstructionDefs
=
0
;
dest_v1
->
maxStackElements
=
0
;
dest_v1
->
maxSizeOfInstructions
=
0
;
}
protected:
...
...
src/hb-subset.cc
浏览文件 @
db938479
...
...
@@ -181,7 +181,7 @@ _subset_table (hb_subset_plan_t *plan,
result
=
_subset2
<
const
OT
::
vmtx
>
(
plan
);
break
;
case
HB_OT_TAG_maxp
:
result
=
_subset
<
const
OT
::
maxp
>
(
plan
);
result
=
_subset
2
<
const
OT
::
maxp
>
(
plan
);
break
;
case
HB_OT_TAG_loca
:
DEBUG_MSG
(
SUBSET
,
nullptr
,
"skip loca handled by glyf"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录