summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua39
1 files changed, 38 insertions, 1 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
index e1623199e4f..7f39b9b8d76 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
+++ b/Master/texmf-dist/tex/luatex/luatexja/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