[NTG-context] Bug: Reloading Font

Khaled Hosny khaledhosny at eglug.org
Sat Oct 12 09:27:32 CEST 2013


On Sat, Oct 12, 2013 at 02:19:16AM +0200, Hans Hagen wrote:
> On 10/12/2013 2:15 AM, Philipp Gesang wrote:
> >···<date: 2013-10-12, Saturday>···<from: Hans Hagen>···
> >
> >>On 10/12/2013 12:48 AM, Thangalin wrote:
> >>>Hi
> >>>
> >>>>(Copperplate is going to be added soon.) Unfortunately, Context
> >>>
> >>>Keep in mind it was only Copperplate 33 BC. Also note that I could not
> >>>find any version of Copperplate 33 BC online that had the same file
> >>>size as my corrupt version. (I was trying to find the source of the
> >>>corrupt copy.)
> >>>
> >>>Most other copies, I'd imagine, are fine, so don't be too quick to blacklist it.
> >>
> >>indeed, and when you don't notice that it's blacklisted, it can happen
> >>that this one instance gets unnoticed
> >>
> >>>>does not yet have blacklisting functionality (it’s marked as todo
> >>>>in the source) so you’re going to have to filter out bad files
> >>>>from your font directories by hand.
> >>>
> >>>Sounds like the real solution is to fix fontforge so that it doesn't hang.
> >>
> >>sure, although a crash has the nice advantage of knowing that a font
> >>(collection) is crap (which i then can blacklist permanently in my mind)
> >
> >Sure, but there’s a difference between a crash and a freeze. The
> >latter can be quite annoying for those who work with strange
> >editors that run TeX somewhere in the background making it
> >impossible to kill the process using Ctrl-C.
> 
> it depends what causes the freeze, for instance if there is a
> circular reference someplace, then that is hard to catch unless one
> uses timeouts which in themselves are tricky (not much different
> from browsers locking up on some javascript); keep in mind that we
> load a whole font, while other applications might do a partial load
> and never see the problematic data (maybe even ignore portions of
> the font)

Which is something we ought to do, serializing the whole font to a lua
table is problematic in many ways (too slow, takes much memory, etc)
while SFNT fonts are designed in such a way that you can go directly to
the part you just want. And FontForge is not that robust (and it is not
a font loading library after all).

I have been dreaming for a while of making an optional font loader for
LuaTeX using mature font libraries, e.g. FreeType for loading fonts,
HarfBuzz for shaping, may be FriBiDi (not a priority, BiDi in Lua is not
hard) and even FontConfig (when available) for searching system fonts.
But no much time unfortunately, and the fear that I wouldn't be able to
use it with ConTeXt is not that motivating. Someone is, however,
experimenting with such a thing:
http://www.readytext.co.uk/?p=3143

Regards,
Khaled


More information about the ntg-context mailing list