summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua
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/tex/luatex/luatexja/ltj-inputbuf.lua
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/tex/luatex/luatexja/ltj-inputbuf.lua')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/ltj-inputbuf.lua45
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