summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2012-04-24 00:13:14 +0000
committerNorbert Preining <preining@logic.at>2012-04-24 00:13:14 +0000
commit8f29bdce0bdd08ec81df555e98692d1f288c3289 (patch)
treec4f9a6b00a587f635e55fc4068c1961780c90591 /Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb
parent74e624196144ae218a63a4c35672fc7a0e7b18dc (diff)
new package luatexja (24apr)
adapt ctan2tds to deal with it git-svn-id: svn://tug.org/texlive/trunk@26115 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb')
-rw-r--r--Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb b/Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb
new file mode 100644
index 00000000000..21f6e7728ce
--- /dev/null
+++ b/Master/texmf-dist/source/luatex/luatexja/tool/chars2defcharrange.rb
@@ -0,0 +1,51 @@
+#! /usr/bin/ruby
+# -*- coding: utf-8 -*-
+
+# The following script converts a set of chars except "\s", as Ruby defines,
+# to the character range definition of LuaTeX-ja.
+
+# USAGE: ruby __FILE__ ifile rangeNo [> ofile]
+
+# Example (in Japanese)
+# 教育漢字リスト (http://www.aozora.gr.jp/kanji_table/kyouiku_list.zip)
+# に対して適用したいとき.
+# 1. kyoikukanji.txt に対して,コメント部分の先頭に # をつける編集を加える;
+# 2. ruby chars2defcharrange.rb kyoikukanji.txt 210 > kyoikukanjiChars.tex
+# を実行する.
+
+def print_usage()
+ print "USAGE: ruby ", __FILE__, "ifile rangeNo [> ofile]\n"
+end
+
+if __FILE__ == $0
+ # コマンドライン引数の処理
+ if ARGV.length < 2
+ print_usage()
+ exit
+ end
+ ifile = ARGV[0]
+ rangeNo = ARGV[1]
+
+ # 対象文字列の作成
+ string = ""
+ open(ifile, "r").each_line{|line|
+ if line =~ /#/
+ line = $`
+ end
+ line.gsub!(/\s/){}
+ string += line
+ }
+
+ # 10 進 unicode code point 配列に変換
+ decs = string.unpack("U*")
+
+ # print
+ print "\defcharrange{", rangeNo, "}{"
+ decs.each_with_index{|code, index|
+ if index != 0
+ print ","
+ end
+ print "\"", code.to_s(16)
+ }
+ print "}\n"
+end