diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2015-11-04 15:25:47 +0200 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2015-11-04 15:38:50 +0200 |
commit | d0566318ee5035ca3a4d2d65d46a80a4e3d8244c (patch) | |
tree | ac342a9147ddc911698235c73a36e66c485b6ce4 /libass/ass_fontconfig.h | |
parent | ad5988af46f5ca698115140f9252882286539f72 (diff) | |
download | libass-d0566318ee5035ca3a4d2d65d46a80a4e3d8244c.tar.bz2 libass-d0566318ee5035ca3a4d2d65d46a80a4e3d8244c.tar.xz |
fontselect: replace is_postscript flag with check_postscript function
DirectWrite does not provide fast access to the is_postscript flag,
requiring each font to be loaded before its format can be determined.
Eagerly doing this for every installed font can be quite slow,
on the order of seconds.
To improve performance, ask the font provider for this information
only when it is actually needed, i.e. when one of the font's full
names or its PostScript name matches a requested font name and we
need to know whether to accept this match.
The return value of check_postscript is not cached in this commit.
This makes repeated calls slower than accessing is_postscript was.
This should not be a problem, but if it is, the value can be cached
(or precomputed) by font providers in their font private data.
This commit also potentially increases the memory usage of some
font providers by retaining data structures needed to implement
check_postscript in their font private data. This should not be
a problem either, but if it is, the value of check_postscript
can be precomputed by all providers other than DirectWrite.
Diffstat (limited to 'libass/ass_fontconfig.h')
0 files changed, 0 insertions, 0 deletions