summaryrefslogtreecommitdiff
path: root/enc/unicode/case-folding.rb
diff options
context:
space:
mode:
authorduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-08 04:00:31 +0000
committerduerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-08 04:00:31 +0000
commit8f10a72d909bea83bca029375516dbcb02286518 (patch)
tree7a8754c3452b16eae67e089f7abfe98260d97e0f /enc/unicode/case-folding.rb
parent1bea5a61273e2f6402a26fd885ce5f6cd3db301d (diff)
* enc/unicode.c: Shortened macros for enc/unicode/casefold.h to
single-letter; use flags in casefold.h for logic. * enc/unicode/case-folding.rb: Added flag for case folding. Changed parameter passing. * enc/unicode/casefold.h: New flags added. (with Kimihito Matsui) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/unicode/case-folding.rb')
-rwxr-xr-xenc/unicode/case-folding.rb19
1 files changed, 12 insertions, 7 deletions
diff --git a/enc/unicode/case-folding.rb b/enc/unicode/case-folding.rb
index a236d1f8a1..de2f4a5ed3 100755
--- a/enc/unicode/case-folding.rb
+++ b/enc/unicode/case-folding.rb
@@ -17,10 +17,10 @@ class CaseFolding
v.map {|i| "0x%04x" % i}.join(", ")
end
- def print_table_1(dest, mapping_data, data)
+ def print_table_1(dest, type, mapping_data, data)
for k, v in data = data.sort
sk = (Array === k and k.length > 1) ? "{#{hex_seq(k)}}" : ("0x%04x" % k)
- dest.print(" {#{sk}, {#{v.length}#{mapping_data.flags(k)}, {#{hex_seq(v)}}}},\n")
+ dest.print(" {#{sk}, {#{v.length}#{mapping_data.flags(k, type)}, {#{hex_seq(v)}}}},\n")
end
data
end
@@ -31,7 +31,7 @@ class CaseFolding
ret = data.inject([]) do |a, (n, d)|
dest.print("#define #{n} (*(#{type}_Type (*)[#{d.size}])(#{type}_Table+#{i}))\n")
i += d.size
- a.concat(print_table_1(dest, mapping_data, d))
+ a.concat(print_table_1(dest, type, mapping_data, d))
end
dest.print("};\n\n")
ret
@@ -205,9 +205,14 @@ class CaseMapping
# IO.readlines(File.expand_path('SpecialCasing.txt', mapping_directory))
end
- def flags(from)
- to = @mappings[from]
- to ? to.flags : ""
+ def flags(from, type)
+ # types: CaseFold_11, CaseUnfold_11, CaseUnfold_12, CaseUnfold_13
+ flags = ""
+ flags += '|F' if type=='CaseFold_11'
+
+ #to = @mappings[from]
+ #to ? to.flags : ""
+ flags
end
def self.load(*args)
@@ -216,7 +221,7 @@ class CaseMapping
end
class CaseMappingDummy
- def flags(from)
+ def flags(from, type)
""
end
end