diff --git a/include/freetype/otsvg.h b/include/freetype/otsvg.h index 959d56722..62761c432 100644 --- a/include/freetype/otsvg.h +++ b/include/freetype/otsvg.h @@ -149,14 +149,12 @@ FT_BEGIN_HEADER * * @note: * `metrics` and `units_per_EM` might look like repetitions since both - * fields are stored in face objects. However, the Glyph Management API - * requires an `FT_Glyph` to store all the information that completely - * describes a glyph. Outline glyphs are themselves scaled thus they - * don`t need this information. However, SVG documents do. The field - * of `units_per_EM` is needed because the SVG is to be scaled in case - * its viewbox size differs from `units_per_EM`. For more info, refer - * to the section `Coordinate Systems and Glyph Metrics` of the OpenType - * SVG specs. + * fields are stored in face object, but they are not; When the slot is + * passed down to a renderer, the renderer can only access the `metrics` + * and `units_per_EM` by `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. */ typedef struct FT_SVG_DocumentRec_