Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
9ea34ad3
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9ea34ad3
编写于
1月 05, 2012
作者:
N
Norman Clarke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove "_codepoints" from compose/decompose
上级
c973161c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
9 deletion
+9
-9
activesupport/lib/active_support/multibyte/chars.rb
activesupport/lib/active_support/multibyte/chars.rb
+2
-2
activesupport/lib/active_support/multibyte/unicode.rb
activesupport/lib/active_support/multibyte/unicode.rb
+7
-7
未找到文件。
activesupport/lib/active_support/multibyte/chars.rb
浏览文件 @
9ea34ad3
...
...
@@ -153,7 +153,7 @@ def normalize(form = nil)
# 'é'.length # => 2
# 'é'.mb_chars.decompose.to_s.length # => 3
def
decompose
chars
(
Unicode
.
decompose
_codepoints
(
:canonical
,
Unicode
.
u_unpack
(
@wrapped_string
)).
pack
(
'U*'
))
chars
(
Unicode
.
decompose
(
:canonical
,
Unicode
.
u_unpack
(
@wrapped_string
)).
pack
(
'U*'
))
end
# Performs composition on all the characters.
...
...
@@ -162,7 +162,7 @@ def decompose
# 'é'.length # => 3
# 'é'.mb_chars.compose.to_s.length # => 2
def
compose
chars
(
Unicode
.
compose
_codepoints
(
Unicode
.
u_unpack
(
@wrapped_string
)).
pack
(
'U*'
))
chars
(
Unicode
.
compose
(
Unicode
.
u_unpack
(
@wrapped_string
)).
pack
(
'U*'
))
end
# Returns the number of grapheme clusters in the string.
...
...
activesupport/lib/active_support/multibyte/unicode.rb
浏览文件 @
9ea34ad3
...
...
@@ -143,7 +143,7 @@ def reorder_characters(codepoints)
end
# Decompose composed characters to the decomposed form.
def
decompose
_codepoints
(
type
,
codepoints
)
def
decompose
(
type
,
codepoints
)
codepoints
.
inject
([])
do
|
decomposed
,
cp
|
# if it's a hangul syllable starter character
if
HANGUL_SBASE
<=
cp
and
cp
<
HANGUL_SLAST
...
...
@@ -156,7 +156,7 @@ def decompose_codepoints(type, codepoints)
decomposed
.
concat
ncp
# if the codepoint is decomposable in with the current decomposition type
elsif
(
ncp
=
database
.
codepoints
[
cp
].
decomp_mapping
)
and
(
!
database
.
codepoints
[
cp
].
decomp_type
||
type
==
:compatability
)
decomposed
.
concat
decompose
_codepoints
(
type
,
ncp
.
dup
)
decomposed
.
concat
decompose
(
type
,
ncp
.
dup
)
else
decomposed
<<
cp
end
...
...
@@ -164,7 +164,7 @@ def decompose_codepoints(type, codepoints)
end
# Compose decomposed characters to the composed form.
def
compose
_codepoints
(
codepoints
)
def
compose
(
codepoints
)
pos
=
0
eoa
=
codepoints
.
length
-
1
starter_pos
=
0
...
...
@@ -286,13 +286,13 @@ def normalize(string, form=nil)
codepoints
=
u_unpack
(
string
)
case
form
when
:d
reorder_characters
(
decompose
_codepoints
(
:canonical
,
codepoints
))
reorder_characters
(
decompose
(
:canonical
,
codepoints
))
when
:c
compose
_codepoints
(
reorder_characters
(
decompose_codepoints
(
:canonical
,
codepoints
)))
compose
(
reorder_characters
(
decompose
(
:canonical
,
codepoints
)))
when
:kd
reorder_characters
(
decompose
_codepoints
(
:compatability
,
codepoints
))
reorder_characters
(
decompose
(
:compatability
,
codepoints
))
when
:kc
compose
_codepoints
(
reorder_characters
(
decompose_codepoints
(
:compatability
,
codepoints
)))
compose
(
reorder_characters
(
decompose
(
:compatability
,
codepoints
)))
else
raise
ArgumentError
,
"
#{
form
}
is not a valid normalization variant"
,
caller
end
.
pack
(
'U*'
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录