On 5/30/2015 11:50 AM, Élie Roux wrote:
Dear All,
An issue[0] was raised recently, from a user who had fonts installed
under Windows, recognized by his softwares but not LuaTeX (nor XeTeX).
Apparently[1] the fonts are installed through a mechanism documented by
MS[2] consisting in adding the font in the list of fonts in the Windows
Registry.
did the user update the font database
Lua has several modules allowing to read the registry, there's an entry
in the FAQ[3], and another module not listed in the FAQ[4].
As ConTeXt may also benefit from reading the registry (there's a ConTeXt
user in [2]), what do you think would be the best solution to access the
registry from LuaTeX? Should a module like lua-winreg be distributed (as
a dll) in TeXLive? Should it be built in LuaTeX?
such a dll would add yet another dependency (even worse: on an operating
system)
personally i'd never rely on this as for long term stable processing it
makes sense to know what font (file) you use and where it sits
anyway, a dll is not needed as one can do this:
local command = [[reg QUERY "HKLM\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Fonts"]]
local pattern = ".-[\n\r]+%s+(.-)%s%(([^%)]+)%)%s+REG_SZ%s+(%S+)%s+"
local function getnamesfromregistry()
local data = os.resultof(command)
local list = { }
for name, format, filename in string.gmatch(data,pattern) do
list[name] = filename
end
return list
end
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------