romankana 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/romankana/k2r.rb +4 -2
- data/lib/romankana/romankana.rb +15 -4
- data/lib/romankana.rb +1 -1
- metadata +2 -2
data/lib/romankana/k2r.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#coding:utf-8
|
2
2
|
module RomanKana
|
3
|
-
|
3
|
+
K2R_table_1 = {
|
4
4
|
'ア' => 'a',
|
5
5
|
'イ' => 'i',
|
6
6
|
'ウ' => 'u',
|
@@ -74,6 +74,9 @@ module RomanKana
|
|
74
74
|
'プ' => 'pu',
|
75
75
|
'ペ' => 'pe',
|
76
76
|
'ポ' => 'po',
|
77
|
+
'ー' => '',
|
78
|
+
}
|
79
|
+
K2R_table_2 = {
|
77
80
|
'キャ' => 'kya',
|
78
81
|
'キュ' => 'kyu',
|
79
82
|
'キョ' => 'kyo',
|
@@ -116,6 +119,5 @@ module RomanKana
|
|
116
119
|
'フィ' => 'fi',
|
117
120
|
'フェ' => 'fe',
|
118
121
|
'フォ' => 'fo',
|
119
|
-
'ー' => '',
|
120
122
|
}
|
121
123
|
end
|
data/lib/romankana/romankana.rb
CHANGED
@@ -37,12 +37,21 @@ module RomanKana
|
|
37
37
|
def RomanKana.kanaroman str
|
38
38
|
ret = []
|
39
39
|
array = NKF.nkf('-wh2',str).split('')
|
40
|
-
buff = [array.
|
41
|
-
i =
|
40
|
+
buff = [array.first]
|
41
|
+
i = 1
|
42
42
|
while i <= array.length
|
43
|
-
if a = RomanKana::
|
43
|
+
if a = RomanKana::K2R_table_2[buff.join('')]
|
44
|
+
ret << a
|
45
|
+
buff.clear
|
46
|
+
next if i == array.length
|
47
|
+
elsif buff.length >= 2 && a = RomanKana::K2R_table_1[buff[0,buff.length-1].join('')]
|
48
|
+
ret << a
|
49
|
+
(buff.length-1).times{buff.shift}
|
50
|
+
next if i == array.length
|
51
|
+
elsif i == array.length && a = RomanKana::K2R_table_1[buff.join('')]
|
44
52
|
ret << a
|
45
53
|
buff.clear
|
54
|
+
next if i == array.length
|
46
55
|
elsif buff.length >= 2
|
47
56
|
ret << buff.shift
|
48
57
|
next
|
@@ -54,10 +63,11 @@ module RomanKana
|
|
54
63
|
while a = ret.index('ッ')
|
55
64
|
ret[a] = ret[a+1].split('').first
|
56
65
|
end
|
57
|
-
|
58
66
|
return ret.join('')
|
59
67
|
end
|
60
68
|
end
|
69
|
+
|
70
|
+
|
61
71
|
class String
|
62
72
|
def roman_to_hiragana
|
63
73
|
r = self.toutf8.split(/([a-zA-Z]+)/u).map{|e|e =~ /[a-zA-Z]+/u?NKF.nkf("-wh1",RomanKana.romankana(e)):e}.join('')
|
@@ -85,3 +95,4 @@ class String
|
|
85
95
|
Kconv.guess(self) == Kconv::ASCII ? r : Kconv.kconv(NKF.nkf("-wh2",r),Kconv.guess(self),Kconv::UTF8)
|
86
96
|
end
|
87
97
|
end
|
98
|
+
|
data/lib/romankana.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: romankana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- ymrl
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-10 00:00:00 +09:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|