Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
7ce03ebe
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看板
提交
7ce03ebe
编写于
7月 21, 2015
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[USE] Move pref
上级
2d4b62ea
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
10 deletion
+32
-10
src/hb-ot-shape-complex-use-machine.rl
src/hb-ot-shape-complex-use-machine.rl
+5
-4
src/hb-ot-shape-complex-use-private.hh
src/hb-ot-shape-complex-use-private.hh
+5
-4
src/hb-ot-shape-complex-use.cc
src/hb-ot-shape-complex-use.cc
+22
-2
未找到文件。
src/hb-ot-shape-complex-use-machine.rl
浏览文件 @
7ce03ebe
...
...
@@ -55,6 +55,7 @@ FM = 8; # CONS_FINAL_MOD
#CM = 10; # CONS_MOD
SUB = 11; # CONS_SUB
H = 12; # HALANT
HN = 13; # HALANT_NUM
ZWNJ = 14; # Zero width non-joiner
ZWJ = 15; # Zero width joiner
...
...
@@ -64,8 +65,8 @@ R = 18; # REPHA
S = 19; # SYM
#SM = 20; # SYM_MOD
VS = 21; # VARIATION_SELECTOR
#V =
22
; # VOWEL
#VM =
23
; # VOWEL_MOD
#V =
36
; # VOWEL
#VM =
40
; # VOWEL_MOD
FAbv = 24; # CONS_FINAL_ABOVE
FBlw = 25; # CONS_FINAL_BELOW
...
...
@@ -79,11 +80,11 @@ CMBlw = 32; # CONS_MOD_BELOW
VAbv = 33; # VOWEL_ABOVE / VOWEL_ABOVE_BELOW / VOWEL_ABOVE_BELOW_POST / VOWEL_ABOVE_POST
VBlw = 34; # VOWEL_BELOW / VOWEL_BELOW_POST
VPst = 35; # VOWEL_POST UIPC = Right
VPre =
36
; # VOWEL_PRE / VOWEL_PRE_ABOVE / VOWEL_PRE_ABOVE_POST / VOWEL_PRE_POST
VPre =
22
; # VOWEL_PRE / VOWEL_PRE_ABOVE / VOWEL_PRE_ABOVE_POST / VOWEL_PRE_POST
VMAbv = 37; # VOWEL_MOD_ABOVE
VMBlw = 38; # VOWEL_MOD_BELOW
VMPst = 39; # VOWEL_MOD_POST
VMPre =
40
; # VOWEL_MOD_PRE
VMPre =
23
; # VOWEL_MOD_PRE
SMAbv = 41; # SYM_MOD_ABOVE
SMBlw = 42; # SYM_MOD_BELOW
...
...
src/hb-ot-shape-complex-use-private.hh
浏览文件 @
7ce03ebe
...
...
@@ -57,6 +57,7 @@ enum use_category_t {
// USE_CM = 10, /* CONS_MOD */
USE_SUB
=
11
,
/* CONS_SUB */
USE_H
=
12
,
/* HALANT */
USE_HN
=
13
,
/* HALANT_NUM */
USE_ZWNJ
=
14
,
/* Zero width non-joiner */
USE_ZWJ
=
15
,
/* Zero width joiner */
...
...
@@ -66,8 +67,8 @@ enum use_category_t {
USE_S
=
19
,
/* SYM */
// USE_SM = 20, /* SYM_MOD */
USE_VS
=
21
,
/* VARIATION_SELECTOR */
// USE_V
= 22
, /* VOWEL */
// USE_VM =
23
, /* VOWEL_MOD */
// USE_V
= 36
, /* VOWEL */
// USE_VM =
40
, /* VOWEL_MOD */
USE_FAbv
=
24
,
/* CONS_FINAL_ABOVE */
USE_FBlw
=
25
,
/* CONS_FINAL_BELOW */
...
...
@@ -81,11 +82,11 @@ enum use_category_t {
USE_VAbv
=
33
,
/* VOWEL_ABOVE / VOWEL_ABOVE_BELOW / VOWEL_ABOVE_BELOW_POST / VOWEL_ABOVE_POST */
USE_VBlw
=
34
,
/* VOWEL_BELOW / VOWEL_BELOW_POST */
USE_VPst
=
35
,
/* VOWEL_POST UIPC = Right */
USE_VPre
=
36
,
/* VOWEL_PRE / VOWEL_PRE_ABOVE / VOWEL_PRE_ABOVE_POST / VOWEL_PRE_POST */
USE_VPre
=
22
,
/* VOWEL_PRE / VOWEL_PRE_ABOVE / VOWEL_PRE_ABOVE_POST / VOWEL_PRE_POST */
USE_VMAbv
=
37
,
/* VOWEL_MOD_ABOVE */
USE_VMBlw
=
38
,
/* VOWEL_MOD_BELOW */
USE_VMPst
=
39
,
/* VOWEL_MOD_POST */
USE_VMPre
=
40
,
/* VOWEL_MOD_PRE */
USE_VMPre
=
23
,
/* VOWEL_MOD_PRE */
USE_SMAbv
=
41
,
/* SYM_MOD_ABOVE */
USE_SMBlw
=
42
/* SYM_MOD_BELOW */
};
...
...
src/hb-ot-shape-complex-use.cc
浏览文件 @
7ce03ebe
...
...
@@ -347,8 +347,28 @@ reorder_syllable (const hb_ot_shape_plan_t *plan,
}
}
/* TODO move things back. */
/* Move things back. */
unsigned
int
j
=
end
;
for
(
unsigned
int
i
=
start
;
i
<
end
;
i
++
)
{
uint32_t
flag
=
FLAG_UNSAFE
(
info
[
i
].
use_category
());
if
(
flag
&
(
HALANT_FLAGS
|
BASE_FLAGS
))
{
/* If we hit a halant, move before it; otherwise it's a base: move to it's
* place, and shift things in between backward. */
if
(
info
[
i
].
use_category
()
==
USE_H
)
j
=
i
+
1
;
else
j
=
i
;
}
else
if
(((
flag
)
&
(
FLAG
(
USE_VPre
)
|
FLAG
(
USE_VMPre
)))
&&
j
<
i
)
{
hb_glyph_info_t
t
=
info
[
i
];
memmove
(
&
info
[
j
+
1
],
&
info
[
j
],
(
i
-
j
)
*
sizeof
(
info
[
0
]));
info
[
j
]
=
t
;
buffer
->
merge_clusters
(
j
,
i
+
1
);
}
}
}
static
inline
void
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录