hanzi_to_pinyin 0.9.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/lib/hanzi_to_pinyin.rb +23 -4
- metadata +17 -29
- data/README.rdoc +0 -49
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 50844b280e6a5bb7e7ea9a39d67d6f04a58e47db
|
4
|
+
data.tar.gz: d5fc6470bb697db12afa7ae3814898e2c989f991
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7e9490c70456937d21ebd983e4f18b89dbfa9795cedefad807deee9a72b3328b2f49fc91d8b2123dc7fb464a7c05cba755051438fe7d4f12dd52c0120597c793
|
7
|
+
data.tar.gz: 7692171618b98bd58c2a12239d76525f5c91d9c3177bc838fa486c1eb53fdfc3a5571151d0846a8f3eae57ce4ceafd2f84c0be7ecea381d7a2b9a3c0dd49a8e8
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
data/lib/hanzi_to_pinyin.rb
CHANGED
@@ -50,11 +50,11 @@ class HanziToPinyin
|
|
50
50
|
u_str
|
51
51
|
end
|
52
52
|
class << self
|
53
|
-
alias_method :hanzi_to_pinyin
|
53
|
+
alias_method :hanzi_to_pinyin, :hanzi_2_pinyin
|
54
54
|
end
|
55
55
|
|
56
56
|
##
|
57
|
-
# 多音字,分隔
|
57
|
+
# 多音字,分隔 字字之间;分隔,字母原样保留
|
58
58
|
# 查理Smith => "cha,zha;li;Smith"
|
59
59
|
# 郭轶 => "guo;yi,die"
|
60
60
|
# 我们 => "wo;men"
|
@@ -89,7 +89,26 @@ class HanziToPinyin
|
|
89
89
|
@str
|
90
90
|
end
|
91
91
|
class << self
|
92
|
-
alias_method :hanzi_to_py
|
92
|
+
alias_method :hanzi_to_py, :hanzi_2_py
|
93
|
+
end
|
94
|
+
|
95
|
+
##
|
96
|
+
# 汉字转化为安全的 url
|
97
|
+
def self.hanzi_2_url(hanzi)
|
98
|
+
hanzi = hanzi.to_s.force_encoding("utf-8")
|
99
|
+
arr = []
|
100
|
+
hanzi.each_char do |hz|
|
101
|
+
if is_hanzi?(hz.ord)
|
102
|
+
value = @@py[hz].first
|
103
|
+
else
|
104
|
+
value = hz.chr
|
105
|
+
end
|
106
|
+
arr << value
|
107
|
+
end
|
108
|
+
CGI.escape arr.join('-')
|
109
|
+
end
|
110
|
+
class << self
|
111
|
+
alias_method :hanzi_to_url, :hanzi_2_url
|
93
112
|
end
|
94
113
|
|
95
114
|
def self.append(values)
|
@@ -121,7 +140,7 @@ class HanziToPinyin
|
|
121
140
|
end
|
122
141
|
|
123
142
|
def self.is_letter?(codepoint)
|
124
|
-
codepoint >= @@letter_upcase_start && codepoint <= @@letter_upcase_end
|
143
|
+
codepoint >= @@letter_upcase_start && codepoint <= @@letter_upcase_end or codepoint >= @@letter_downcase_start && codepoint <= @@letter_downcase_end
|
125
144
|
end
|
126
145
|
|
127
146
|
end
|
metadata
CHANGED
@@ -1,62 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanzi_to_pinyin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- wxianfeng
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-10-20 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: json
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: yamler
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
description: chinese hanzi to pinyin , fetch first letter OR full pinyin, written
|
@@ -67,40 +60,35 @@ executables: []
|
|
67
60
|
extensions: []
|
68
61
|
extra_rdoc_files: []
|
69
62
|
files:
|
70
|
-
- README.rdoc
|
71
|
-
- VERSION
|
72
63
|
- LICENSE.txt
|
73
64
|
- Rakefile
|
74
|
-
-
|
75
|
-
- lib/data/unicode_to_pinyin.yml
|
65
|
+
- VERSION
|
76
66
|
- lib/data/hz2py.json
|
67
|
+
- lib/data/unicode_to_pinyin.yml
|
68
|
+
- lib/hanzi_to_pinyin.rb
|
77
69
|
homepage: http://github.com/wxianfeng/hanzi_to_pinyin
|
78
70
|
licenses: []
|
79
|
-
|
71
|
+
metadata: {}
|
72
|
+
post_install_message: " hanzi_to_pinyin is a tool for chinese hanzi to pinyin ,fetch
|
80
73
|
first letter OR full pinyin, writen in Ruby.\n \n http://github.com/wxianfeng/hanzi_to_pinyin\n\n
|
81
74
|
\ Enjoy!\n\n wxianfeng (wang.fl1429@gmail.com)\n\n"
|
82
75
|
rdoc_options: []
|
83
76
|
require_paths:
|
84
77
|
- lib
|
85
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
79
|
requirements:
|
88
|
-
- -
|
80
|
+
- - ">="
|
89
81
|
- !ruby/object:Gem::Version
|
90
82
|
version: '0'
|
91
|
-
segments:
|
92
|
-
- 0
|
93
|
-
hash: -725265272691574212
|
94
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
84
|
requirements:
|
97
|
-
- -
|
85
|
+
- - ">="
|
98
86
|
- !ruby/object:Gem::Version
|
99
87
|
version: 1.3.6
|
100
88
|
requirements: []
|
101
89
|
rubyforge_project:
|
102
|
-
rubygems_version:
|
90
|
+
rubygems_version: 2.2.2
|
103
91
|
signing_key:
|
104
|
-
specification_version:
|
92
|
+
specification_version: 4
|
105
93
|
summary: chinese hanzi to pinyin , fetch first letter OR full pinyin
|
106
94
|
test_files: []
|
data/README.rdoc
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
= hanzi_to_pinyin
|
2
|
-
|
3
|
-
translate chinese to pinyin, fetch first letter OR full pinyin
|
4
|
-
|
5
|
-
== Install
|
6
|
-
|
7
|
-
rails3
|
8
|
-
|
9
|
-
$ gem 'hanzi_to_pinyin', '0.9.0', require: 'hanzi_to_pinyin'
|
10
|
-
or latest develop version
|
11
|
-
$ gem 'hanzi_to_pinyin', git: 'git://github.com/wxianfeng/hanzi_to_pinyin.git'
|
12
|
-
or freeze ref version
|
13
|
-
$ gem 'hanzi_to_pinyin', git: 'git://github.com/wxianfeng/hanzi_to_pinyin.git', ref: 5fa43b0
|
14
|
-
|
15
|
-
== Usage
|
16
|
-
|
17
|
-
$ HanziToPinyin.hanzi_to_pinyin("中华人民共和国") => "zhrmghg"
|
18
|
-
$ HanziToPinyin.hanzi_2_pinyin("中华人民共和国") => "zhrmghg"
|
19
|
-
$ HanziToPinyin.hanzi_to_pinyin("喜欢Ruby") => "xhruby"
|
20
|
-
$ HanziToPinyin.hanzi_2_pinyin("喜欢Ruby") => "xhruby"
|
21
|
-
|
22
|
-
$ HanziToPinyin.is_hanzi?("你") => true
|
23
|
-
$ HanziToPinyin.is_hanzi?("a") => false
|
24
|
-
|
25
|
-
# 多音字,分隔 字字之间;分隔,字母数字保留不变
|
26
|
-
$ HanziToPinyin.hanzi_2_py("我们") => "wo;men"
|
27
|
-
$ HanziToPinyin.hanzi_2_py("yyf") => "yyf"
|
28
|
-
$ HanziToPinyin.hanzi_2_py("查理Smith") => "cha,zha;li;Smith"
|
29
|
-
$ HanziToPinyin.hanzi_2_py("测试1") => "ce;shi;1"
|
30
|
-
$ HanziToPinyin.hanzi_2_py("测_试") => "ce;_;shi"
|
31
|
-
$ HanziToPinyin.hanzi_2_py("测-试") => "ce;-;shi"
|
32
|
-
$ HanziToPinyin.hanzi_2_py(2).should == "2"
|
33
|
-
|
34
|
-
$ HanziToPinyin.is_number?("1".ord) => true
|
35
|
-
$ HanziToPinyin.is_number?("a".ord) => false
|
36
|
-
|
37
|
-
$ HanziToPinyin.is_underline?("_".ord) => true
|
38
|
-
$ HanziToPinyin.is_underline?("豆豆") => false
|
39
|
-
$ HanziToPinyin.is_dash?("-".ord) => true
|
40
|
-
|
41
|
-
== Test
|
42
|
-
$ rake spec
|
43
|
-
or spec one case
|
44
|
-
$ rspec spec/hanzi_to_pinyin/hanzi_to_pinyin_spec.rb -l 21
|
45
|
-
|
46
|
-
== Copyright
|
47
|
-
|
48
|
-
Copyright (c) 2011 wxianfeng. See LICENSE.txt for
|
49
|
-
further details.
|