Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
50b8dc79
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,发现更多精彩内容 >>
提交
50b8dc79
编写于
2月 17, 2015
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[layout] Add may_dispatch()
No functional change right now.
上级
de2118ed
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
25 addition
and
0 deletion
+25
-0
src/hb-ot-layout-gpos-table.hh
src/hb-ot-layout-gpos-table.hh
+7
-0
src/hb-ot-layout-gsub-table.hh
src/hb-ot-layout-gsub-table.hh
+6
-0
src/hb-ot-layout-gsubgpos-private.hh
src/hb-ot-layout-gsubgpos-private.hh
+12
-0
未找到文件。
src/hb-ot-layout-gpos-table.hh
浏览文件 @
50b8dc79
...
@@ -548,6 +548,7 @@ struct SinglePos
...
@@ -548,6 +548,7 @@ struct SinglePos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
...
@@ -853,6 +854,7 @@ struct PairPos
...
@@ -853,6 +854,7 @@ struct PairPos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
...
@@ -1022,6 +1024,7 @@ struct CursivePos
...
@@ -1022,6 +1024,7 @@ struct CursivePos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1124,6 +1127,7 @@ struct MarkBasePos
...
@@ -1124,6 +1127,7 @@ struct MarkBasePos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1248,6 +1252,7 @@ struct MarkLigPos
...
@@ -1248,6 +1252,7 @@ struct MarkLigPos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1370,6 +1375,7 @@ struct MarkMarkPos
...
@@ -1370,6 +1375,7 @@ struct MarkMarkPos
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1430,6 +1436,7 @@ struct PosLookupSubTable
...
@@ -1430,6 +1436,7 @@ struct PosLookupSubTable
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
,
unsigned
int
lookup_type
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
,
unsigned
int
lookup_type
)
const
{
{
TRACE_DISPATCH
(
this
,
lookup_type
);
TRACE_DISPATCH
(
this
,
lookup_type
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
sub_format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
lookup_type
)
{
switch
(
lookup_type
)
{
case
Single
:
return
TRACE_RETURN
(
u
.
single
.
dispatch
(
c
));
case
Single
:
return
TRACE_RETURN
(
u
.
single
.
dispatch
(
c
));
case
Pair
:
return
TRACE_RETURN
(
u
.
pair
.
dispatch
(
c
));
case
Pair
:
return
TRACE_RETURN
(
u
.
pair
.
dispatch
(
c
));
...
...
src/hb-ot-layout-gsub-table.hh
浏览文件 @
50b8dc79
...
@@ -225,6 +225,7 @@ struct SingleSubst
...
@@ -225,6 +225,7 @@ struct SingleSubst
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
...
@@ -428,6 +429,7 @@ struct MultipleSubst
...
@@ -428,6 +429,7 @@ struct MultipleSubst
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -581,6 +583,7 @@ struct AlternateSubst
...
@@ -581,6 +583,7 @@ struct AlternateSubst
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -901,6 +904,7 @@ struct LigatureSubst
...
@@ -901,6 +904,7 @@ struct LigatureSubst
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1067,6 +1071,7 @@ struct ReverseChainSingleSubst
...
@@ -1067,6 +1071,7 @@ struct ReverseChainSingleSubst
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
default:
return
TRACE_RETURN
(
c
->
default_return_value
());
...
@@ -1115,6 +1120,7 @@ struct SubstLookupSubTable
...
@@ -1115,6 +1120,7 @@ struct SubstLookupSubTable
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
,
unsigned
int
lookup_type
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
,
unsigned
int
lookup_type
)
const
{
{
TRACE_DISPATCH
(
this
,
lookup_type
);
TRACE_DISPATCH
(
this
,
lookup_type
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
sub_format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
lookup_type
)
{
switch
(
lookup_type
)
{
case
Single
:
return
TRACE_RETURN
(
u
.
single
.
dispatch
(
c
));
case
Single
:
return
TRACE_RETURN
(
u
.
single
.
dispatch
(
c
));
case
Multiple
:
return
TRACE_RETURN
(
u
.
multiple
.
dispatch
(
c
));
case
Multiple
:
return
TRACE_RETURN
(
u
.
multiple
.
dispatch
(
c
));
...
...
src/hb-ot-layout-gsubgpos-private.hh
浏览文件 @
50b8dc79
...
@@ -58,6 +58,8 @@ struct hb_closure_context_t
...
@@ -58,6 +58,8 @@ struct hb_closure_context_t
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_CLOSURE
;
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_CLOSURE
;
typedef
hb_void_t
return_t
;
typedef
hb_void_t
return_t
;
typedef
return_t
(
*
recurse_func_t
)
(
hb_closure_context_t
*
c
,
unsigned
int
lookup_index
);
typedef
return_t
(
*
recurse_func_t
)
(
hb_closure_context_t
*
c
,
unsigned
int
lookup_index
);
template
<
typename
T
,
typename
F
>
inline
bool
may_dispatch
(
const
T
*
obj
,
const
F
*
format
)
{
return
true
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
return_t
dispatch
(
const
T
&
obj
)
{
obj
.
closure
(
this
);
return
HB_VOID
;
}
inline
return_t
dispatch
(
const
T
&
obj
)
{
obj
.
closure
(
this
);
return
HB_VOID
;
}
static
return_t
default_return_value
(
void
)
{
return
HB_VOID
;
}
static
return_t
default_return_value
(
void
)
{
return
HB_VOID
;
}
...
@@ -107,6 +109,8 @@ struct hb_would_apply_context_t
...
@@ -107,6 +109,8 @@ struct hb_would_apply_context_t
inline
const
char
*
get_name
(
void
)
{
return
"WOULD_APPLY"
;
}
inline
const
char
*
get_name
(
void
)
{
return
"WOULD_APPLY"
;
}
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_WOULD_APPLY
;
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_WOULD_APPLY
;
typedef
bool
return_t
;
typedef
bool
return_t
;
template
<
typename
T
,
typename
F
>
inline
bool
may_dispatch
(
const
T
*
obj
,
const
F
*
format
)
{
return
true
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
would_apply
(
this
);
}
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
would_apply
(
this
);
}
static
return_t
default_return_value
(
void
)
{
return
false
;
}
static
return_t
default_return_value
(
void
)
{
return
false
;
}
...
@@ -146,6 +150,8 @@ struct hb_collect_glyphs_context_t
...
@@ -146,6 +150,8 @@ struct hb_collect_glyphs_context_t
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_COLLECT_GLYPHS
;
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_COLLECT_GLYPHS
;
typedef
hb_void_t
return_t
;
typedef
hb_void_t
return_t
;
typedef
return_t
(
*
recurse_func_t
)
(
hb_collect_glyphs_context_t
*
c
,
unsigned
int
lookup_index
);
typedef
return_t
(
*
recurse_func_t
)
(
hb_collect_glyphs_context_t
*
c
,
unsigned
int
lookup_index
);
template
<
typename
T
,
typename
F
>
inline
bool
may_dispatch
(
const
T
*
obj
,
const
F
*
format
)
{
return
true
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
return_t
dispatch
(
const
T
&
obj
)
{
obj
.
collect_glyphs
(
this
);
return
HB_VOID
;
}
inline
return_t
dispatch
(
const
T
&
obj
)
{
obj
.
collect_glyphs
(
this
);
return
HB_VOID
;
}
static
return_t
default_return_value
(
void
)
{
return
HB_VOID
;
}
static
return_t
default_return_value
(
void
)
{
return
HB_VOID
;
}
...
@@ -237,6 +243,8 @@ struct hb_get_coverage_context_t
...
@@ -237,6 +243,8 @@ struct hb_get_coverage_context_t
inline
const
char
*
get_name
(
void
)
{
return
"GET_COVERAGE"
;
}
inline
const
char
*
get_name
(
void
)
{
return
"GET_COVERAGE"
;
}
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_GET_COVERAGE
;
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_GET_COVERAGE
;
typedef
const
Coverage
&
return_t
;
typedef
const
Coverage
&
return_t
;
template
<
typename
T
,
typename
F
>
inline
bool
may_dispatch
(
const
T
*
obj
,
const
F
*
format
)
{
return
true
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
get_coverage
();
}
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
get_coverage
();
}
static
return_t
default_return_value
(
void
)
{
return
Null
(
Coverage
);
}
static
return_t
default_return_value
(
void
)
{
return
Null
(
Coverage
);
}
...
@@ -442,6 +450,8 @@ struct hb_apply_context_t
...
@@ -442,6 +450,8 @@ struct hb_apply_context_t
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_APPLY
;
static
const
unsigned
int
max_debug_depth
=
HB_DEBUG_APPLY
;
typedef
bool
return_t
;
typedef
bool
return_t
;
typedef
return_t
(
*
recurse_func_t
)
(
hb_apply_context_t
*
c
,
unsigned
int
lookup_index
);
typedef
return_t
(
*
recurse_func_t
)
(
hb_apply_context_t
*
c
,
unsigned
int
lookup_index
);
template
<
typename
T
,
typename
F
>
inline
bool
may_dispatch
(
const
T
*
obj
,
const
F
*
format
)
{
return
true
;
}
template
<
typename
T
>
template
<
typename
T
>
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
apply
(
this
);
}
inline
return_t
dispatch
(
const
T
&
obj
)
{
return
obj
.
apply
(
this
);
}
static
return_t
default_return_value
(
void
)
{
return
false
;
}
static
return_t
default_return_value
(
void
)
{
return
false
;
}
...
@@ -1503,6 +1513,7 @@ struct Context
...
@@ -1503,6 +1513,7 @@ struct Context
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
...
@@ -2127,6 +2138,7 @@ struct ChainContext
...
@@ -2127,6 +2138,7 @@ struct ChainContext
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
inline
typename
context_t
::
return_t
dispatch
(
context_t
*
c
)
const
{
{
TRACE_DISPATCH
(
this
,
u
.
format
);
TRACE_DISPATCH
(
this
,
u
.
format
);
if
(
unlikely
(
!
c
->
may_dispatch
(
this
,
&
u
.
format
)))
TRACE_RETURN
(
c
->
default_return_value
());
switch
(
u
.
format
)
{
switch
(
u
.
format
)
{
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
1
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format1
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
case
2
:
return
TRACE_RETURN
(
c
->
dispatch
(
u
.
format2
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录