diff options
author | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 04:00:31 +0000 |
---|---|---|
committer | duerst <duerst@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-02-08 04:00:31 +0000 |
commit | 8f10a72d909bea83bca029375516dbcb02286518 (patch) | |
tree | 7a8754c3452b16eae67e089f7abfe98260d97e0f /enc/unicode/case-folding.rb | |
parent | 1bea5a61273e2f6402a26fd885ce5f6cd3db301d (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-x | enc/unicode/case-folding.rb | 19 |
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 |