Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
0572c141
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看板
提交
0572c141
编写于
2月 11, 2013
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Myanmar] Fixup handling of joiners and GB characters
上级
1c8654ea
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
6 deletion
+19
-6
src/hb-ot-shape-complex-myanmar-machine.rl
src/hb-ot-shape-complex-myanmar-machine.rl
+2
-4
src/hb-ot-shape-complex-myanmar.cc
src/hb-ot-shape-complex-myanmar.cc
+17
-2
未找到文件。
src/hb-ot-shape-complex-myanmar-machine.rl
浏览文件 @
0572c141
...
...
@@ -44,8 +44,7 @@ C = 1;
D = 19;
D0 = 20;
DB = 3;
DOTTEDCIRCLE = 12;
NBSP = 11;
GB = 12;
H = 4;
IV = 2;
MH = 21;
...
...
@@ -63,7 +62,6 @@ ZWJ = 6;
ZWNJ = 5;
Ra = 16;
gb = (DOTTEDCIRCLE | NBSP); # Generic base characters
j = ZWJ|ZWNJ; # Joiners
k = (Ra As H); # Kinzi
...
...
@@ -77,7 +75,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? (c|IV|D|
GB
).VS? (H (c|IV).VS?)* syllable_tail;
broken_cluster = k? VS? syllable_tail;
other = any;
...
...
src/hb-ot-shape-complex-myanmar.cc
浏览文件 @
0572c141
...
...
@@ -146,7 +146,7 @@ enum myanmar_category_t {
OT_SM
=
8
,
OT_A
=
10
,
OT_NBSP
=
11
,
OT_
DOTTEDCIRCLE
=
12
,
/* Not in the spec, but special in Uniscribe. /Very very/ special! */
OT_
GB
=
12
,
OT_Ra
=
16
,
/* Not explicitly listed in the OT spec, but used in the grammar. */
OT_CM
=
17
,
/* Generic Consonant_Medial; NOT used for Myanmar. */
...
...
@@ -210,7 +210,7 @@ is_one_of (const hb_glyph_info_t &info, unsigned int flags)
* 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_CM) | FLAG (OT_Ra) | FLAG (OT_V) | FLAG (OT_NBSP) | FLAG (OT_
DOTTEDCIRCLE
))
#define CONSONANT_FLAGS (FLAG (OT_C) | FLAG (OT_CM) | FLAG (OT_Ra) | FLAG (OT_V) | FLAG (OT_NBSP) | FLAG (OT_
GB
))
static
inline
bool
is_consonant
(
const
hb_glyph_info_t
&
info
)
{
...
...
@@ -232,6 +232,21 @@ set_myanmar_properties (hb_glyph_info_t &info)
cat
=
OT_VS
;
switch
(
u
)
{
case
0x002D
:
case
0x00A0
:
case
0x00D7
:
case
0x2012
:
case
0x2013
:
case
0x2014
:
case
0x2015
:
case
0x2022
:
case
0x25CC
:
case
0x25FB
:
case
0x25FC
:
case
0x25FD
:
case
0x25FE
:
cat
=
OT_GB
;
break
;
case
0x200C
:
cat
=
OT_ZWNJ
;
break
;
case
0x200D
:
cat
=
OT_ZWJ
;
break
;
case
0x1004
:
case
0x101B
:
case
0x105A
:
cat
=
OT_Ra
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录