Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
f8daeef4
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看板
提交
f8daeef4
编写于
1月 03, 2018
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[use] Simplify more
上级
877d15e7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
38 addition
and
35 deletion
+38
-35
src/gen-use-table.py
src/gen-use-table.py
+1
-10
src/hb-ot-shape-complex-use-table.cc
src/hb-ot-shape-complex-use-table.cc
+37
-25
未找到文件。
src/gen-use-table.py
浏览文件 @
f8daeef4
...
@@ -352,12 +352,6 @@ def map_to_use(data):
...
@@ -352,12 +352,6 @@ def map_to_use(data):
defaults
=
(
'O'
,
'No_Block'
)
defaults
=
(
'O'
,
'No_Block'
)
data
=
map_to_use
(
data
)
data
=
map_to_use
(
data
)
# Remove the outliers
singles
=
{}
for
u
in
[
0x034F
,
0x25CC
]:
singles
[
u
]
=
data
[
u
]
del
data
[
u
]
print
"/* == Start of generated table == */"
print
"/* == Start of generated table == */"
print
"/*"
print
"/*"
print
" * The following table is generated by running:"
print
" * The following table is generated by running:"
...
@@ -459,12 +453,9 @@ print "hb_use_get_categories (hb_codepoint_t u)"
...
@@ -459,12 +453,9 @@ print "hb_use_get_categories (hb_codepoint_t u)"
print
"{"
print
"{"
print
" switch (u >> %d)"
%
page_bits
print
" switch (u >> %d)"
%
page_bits
print
" {"
print
" {"
pages
=
set
([
u
>>
page_bits
for
u
in
starts
+
ends
+
singles
.
keys
()
])
pages
=
set
([
u
>>
page_bits
for
u
in
starts
+
ends
])
for
p
in
sorted
(
pages
):
for
p
in
sorted
(
pages
):
print
" case 0x%0Xu:"
%
p
print
" case 0x%0Xu:"
%
p
for
u
,
d
in
singles
.
items
():
if
p
!=
u
>>
page_bits
:
continue
print
" if (unlikely (u == 0x%04Xu)) return %s;"
%
(
u
,
d
[
0
])
for
(
start
,
end
)
in
zip
(
starts
,
ends
):
for
(
start
,
end
)
in
zip
(
starts
,
ends
):
if
p
not
in
[
start
>>
page_bits
,
end
>>
page_bits
]:
continue
if
p
not
in
[
start
>>
page_bits
,
end
>>
page_bits
]:
continue
offset
=
"use_offset_0x%04xu"
%
start
offset
=
"use_offset_0x%04xu"
%
start
...
...
src/hb-ot-shape-complex-use-table.cc
浏览文件 @
f8daeef4
...
@@ -75,7 +75,13 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -75,7 +75,13 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 00C0 */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 00C0 */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 00D0 */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
GB
,
/* 00D0 */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
GB
,
#define use_offset_0x0900u 80
#define use_offset_0x0348u 80
/* Combining Diacritical Marks */
O
,
O
,
O
,
O
,
O
,
O
,
O
,
CGJ
,
#define use_offset_0x0900u 88
/* Devanagari */
/* Devanagari */
...
@@ -188,7 +194,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -188,7 +194,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 0DE0 */
O
,
O
,
O
,
O
,
O
,
O
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 0DE0 */
O
,
O
,
O
,
O
,
O
,
O
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
/* 0DF0 */
O
,
O
,
VPst
,
VPst
,
O
,
O
,
O
,
O
,
/* 0DF0 */
O
,
O
,
VPst
,
VPst
,
O
,
O
,
O
,
O
,
#define use_offset_0x1000u 13
52
#define use_offset_0x1000u 13
60
/* Myanmar */
/* Myanmar */
...
@@ -204,7 +210,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -204,7 +210,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 1080 */
B
,
B
,
MBlw
,
VPst
,
VPre
,
VAbv
,
VAbv
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMBlw
,
B
,
VMPst
,
/* 1080 */
B
,
B
,
MBlw
,
VPst
,
VPre
,
VAbv
,
VAbv
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMPst
,
VMBlw
,
B
,
VMPst
,
/* 1090 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VMPst
,
VMPst
,
VPst
,
VAbv
,
O
,
O
,
/* 1090 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VMPst
,
VMPst
,
VPst
,
VAbv
,
O
,
O
,
#define use_offset_0x1700u 15
12
#define use_offset_0x1700u 15
20
/* Tagalog */
/* Tagalog */
...
@@ -237,7 +243,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -237,7 +243,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 17D0 */
FM
,
VAbv
,
H
,
FM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
B
,
VAbv
,
O
,
O
,
/* 17D0 */
FM
,
VAbv
,
H
,
FM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
B
,
VAbv
,
O
,
O
,
/* 17E0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 17E0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x1900u 17
52
#define use_offset_0x1900u 17
60
/* Limbu */
/* Limbu */
...
@@ -281,7 +287,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -281,7 +287,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 1A80 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1A80 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1A90 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1A90 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x1b00u 21
68
#define use_offset_0x1b00u 21
76
/* Balinese */
/* Balinese */
...
@@ -317,7 +323,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -317,7 +323,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 1C30 */
FAbv
,
FAbv
,
FAbv
,
FAbv
,
VMPre
,
VMPre
,
FM
,
CMBlw
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1C30 */
FAbv
,
FAbv
,
FAbv
,
FAbv
,
VMPre
,
VMPre
,
FM
,
CMBlw
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1C40 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
B
,
B
,
B
,
/* 1C40 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
B
,
B
,
B
,
#define use_offset_0x1cd0u 25
04
#define use_offset_0x1cd0u 25
12
/* Vedic Extensions */
/* Vedic Extensions */
...
@@ -326,20 +332,20 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -326,20 +332,20 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 1CE0 */
VMAbv
,
VMPst
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
O
,
O
,
O
,
O
,
VMBlw
,
O
,
O
,
/* 1CE0 */
VMAbv
,
VMPst
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
VMBlw
,
O
,
O
,
O
,
O
,
VMBlw
,
O
,
O
,
/* 1CF0 */
O
,
O
,
VMPst
,
VMPst
,
VMAbv
,
O
,
O
,
VMPst
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 1CF0 */
O
,
O
,
VMPst
,
VMPst
,
VMAbv
,
O
,
O
,
VMPst
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x1df8u 25
52
#define use_offset_0x1df8u 25
60
/* Combining Diacritical Marks Supplement */
/* Combining Diacritical Marks Supplement */
O
,
O
,
O
,
FM
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
FM
,
O
,
O
,
O
,
O
,
#define use_offset_0x2008u 256
0
#define use_offset_0x2008u 256
8
/* General Punctuation */
/* General Punctuation */
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_0x2060u 25
76
#define use_offset_0x2060u 25
84
/* 2060 */
WJ
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 2060 */
WJ
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
...
@@ -348,14 +354,20 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -348,14 +354,20 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 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_0x20f0u 26
16
#define use_offset_0x20f0u 26
24
/* Combining Diacritical Marks for Symbols */
/* Combining Diacritical Marks for Symbols */
/* 20F0 */
VMAbv
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 20F0 */
VMAbv
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0xa800u 2624
#define use_offset_0x25c8u 2632
/* Geometric Shapes */
O
,
O
,
O
,
O
,
GB
,
O
,
O
,
O
,
#define use_offset_0xa800u 2640
/* Syloti Nagri */
/* Syloti Nagri */
...
@@ -442,7 +454,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -442,7 +454,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* AAE0 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
VPre
,
VBlw
,
VAbv
,
VPre
,
VPst
,
/* AAE0 */
B
,
B
,
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 3
384
#define use_offset_0xabc0u 3
400
/* Meetei Mayek */
/* Meetei Mayek */
...
@@ -452,14 +464,14 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -452,14 +464,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_0xfe00u 34
48
#define use_offset_0xfe00u 34
64
/* Variation Selectors */
/* Variation Selectors */
/* FE00 */
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
/* FE00 */
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
VS
,
#define use_offset_0x10a00u 34
64
#define use_offset_0x10a00u 34
80
/* Kharoshthi */
/* Kharoshthi */
...
@@ -470,7 +482,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -470,7 +482,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 35
36
#define use_offset_0x11000u 35
52
/* Brahmi */
/* Brahmi */
...
@@ -491,7 +503,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -491,7 +503,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 37
28
#define use_offset_0x11100u 37
44
/* Chakma */
/* Chakma */
...
@@ -529,7 +541,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -529,7 +541,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
,
O
,
O
,
O
,
O
,
O
,
O
,
VMAbv
,
O
,
/* 11230 */
VAbv
,
VAbv
,
VAbv
,
VAbv
,
VMAbv
,
H
,
CMAbv
,
CMAbv
,
O
,
O
,
O
,
O
,
O
,
O
,
VMAbv
,
O
,
#define use_offset_0x11280u 40
48
#define use_offset_0x11280u 40
64
/* Multani */
/* Multani */
...
@@ -557,7 +569,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -557,7 +569,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11360 */
B
,
B
,
VPst
,
VPst
,
O
,
O
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
VMAbv
,
O
,
O
,
O
,
/* 11360 */
B
,
B
,
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_0x11400u 4
296
#define use_offset_0x11400u 4
312
/* Newa */
/* Newa */
...
@@ -580,7 +592,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -580,7 +592,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 45
20
#define use_offset_0x11580u 45
36
/* Siddham */
/* Siddham */
...
@@ -623,7 +635,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -623,7 +635,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
,
#define use_offset_0x11a00u 49
68
#define use_offset_0x11a00u 49
84
/* Zanabazar Square */
/* Zanabazar Square */
...
@@ -642,7 +654,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -642,7 +654,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11A80 */
B
,
B
,
B
,
B
,
O
,
O
,
R
,
R
,
R
,
R
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
/* 11A80 */
B
,
B
,
B
,
B
,
O
,
O
,
R
,
R
,
R
,
R
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
/* 11A90 */
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
VMAbv
,
VMPst
,
CMAbv
,
H
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11A90 */
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
FBlw
,
VMAbv
,
VMPst
,
CMAbv
,
H
,
O
,
O
,
O
,
O
,
O
,
O
,
#define use_offset_0x11c00u 51
28
#define use_offset_0x11c00u 51
44
/* Bhaiksuki */
/* Bhaiksuki */
...
@@ -663,7 +675,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -663,7 +675,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11CA0 */
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
O
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
/* 11CA0 */
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
O
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
SUB
,
/* 11CB0 */
VBlw
,
VPre
,
VBlw
,
VAbv
,
VPst
,
VMAbv
,
VMAbv
,
O
,
/* 11CB0 */
VBlw
,
VPre
,
VBlw
,
VAbv
,
VPst
,
VMAbv
,
VMAbv
,
O
,
#define use_offset_0x11d00u 53
12
#define use_offset_0x11d00u 53
28
/* Masaram Gondi */
/* Masaram Gondi */
...
@@ -675,7 +687,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
...
@@ -675,7 +687,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = {
/* 11D40 */
VMAbv
,
VMAbv
,
CMBlw
,
VAbv
,
VBlw
,
H
,
R
,
MBlw
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11D40 */
VMAbv
,
VMAbv
,
CMBlw
,
VAbv
,
VBlw
,
H
,
R
,
MBlw
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11D50 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
/* 11D50 */
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
B
,
O
,
O
,
O
,
O
,
O
,
O
,
};
/* Table items: 54
08
; occupancy: 73% */
};
/* Table items: 54
24
; occupancy: 73% */
USE_TABLE_ELEMENT_TYPE
USE_TABLE_ELEMENT_TYPE
hb_use_get_categories
(
hb_codepoint_t
u
)
hb_use_get_categories
(
hb_codepoint_t
u
)
...
@@ -683,9 +695,9 @@ hb_use_get_categories (hb_codepoint_t u)
...
@@ -683,9 +695,9 @@ hb_use_get_categories (hb_codepoint_t u)
switch
(
u
>>
12
)
switch
(
u
>>
12
)
{
{
case
0x0u
:
case
0x0u
:
if
(
unlikely
(
u
==
0x034Fu
))
return
CGJ
;
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x0028u
,
0x003Fu
))
return
use_table
[
u
-
0x0028u
+
use_offset_0x0028u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x0028u
,
0x003Fu
))
return
use_table
[
u
-
0x0028u
+
use_offset_0x0028u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x00A0u
,
0x00D7u
))
return
use_table
[
u
-
0x00A0u
+
use_offset_0x00a0u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x00A0u
,
0x00D7u
))
return
use_table
[
u
-
0x00A0u
+
use_offset_0x00a0u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x0348u
,
0x034Fu
))
return
use_table
[
u
-
0x0348u
+
use_offset_0x0348u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x0900u
,
0x0DF7u
))
return
use_table
[
u
-
0x0900u
+
use_offset_0x0900u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x0900u
,
0x0DF7u
))
return
use_table
[
u
-
0x0900u
+
use_offset_0x0900u
];
break
;
break
;
...
@@ -699,10 +711,10 @@ hb_use_get_categories (hb_codepoint_t u)
...
@@ -699,10 +711,10 @@ hb_use_get_categories (hb_codepoint_t u)
break
;
break
;
case
0x2u
:
case
0x2u
:
if
(
unlikely
(
u
==
0x25CCu
))
return
GB
;
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x2008u
,
0x2017u
))
return
use_table
[
u
-
0x2008u
+
use_offset_0x2008u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x2008u
,
0x2017u
))
return
use_table
[
u
-
0x2008u
+
use_offset_0x2008u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x2060u
,
0x2087u
))
return
use_table
[
u
-
0x2060u
+
use_offset_0x2060u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x2060u
,
0x2087u
))
return
use_table
[
u
-
0x2060u
+
use_offset_0x2060u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x20F0u
,
0x20F7u
))
return
use_table
[
u
-
0x20F0u
+
use_offset_0x20f0u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x20F0u
,
0x20F7u
))
return
use_table
[
u
-
0x20F0u
+
use_offset_0x20f0u
];
if
(
hb_in_range
<
hb_codepoint_t
>
(
u
,
0x25C8u
,
0x25CFu
))
return
use_table
[
u
-
0x25C8u
+
use_offset_0x25c8u
];
break
;
break
;
case
0xAu
:
case
0xAu
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录