Module: MacJapanese
- Defined in:
- lib/mac_japanese/utf8_to_mac_japanese.rb,
lib/mac_japanese.rb,
lib/mac_japanese/version.rb,
lib/mac_japanese/mac_japanese_to_utf8_with_pua.rb,
lib/mac_japanese/mac_japanese_to_utf8_without_pua.rb,
lib/mac_japanese/decomposed_or_normal_character_regexp.rb
Overview
This file was automatically generated by ‘rake tables`. Cannot modify directly.
Constant Summary collapse
- VERSION =
"0.0.1"
- UTF8_TO_MAC_JAPANESE =
Hash[ [ ["\u{0000}", "\x00"]
- MAC_JAPANESE_TO_UTF8_WITH_PUA =
Hash[ [ ["\x00", "\u{0000}"]
- MAC_JAPANESE_TO_UTF8_WITHOUT_PUA =
Hash[ [ ["\x00", "\u{0000}"]
- DECOMPOSED_OR_NORMAL_CHARACTER_REGEXP =
/(\u{2026}\u{F87F}|\u{F860}\u{0030}\u{002E}|\u{F862}\u{0058}\u{0049}\u{0049}\u{0049}|\u{F861}\u{0058}\u{0049}\u{0056}|\u{F860}\u{0058}\u{0056}|\u{F862}\u{0078}\u{0069}\u{0069}\u{0069}|\u{F861}\u{0078}\u{0069}\u{0076}|\u{F860}\u{0078}\u{0076}|\u{FF4D}\u{F87F}|\u{FF47}\u{F87F}|\u{F860}\u{0054}\u{0042}|\u{F861}\u{0046}\u{0041}\u{0058}|\u{F860}\u{2193}\u{2191}|\u{21E8}\u{F87A}|\u{21E6}\u{F87A}|\u{21E7}\u{F87A}|\u{21E9}\u{F87A}|\u{5927}\u{20DD}|\u{5C0F}\u{20DD}|\u{63A7}\u{20DD}|\u{F862}\u{6709}\u{9650}\u{4F1A}\u{793E}|\u{F862}\u{8CA1}\u{56E3}\u{6CD5}\u{4EBA}|\u{3001}\u{F87E}|\u{3002}\u{F87E}|\u{FFE3}\u{F87E}|\u{30FC}\u{F87E}|\u{2010}\u{F87E}|\u{301C}\u{F87E}|\u{2016}\u{F87E}|\u{FF5C}\u{F87E}|\u{2026}\u{F87E}|\u{FF3B}\u{F87E}|\u{FF3D}\u{F87E}|\u{FF1D}\u{F87E}|\u{3041}\u{F87E}|\u{3043}\u{F87E}|\u{3045}\u{F87E}|\u{3047}\u{F87E}|\u{3049}\u{F87E}|\u{3063}\u{F87E}|\u{3083}\u{F87E}|\u{3085}\u{F87E}|\u{3087}\u{F87E}|\u{308E}\u{F87E}|\u{30A1}\u{F87E}|\u{30A3}\u{F87E}|\u{30A5}\u{F87E}|\u{30A7}\u{F87E}|\u{30A9}\u{F87E}|\u{30C3}\u{F87E}|\u{30E3}\u{F87E}|\u{30E5}\u{F87E}|\u{30E7}\u{F87E}|\u{30EE}\u{F87E}|\u{30F5}\u{F87E}|\u{30F6}\u{F87E}|.)/m
Class Method Summary collapse
Class Method Details
.to_mac_japanese(src, options = {}) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/mac_japanese.rb', line 27 def to_mac_japanese(src, = {}) [:replace] ||= "?" src = encode_or_raise(src, Encoding::UTF_8, ) table = UTF8_TO_MAC_JAPANESE dest = "" ss = StringScanner.new(src) while char = ss.scan(DECOMPOSED_OR_NORMAL_CHARACTER_REGEXP) dest << convert_char(char, table, Encoding::UTF_8, Encoding::MacJapanese, ) end dest end |
.to_utf8(src, options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/mac_japanese.rb', line 11 def to_utf8(src, = {}) use_pua = .has_key?(:use_pua) ? .delete(:use_pua) : true [:replace] ||= "\u{fffd}" src = src.dup.force_encoding(Encoding::MacJapanese) unless src.encoding == Encoding::MacJapanese table = use_pua ? MAC_JAPANESE_TO_UTF8_WITH_PUA : MAC_JAPANESE_TO_UTF8_WITHOUT_PUA dest = "" # If you use StringScanner here, # raise exception for string includes 0x80, 0xA0, 0xFD, 0xFE, or 0xFF. src.chars.each do |char| dest << convert_char(char, table, Encoding::MacJapanese, Encoding::UTF_8, ) end dest end |