]> granicus.if.org Git - libass/commit
fontselect: implement a coretext font provider
authorStefano Pigozzi <stefano.pigozzi@gmail.com>
Fri, 1 Nov 2013 14:44:25 +0000 (15:44 +0100)
committerGrigori Goronzy <greg@chown.ath.cx>
Fri, 10 Jul 2015 08:42:40 +0000 (10:42 +0200)
commitd9585a81add0a41f6a59f3c7f95bcc6182732059
treeb41c50287b1354a191f62497e6b5c6f16d9477e8
parentc75e58151aadc7179255d7c5c09aa61acf695d56
fontselect: implement a coretext font provider

Fontconfig is known to be very slow on OS X and Windows, this has to do with
the extremely prohibitive cache times (which are getting even longer with
latest versions of Fontconfig).

This commits starts to address the problem by using CoreText on OS X to load
the font data. The commit uses the simplest possible approach to load all of
the data in memory and then use it to match. This causes a somewhat slow
startup time (around ~400ms on my i7) but it is already better than waiting
*minutes* for Fontconfig to cache the fonts data.

A later commit will improve the speed of the match by using a hybrid approach
that lazy loads in the libass database only the necessary fonts.
configure.ac
libass/Makefile.am
libass/ass_coretext.c [new file with mode: 0644]
libass/ass_coretext.h [new file with mode: 0644]
libass/ass_fontselect.c