diff options
Diffstat (limited to 'macros/luatex/generic/luatexja/src/ltj-inputbuf.lua')
-rw-r--r-- | macros/luatex/generic/luatexja/src/ltj-inputbuf.lua | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua index e1623199e4..7f39b9b8d7 100644 --- a/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua +++ b/macros/luatex/generic/luatexja/src/ltj-inputbuf.lua @@ -14,6 +14,43 @@ local id_glyph = node.id 'glyph' local getcatcode, getcount = tex.getcatcode, tex.getcount local ltjc_is_japanese_char_curlist = ltjc.is_japanese_char_curlist +local substituter +do + local uchar = utf.char + local cd, cp = uchar(0x3099), uchar(0x309A) + substituter = (utf.substituter or utf.subtituter) -- typo in lualibs? + { + ['ウ'..cd] = 'ヴ', ['う'..cd] = uchar(0x30F4), + ['か'..cd] = 'が', ['カ'..cd] = 'ガ', + ['き'..cd] = 'ぎ', ['キ'..cd] = 'ギ', + ['く'..cd] = 'ぐ', ['ク'..cd] = 'グ', + ['け'..cd] = 'げ', ['ケ'..cd] = 'ゲ', + ['こ'..cd] = 'ご', ['コ'..cd] = 'ゴ', + -- + ['さ'..cd] = 'ざ', ['サ'..cd] = 'ザ', + ['し'..cd] = 'じ', ['シ'..cd] = 'ジ', + ['す'..cd] = 'ず', ['ス'..cd] = 'ズ', + ['せ'..cd] = 'ぜ', ['セ'..cd] = 'ゼ', + ['そ'..cd] = 'ぞ', ['ソ'..cd] = 'ゾ', + -- + ['た'..cd] = 'だ', ['タ'..cd] = 'ダ', + ['ち'..cd] = 'ぢ', ['チ'..cd] = 'ヂ', + ['つ'..cd] = 'づ', ['ツ'..cd] = 'ヅ', + ['て'..cd] = 'で', ['テ'..cd] = 'デ', + ['と'..cd] = 'ど', ['ト'..cd] = 'ド', + -- + ['は'..cd] = 'ば', ['ハ'..cd] = 'バ', ['は'..cp] = 'ぱ', ['ハ'..cp] = 'パ', + ['ひ'..cd] = 'び', ['ヒ'..cd] = 'ビ', ['ひ'..cp] = 'ぴ', ['ヒ'..cp] = 'ピ', + ['ふ'..cd] = 'ぶ', ['フ'..cd] = 'ブ', ['ふ'..cp] = 'ぷ', ['フ'..cp] = 'プ', + ['へ'..cd] = 'べ', ['ヘ'..cd] = 'ベ', ['へ'..cp] = 'ぺ', ['ヘ'..cp] = 'ペ', + ['ほ'..cd] = 'ぼ', ['ホ'..cd] = 'ボ', ['ほ'..cp] = 'ぽ', ['ホ'..cp] = 'ポ', + -- + ['ゝ'..cd] = 'ゞ', ['ヽ'..cd] = 'ヾ', + ['ワ'..cd] = uchar(0x30F7), ['ヰ'..cd] = uchar(0x30F8), + ['ヱ'..cd] = uchar(0x30F9), ['ヲ'..cd] = uchar(0x30FA), + } +end + --- the following function is modified from jafontspec.lua (by K. Maeda). --- Instead of "%", we use U+FFFFF for suppressing spaces. --DEBUG require"socket" @@ -21,7 +58,7 @@ local time_line = 0 local start_time_measure, stop_time_measure = ltjb.start_time_measure, ltjb.stop_time_measure local function add_comment(buffer) - start_time_measure 'inputbuf' + start_time_measure 'inputbuf'; buffer = substituter(buffer) local i = utflen(buffer) local c = utfbyte(buffer, i) while (i>0) and (getcatcode(c)==1 or getcatcode(c)==2) do |