diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/luababel.def')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/luababel.def | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 2173499d17f..f4383a33ce4 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -197,6 +197,7 @@ \endinput\fi % Here stops reading code for hyphen.cfg % The following is read the 2nd time it's loaded + % First, global declarations for lua \begingroup % TODO - to a lua file \catcode`\%=12 \catcode`\'=12 @@ -204,6 +205,10 @@ \catcode`\:=12 \directlua{ Babel = Babel or {} + function Babel.lua_error(e, a) + tex.print([[\noexpand\csname bbl@error\endcsname{]] .. + e .. '}{' .. (a or '') .. '}{}{}') + end function Babel.bytes(line) return line:gsub("(.)", function (chr) return unicode.utf8.char(string.byte(chr)) end) @@ -1220,7 +1225,12 @@ end local rep = [=[##1]=] rep = rep:gsub('^%s*(remove)%s*$', 'remove = true') rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ') + rep = rep:gsub('^%s*(after)%s*,', 'after = true, ') rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func) + rep = rep:gsub('node%s*=%s*(%a+)%s*(%a*)', Babel.capture_node) + rep = rep:gsub(&% + '(norule)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', + 'norule = {' .. '%2, %3, %4' .. '}') if #1 == 0 or #1 == 2 then rep = rep:gsub(&% '(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', @@ -1238,8 +1248,8 @@ end }}}&% \bbl@foreach\babeltempb{&% \bbl@forkv{{##1}}{&% - \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,&% - no,post,penalty,kashida,space,spacefactor,}&% + \in@{,####1,}{,nil,step,data,remove,insert,string,no,pre,no,&% + post,penalty,kashida,space,spacefactor,kern,node,after,norule,}&% \ifin@\else \bbl@error{bad-transform-option}{####1}{}{}&% \fi}}&% |