OSDN Git Service

Regenerated luatexja-{ja,en,zh}.pdf.
[luatex-ja/luatexja.git] / src / ltj-inputbuf.lua
index 512e4d1..6032b50 100644 (file)
@@ -14,22 +14,25 @@ luatexja.load_module('charrange'); local ltjc = luatexja.charrange
 
 local node_new = node.new
 local id_glyph = node.id('glyph')
+local getcatcode = tex.getcatcode
 
 --- 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
+   while (i>0) and (getcatcode(utf.byte(buffer, i))==1 
+                or 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
-      local ctc = tex.getcatcode(0xFFFFF) -- new comment character
-      if ((ct==11) or (ct==12)) and (ctl==5) and (ctc==14) then
-        local p =  node_new(id_glyph)
+      local ct = getcatcode(c)
+      local te = tex.endlinechar
+      local ctl = (te ~= -1) and (getcatcode(te)==5) and (getcatcode(0xFFFFF)==14)
+      -- 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