mirror of https://github.com/odrling/Aegisub
Documentation on how I imagine the fonts interface for OverLua can work. No code yet.
Originally committed to SVN as r2245.
This commit is contained in:
parent
46a6924531
commit
d1d2fe5e99
|
@ -0,0 +1,62 @@
|
|||
Documentation for the fonts interface provided in OverLua
|
||||
=========================================================
|
||||
|
||||
OverLua provides a simplified interface to create and manage Fontconfig
|
||||
in-memory configurations, create FreeType font face objects from those
|
||||
and basic manipulation of these font face objects.
|
||||
|
||||
It is possible to create cairo font face objects from the FreeType font
|
||||
face objects, so the fonts can be used in cairo rendering. This is the
|
||||
preferred way to produce text in OverLua.
|
||||
|
||||
This interface does not provide means to have Fontconfig load and use
|
||||
configuration files, neither system-wide, per-user nor private ones.
|
||||
The only way to load and use fonts is to explicitly name the font files
|
||||
and load these. The purpose of this is to let OverLua scripts produce
|
||||
predictable results, as the same font will always be selected regardless
|
||||
of the system the script is running on.
|
||||
|
||||
|
||||
See also:
|
||||
|
||||
Fontconfig documentation: <http://fontconfig.org/fontconfig-devel/>
|
||||
|
||||
FreeType 2 documentation: <http://www.freetype.org/freetype2/docs/reference/ft2-toc.html>
|
||||
|
||||
|
||||
Font configuration object
|
||||
-------------------------
|
||||
|
||||
OverLua keeps one global Fontconfig configuration object, which is
|
||||
implicitly used for all operations. It is accessed through the global
|
||||
'fonts' object.
|
||||
|
||||
The following operations are supported:
|
||||
|
||||
|
||||
success = fonts.add_file(filename)
|
||||
|
||||
Attempts to load the specified font file and add all fonts in it to the
|
||||
Fontconfig configuration. This uses the FcConfigAppFontAddFile C function
|
||||
to perform the work.
|
||||
|
||||
On return, 'success' is a boolean which is 'true' on success and 'false'
|
||||
otherwise.
|
||||
|
||||
|
||||
cairofont = fonts.select(pattern, cairofo)
|
||||
|
||||
Select the font best matching the pattern given, and return an object
|
||||
representing that font.
|
||||
|
||||
The pattern is a Lua table of key=value pairs, with the keys being the
|
||||
properties Fontconfig understands, and the values the value you want
|
||||
for that property.
|
||||
|
||||
'cairofo' is a cairo font options object. This parameter is optional.
|
||||
|
||||
You can see a list of known properties on: <http://fontconfig.org/fontconfig-user.html>
|
||||
|
||||
This function returns a cairo FreeType font object that can be selected
|
||||
into a cairo context for rendering with.
|
||||
|
Loading…
Reference in New Issue