summaryrefslogtreecommitdiff
path: root/include/freetype/otsvg.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/freetype/otsvg.h')
-rw-r--r--include/freetype/otsvg.h59
1 files changed, 34 insertions, 25 deletions
diff --git a/include/freetype/otsvg.h b/include/freetype/otsvg.h
index 87482491c..2b3c00f29 100644
--- a/include/freetype/otsvg.h
+++ b/include/freetype/otsvg.h
@@ -33,6 +33,29 @@ FT_BEGIN_HEADER
/**************************************************************************
*
+ * @section:
+ * svg_fonts
+ *
+ * @title:
+ * OpenType SVG Fonts
+ *
+ * @abstract:
+ * OT-SVG API between FreeType and an external SVG rendering library.
+ *
+ * @description:
+ * This section describes the four hooks necessary to render SVG
+ * 'documents' that are contained in an OpenType font's 'SVG~' table.
+ *
+ * For more information on the implementation, see our standard hooks
+ * based on 'librsvg' in the [FreeType Demo
+ * Programs](https://gitlab.freedesktop.org/freetype/freetype-demos)
+ * repository.
+ *
+ */
+
+
+ /**************************************************************************
+ *
* @functype:
* SVG_Lib_Init_Func
*
@@ -42,9 +65,6 @@ FT_BEGIN_HEADER
* one would want to allocate a structure and point the `data_pointer`
* to it and perform any library initializations that might be needed.
*
- * For more information on the implementation, see our standard hooks
- * based on Librsvg in the 'FreeType Demo Programs' repository.
- *
* @inout:
* data_pointer ::
* The SVG rendering module stores a pointer variable that can be used
@@ -77,9 +97,6 @@ FT_BEGIN_HEADER
* structure that was allocated in the init hook and perform any
* library-related closure that might be needed.
*
- * For more information on the implementation, see our standard hooks
- * based on Librsvg in the 'FreeType Demo Programs' repository.
- *
* @inout:
* data_pointer ::
* The SVG rendering module stores a pointer variable that can be used
@@ -101,7 +118,7 @@ FT_BEGIN_HEADER
*
* @description:
* A callback that is called to render an OT-SVG glyph. This callback
- * hook is called right after the preset hook @SVG_Lib_Preset_SlotFunc
+ * hook is called right after the preset hook @SVG_Lib_Preset_Slot_Func
* has been called with `cache` set to `TRUE`. The data necessary to
* render is available through the handle @FT_SVG_Document, which is set
* in the `other` field of @FT_GlyphSlotRec.
@@ -110,9 +127,6 @@ FT_BEGIN_HEADER
* buffer that is allocated already at `slot->bitmap.buffer`. It also
* sets the `num_grays` value as well as `slot->format`.
*
- * For more information on the implementation, see our standard hooks
- * based on Librsvg in the 'FreeType Demo Programs' repository.
- *
* @input:
* slot ::
* The slot to render.
@@ -145,6 +159,7 @@ FT_BEGIN_HEADER
* two places.
*
* 1. When `FT_Load_Glyph` needs to preset the glyph slot.
+ *
* 2. Right before the `svg` module calls the render callback hook.
*
* When it is the former, the argument `cache` is set to `FALSE`. When
@@ -165,9 +180,6 @@ FT_BEGIN_HEADER
* matrices into the SVG coordinate system, as the original matrix is
* intended for the TTF/CFF coordinate system.
*
- * For more information on the implementation, see our standard hooks
- * based on Librsvg in the 'FreeType Demo Programs' repository.
- *
* @input:
* slot ::
* The glyph slot that has the SVG document loaded.
@@ -201,8 +213,8 @@ FT_BEGIN_HEADER
*
* @description:
* A structure that stores the four hooks needed to render OT-SVG glyphs
- * properly. The structure is publicly used to set the hooks via driver
- * properties.
+ * properly. The structure is publicly used to set the hooks via the
+ * @svg-hooks driver property.
*
* The behavior of each hook is described in its documentation. One
* thing to note is that the preset hook and the render hook often need
@@ -211,9 +223,6 @@ FT_BEGIN_HEADER
* For example, in the preset hook one can draw the glyph on a recorder
* surface and later create a bitmap surface from it in the render hook.
*
- * For more information on the implementation, see our standard hooks
- * based on Librsvg in the 'FreeType Demo Programs' repository.
- *
* @fields:
* init_svg ::
* The initialization hook.
@@ -244,7 +253,7 @@ FT_BEGIN_HEADER
/**************************************************************************
*
* @struct:
- * FT_SVG_DocumentRec_
+ * FT_SVG_DocumentRec
*
* @description:
* A structure that models one SVG document.
@@ -276,12 +285,12 @@ FT_BEGIN_HEADER
* The translation to apply to the glyph while rendering.
*
* @note:
- * When the slot is passed down to a renderer, the renderer can only
- * access the `metrics` and `units_per_EM` fields via `slot->face`.
- * However, when `FT_Glyph_To_Bitmap` sets up a dummy object, it has no
- * way to set a `face` object. Thus, metrics information and
- * `units_per_EM` (which is necessary for OT-SVG) has to be stored
- * separately.
+ * When an @FT_GlyphSlot object `slot` is passed down to a renderer, the
+ * renderer can only access the `metrics` and `units_per_EM` fields via
+ * `slot->face`. However, when @FT_Glyph_To_Bitmap sets up a dummy
+ * object, it has no way to set a `face` object. Thus, metrics
+ * information and `units_per_EM` (which is necessary for OT-SVG) has to
+ * be stored separately.
*
* @since:
* 2.12