Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
e07669fc
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,发现更多精彩内容 >>
提交
e07669fc
编写于
10月 03, 2017
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[use] Implement Consonant_With_Stacker
Related to
https://github.com/behdad/harfbuzz/issues/528
上级
3ca9c92a
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
13 addition
and
8 deletion
+13
-8
src/gen-use-table.py
src/gen-use-table.py
+4
-3
src/hb-ot-shape-complex-use-machine.rl
src/hb-ot-shape-complex-use-machine.rl
+3
-2
src/hb-ot-shape-complex-use-private.hh
src/hb-ot-shape-complex-use-private.hh
+2
-1
src/hb-ot-shape-complex-use-table.cc
src/hb-ot-shape-complex-use-table.cc
+4
-2
未找到文件。
src/gen-use-table.py
浏览文件 @
e07669fc
...
...
@@ -178,6 +178,8 @@ def is_CONS_MOD(U, UISC, UGC):
def
is_CONS_SUB
(
U
,
UISC
,
UGC
):
#SPEC-DRAFT return UISC == Consonant_Subjoined
return
UISC
==
Consonant_Subjoined
and
UGC
!=
Lo
def
is_CONS_WITH_STACKER
(
U
,
UISC
,
UGC
):
return
UISC
==
Consonant_With_Stacker
def
is_HALANT
(
U
,
UISC
,
UGC
):
return
UISC
in
[
Virama
,
Invisible_Stacker
]
def
is_HALANT_NUM
(
U
,
UISC
,
UGC
):
...
...
@@ -199,9 +201,7 @@ def is_OTHER(U, UISC, UGC):
def
is_Reserved
(
U
,
UISC
,
UGC
):
return
UGC
==
'Cn'
def
is_REPHA
(
U
,
UISC
,
UGC
):
#return UISC == Consonant_Preceding_Repha
#SPEC-OUTDATED hack to categorize Consonant_With_Stacker and Consonant_Prefixed
return
UISC
in
[
Consonant_Preceding_Repha
,
Consonant_With_Stacker
,
Consonant_Prefixed
]
return
UISC
in
[
Consonant_Preceding_Repha
,
Consonant_Prefixed
]
def
is_SYM
(
U
,
UISC
,
UGC
):
if
U
==
0x25CC
:
return
False
#SPEC-DRAFT
#SPEC-DRAFT return UGC in [So, Sc] or UISC == Symbol_Letter
...
...
@@ -230,6 +230,7 @@ use_mapping = {
'M'
:
is_CONS_MED
,
'CM'
:
is_CONS_MOD
,
'SUB'
:
is_CONS_SUB
,
'CS'
:
is_CONS_WITH_STACKER
,
'H'
:
is_HALANT
,
'HN'
:
is_HALANT_NUM
,
'ZWNJ'
:
is_ZWNJ
,
...
...
src/hb-ot-shape-complex-use-machine.rl
浏览文件 @
e07669fc
...
...
@@ -86,6 +86,7 @@ VMPst = 39; # VOWEL_MOD_POST
VMPre = 23; # VOWEL_MOD_PRE
SMAbv = 41; # SYM_MOD_ABOVE
SMBlw = 42; # SYM_MOD_BELOW
CS = 43; # CONS_WITH_STACKER
consonant_modifiers = CMAbv* CMBlw* ((H B | SUB) VS? CMAbv? CMBlw*)*;
...
...
@@ -96,12 +97,12 @@ vowel_modifiers = VMPre* VMAbv* VMBlw* VMPst*;
final_consonants = FAbv* FBlw* FPst* FM?;
virama_terminated_cluster =
R
? (B | GB) VS?
(R|CS)
? (B | GB) VS?
consonant_modifiers
H
;
standard_cluster =
R
? (B | GB) VS?
(R|CS)
? (B | GB) VS?
consonant_modifiers
medial_consonants
dependent_vowels
...
...
src/hb-ot-shape-complex-use-private.hh
浏览文件 @
e07669fc
...
...
@@ -87,7 +87,8 @@ enum use_category_t {
USE_VMPst
=
39
,
/* VOWEL_MOD_POST */
USE_VMPre
=
23
,
/* VOWEL_MOD_PRE */
USE_SMAbv
=
41
,
/* SYM_MOD_ABOVE */
USE_SMBlw
=
42
/* SYM_MOD_BELOW */
USE_SMBlw
=
42
,
/* SYM_MOD_BELOW */
USE_CS
=
43
/* CONS_WITH_STACKER */
};
HB_INTERNAL
USE_TABLE_ELEMENT_TYPE
...
...
src/hb-ot-shape-complex-use-table.cc
浏览文件 @
e07669fc
...
...
@@ -19,6 +19,7 @@
#define B USE_B
/* BASE */
#define CGJ USE_CGJ
/* CGJ */
#define CS USE_CS
/* CONS_WITH_STACKER */
#define FM USE_FM
/* CONS_FINAL_MOD */
#define GB USE_GB
/* BASE_OTHER */
#define H USE_H
/* HALANT */
...
...
@@ -163,7 +164,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 0CC0 */
VAbv
,
VPst
,
VPst
,
VPst
,
VPst
,
O
,
VAbv
,
VAbv
,
VAbv
,
O
,
VAbv
,
VAbv
,
VAbv
,
H
,
O
,
O
,
/* 0CD0 */
O
,
O
,
O
,
O
,
O
,
VPst
,
VPst
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
B
,
O
,
/* 0CE0 */
B
,
B
,
VBlw
,
VBlw
,
O
,
O
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 0CF0 */
O
,
R
,
R
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 0CF0 */
O
,
CS
,
CS
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* Malayalam */
...
...
@@ -467,7 +468,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* Brahmi */
/* 11000 */
VMPst
,
VMAbv
,
VMPst
,
R
,
R
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 11000 */
VMPst
,
VMAbv
,
VMPst
,
CS
,
CS
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 11010 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 11020 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 11030 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VAbv
,
VAbv
,
VAbv
,
VAbv
,
VBlw
,
VBlw
,
VBlw
,
VBlw
,
...
...
@@ -729,6 +730,7 @@ hb_use_get_categories (hb_codepoint_t u)
#undef B
#undef CGJ
#undef CS
#undef FM
#undef GB
#undef H
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录