diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-02 01:38:27 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-02 01:38:27 +0000 |
commit | f207f9fd51521c98c893ee9b75bbb768366af988 (patch) | |
tree | 81eb5f95ddd1bb393d3582ceb37ad485ae81cb1c /enc/trans/utf8_mac.trans | |
parent | e4d687f3721477ec6804ca3483c4fb078af61e94 (diff) | |
download | ruby-f207f9fd51521c98c893ee9b75bbb768366af988.tar.gz |
* enc/trans/utf8_mac-tbl.rb: don't use Unicode escape.
* enc/trans/utf8_mac.trans: follow above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'enc/trans/utf8_mac.trans')
-rw-r--r-- | enc/trans/utf8_mac.trans | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/enc/trans/utf8_mac.trans b/enc/trans/utf8_mac.trans index 66500d82ff..b8c8f89889 100644 --- a/enc/trans/utf8_mac.trans +++ b/enc/trans/utf8_mac.trans @@ -3,12 +3,8 @@ <% require 'utf8_mac-tbl' - def hexstr(str) - str.unpack("H*")[0] - end - transcode_tblgen("UTF-8", "UTF8-MAC", - MAC_DECOMPOSE_TBL.map{|k,v|[hexstr(k), hexstr(v)]} + [ + MAC_DECOMPOSE_TBL + [ ["{00-7F}", :nomap], ["{c2-df}{80-bf}", :asis], ["e0{a0-bf}{80-bf}", :asis], @@ -31,13 +27,11 @@ map["f4{80-8f}{80-bf}{80-bf}"] = :func_so transcode_generate_node(ActionMap.parse(map), "from_UTF8_MAC") - map = Hash[*MAC_DECOMPOSE_TBL.select{|k,v|v.length == 3}. - map{|k,v|[hexstr(v), hexstr(k)]}.flatten] + ary = MAC_DECOMPOSE_TBL.select{|k,v|v.scan(/[0-7C-F].(?:[89AB].)*/i).length == 3} + transcode_generate_node(ActionMap.parse(ary.map{|k,v|[v,k]}), "from_utf8_mac_nfc3") - transcode_generate_node(ActionMap.parse(map), "from_utf8_mac_nfc3") - map = Hash[*MAC_DECOMPOSE_TBL.select{|k,v|v.length == 2}. - map{|k,v|[hexstr(v), hexstr(k)]}.flatten] - transcode_generate_node(ActionMap.parse(map), "from_utf8_mac_nfc2") + ary = MAC_DECOMPOSE_TBL.select{|k,v|v.scan(/[0-7C-F].(?:[89AB].)*/i).length == 2} + transcode_generate_node(ActionMap.parse(ary.map{|k,v|[v,k]}), "from_utf8_mac_nfc2") %> <%= transcode_generated_code %> @@ -236,7 +230,7 @@ fun_so_from_utf8_mac(void *statep, } static const rb_transcoder -rb_from_utf8_mac = { +rb_from_UTF8_MAC = { "UTF8-MAC", "UTF-8", from_UTF8_MAC, TRANSCODE_TABLE_INFO, 1, /* input_unit_length */ @@ -252,6 +246,6 @@ void Init_utf8_mac(void) { <%= transcode_register_code %> - rb_register_transcoder(&rb_from_utf8_mac); + rb_register_transcoder(&rb_from_UTF8_MAC); } |