Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
75114e01
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看板
提交
75114e01
编写于
10月 03, 2018
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[use] Add Halant_Or_Vowel_Modifier category
Fixes
https://github.com/harfbuzz/harfbuzz/issues/1102
上级
6353cc1f
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
301 addition
and
245 deletion
+301
-245
src/gen-use-table.py
src/gen-use-table.py
+6
-1
src/hb-ot-shape-complex-use-machine.hh
src/hb-ot-shape-complex-use-machine.hh
+279
-239
src/hb-ot-shape-complex-use-machine.rl
src/hb-ot-shape-complex-use-machine.rl
+6
-3
src/hb-ot-shape-complex-use-table.cc
src/hb-ot-shape-complex-use-table.cc
+3
-1
src/hb-ot-shape-complex-use.hh
src/hb-ot-shape-complex-use.hh
+4
-1
test/shaping/data/in-house/fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf
...-house/fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf
+0
-0
test/shaping/data/in-house/tests/use-syllable.tests
test/shaping/data/in-house/tests/use-syllable.tests
+3
-0
未找到文件。
src/gen-use-table.py
浏览文件 @
75114e01
...
...
@@ -197,7 +197,10 @@ def is_CONS_SUB(U, UISC, UGC):
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
]
return
UISC
in
[
Virama
,
Invisible_Stacker
]
and
not
is_HALANT_OR_VOWEL_MODIFIER
(
U
,
UISC
,
UGC
)
def
is_HALANT_OR_VOWEL_MODIFIER
(
U
,
UISC
,
UGC
):
# https://github.com/harfbuzz/harfbuzz/issues/1102
return
U
==
0x11046
def
is_HALANT_NUM
(
U
,
UISC
,
UGC
):
return
UISC
==
Number_Joiner
def
is_ZWNJ
(
U
,
UISC
,
UGC
):
...
...
@@ -248,6 +251,7 @@ use_mapping = {
'SUB'
:
is_CONS_SUB
,
'CS'
:
is_CONS_WITH_STACKER
,
'H'
:
is_HALANT
,
'HVM'
:
is_HALANT_OR_VOWEL_MODIFIER
,
'HN'
:
is_HALANT_NUM
,
'ZWNJ'
:
is_ZWNJ
,
'ZWJ'
:
is_ZWJ
,
...
...
@@ -295,6 +299,7 @@ use_positions = {
'Blw'
:
[
Bottom
],
},
'H'
:
None
,
'HVM'
:
None
,
'B'
:
None
,
'FM'
:
None
,
'SUB'
:
None
,
...
...
src/hb-ot-shape-complex-use-machine.hh
浏览文件 @
75114e01
此差异已折叠。
点击以展开。
src/hb-ot-shape-complex-use-machine.rl
浏览文件 @
75114e01
...
...
@@ -88,13 +88,16 @@ SMAbv = 41; # SYM_MOD_ABOVE
SMBlw = 42; # SYM_MOD_BELOW
CS = 43; # CONS_WITH_STACKER
HVM = 44; # HALANT_OR_VOWEL_MODIFIER
h = H | HVM; # https://github.com/harfbuzz/harfbuzz/issues/1102
# Override: Adhoc ZWJ placement. https://github.com/harfbuzz/harfbuzz/issues/542#issuecomment-353169729
consonant_modifiers = CMAbv* CMBlw* ((ZWJ?.
H
.ZWJ? B | SUB) VS? CMAbv? CMBlw*)*;
consonant_modifiers = CMAbv* CMBlw* ((ZWJ?.
h
.ZWJ? B | SUB) VS? CMAbv? CMBlw*)*;
# Override: Allow two MBlw. https://github.com/harfbuzz/harfbuzz/issues/376
medial_consonants = MPre? MAbv? MBlw?.MBlw? MPst?;
dependent_vowels = VPre* VAbv* VBlw* VPst*;
vowel_modifiers = VMPre* VMAbv* VMBlw* VMPst*;
vowel_modifiers =
HVM?
VMPre* VMAbv* VMBlw* VMPst*;
final_consonants = FAbv* FBlw* FPst* FM?;
complex_syllable_tail =
...
...
@@ -108,7 +111,7 @@ complex_syllable_tail =
virama_terminated_cluster =
(R|CS)? (B | GB) VS?
consonant_modifiers
ZWJ?.
H
.ZWJ?
ZWJ?.
h
.ZWJ?
;
standard_cluster =
(R|CS)? (B | GB) VS?
...
...
src/hb-ot-shape-complex-use-table.cc
浏览文件 @
75114e01
...
...
@@ -24,6 +24,7 @@
#define GB USE_GB
/* BASE_OTHER */
#define H USE_H
/* HALANT */
#define HN USE_HN
/* HALANT_NUM */
#define HVM USE_HVM
/* HALANT_OR_VOWEL_MODIFIER */
#define IND USE_IND
/* BASE_IND */
#define N USE_N
/* BASE_NUM */
#define O USE_O
/* OTHER */
...
...
@@ -508,7 +509,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 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
,
/* 11040 */
VBlw
,
VBlw
,
VAbv
,
VAbv
,
VAbv
,
VAbv
,
H
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11040 */
VBlw
,
VBlw
,
VAbv
,
VAbv
,
VAbv
,
VAbv
,
HVM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11050 */
O
,
O
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
N
,
/* 11060 */
N
,
N
,
N
,
N
,
N
,
N
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 11070 */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
HN
,
...
...
@@ -800,6 +801,7 @@ hb_use_get_category (hb_codepoint_t u)
#undef GB
#undef H
#undef HN
#undef HVM
#undef IND
#undef N
#undef O
...
...
src/hb-ot-shape-complex-use.hh
浏览文件 @
75114e01
...
...
@@ -88,7 +88,10 @@ enum use_category_t {
USE_VMPre
=
23
,
/* VOWEL_MOD_PRE */
USE_SMAbv
=
41
,
/* SYM_MOD_ABOVE */
USE_SMBlw
=
42
,
/* SYM_MOD_BELOW */
USE_CS
=
43
/* CONS_WITH_STACKER */
USE_CS
=
43
,
/* CONS_WITH_STACKER */
/* https://github.com/harfbuzz/harfbuzz/issues/1102 */
USE_HVM
=
44
,
/* HALANT_OR_VOWEL_MODIFIER */
};
HB_INTERNAL
USE_TABLE_ELEMENT_TYPE
...
...
test/shaping/data/in-house/fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf
0 → 100644
浏览文件 @
75114e01
文件已添加
test/shaping/data/in-house/tests/use-syllable.tests
浏览文件 @
75114e01
...
...
@@ -6,3 +6,6 @@
../fonts/373e67bf41ca264e260a9716162b71a23549e885.ttf:--no-glyph-names:U+A8AC,U+A8B4,U+A8B5:[2=0+377|3=0+242|4=0+210]
../fonts/59a585a63b3df608fbeef00956c8c108deec7de6.ttf:--no-glyph-names:U+1BC7,U+1BEA,U+1BF3:[1=0+749|2=0+402|4=0+535|3=0+401]
../fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf::U+11064,U+1107F,U+11052,U+11065,U+1107F,U+11053:[brm_num100.1=0+2224|brm_num1000.2=3+1834]
../fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf::U+11013,U+11042,U+11046:[brm_KA=0+754|brm_vowelEE=0@-383,0+0|brm_virama=0@-524,0+0]
../fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf::U+11013,U+11044,U+11046:[brm_KA=0+754|brm_vowelOO=0@-647,0+0|brm_virama=0@-524,0+0]
../fonts/28f497629c04ceb15546c9a70e0730125ed6698d.ttf::U+11013,U+1103C:[brm_KA=0+754|brm_vowelU=0@-403,0+0]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录