Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
f559c633
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看板
提交
f559c633
编写于
10月 03, 2017
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[indic] Implement Consonent_With_Stacker
Fixes
https://github.com/behdad/harfbuzz/issues/528
上级
e07669fc
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
13 addition
and
10 deletion
+13
-10
src/hb-ot-shape-complex-indic-machine.rl
src/hb-ot-shape-complex-indic-machine.rl
+3
-2
src/hb-ot-shape-complex-indic-private.hh
src/hb-ot-shape-complex-indic-private.hh
+4
-3
src/hb-ot-shape-complex-myanmar-machine.rl
src/hb-ot-shape-complex-myanmar-machine.rl
+3
-2
src/hb-ot-shape-complex-myanmar.cc
src/hb-ot-shape-complex-myanmar.cc
+3
-3
未找到文件。
src/hb-ot-shape-complex-indic-machine.rl
浏览文件 @
f559c633
...
...
@@ -57,6 +57,7 @@ Repha = 15;
Ra = 16;
CM = 17;
Symbol= 18;
CS = 19;
c = (C | Ra); # is_consonant
n = ((ZWNJ?.RS)? (N.N?)?); # is_consonant_modifier
...
...
@@ -76,9 +77,9 @@ medial_group = CM?;
halant_or_matra_group = (final_halant_group | (h.ZWJ)? matra_group{0,4}) (Coeng (cn|V))?;
consonant_syllable =
Repha
? (cn.halant_group){0,4} cn medial_group halant_or_matra_group syllable_tail;
consonant_syllable =
(Repha|CS)
? (cn.halant_group){0,4} cn medial_group halant_or_matra_group syllable_tail;
vowel_syllable = reph? V.n? (ZWJ | (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail);
standalone_cluster = (
Repha
? PLACEHOLDER | reph? DOTTEDCIRCLE).n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
standalone_cluster = (
(Repha|CS)
? PLACEHOLDER | reph? DOTTEDCIRCLE).n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
symbol_cluster = symbol syllable_tail;
broken_cluster = reph? n? (halant_group.cn){0,4} medial_group halant_or_matra_group syllable_tail;
other = any;
...
...
src/hb-ot-shape-complex-indic-private.hh
浏览文件 @
f559c633
...
...
@@ -60,7 +60,8 @@ enum indic_category_t {
OT_Repha
=
15
,
/* Atomically-encoded logical or visual repha. */
OT_Ra
=
16
,
OT_CM
=
17
,
/* Consonant-Medial. */
OT_Symbol
=
18
/* Avagraha, etc that take marks (SM,A,VD). */
OT_Symbol
=
18
,
/* Avagraha, etc that take marks (SM,A,VD). */
OT_CS
=
19
};
#define MEDIAL_FLAGS (FLAG (OT_CM))
...
...
@@ -70,7 +71,7 @@ enum indic_category_t {
* We treat Vowels and placeholders as if they were consonants. This is safe because Vowels
* cannot happen in a consonant syllable. The plus side however is, we can call the
* consonant syllable logic from the vowel syllable function and get it all right! */
#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_Ra) | MEDIAL_FLAGS | FLAG (OT_V) | FLAG (OT_PLACEHOLDER) | FLAG (OT_DOTTEDCIRCLE))
#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_
CS) | FLAG (OT_
Ra) | MEDIAL_FLAGS | FLAG (OT_V) | FLAG (OT_PLACEHOLDER) | FLAG (OT_DOTTEDCIRCLE))
#define JOINER_FLAGS (FLAG (OT_ZWJ) | FLAG (OT_ZWNJ))
#define HALANT_OR_COENG_FLAGS (FLAG (OT_H) | FLAG (OT_Coeng))
...
...
@@ -121,7 +122,7 @@ enum indic_syllabic_category_t {
INDIC_SYLLABIC_CATEGORY_CONSONANT_PREFIXED
=
OT_X
,
/* Don't care. */
INDIC_SYLLABIC_CATEGORY_CONSONANT_SUBJOINED
=
OT_CM
,
INDIC_SYLLABIC_CATEGORY_CONSONANT_SUCCEEDING_REPHA
=
OT_N
,
INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER
=
OT_C
,
INDIC_SYLLABIC_CATEGORY_CONSONANT_WITH_STACKER
=
OT_C
S
,
INDIC_SYLLABIC_CATEGORY_GEMINATION_MARK
=
OT_SM
,
INDIC_SYLLABIC_CATEGORY_INVISIBLE_STACKER
=
OT_Coeng
,
INDIC_SYLLABIC_CATEGORY_JOINER
=
OT_ZWJ
,
...
...
src/hb-ot-shape-complex-myanmar-machine.rl
浏览文件 @
f559c633
...
...
@@ -41,7 +41,7 @@
A = 10;
As = 18;
C = 1;
D =
19
;
D =
32
;
D0 = 20;
DB = 3;
GB = 11;
...
...
@@ -62,6 +62,7 @@ ZWJ = 6;
ZWNJ = 5;
Ra = 16;
P = 31;
CS = 19;
j = ZWJ|ZWNJ; # Joiners
k = (Ra As H); # Kinzi
...
...
@@ -76,7 +77,7 @@ pwo_tone_group = PT A* DB? As?;
complex_syllable_tail = As* medial_group main_vowel_group post_vowel_group* pwo_tone_group* V* j?;
syllable_tail = (H | complex_syllable_tail);
consonant_syllable =
k
? (c|IV|D|GB).VS? (H (c|IV).VS?)* syllable_tail;
consonant_syllable =
(k|CS)
? (c|IV|D|GB).VS? (H (c|IV).VS?)* syllable_tail;
punctuation_cluster = P V;
broken_cluster = k? VS? syllable_tail;
other = any;
...
...
src/hb-ot-shape-complex-myanmar.cc
浏览文件 @
f559c633
...
...
@@ -130,8 +130,7 @@ enum syllable_type_t {
/* Note: This enum is duplicated in the -machine.rl source file.
* Not sure how to avoid duplication. */
enum
myanmar_category_t
{
OT_As
=
18
,
/* Asat */
OT_D
=
19
,
/* Digits except zero */
OT_As
=
18
,
/* Asat */
OT_D0
=
20
,
/* Digit zero */
OT_DB
=
OT_N
,
/* Dot below */
OT_GB
=
OT_PLACEHOLDER
,
...
...
@@ -145,7 +144,8 @@ enum myanmar_category_t {
OT_VPre
=
28
,
OT_VPst
=
29
,
OT_VS
=
30
,
/* Variation selectors */
OT_P
=
31
/* Punctuation */
OT_P
=
31
,
/* Punctuation */
OT_D
=
32
,
/* Digits except zero */
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录