diff options
author | Norbert Preining <preining@logic.at> | 2012-04-24 00:13:14 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2012-04-24 00:13:14 +0000 |
commit | 8f29bdce0bdd08ec81df555e98692d1f288c3289 (patch) | |
tree | c4f9a6b00a587f635e55fc4068c1961780c90591 /Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua | |
parent | 74e624196144ae218a63a4c35672fc7a0e7b18dc (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/tex/luatex/luatexja/ltj-inputbuf.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua new file mode 100644 index 00000000000..4f7c8756755 --- /dev/null +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua @@ -0,0 +1,45 @@ +-- +-- luatexja/inputbuf.lua +-- +luatexbase.provides_module({ + name = 'luatexja.inputbuf', + date = '2011/04/01', + version = '0.1', + description = 'Supressing a space by newline after Japanese characters', +}) +module('luatexja.inputbuf', package.seeall) +local err, warn, info, log = luatexbase.errwarinf(_NAME) + +luatexja.load_module('charrange'); local ltjc = luatexja.charrange + +local node_new = node.new +local id_glyph = node.id('glyph') + +--- the following function is modified from jafontspec.lua (by K. Maeda). +--- Instead of "%", we use U+FFFFF for suppressing spaces. +function add_comment(buffer) + local i = utf.len(buffer) + while (i>0) and (tex.getcatcode(utf.byte(buffer, i))==1 + or tex.getcatcode(utf.byte(buffer, i))==2) do + i=i-1 + end + if i>0 then + local c = utf.byte(buffer, i) + local ct = tex.getcatcode(c) + local ctl = tex.getcatcode(13) -- endline character + if ((ct==11) or (ct==12)) and (ctl==5) then + local p = node_new(id_glyph) + p.char = c + if ltjc.is_ucs_in_japanese_char(p) then + buffer = buffer .. string.char(0xF3,0xBF,0xBF,0xBF) -- U+FFFFF + end + node.free(p) + end + end + return buffer +end + +luatexbase.add_to_callback('process_input_buffer', + add_comment,'ltj.process_input_buffer') + +--EOF
\ No newline at end of file |