diff options
| -rw-r--r-- | luaotfload.dtx | 29 | 
1 files changed, 28 insertions, 1 deletions
| diff --git a/luaotfload.dtx b/luaotfload.dtx index b4b7940..83885a0 100644 --- a/luaotfload.dtx +++ b/luaotfload.dtx @@ -1797,7 +1797,7 @@ loadmodule"colors.lua"     --- “font-clr”  %    \begin{macrocode}  local request_resolvers   = fonts.definers.resolvers -local formats             = fonts.formats +local formats             = fonts.formats -- nice table; does lowercasing ...  formats.ofm               = "type1"  %    \end{macrocode} @@ -1917,6 +1917,33 @@ request_resolvers.path = function (specification)  end  %    \end{macrocode} +% {\bfseries EXPERIMENTAL} +% \identifier{kpse}-only resolver, for those who can do without system +% fonts. +% +%    \begin{macrocode} + +request_resolvers.kpse = function (specification) +    local name       = specification.name +    local suffix     = file.suffix(name) +    if suffix and formats[suffix] then +        name = file.removesuffix(name) +        if resolvers.findfile(name, suffix) then +            specification.forced = suffix +            specification.name   = name +            return +        end +    end +    for t, format in next, formats do --- brute force +        if kpse.find_file (name, format) then +            specification.forced = t +            specification.name   = name +            return +        end +    end +end + +%    \end{macrocode}  % We create a callback for patching fonts on the fly, to be used by other  % packages.  % It initially contains the empty function that we are going to override | 
