summaryrefslogtreecommitdiff
path: root/enc/unicode/case-folding.rb
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-23 06:21:55 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-23 06:21:55 +0000
commit8aa8847b7c69bd9de812f4fefa39c9c4c4cb7b21 (patch)
tree3b445de99df6149e8e5cef86813fa13b010acd8c /enc/unicode/case-folding.rb
parent0a0d452588634f58e1964d245f70727d46165676 (diff)
* enc/unicode/case-folding.rb, casefold.h: Reading casing data from
SpecialCasing.txt. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/unicode/case-folding.rb')
-rwxr-xr-xenc/unicode/case-folding.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/enc/unicode/case-folding.rb b/enc/unicode/case-folding.rb
index 62b534d8c3..425c37a9f9 100755
--- a/enc/unicode/case-folding.rb
+++ b/enc/unicode/case-folding.rb
@@ -187,7 +187,7 @@ class CaseFolding
end
class MapItem
- attr_reader :upper, :lower, :title
+ attr_accessor :upper, :lower, :title
def initialize(code, upper, lower, title)
@code = code
@@ -212,7 +212,18 @@ class CaseMapping
end
end
- # IO.readlines(File.expand_path('SpecialCasing.txt', mapping_directory))
+ IO.readlines(File.expand_path('SpecialCasing.txt', mapping_directory), encoding: Encoding::ASCII_8BIT).each do |line|
+ line.chomp!
+ line, comment = line.split(/ *#/)
+ next if not line or line == ''
+ code, lower, title, upper, conditions = line.split(/ *; */)
+ unless conditions
+ item = @mappings[code]
+ item.lower = lower
+ item.title = title
+ item.upper = upper
+ end
+ end
end
def flags(from, type, to)