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
___________________________________________________________________________________

Reply via email to