Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
d8df7142
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看板
提交
d8df7142
编写于
10月 25, 2017
作者:
D
David Corbett
提交者:
Behdad Esfahbod
10月 25, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix code point iteration in narrow Python
上级
33ca3b67
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
1 deletion
+26
-1
test/shaping/hb_test_tools.py
test/shaping/hb_test_tools.py
+26
-1
未找到文件。
test/shaping/hb_test_tools.py
浏览文件 @
d8df7142
...
@@ -7,6 +7,9 @@ from itertools import *
...
@@ -7,6 +7,9 @@ from itertools import *
diff_symbols
=
"-+=*&^%$#@!~/"
diff_symbols
=
"-+=*&^%$#@!~/"
diff_colors
=
[
'red'
,
'green'
,
'blue'
]
diff_colors
=
[
'red'
,
'green'
,
'blue'
]
def
codepoints
(
s
):
return
(
ord
(
u
)
for
u
in
s
)
try
:
try
:
unichr
=
unichr
unichr
=
unichr
...
@@ -43,6 +46,28 @@ try:
...
@@ -43,6 +46,28 @@ try:
except
UnicodeDecodeError
:
except
UnicodeDecodeError
:
raise
ValueError
(
'unichr() arg not in range(0x110000)'
)
raise
ValueError
(
'unichr() arg not in range(0x110000)'
)
def
codepoints
(
s
):
high_surrogate
=
None
for
u
in
s
:
cp
=
ord
(
u
)
if
0xDC00
<=
cp
<=
0xDFFF
:
if
high_surrogate
:
yield
0x10000
+
(
high_surrogate
-
0xD800
)
*
0x400
+
(
cp
-
0xDC00
)
high_surrogate
=
None
else
:
yield
0xFFFC
else
:
if
high_surrogate
:
yield
0xFFFC
high_surrogate
=
None
if
0xD800
<=
cp
<=
0xDBFF
:
high_surrogate
=
cp
else
:
yield
cp
high_surrogate
=
None
if
high_surrogate
:
yield
0xFFFC
except
NameError
:
except
NameError
:
unichr
=
chr
unichr
=
chr
...
@@ -456,7 +481,7 @@ class Unicode:
...
@@ -456,7 +481,7 @@ class Unicode:
@
staticmethod
@
staticmethod
def
decode
(
s
):
def
decode
(
s
):
return
u
','
.
join
(
"U+%04X"
%
ord
(
u
)
for
u
in
tounicode
(
s
,
'utf-8'
))
return
u
','
.
join
(
"U+%04X"
%
cp
for
cp
in
codepoints
(
tounicode
(
s
,
'utf-8'
)
))
@
staticmethod
@
staticmethod
def
parse
(
s
):
def
parse
(
s
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录