Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
2d4b62ea
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看板
提交
2d4b62ea
编写于
7月 21, 2015
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[USE] Fix-up variation selectors and word joiner in table
上级
ad717822
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
12 deletion
+29
-12
src/gen-use-table.py
src/gen-use-table.py
+6
-1
src/hb-ot-shape-complex-use-table.cc
src/hb-ot-shape-complex-use-table.cc
+23
-11
未找到文件。
src/gen-use-table.py
浏览文件 @
2d4b62ea
...
@@ -41,8 +41,11 @@ for i, f in enumerate (files):
...
@@ -41,8 +41,11 @@ for i, f in enumerate (files):
defaults
=
(
'Other'
,
'Not_Applicable'
,
'Cn'
,
'No_Block'
)
defaults
=
(
'Other'
,
'Not_Applicable'
,
'Cn'
,
'No_Block'
)
# TODO C
GJ is
not in Unicode Indic files, but used in USE
# TODO C
haracters that are
not in Unicode Indic files, but used in USE
data
[
0
][
0x034F
]
=
defaults
[
0
]
data
[
0
][
0x034F
]
=
defaults
[
0
]
data
[
0
][
0x2060
]
=
defaults
[
0
]
for
u
in
range
(
0xFE00
,
0xFE0F
+
1
):
data
[
0
][
u
]
=
defaults
[
0
]
# Merge data into one dict:
# Merge data into one dict:
for
i
,
v
in
enumerate
(
defaults
):
for
i
,
v
in
enumerate
(
defaults
):
...
@@ -187,6 +190,8 @@ def is_OTHER(U, UISC, UGC):
...
@@ -187,6 +190,8 @@ def is_OTHER(U, UISC, UGC):
return
(
UISC
==
Other
return
(
UISC
==
Other
and
not
is_SYM_MOD
(
U
,
UISC
,
UGC
)
and
not
is_SYM_MOD
(
U
,
UISC
,
UGC
)
and
not
is_CGJ
(
U
,
UISC
,
UGC
)
and
not
is_CGJ
(
U
,
UISC
,
UGC
)
and
not
is_Word_Joiner
(
U
,
UISC
,
UGC
)
and
not
is_VARIATION_SELECTOR
(
U
,
UISC
,
UGC
)
)
)
def
is_Reserved
(
U
,
UISC
,
UGC
):
def
is_Reserved
(
U
,
UISC
,
UGC
):
return
UGC
==
'Cn'
return
UGC
==
'Cn'
...
...
src/hb-ot-shape-complex-use-table.cc
浏览文件 @
2d4b62ea
...
@@ -333,15 +333,16 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -333,15 +333,16 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
O
,
O
,
O
,
O
,
ZWNJ
,
ZWJ
,
O
,
O
,
O
,
O
,
O
,
O
,
ZWNJ
,
ZWJ
,
O
,
O
,
/* 2010 */
GB
,
GB
,
GB
,
GB
,
GB
,
O
,
O
,
O
,
/* 2010 */
GB
,
GB
,
GB
,
GB
,
GB
,
O
,
O
,
O
,
#define use_offset_0x20
7
0u 2568
#define use_offset_0x20
6
0u 2568
/* 2060 */
WJ
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* Superscripts and Subscripts */
/* Superscripts and Subscripts */
/* 2070 */
O
,
O
,
O
,
O
,
FM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 2070 */
O
,
O
,
O
,
O
,
FM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 2080 */
O
,
O
,
FM
,
FM
,
FM
,
O
,
O
,
O
,
/* 2080 */
O
,
O
,
FM
,
FM
,
FM
,
O
,
O
,
O
,
#define use_offset_0xa800u 2
592
#define use_offset_0xa800u 2
608
/* Syloti Nagri */
/* Syloti Nagri */
...
@@ -428,7 +429,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -428,7 +429,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* AAE0 */
IV
,
IV
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VPre
,
VBlw
,
VAbv
,
VPre
,
VPst
,
/* AAE0 */
IV
,
IV
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VPre
,
VBlw
,
VAbv
,
VPre
,
VPst
,
/* AAF0 */
O
,
O
,
O
,
O
,
O
,
VMPst
,
H
,
O
,
/* AAF0 */
O
,
O
,
O
,
O
,
O
,
VMPst
,
H
,
O
,
#define use_offset_0xabc0u 33
52
#define use_offset_0xabc0u 33
68
/* Meetei Mayek */
/* Meetei Mayek */
...
@@ -438,7 +439,14 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -438,7 +439,14 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* ABE0 */
B
,
B
,
B
,
VPst
,
VPst
,
VAbv
,
VPst
,
VPst
,
VBlw
,
VPst
,
VPst
,
O
,
VMPst
,
VBlw
,
O
,
O
,
/* ABE0 */
B
,
B
,
B
,
VPst
,
VPst
,
VAbv
,
VPst
,
VPst
,
VBlw
,
VPst
,
VPst
,
O
,
VMPst
,
VBlw
,
O
,
O
,
/* ABF0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* ABF0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x10a00u 3416
#define use_offset_0xfe00u 3432
/* Variation Selectors */
/* FE00 */
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
#define use_offset_0x10a00u 3448
/* Kharoshthi */
/* Kharoshthi */
...
@@ -449,7 +457,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -449,7 +457,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 10A30 */
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
CMAbv
,
CMBlw
,
CMBlw
,
O
,
O
,
O
,
O
,
H
,
/* 10A30 */
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
CMAbv
,
CMBlw
,
CMBlw
,
O
,
O
,
O
,
O
,
H
,
/* 10A40 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 10A40 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
#define use_offset_0x11000u 3
488
#define use_offset_0x11000u 3
520
/* Brahmi */
/* Brahmi */
...
@@ -470,7 +478,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -470,7 +478,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 110A0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 110A0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 110B0 */
VPst
,
VPre
,
VPst
,
VBlw
,
VBlw
,
VAbv
,
VAbv
,
VPst
,
VPst
,
H
,
CMBlw
,
O
,
O
,
O
,
O
,
O
,
/* 110B0 */
VPst
,
VPre
,
VPst
,
VBlw
,
VBlw
,
VAbv
,
VAbv
,
VPst
,
VPst
,
H
,
CMBlw
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x11100u 3
680
#define use_offset_0x11100u 3
712
/* Chakma */
/* Chakma */
...
@@ -508,7 +516,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -508,7 +516,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11220 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VPst
,
VPst
,
VPst
,
VBlw
,
/* 11220 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VPst
,
VPst
,
VPst
,
VBlw
,
/* 11230 */
VAbv
,
VAbv
,
VAbv
,
VAbv
,
VMAbv
,
H
,
CMAbv
,
CMAbv
,
/* 11230 */
VAbv
,
VAbv
,
VAbv
,
VAbv
,
VMAbv
,
H
,
CMAbv
,
CMAbv
,
#define use_offset_0x11280u
3992
#define use_offset_0x11280u
4024
/* Multani */
/* Multani */
...
@@ -536,7 +544,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -536,7 +544,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11360 */
IV
,
IV
,
VPst
,
VPst
,
O
,
O
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
/* 11360 */
IV
,
IV
,
VPst
,
VPst
,
O
,
O
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
/* 11370 */
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
/* 11370 */
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
#define use_offset_0x11480u 42
40
#define use_offset_0x11480u 42
72
/* Tirhuta */
/* Tirhuta */
...
@@ -548,7 +556,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -548,7 +556,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 114C0 */
VMAbv
,
VMPst
,
H
,
CMBlw
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 114C0 */
VMAbv
,
VMPst
,
H
,
CMBlw
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 114D0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 114D0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x11580u 43
36
#define use_offset_0x11580u 43
68
/* Siddham */
/* Siddham */
...
@@ -591,7 +599,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -591,7 +599,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11720 */
VPst
,
VPst
,
VAbv
,
VAbv
,
VBlw
,
VBlw
,
VPre
,
VAbv
,
VBlw
,
VAbv
,
VAbv
,
VAbv
,
O
,
O
,
O
,
O
,
/* 11720 */
VPst
,
VPst
,
VAbv
,
VAbv
,
VBlw
,
VBlw
,
VPre
,
VAbv
,
VBlw
,
VAbv
,
VAbv
,
VAbv
,
O
,
O
,
O
,
O
,
/* 11730 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
/* 11730 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
};
/* Table items: 4
784
; occupancy: 72% */
};
/* Table items: 4
816
; occupancy: 72% */
USE_TABLE_ELEMENT_TYPE
USE_TABLE_ELEMENT_TYPE
hb_use_get_categories
(
hb_codepoint_t
u
)
hb_use_get_categories
(
hb_codepoint_t
u
)
...
@@ -615,7 +623,7 @@ hb_use_get_categories (hb_codepoint_t u)
...
@@ -615,7 +623,7 @@ hb_use_get_categories (hb_codepoint_t u)
case
0x2u
:
case
0x2u
:
if
(
hb_in_range
(
u
,
0x2008u
,
0x2017u
))
return
use_table
[
u
-
0x2008u
+
use_offset_0x2008u
];
if
(
hb_in_range
(
u
,
0x2008u
,
0x2017u
))
return
use_table
[
u
-
0x2008u
+
use_offset_0x2008u
];
if
(
hb_in_range
(
u
,
0x20
70u
,
0x2087u
))
return
use_table
[
u
-
0x2070u
+
use_offset_0x207
0u
];
if
(
hb_in_range
(
u
,
0x20
60u
,
0x2087u
))
return
use_table
[
u
-
0x2060u
+
use_offset_0x206
0u
];
if
(
unlikely
(
u
==
0x25CCu
))
return
GB
;
if
(
unlikely
(
u
==
0x25CCu
))
return
GB
;
break
;
break
;
...
@@ -624,6 +632,10 @@ hb_use_get_categories (hb_codepoint_t u)
...
@@ -624,6 +632,10 @@ hb_use_get_categories (hb_codepoint_t u)
if
(
hb_in_range
(
u
,
0xABC0u
,
0xABFFu
))
return
use_table
[
u
-
0xABC0u
+
use_offset_0xabc0u
];
if
(
hb_in_range
(
u
,
0xABC0u
,
0xABFFu
))
return
use_table
[
u
-
0xABC0u
+
use_offset_0xabc0u
];
break
;
break
;
case
0xFu
:
if
(
hb_in_range
(
u
,
0xFE00u
,
0xFE0Fu
))
return
use_table
[
u
-
0xFE00u
+
use_offset_0xfe00u
];
break
;
case
0x10u
:
case
0x10u
:
if
(
hb_in_range
(
u
,
0x10A00u
,
0x10A47u
))
return
use_table
[
u
-
0x10A00u
+
use_offset_0x10a00u
];
if
(
hb_in_range
(
u
,
0x10A00u
,
0x10A47u
))
return
use_table
[
u
-
0x10A00u
+
use_offset_0x10a00u
];
break
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录