Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
3399a06e
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看板
提交
3399a06e
编写于
5月 11, 2012
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[Indic] Fix U+0952 and similar classification to match Uniscribe
See comments.
上级
11aa3ef1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
5 deletion
+12
-5
src/hb-ot-shape-complex-indic-machine.rl
src/hb-ot-shape-complex-indic-machine.rl
+1
-0
src/hb-ot-shape-complex-indic.cc
src/hb-ot-shape-complex-indic.cc
+11
-5
未找到文件。
src/hb-ot-shape-complex-indic-machine.rl
浏览文件 @
3399a06e
...
...
@@ -77,6 +77,7 @@ main := |*
#define process_syllable(func) \
HB_STMT_START { \
/* printf ("syllable %d..%d %s\n", last, p+1, #func); */ \
for (unsigned int i = last; i < p+1; i++) \
info[i].syllable() = syllable_serial; \
PASTE (initial_reordering_, func) (map, buffer, mask_array, last, p+1); \
...
...
src/hb-ot-shape-complex-indic.cc
浏览文件 @
3399a06e
...
...
@@ -191,6 +191,17 @@ _hb_ot_shape_complex_setup_masks_indic (hb_ot_map_t *map, hb_buffer_t *buffer, h
info
.
indic_category
()
=
type
&
0x0F
;
info
.
indic_position
()
=
type
>>
4
;
/* The spec says U+0952 is OT_A. However, testing shows that Uniscribe
* treats U+0951..U+0952 all as OT_VD.
* TESTS:
* U+092E,U+0947,U+0952
* U+092E,U+0952,U+0947
* U+092E,U+0947,U+0951
* U+092E,U+0951,U+0947
* */
if
(
unlikely
(
hb_in_range
<
hb_codepoint_t
>
(
info
.
codepoint
,
0x0951
,
0x0954
)))
info
.
indic_category
()
=
OT_VD
;
if
(
info
.
indic_category
()
==
OT_C
)
{
info
.
indic_position
()
=
consonant_position
(
info
.
codepoint
);
if
(
is_ra
(
info
.
codepoint
))
...
...
@@ -203,11 +214,6 @@ _hb_ot_shape_complex_setup_masks_indic (hb_ot_map_t *map, hb_buffer_t *buffer, h
else
if
(
unlikely
(
info
.
codepoint
==
0x200D
))
info
.
indic_category
()
=
OT_ZWJ
;
/* The spec only suggests this for U+0952, but we do more. */
if
(
unlikely
(
hb_in_range
<
hb_codepoint_t
>
(
info
.
codepoint
,
0x0951
,
0x0954
)))
{
info
.
indic_category
()
=
OT_A
;
info
.
indic_position
()
=
POS_SMVD
;
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录