def initialize(enc)
if enc.kind_of?(Hash)
self.differences=enc[:Differences] if enc[:Differences]
enc = enc[:Encoding] || enc[:BaseEncoding]
elsif enc != nil
enc = enc.to_sym
end
case enc
when nil then
load_mapping File.dirname(__FILE__) + "/encodings/standard.txt"
@unpack = "C*"
when "Identity-H".to_sym then
@unpack = "n*"
@to_unicode_required = true
when :MacRomanEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/mac_roman.txt"
@unpack = "C*"
when :MacExpertEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/mac_expert.txt"
@unpack = "C*"
when :PDFDocEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/pdf_doc.txt"
@unpack = "C*"
when :StandardEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/standard.txt"
@unpack = "C*"
when :SymbolEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/symbol.txt"
@unpack = "C*"
when :UTF16Encoding then
@unpack = "n*"
when :WinAnsiEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/win_ansi.txt"
@unpack = "C*"
when :ZapfDingbatsEncoding then
load_mapping File.dirname(__FILE__) + "/encodings/zapf_dingbats.txt"
@unpack = "C*"
else raise UnsupportedFeatureError, "#{enc} is not currently a supported encoding"
end
end