On 5/30/2015 3:05 PM, Élie Roux wrote:
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

Yes, but would that make any difference? If a user has a font in a
non-standard directory and the font is only referenced in the registry,
I don't think ConTeXt could find it?

that would be a pretty fragile setup (and makes support in case of problems hard)

such a dll would add yet another dependency (even worse: on an operating
system)

Not very satisfying indeed...

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

Sure, but users expectations are often surprising...

well, if they use tex they should realize that there can be many resources involved and that a bit of resource management helps to avoid unwanted results

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

This is brilliant, I think it's the best solution so far. I don't know
much (if anything) about Windows, so I'd never have been to find it out
myself!

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
-----------------------------------------------------------------

Reply via email to