Skip to content

Commit

Permalink
Showing 2 changed files with 5 additions and 33 deletions.
7 changes: 4 additions & 3 deletions scripts/generate.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# coding: utf-8

REPO_PATH = ARGV.first || '/usr/src/ruby-2.4.2' # path to ruby repo
REPO_PATH = ARGV.first || '/usr/src/ruby-2.4.3' # path to ruby repo
SECTION_NAME = "rdata"
UNICODE_VERSION = "9.0.0"
SRC_DIR = "../src/org/jcodings"
@@ -96,9 +96,10 @@ def generate_transcoder_list
src, dst, tree_start, table_info, iul, max_in, max_out, conv, state_size, state_init, state_fini, *funcs = body
tree_start = trans_src[/#define\s+#{tree_start}\s+WORDINDEX2INFO\((\d+)\)/, 1].to_i << 2
state_size = "0" if state_size == "sizeof(struct from_utf8_mac_status)"
generic = funcs.all?{|f|f == "NULL"}

generic_list << [src, dst, tree_start, "\"#{name}\"", iul, max_in, max_out, "AsciiCompatibility.#{conv.split('_').last.upcase}", state_size]
transcoder_list << [src, dst, t_name, !funcs.all?{|f|f == "NULL"}]
generic_list << [src, dst, tree_start, "\"#{name}\"", iul, max_in, max_out, "AsciiCompatibility.#{conv.split('_').last.upcase}", state_size] if generic
transcoder_list << [src, dst, t_name, !generic]
end

end
31 changes: 1 addition & 30 deletions src/org/jcodings/transcode/TranscoderList.java
Original file line number Diff line number Diff line change
@@ -251,8 +251,6 @@ static void load() {
new GenericTranscoderEntry("UTF-8", "UTF8-SoftBank", 24060, "Emoji", 1, 4, 6, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("stateless-ISO-2022-JP-KDDI", "UTF8-KDDI", 33996, "EmojiIso2022Kddi", 1, 3, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF8-KDDI", "stateless-ISO-2022-JP-KDDI", 76404, "EmojiIso2022Kddi", 1, 4, 3, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("ISO-2022-JP-KDDI", "stateless-ISO-2022-JP-KDDI", 56, "EmojiIso2022Kddi", 1, 3, 3, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("stateless-ISO-2022-JP-KDDI", "ISO-2022-JP-KDDI", 108, "EmojiIso2022Kddi", 1, 3, 5, AsciiCompatibility.ENCODER, 1),
new GenericTranscoderEntry("SJIS-DOCOMO", "UTF8-DOCOMO", 39616, "EmojiSjisDocomo", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF8-DOCOMO", "SJIS-DOCOMO", 84704, "EmojiSjisDocomo", 1, 4, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("SJIS-KDDI", "UTF8-KDDI", 39616, "EmojiSjisKddi", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
@@ -262,21 +260,8 @@ static void load() {
new GenericTranscoderEntry("", "amp_escape", 8, "Escape", 1, 1, 5, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("", "xml_text_escape", 32, "Escape", 1, 1, 5, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("", "xml_attr_content_escape", 60, "Escape", 1, 1, 6, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("", "xml_attr_quote", 72, "Escape", 1, 1, 7, AsciiCompatibility.ENCODER, 1),
new GenericTranscoderEntry("GB18030", "UTF-8", 57668, "Gb18030", 1, 4, 4, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF-8", "GB18030", 115576, "Gb18030", 1, 4, 4, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("GBK", "UTF-8", 89284, "Gbk", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF-8", "GBK", 182912, "Gbk", 1, 4, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("ISO-2022-JP", "stateless-ISO-2022-JP", 56, "Iso2022", 1, 3, 3, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("stateless-ISO-2022-JP", "ISO-2022-JP", 108, "Iso2022", 1, 3, 5, AsciiCompatibility.ENCODER, 1),
new GenericTranscoderEntry("stateless-ISO-2022-JP", "EUC-JP", 128, "Iso2022", 1, 3, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("EUC-JP", "stateless-ISO-2022-JP", 192, "Iso2022", 1, 3, 3, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("CP50220", "cp51932", 244, "Iso2022", 1, 3, 3, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("CP50221", "cp51932", 244, "Iso2022", 1, 3, 3, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("CP51932", "CP50221", 268, "Iso2022", 1, 3, 5, AsciiCompatibility.ENCODER, 1),
new GenericTranscoderEntry("CP51932", "CP50220", 268, "Iso2022", 1, 3, 5, AsciiCompatibility.ENCODER, 3),
new GenericTranscoderEntry("EUC-JP", "Shift_JIS", 88, "Japanese", 1, 3, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("Shift_JIS", "EUC-JP", 132, "Japanese", 1, 2, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("EUC-JP", "UTF-8", 54488, "JapaneseEuc", 1, 3, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("eucJP-ms", "UTF-8", 64480, "JapaneseEuc", 1, 3, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("CP51932", "UTF-8", 66380, "JapaneseEuc", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
@@ -293,7 +278,6 @@ static void load() {
new GenericTranscoderEntry("EUC-KR", "UTF-8", 78500, "Korean", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF-8", "CP949", 126176, "Korean", 1, 4, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("CP949", "UTF-8", 196644, "Korean", 1, 2, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("", "universal_newline", 4, "Newline", 1, 1, 2, AsciiCompatibility.CONVERTER, 2),
new GenericTranscoderEntry("", "crlf_newline", 20, "Newline", 1, 1, 2, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("", "cr_newline", 36, "Newline", 1, 1, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("US-ASCII", "UTF-8", 8, "SingleByte", 1, 1, 1, AsciiCompatibility.CONVERTER, 0),
@@ -402,19 +386,6 @@ static void load() {
new GenericTranscoderEntry("UTF-8", "CP852", 29656, "SingleByte", 1, 4, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("CP855", "UTF-8", 30180, "SingleByte", 1, 1, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF-8", "CP855", 30732, "SingleByte", 1, 4, 1, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF-8", "UTF8-MAC", 52420, "Utf8Mac", 1, 4, 9, AsciiCompatibility.CONVERTER, 0),
new GenericTranscoderEntry("UTF8-MAC", "UTF-8", 52544, "Utf8Mac", 1, 4, 10, AsciiCompatibility.ENCODER, 0),
new GenericTranscoderEntry("UTF-16BE", "UTF-8", 188, "Utf1632", 2, 4, 4, AsciiCompatibility.DECODER, 0),
new GenericTranscoderEntry("UTF-8", "UTF-16BE", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 0),
new GenericTranscoderEntry("UTF-16LE", "UTF-8", 52, "Utf1632", 2, 4, 4, AsciiCompatibility.DECODER, 0),
new GenericTranscoderEntry("UTF-8", "UTF-16LE", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 0),
new GenericTranscoderEntry("UTF-32BE", "UTF-8", 252, "Utf1632", 4, 4, 4, AsciiCompatibility.DECODER, 0),
new GenericTranscoderEntry("UTF-8", "UTF-32BE", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 0),
new GenericTranscoderEntry("UTF-32LE", "UTF-8", 128, "Utf1632", 4, 4, 4, AsciiCompatibility.DECODER, 0),
new GenericTranscoderEntry("UTF-8", "UTF-32LE", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 0),
new GenericTranscoderEntry("UTF-16", "UTF-8", 276, "Utf1632", 2, 4, 4, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("UTF-32", "UTF-8", 300, "Utf1632", 4, 4, 4, AsciiCompatibility.DECODER, 1),
new GenericTranscoderEntry("UTF-8", "UTF-16", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 1),
new GenericTranscoderEntry("UTF-8", "UTF-32", 416, "Utf1632", 1, 4, 4, AsciiCompatibility.ENCODER, 1)
new GenericTranscoderEntry("UTF-8", "UTF8-MAC", 52420, "Utf8Mac", 1, 4, 9, AsciiCompatibility.CONVERTER, 0)
};
}

0 comments on commit 99c9098

Please sign in to comment.