cairo/doc/reference/xml/cairo_ft_font_create.xml
Owen Taylor 97424a3c2a Change cairo_font_t to refer to a font scaled to a particular output device resolution.
src/cairoint.h src/cairo_font.c src/cairo_ft_font.c src/cairo_xlib_surface.c src/cairo_pdf_surface.c src/cairo_gstate.c src/cairo.c: Switch many internal methods from handling cairo_unscaled_font_t and cairo_font_scale_t pairs to handling cairo_font_t.
src/cairo-ft-private.h src/cairo_ft_fontc: Add some internal interfaces for use by the FreeType backend.
Clear the gstate's current font when the transform or target surface changes.
src/cairo.h src/cairo_ft_font.c: Rename cairo_ft_font_pattern to cairo_ft_font_get_pattern().
src/cairo.h src/cairo_ft_font.c: Make cairo_ft_font_create() and cairo_ft_font_create_for_ft_face() take a font scale; make the latter take load_flags for FT_Load_Glyph() as well. Change cairo_ft_font_face() to Xft-style cairo_ft_font_lock_face, cairo_ft_font_unlock_face.
Remove the name/slant/weight=>unscaled font cache, it didn't work with the new cairo_font_t setup. If it turns out to be needed, it can be added back in some other form.
src/cairoint.h src/cairo_font.c: Add a 'flags' field to cairo_glyph_cache_key_t, we use it for load flags with freetype backend.
Switch the caching to be from resolved fontconfig pattern => file; keep only a fixed number of FT_Face objects open at once, similar to FreeType.
src/cairo_gstate.c src/cairoint.h: Add public cairo_font_glyph_extents, use it to implement _cairo_gstate_glyph_extents().
Add refcounting for glyph cache elements; there was an bug where elements got ejected from the cache and freed before they could be used.
src/cairoint.h src/cairo_cache.c (_cairo_cache_random_entry()) New function to return a random entry in the cache matching a predicate; reuse the internals for the previous _random_live_entry().
src/cairoint.h src/cairo_cache.c (_cairo_cache_lookup()): Add an optional created_entry return value.
src/cairo_ft_font.c src/cairo_xlib_surface.c: Adapt to _cairo_cache_lookup() change.
Support max_memory == 0 to indicate an unbounded cache.
src/cairoint.h src/cairo_cache.c (_cairo_cache_remove()): Add a function to manually remove entries from the cache.
Update for changes, document cairo_matrix_t, cairo_glyph_t, etc.
src/cairo.h src/cairo-atsui.h src/cairo-ft.h src/cairo-glitz.h src/cairo-pdf.h src/cairo-png.h src/cairo-ps.h src/cairo-quartz.h src/cairo-xcb.h src/cairo-xlib.h: Add CAIRO_BEGIN/END_DECLS for extern "C", use it on all public headers. Move header guards outermost.
Fix encoding.
2005-01-21 14:33:47 +00:00

59 lines
2.3 KiB
XML

<refentry id="cairo_ft_font_create">
<refmeta>
<refentrytitle>cairo_ft_font_create</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>cairo_ft_font_create</refname>
<refpurpose>creates a font for the FreeType font backend</refpurpose>
</refnamediv>
<refsynopsisdiv>
<programlisting>
<link linkend="cairo_font_t">cairo_font_t</link> *cairo_ft_font_create (FcPattern *pattern, <link linkend="cairo_matrix_t">cairo_matrix_t</link> *scale)</programlisting>
<variablelist role="params">
<varlistentry>
<term><parameter>pattern</parameter> :</term>
<listitem>
<simpara>A fully resolved fontconfig pattern. A pattern can
be resolved, by, among other things, calling <function>FcConfigSubstitute</function>,
<function>FcDefaultSubstitute</function>, then
<function>FcFontMatch</function>. Cairo will call
<function>FcPatternReference</function> on this pattern, so you should not
further modify the pattern, but you can release your
reference to the pattern with <function>FcPatternDestroy</function> if you
no longer need to access it.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>scale</parameter> :</term>
<listitem>
<simpara>The scale at which this font will be used. The
scale is given by multiplying the font matrix (see
<link linkend="cairo_transform_font">cairo_transform_font</link>)
by the current transformation matrix. The translation
elements of the resulting matrix are ignored.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
<indexterm>
<primary>functions</primary>
<secondary>cairo_ft_font_create</secondary>
</indexterm>
<indexterm>
<primary/>
</indexterm>
<function>cairo_ft_font_create</function> creates a new font for
the FreeType font backend based on a fontconfig pattern. This
font can then be used with <link linkend="cairo_set_font">cairo_set_font</link>,
<link linkend="cairo_font_glyph_extents">cairo_font_glyph_extents</link>, or FreeType backend specific functions
like <link linkend="cairo_ft_font_lock_face">cairo_ft_font_lock_face</link>.
</para>
</refsect1>
</refentry>