path: root/libass/
diff options
authorStefano Pigozzi <>2013-11-01 15:44:25 +0100
committerGrigori Goronzy <>2015-07-10 10:42:40 +0200
commitd9585a81add0a41f6a59f3c7f95bcc6182732059 (patch)
treeb41c50287b1354a191f62497e6b5c6f16d9477e8 /libass/
parentc75e58151aadc7179255d7c5c09aa61acf695d56 (diff)
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.
Diffstat (limited to 'libass/')
1 files changed, 3 insertions, 1 deletions
diff --git a/libass/ b/libass/
index b8659e6..6854768 100644
--- a/libass/
+++ b/libass/
@@ -26,7 +26,9 @@ libass_la_SOURCES = ass.c ass_cache.c ass_font.c ass_fontselect.c ass_render.c \
ass_library.h ass_types.h ass_utils.h ass_drawing.c \
ass_drawing.h ass_cache_template.h ass_render.h \
ass_parse.c ass_parse.h ass_render_api.c ass_shaper.c \
- ass_shaper.h ass_strtod.c ass_fontconfig.c ass_fontconfig.h
+ ass_shaper.h ass_strtod.c ass_fontconfig.c ass_fontconfig.h \
+ ass_coretext.c ass_coretext.h
libass_la_LDFLAGS = -no-undefined -version-info $(LIBASS_LT_CURRENT):$(LIBASS_LT_REVISION):$(LIBASS_LT_AGE)
libass_la_LDFLAGS += -export-symbols $(srcdir)/libass.sym