Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
514564f5
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看板
提交
514564f5
编写于
1月 29, 2015
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[layout] Move skippy_iter setup from constructor into init()
上级
b051be54
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
29 addition
and
20 deletion
+29
-20
src/hb-ot-layout-gpos-table.hh
src/hb-ot-layout-gpos-table.hh
+12
-6
src/hb-ot-layout-gsubgpos-private.hh
src/hb-ot-layout-gsubgpos-private.hh
+15
-13
src/hb-ot-shape-fallback.cc
src/hb-ot-shape-fallback.cc
+2
-1
未找到文件。
src/hb-ot-layout-gpos-table.hh
浏览文件 @
514564f5
...
...
@@ -684,7 +684,8 @@ struct PairPosFormat1
unsigned
int
index
=
(
this
+
coverage
).
get_coverage
(
buffer
->
cur
().
codepoint
);
if
(
likely
(
index
==
NOT_COVERED
))
return
TRACE_RETURN
(
false
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
if
(
!
skippy_iter
.
next
())
return
TRACE_RETURN
(
false
);
...
...
@@ -754,7 +755,8 @@ struct PairPosFormat2
unsigned
int
index
=
(
this
+
coverage
).
get_coverage
(
buffer
->
cur
().
codepoint
);
if
(
likely
(
index
==
NOT_COVERED
))
return
TRACE_RETURN
(
false
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
if
(
!
skippy_iter
.
next
())
return
TRACE_RETURN
(
false
);
...
...
@@ -904,7 +906,8 @@ struct CursivePosFormat1
const
EntryExitRecord
&
this_record
=
entryExitRecord
[(
this
+
coverage
).
get_coverage
(
buffer
->
cur
().
codepoint
)];
if
(
!
this_record
.
exitAnchor
)
return
TRACE_RETURN
(
false
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
if
(
!
skippy_iter
.
next
())
return
TRACE_RETURN
(
false
);
...
...
@@ -1048,7 +1051,8 @@ struct MarkBasePosFormat1
if
(
likely
(
mark_index
==
NOT_COVERED
))
return
TRACE_RETURN
(
false
);
/* now we search backwards for a non-mark glyph */
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
skippy_iter
.
set_lookup_props
(
LookupFlag
::
IgnoreMarks
);
do
{
...
...
@@ -1153,7 +1157,8 @@ struct MarkLigPosFormat1
if
(
likely
(
mark_index
==
NOT_COVERED
))
return
TRACE_RETURN
(
false
);
/* now we search backwards for a non-mark glyph */
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
skippy_iter
.
set_lookup_props
(
LookupFlag
::
IgnoreMarks
);
if
(
!
skippy_iter
.
prev
())
return
TRACE_RETURN
(
false
);
...
...
@@ -1270,7 +1275,8 @@ struct MarkMarkPosFormat1
if
(
likely
(
mark1_index
==
NOT_COVERED
))
return
TRACE_RETURN
(
false
);
/* now we search backwards for a suitable mark glyph until a non-mark glyph */
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
1
);
skippy_iter
.
set_lookup_props
(
c
->
lookup_props
&
~
LookupFlag
::
IgnoreFlags
);
if
(
!
skippy_iter
.
prev
())
return
TRACE_RETURN
(
false
);
...
...
src/hb-ot-layout-gsubgpos-private.hh
浏览文件 @
514564f5
...
...
@@ -337,23 +337,22 @@ struct hb_apply_context_t
struct
skipping_iterator_t
{
inline
skipping_iterator_t
(
hb_apply_context_t
*
c_
,
bool
context_match
=
false
)
:
idx
(
0
),
c
(
c_
),
match_glyph_data
(
NULL
),
num_items
(
0
),
end
(
0
)
inline
void
init
(
hb_apply_context_t
*
c_
,
bool
context_match
=
false
)
{
c
=
c_
;
match_glyph_data
=
NULL
,
matcher
.
set_match_func
(
NULL
,
NULL
);
matcher
.
set_lookup_props
(
c
->
lookup_props
);
/* Ignore ZWNJ if we are matching GSUB context, or matching GPOS. */
matcher
.
set_ignore_zwnj
(
context_match
||
c
->
table_index
==
1
);
/* Ignore ZWJ if we are matching GSUB context, or matching GPOS, or if asked to. */
matcher
.
set_ignore_zwj
(
context_match
||
c
->
table_index
==
1
||
c
->
auto_zwj
);
if
(
!
context_match
)
matcher
.
set_mask
(
c
->
lookup_mask
);
matcher
.
set_mask
(
context_match
?
-
1
:
c
->
lookup_mask
);
}
inline
void
set_lookup_props
(
unsigned
int
lookup_props
)
{
matcher
.
set_lookup_props
(
lookup_props
);
}
inline
void
set_lookup_props
(
unsigned
int
lookup_props
)
{
matcher
.
set_lookup_props
(
lookup_props
);
}
inline
void
set_match_func
(
matcher_t
::
match_func_t
match_func
,
const
void
*
match_data
,
const
USHORT
glyph_data
[])
...
...
@@ -705,7 +704,8 @@ static inline bool match_input (hb_apply_context_t *c,
hb_buffer_t
*
buffer
=
c
->
buffer
;
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
);
skippy_iter
.
reset
(
buffer
->
idx
,
count
-
1
);
skippy_iter
.
set_match_func
(
match_func
,
match_data
,
input
);
...
...
@@ -874,7 +874,8 @@ static inline bool match_backtrack (hb_apply_context_t *c,
{
TRACE_APPLY
(
NULL
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
,
true
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
,
true
);
skippy_iter
.
reset
(
c
->
buffer
->
backtrack_len
(),
count
);
skippy_iter
.
set_match_func
(
match_func
,
match_data
,
backtrack
);
...
...
@@ -894,7 +895,8 @@ static inline bool match_lookahead (hb_apply_context_t *c,
{
TRACE_APPLY
(
NULL
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
c
,
true
);
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
c
,
true
);
skippy_iter
.
reset
(
c
->
buffer
->
idx
+
offset
-
1
,
count
);
skippy_iter
.
set_match_func
(
match_func
,
match_data
,
lookahead
);
...
...
src/hb-ot-shape-fallback.cc
浏览文件 @
514564f5
...
...
@@ -441,7 +441,8 @@ _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan,
OT
::
hb_apply_context_t
c
(
1
,
font
,
buffer
);
c
.
set_lookup_mask
(
plan
->
kern_mask
);
c
.
set_lookup_props
(
OT
::
LookupFlag
::
IgnoreMarks
);
OT
::
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
(
&
c
);
OT
::
hb_apply_context_t
::
skipping_iterator_t
skippy_iter
;
skippy_iter
.
init
(
&
c
);
unsigned
int
count
=
buffer
->
len
;
hb_glyph_info_t
*
info
=
buffer
->
info
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录