From 34eb5a4eaf36a42d2873fe3f7fc9c38b1c36e74a Mon Sep 17 00:00:00 2001 From: duerst Date: Wed, 14 Jan 2009 11:12:30 +0000 Subject: * enc/trans/gb18030.trans, gb18030-tbl.rb: new Chinese GB18030 transcoding (from Yoshihiro Kambayashi) * test/ruby/test_transcode.rb: added tests for the above (from Yoshihiro Kambayashi) * transcode_data.h, transcode.c, tool/transcode_tblgen.rb: added support for GB18030-specific 4-byte sequences (with Yoshihiro Kambayashi) git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/transcode-tblgen.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tool/transcode-tblgen.rb') diff --git a/tool/transcode-tblgen.rb b/tool/transcode-tblgen.rb index 870d971e9..170c31455 100644 --- a/tool/transcode-tblgen.rb +++ b/tool/transcode-tblgen.rb @@ -334,6 +334,8 @@ class ActionMap "o2(0x#$1,0x#$2)" when /\A([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])\z/i "o3(0x#$1,0x#$2,0x#$3)" + when /\A([0-9a-f][0-9a-f])(3[0-9])([0-9a-f][0-9a-f])(3[0-9])\z/i + "g4(0x#$1,0x#$2,0x#$3,0x#$4)" when /\A(f[0-7])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])\z/i "o4(0x#$1,0x#$2,0x#$3,0x#$4)" when /\A([0-9a-f][0-9a-f]){4,259}\z/i @@ -605,7 +607,7 @@ end TRANSCODERS = [] TRANSCODE_GENERATED_TRANSCODER_CODE = '' -def transcode_tblgen(from, to, map) +def transcode_tbl_only (from, to, map) if VERBOSE_MODE if from.empty? || to.empty? STDERR.puts "converter for #{from.empty? ? to : from}" @@ -624,6 +626,11 @@ def transcode_tblgen(from, to, map) end map = encode_utf8(map) real_tree_name, max_input = transcode_compile_tree(tree_name, from, map) + return map, tree_name, real_tree_name, max_input +end + +def transcode_tblgen(from, to, map) + map, tree_name, real_tree_name, max_input = transcode_tbl_only(from, to, map) transcoder_name = "rb_#{tree_name}" TRANSCODERS << transcoder_name input_unit_length = UnitLength[from] -- cgit