aboutsummaryrefslogtreecommitdiffstats
path: root/lib/unicode_normalize
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-06 15:00:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-06 15:00:24 +0000
commitd436c051630a4406971645c7b44d84f4f00a0ff8 (patch)
tree20d751f40c7f6b88cf09c974ce7edebe41405c50 /lib/unicode_normalize
parent4fa166e301eb074fac378815d2641ef1dfcd5a18 (diff)
downloadruby-d436c051630a4406971645c7b44d84f4f00a0ff8.tar.gz
unicode_norm_gen.tmpl: expand kompatible_table
* template/unicode_norm_gen.tmpl: expand kompatible_table so that recursive expansion is not needed at runtime. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/unicode_normalize')
-rw-r--r--lib/unicode_normalize/normalize.rb18
1 files changed, 2 insertions, 16 deletions
diff --git a/lib/unicode_normalize/normalize.rb b/lib/unicode_normalize/normalize.rb
index bc8831c6b7..5fea8c5548 100644
--- a/lib/unicode_normalize/normalize.rb
+++ b/lib/unicode_normalize/normalize.rb
@@ -84,26 +84,12 @@ module UnicodeNormalize
## Normalization Forms for Patterns (not whole Strings)
def self.nfd_one(string)
- string = string.dup
- (0...string.length).each do |position|
- if decomposition = DECOMPOSITION_TABLE[string[position]]
- string[position] = decomposition
- end
- end
+ string = string.chars.map! {|c| DECOMPOSITION_TABLE[c] || c}.join('')
canonical_ordering_one(hangul_decomp_one(string))
end
def self.nfkd_one(string)
- string = string.dup
- position = 0
- while position < string.length
- if decomposition = KOMPATIBLE_TABLE[string[position]]
- string[position] = decomposition
- else
- position += 1
- end
- end
- string
+ string.chars.map! {|c| KOMPATIBLE_TABLE[c] || c}.join('')
end
def self.nfc_one(string)