diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua index f5535d65c67..f48c2ab14ed 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/ltj-base.lua @@ -251,200 +251,6 @@ do --! ixbase.length は tex.skip と全く同じなので不要. end --------------------- Number handling in TeX source -do - - local tok_escape = token.create("ltj@@q@escape") - local tok_num = token.create("ltj@@q@escapenum") - local c_id_assign_int = token.command_id("assign_int") - local c_id_char_given = token.command_id("char_given") - - local function error_scan() - package_error("luatexja", - "Missing number of a permitted form, treated as zero", - "A number should have been here; I inserted '0'.") - end - - local function get_expd_next() - local next = token.get_next() - while token.is_expandable(next) do - token.expand(next) - next = token.get_next() - end - return next - end - - local function grab_decimal(next, res) - table.insert(res, next) - while true do - next = get_expd_next() - if not (next[1] == 12 and 0x30 <= next[2] and next[2] <= 0x39) then - break - end - table.insert(res, next) - end - if next[1] == 10 then next = nil end - return true, next - end - - local function grab_hexa(next, res) - local ok = false - table.insert(res, next) - while true do - next = get_expd_next() - if not ((next[1] == 12 and (0x30 <= next[2] and next[2] <= 0x39)) or - ((next[1] == 12 or next[1] == 11) and - (0x41 <= next[2] and next[2] <= 0x46))) then - break - end - ok = true - table.insert(res, next) - end - if next[1] == 10 then next = nil end - return ok, next - end - - local function grab_octal(next, res) - local ok = false - table.insert(res, next) - while true do - next = get_expd_next() - if not (next[1] == 12 and (0x30 <= next[2] and next[2] <= 0x37)) then - break - end - ok = true - table.insert(res, next) - end - if next[1] == 10 then next = nil end - return ok, next - end - - local function grab_charnum(next, res) - table.insert(res, next) - next = token.get_next() - table.insert(res, next) - next = get_expd_next() - if next[1] == 10 then next = nil end - return true, next - end - - local function scan_with(delay, scanner) - local function proc() - if delay ~= 0 then - if delay > 0 then delay = delay - 1 end - return token.get_next() - else - local cont, back = scanner() - if not cont then - ltb.remove_from_callback("token_filter", "ltj@grab@num") - end - return back - end - end - ltb.add_to_callback("token_filter", proc, "ltj@grab@num", 1) - end - - local function scan_brace() - scan_with(1, function() - local next = token.get_next() - if next[1] == 1 then - return false, { tok_escape, next } - elseif next[1] == 10 then - return true, { next } - else - return false, { next } - end - end) - end - - local function scan_number() - scan_with(1, function() - local next = get_expd_next() - local res, ok = { tok_num }, false - while true do - if next[1] == 12 and (next[2] == 0x2B or next[2] == 0x2D) then - table.insert(res, next) - elseif next[1] ~= 10 then - break - end - next = get_expd_next() - end - if next[1] == 12 and 0x30 <= next[2] and next[2] <= 0x39 then - ok, next = grab_decimal(next, res) - elseif next[1] == 12 and next[2] == 0x22 then - ok, next = grab_hexa(next, res) - elseif next[1] == 12 and next[2] == 0x27 then - ok, next = grab_octal(next, res) - elseif next[1] == 12 and next[2] == 0x60 then - ok, next = grab_charnum(next, res) - elseif next[1] == c_id_assign_int or next[1] == c_id_char_given then - table.insert(res, next) - ok, next = true, nil - end - if ok then - table.insert(res, tok_num) - else - error_scan() - res = { tok_escape } - end - if next then table.insert(res, next) end - return false, res - end) - end - - ltjb.scan_brace = scan_brace - ltjb.scan_number = scan_number -end - --------------------- TeX register allocation --- not used in current LuaTeX-ja - -do - local cmod_base_count = token.create('ltj@@count@zero')[2] - local cmod_base_attr = token.create('ltj@@attr@zero')[2] - local cmod_base_dimen = token.create('ltj@@dimen@zero')[2] - local cmod_base_skip = token.create('ltj@@skip@zero')[2] - - local function const_number(name) - if name:sub(1, 1) == '\\' then name = name:sub(2) end - return token.create(name)[2] - end - - local function count_number(name) - if name:sub(1, 1) == '\\' then name = name:sub(2) end - return token.create(name)[2] - cmod_base_count - end - - local function attribute_number(name) - if name:sub(1, 1) == '\\' then name = name:sub(2) end - return token.create(name)[2] - cmod_base_attr - end - - local function dimen_number(name) - if name:sub(1, 1) == '\\' then name = name:sub(2) end - return token.create(name)[2] - cmod_base_dimen - end - - local function skip_number(name) - if name:sub(1, 1) == '\\' then name = name:sub(2) end - return token.create(name)[2] - cmod_base_skip - end - - ltjb.const_number = const_number - ltjb.count_number = count_number - ltjb.attribute_number = attribute_number - ltjb.dimen_number = dimen_number - ltjb.skip_number = skip_number -end - --------------------- getting next token -local cstemp = nil -local function get_cs(s) - cstemp = token.csname_name(token.get_next()) - tex.sprint(cat_lp,'\\' .. s) -end -ltjb.get_cs = get_cs - -------------------- common error message do local function in_unicode(c, admit_math) |