| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Allow memory fonts with the get_face_data callback. This feature is
used for embedded fonts, but can be used by any font provider.
|
|
|
|
| |
We do not support memory-based fonts yet, so a path is mandatory.
|
| |
|
|
|
|
|
| |
When a provider is freed, iterate the font database, free all fonts
that belong to that provider and compact the database afterwards.
|
| |
|
|
|
|
|
| |
When adding a new font, check that weight and slant are valid. If
they're not, use reasonable defaults.
|
|
|
|
|
|
|
|
|
|
| |
fontconfig uses an unusual scale from 0-215 for the font weight. It
looks like it is somewhat derived from the typographic scale some font
families use, but is still rather nonstandard. Nowadays the TrueType
scale from 100-900 seems to be standard. CSS uses it, for example.
However, most importantly, VSFilter also uses the TrueType scale. So
let's use it in libass, too.
|
| |
|
|
|
|
|
| |
Add a small set of fixed fallback fonts, some of them with very wide
glyph coverage.
|
|
|
|
|
| |
Do not return a font face at all instead of using the last one. Fixes
fallback to the default font path.
|
|
|
|
|
|
|
|
|
|
|
| |
Pass the fontconfig configuration file option and enable switch
through into the font selector. This restores some of the old
functionality related to fontconfig.
However, the functionality to delay the fontconfig database update will
not come back. This is not a big problem. Later it will be possible to
manually add the fontconfig provider, which will delay the update in a
comparable way.
|
|
|
|
|
|
| |
Conditionally add the fontconfig provider. We can actually run
without fontconfig now! That is, if embedded fonts or fallbacks are
good enough.
|
| |
|
|
|
|
|
|
| |
This provides more flexibility than just referencing the callbacks:
we can identify the font provider (useful for removing fonts when a
provider is freed) and possibly access the font provider private data.
|
| |
|
| |
|
|
|
|
|
|
| |
Introduce a simple glyph coverage map (created when the font is added)
and use it for checking glyph coverage in font selection. This uses a
simple linear search at the moment.
|
|
|
|
|
|
| |
Introduce a unique ID per font face and check it in add_face to make
sure we never add a font face twice. This is useful in case the glyph
coverage report is unreliable.
|
|
|
|
|
| |
This adds a trimming utility function that is used for trimming strings
of font requests in the font sorter.
|
|
Implement a simple font sorter (FontSelector) and an interface to deal
with multiple font sources (FontProvider). Unfinished business,
but works for the most part. Currently the only implemented FontProvider
uses fontconfig.
|