Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
9f721cf3
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看板
提交
9f721cf3
编写于
5月 16, 2009
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[GSUB] Start ChainContextSubst
上级
7fca9e52
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
39 addition
and
11 deletion
+39
-11
src/hb-ot-layout-gsub-private.h
src/hb-ot-layout-gsub-private.h
+39
-11
未找到文件。
src/hb-ot-layout-gsub-private.h
浏览文件 @
9f721cf3
...
...
@@ -127,9 +127,6 @@ struct SingleSubst {
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
if
(
HB_UNLIKELY
(
context_length
<
1
))
return
false
;
unsigned
int
property
;
if
(
!
_hb_ot_layout_check_glyph_property
(
layout
,
IN_CURITEM
(),
lookup_flag
,
&
property
))
return
false
;
...
...
@@ -217,9 +214,6 @@ struct MultipleSubstFormat1 {
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
if
(
HB_UNLIKELY
(
context_length
<
1
))
return
false
;
unsigned
int
property
;
if
(
!
_hb_ot_layout_check_glyph_property
(
layout
,
IN_CURITEM
(),
lookup_flag
,
&
property
))
return
false
;
...
...
@@ -292,9 +286,6 @@ struct AlternateSubstFormat1 {
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
if
(
HB_UNLIKELY
(
context_length
<
1
))
return
false
;
unsigned
int
property
;
if
(
!
_hb_ot_layout_check_glyph_property
(
layout
,
IN_CURITEM
(),
lookup_flag
,
&
property
))
return
false
;
...
...
@@ -983,6 +974,9 @@ DEFINE_NULL_ASSERT_SIZE (ChainSubRuleSet, 2);
struct
ChainContextSubstFormat1
{
/* TODO */
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
return
false
;
}
private:
USHORT
substFormat
;
/* Format identifier--format = 1 */
...
...
@@ -1006,7 +1000,7 @@ struct ChainSubClassRule {
* backtrack sequence (number of
* glyphs to be matched before the
* first glyph) */
USHORT
backtrack
[];
/* Array of backtracking classes(to be
USHORT
backtrack
[];
/* Array of backtracking classes
(to be
* matched before the input sequence) */
USHORT
inputGlyphCount
;
/* Total number of classes in the input
* sequence (includes the first class) */
...
...
@@ -1017,7 +1011,7 @@ struct ChainSubClassRule {
* look ahead sequence (number of
* classes to be matched after the
* input sequence) */
USHORT
lookAhead
[];
/* Array of lookahead classes(to be
USHORT
lookAhead
[];
/* Array of lookahead classes
(to be
* matched after the input sequence) */
USHORT
substCount
;
/* Number of SubstLookupRecords */
SubstLookupRecord
substLookupRecord
[];
/* Array of SubstLookupRecords--in
...
...
@@ -1040,6 +1034,9 @@ DEFINE_NULL_ASSERT_SIZE (ChainSubClassSet, 2);
struct
ChainContextSubstFormat2
{
/* TODO */
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
return
false
;
}
private:
USHORT
substFormat
;
/* Format identifier--format = 2 */
...
...
@@ -1067,6 +1064,9 @@ ASSERT_SIZE (ChainContextSubstFormat2, 12);
struct
ChainContextSubstFormat3
{
/* TODO */
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
return
false
;
}
private:
USHORT
substFormat
;
/* Format identifier--format = 3 */
...
...
@@ -1090,6 +1090,31 @@ struct ChainContextSubstFormat3 {
};
ASSERT_SIZE
(
ChainContextSubstFormat3
,
10
);
struct
ChainContextSubst
{
friend
struct
SubstLookupSubTable
;
private:
inline
bool
substitute
(
SUBTABLE_SUBSTITUTE_ARGS_DEF
)
const
{
switch
(
u
.
substFormat
)
{
case
1
:
return
u
.
format1
.
substitute
(
SUBTABLE_SUBSTITUTE_ARGS
);
case
2
:
return
u
.
format2
.
substitute
(
SUBTABLE_SUBSTITUTE_ARGS
);
case
3
:
return
u
.
format3
.
substitute
(
SUBTABLE_SUBSTITUTE_ARGS
);
default:
return
false
;
}
}
private:
union
{
USHORT
substFormat
;
/* Format identifier */
ChainContextSubstFormat1
format1
;
ChainContextSubstFormat2
format2
;
ChainContextSubstFormat3
format3
;
}
u
;
};
DEFINE_NULL
(
ChainContextSubst
,
2
);
struct
ExtensionSubstFormat1
{
...
...
@@ -1261,6 +1286,9 @@ struct SubstLookup : Lookup {
return
false
;
nesting_level_left
--
;
if
(
HB_UNLIKELY
(
context_length
<
1
))
return
false
;
for
(
unsigned
int
i
=
0
;
i
<
get_subtable_count
();
i
++
)
if
(
get_subtable
(
i
).
substitute
(
SUBTABLE_SUBSTITUTE_ARGS
,
lookup_type
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录