OSDN Git Service
(root)
/
luatex-ja
/
luatexja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added luatexja.node_remove and luatexja.Dnode_remove ("safe node.remove")
[luatex-ja/luatexja.git]
/
src
/
ltj-inputbuf.lua
diff --git
a/src/ltj-inputbuf.lua
b/src/ltj-inputbuf.lua
index
f97f966
..
cfef819
100644
(file)
--- a/
src/ltj-inputbuf.lua
+++ b/
src/ltj-inputbuf.lua
@@
-4,22
+4,26
@@
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
luatexja.load_module('charrange'); local ltjc = luatexja.charrange
-local utf = unicode.utf8
+require("unicode")
+local utflen = unicode.utf8.len
+local utfbyte = unicode.utf8.byte
local node_new = node.new
local node_new = node.new
+local node_free = node.free
local id_glyph = node.id('glyph')
local getcatcode = tex.getcatcode
local id_glyph = node.id('glyph')
local getcatcode = tex.getcatcode
-local ltjc_is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char
+local ltjc_is_japanese_char_curlist = ltjc.is_japanese_char_curlist
+local FFFFF = string.char(0xF3,0xBF,0xBF,0xBF)
--- the following function is modified from jafontspec.lua (by K. Maeda).
--- Instead of "%", we use U+FFFFF for suppressing spaces.
local function add_comment(buffer)
--- the following function is modified from jafontspec.lua (by K. Maeda).
--- Instead of "%", we use U+FFFFF for suppressing spaces.
local function add_comment(buffer)
- local i = utf
.
len(buffer)
- while (i>0) and (getcatcode(utf
.
byte(buffer, i))==1
- or getcatcode(utf
.
byte(buffer, i))==2) do
+ local i = utflen(buffer)
+ while (i>0) and (getcatcode(utfbyte(buffer, i))==1
+ or getcatcode(utfbyte(buffer, i))==2) do
i=i-1
end
if i>0 then
i=i-1
end
if i>0 then
- local c = utf
.
byte(buffer, i)
+ local c = utfbyte(buffer, i)
if c>0x80 then
local ct = getcatcode(c)
local te = tex.endlinechar
if c>0x80 then
local ct = getcatcode(c)
local te = tex.endlinechar
@@
-27,12
+31,9
@@
local function add_comment(buffer)
-- Is the catcode of endline character is 5 (end-of-line)?
-- Is the catcode of U+FFFFF (new comment char) is 14 (comment)?
if ((ct==11) or (ct==12)) and ctl then
-- Is the catcode of endline character is 5 (end-of-line)?
-- Is the catcode of U+FFFFF (new comment char) is 14 (comment)?
if ((ct==11) or (ct==12)) and ctl 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
+ if ltjc_is_japanese_char_curlist(c) then
+ buffer = buffer .. FFFFF -- U+FFFFF
end
end
- node.free(p)
end
end
end
end
end
end
@@
-42,4
+43,4
@@
end
luatexbase.add_to_callback('process_input_buffer',
add_comment,'ltj.process_input_buffer')
luatexbase.add_to_callback('process_input_buffer',
add_comment,'ltj.process_input_buffer')
---EOF
\ No newline at end of file
+--EOF