If you still haven't figured out how to reproduce it, apply the patched I've attached. It will force the hash entries to be added in sorted order. With the patch applied, if you have some fonts called
Calibri Bold Italic.otf Calibri Bold.otf Calibri Italic.otf Calibri.otf the order of hash insertions will always exactly as above, regardless of disk order, e.g.: filename | 49 -> /usr/share/fonts/vista/C-series/Calibri Bold Italic.otf filename | 50 -> /usr/share/fonts/vista/C-series/Calibri Bold.otf filename | 51 -> /usr/share/fonts/vista/C-series/Calibri Italic.otf filename | 52 -> /usr/share/fonts/vista/C-series/Calibri.otf So, you'll get bold italic instead of bold in the PDF. Feel free to fiddle with the sort function if you name fonts differently, but you need to make sure that bold italic gets loaded before bold for the bug to occur. On Thu, Aug 14, 2008 at 7:33 AM, Vasile Gaburici <[EMAIL PROTECTED]> wrote: > On Wed, Aug 13, 2008 at 8:00 PM, Taco Hoekwater <[EMAIL PROTECTED]> wrote: >> Vasile Gaburici wrote: >>> >>> Before I get anymore strawman arguments, here's the definitive experiment: >> >> As Hans said, should be corrected in the latest beta. Please cut us some >> slack here, debugging unreproducible problems is hard and timeconsuming. > > Okay, I've updated to the latest beta. Recursive OSFONTDIR works now > for "script --fonts --reload" and for "context", but "script --fonts > --list" is broken: no output. > > The other bug, i.e. embedding bold italic instead of bold for some > fonts, is still present. >
diff -up context/tex/texmf-context/tex/context/base/font-syn.lua.nosort context/tex/texmf-context/tex/context/base/font-syn.lua --- context/tex/texmf-context/tex/context/base/font-syn.lua.nosort 2008-08-14 07:43:48.000000000 +0300 +++ context/tex/texmf-context/tex/context/base/font-syn.lua 2008-08-14 08:46:28.000000000 +0300 @@ -193,8 +193,12 @@ function fonts.names.identify(verbose) local pattern = path .. "**." .. suffix -- ** forces recurse logs.report("fontnames", "globbing path %s",pattern) local t = dir.glob(pattern) - for _, name in pairs(t) do -- ipairs + table.sort(t, function (str1, str2) + return str1 < str2 + end) + for huh, name in pairs(t) do -- ipairs -- if lfs.isfile(name) then -- always true anyway + logs.report("filename", "%d -> %s", huh, name) identify(name,file.basename(name),suffix) -- end end
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________