From 6c64ca507697b5dfc4a8ef68d6fc1d253e12f26a Mon Sep 17 00:00:00 2001 From: ser Date: Tue, 9 Dec 2003 02:43:05 +0000 Subject: [PATCH] Added downcased shift-jis declarations. The old, all upper case declarations are deprecated, but I need some Shift-JIS encoded documents to test against before I remove them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- MANIFEST | 2 ++ lib/rexml/encodings/Shift-JIS.rb | 37 ++++++++++++++++++++++++++++++++ lib/rexml/encodings/Shift_JIS.rb | 1 + 3 files changed, 40 insertions(+) create mode 100644 lib/rexml/encodings/Shift-JIS.rb create mode 100644 lib/rexml/encodings/Shift_JIS.rb diff --git a/MANIFEST b/MANIFEST index 40c60ae64a..e6297caf1c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -276,6 +276,8 @@ lib/rexml/encoding.rb lib/rexml/encodings/EUC-JP.rb lib/rexml/encodings/ICONV.rb lib/rexml/encodings/ISO-8859-1.rb +lib/rexml/encodings/Shift-JIS.rb +lib/rexml/encodings/Shift_JIS.rb lib/rexml/encodings/SHIFT-JIS.rb lib/rexml/encodings/SHIFT_JIS.rb lib/rexml/encodings/UNILE.rb diff --git a/lib/rexml/encodings/Shift-JIS.rb b/lib/rexml/encodings/Shift-JIS.rb new file mode 100644 index 0000000000..32aa6450fe --- /dev/null +++ b/lib/rexml/encodings/Shift-JIS.rb @@ -0,0 +1,37 @@ +begin + require 'iconv' + + module REXML + module Encoding + @@__REXML_encoding =<<-EOL + def decode(str) + return Iconv::iconv("utf-8", "shift-jis", str)[0] + end + + def encode content + return Iconv::iconv("shift-jis", "utf-8", content)[0] + end + EOL + end + end +rescue LoadError + begin + require 'uconv' + + module REXML + module Encoding + @@__REXML_encoding_methods =<<-EOL + def to_shift_jis content + Uconv::u8tosjis(content) + end + + def from_shift_jis(str) + Uconv::sjistou8(str) + end + EOL + end + end + rescue LoadError + raise "uconv or iconv is required for Japanese encoding support." + end +end diff --git a/lib/rexml/encodings/Shift_JIS.rb b/lib/rexml/encodings/Shift_JIS.rb new file mode 100644 index 0000000000..6e8f759373 --- /dev/null +++ b/lib/rexml/encodings/Shift_JIS.rb @@ -0,0 +1 @@ +require 'rexml/encodings/Shift-JIS'