Extend table tags if neccessary in sfnt handling
This commit is contained in:
parent
537ff4d551
commit
7d82c7b9d1
@ -41,7 +41,7 @@ return {
|
|||||||
write = function(magic, tables)
|
write = function(magic, tables)
|
||||||
local tabdata = {}
|
local tabdata = {}
|
||||||
for t, val in next, tables do
|
for t, val in next, tables do
|
||||||
tabdata[#tabdata+1] = {t, val .. string.rep("\0", (#val+3&~3)-#val), #val}
|
tabdata[#tabdata+1] = {string.format("%-4s", t), val .. string.rep("\0", (#val+3&~3)-#val), #val}
|
||||||
end
|
end
|
||||||
table.sort(tabdata, function(a,b)return a[1]<b[1]end)
|
table.sort(tabdata, function(a,b)return a[1]<b[1]end)
|
||||||
local logtabs = log2floor(#tabdata)
|
local logtabs = log2floor(#tabdata)
|
||||||
|
@ -19,9 +19,11 @@ local arg_pattern, late_arg_pattern do
|
|||||||
if os.type == 'windows' then
|
if os.type == 'windows' then
|
||||||
-- Windows: " -> "^"" The ^ is for cmd escaping, the """ is for command line splitting escaping,
|
-- Windows: " -> "^"" The ^ is for cmd escaping, the """ is for command line splitting escaping,
|
||||||
-- backslashes still have to be escaped, but only in front of " or \
|
-- backslashes still have to be escaped, but only in front of " or \
|
||||||
|
-- Additionally, "%" always as to be escaped for some variable substitution
|
||||||
|
-- pass before everything else.
|
||||||
-- WARNING: This works with luametatex's argument splitting, but don't generally rely
|
-- WARNING: This works with luametatex's argument splitting, but don't generally rely
|
||||||
-- on it for other Windows programs. There are two standard Windows ways which are incompatible...
|
-- on it for other Windows programs. There are two standard Windows ways which are incompatible...
|
||||||
escape = '\\' * #l.S'\\"' * l.Cc'\\' + '"' * l.Cc'^""' + 1
|
escape = '\\' * #l.S'\\"' * l.Cc'\\' + '"' * l.Cc'^""' + '%' * l.Cc'%' + 1
|
||||||
else
|
else
|
||||||
-- POSIX: We escape with single quotes, so only single quotes need escaping
|
-- POSIX: We escape with single quotes, so only single quotes need escaping
|
||||||
escape = "'" * l.Cc"\\''" + 1
|
escape = "'" * l.Cc"\\''" + 1
|
||||||
@ -45,7 +47,8 @@ local kpse_call = io.popen(string.format("kpsewhich -progname%s -format lua -all
|
|||||||
local file
|
local file
|
||||||
repeat
|
repeat
|
||||||
file = kpse_call:read()
|
file = kpse_call:read()
|
||||||
until not file:match('^%.')
|
until not assert(file, "Unable to find initialization script. Aborting."):match('^%.')
|
||||||
|
|
||||||
if not kpse_call:close() then
|
if not kpse_call:close() then
|
||||||
error(file)
|
error(file)
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user