summaryrefslogtreecommitdiffstats
path: root/include/freetype/ftadvanc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/freetype/ftadvanc.h')
-rw-r--r--include/freetype/ftadvanc.h136
1 files changed, 92 insertions, 44 deletions
diff --git a/include/freetype/ftadvanc.h b/include/freetype/ftadvanc.h
index 108b1ce..b2451be 100644
--- a/include/freetype/ftadvanc.h
+++ b/include/freetype/ftadvanc.h
@@ -2,9 +2,9 @@
/* */
/* ftadvanc.h */
/* */
-/* FreeType access the glyph advances (specification only). */
+/* Quick computation of advance widths (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -15,33 +15,64 @@
/* */
/***************************************************************************/
-#ifndef __FREETYPE_ADVANCE_H__
-#define __FREETYPE_ADVANCE_H__
+
+#ifndef __FTADVANC_H__
+#define __FTADVANC_H__
+
#include <ft2build.h>
#include FT_FREETYPE_H
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+ /**************************************************************************
+ *
+ * @section:
+ * quick_advance
+ *
+ * @title:
+ * Quick retrieval of advance values
+ *
+ * @abstract:
+ * Retrieve horizontal and vertical advance values without processing
+ * glyph outlines, if possible.
+ *
+ * @description:
+ * This section contains functions to quickly extract advance values
+ * without handling glyph outlines, if possible.
+ */
+
+
/*************************************************************************/
/* */
/* <Const> */
/* FT_ADVANCE_FLAG_FAST_ONLY */
/* */
/* <Description> */
- /* a bit-flag to be or-ed to the 'flags' parameter of the */
- /* @FT_Get_Advance and @FT_Get_Advances. */
+ /* A bit-flag to be OR-ed with the `flags' parameter of the */
+ /* @FT_Get_Advance and @FT_Get_Advances functions. */
/* */
- /* when set, it indicates that you want these functions to fail */
- /* if the corresponding hinting mode or font driver doesn't */
- /* allow for very quick advance computation. */
+ /* If set, it indicates that you want these functions to fail if the */
+ /* corresponding hinting mode or font driver doesn't allow for very */
+ /* quick advance computation. */
/* */
- /* typically, unscaled, unhinted, bitmapped and light-hinted glyphs */
- /* can have their advance width(s) computed very quickly. */
+ /* Typically, glyphs which are either unscaled, unhinted, bitmapped, */
+ /* or light-hinted can have their advance width computed very */
+ /* quickly. */
/* */
- /* not so for normal and bytecode hinted modes, which require */
- /* loading/scaling/hinting the glyph outline instead, which is */
- /* extremely slow by comparison */
+ /* Normal and bytecode hinted modes, which require loading, scaling, */
+ /* and hinting of the glyph outline, are extremely slow by */
+ /* comparison. */
/* */
-#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000U
+#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
/*************************************************************************/
@@ -50,82 +81,99 @@
/* FT_Get_Advance */
/* */
/* <Description> */
- /* Retrieve the advance of a given glyph outline in a FT_Face. */
- /* by default, the unhinted advance is returned in font units */
+ /* Retrieve the advance value of a given glyph outline in an */
+ /* @FT_Face. By default, the unhinted advance is returned in font */
+ /* units. */
/* */
/* <Input> */
- /* face :: source FT_Face handle */
- /* gindex :: glyph index */
- /* load_flags :: a set of bit-flags similar to those used */
- /* when calling @FT_Load_Glyph, used to determine */
- /* what kind of advances you need. */
+ /* face :: The source @FT_Face handle. */
+ /* */
+ /* gindex :: The glyph index. */
+ /* */
+ /* load_flags :: A set of bit flags similar to those used when */
+ /* calling @FT_Load_Glyph, used to determine what kind */
+ /* of advances you need. */
/* <Output> */
- /* padvance :: the advance value, in either font units or 16.16 */
+ /* padvance :: The advance value, in either font units or 16.16 */
/* format. */
/* */
- /* if @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
+ /* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
/* vertical advance corresponding to a vertical layout. */
- /* otherwise, it's the horizontal advance in an */
+ /* Otherwise, it is the horizontal advance in a */
/* horizontal layout. */
+ /* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
- /* if the corresponding's font backend doesn't have a quick way to */
+ /* if the corresponding font backend doesn't have a quick way to */
/* retrieve the advances. */
/* */
- /* A scaled advance is returned in 16.16 format, but isn't */
- /* transformed by the affine transform specified by @FT_Set_Transform */
+ /* A scaled advance is returned in 16.16 format but isn't transformed */
+ /* by the affine transformation specified by @FT_Set_Transform. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Advance( FT_Face face,
FT_UInt gindex,
- FT_UInt load_flags,
+ FT_Int32 load_flags,
FT_Fixed *padvance );
+
/*************************************************************************/
/* */
/* <Function> */
/* FT_Get_Advances */
/* */
/* <Description> */
- /* Retrieve the advance of several glyph outlines in a FT_Face. */
- /* by default, the unhinted advances are returned in font units */
+ /* Retrieve the advance values of several glyph outlines in an */
+ /* @FT_Face. By default, the unhinted advances are returned in font */
+ /* units. */
/* */
/* <Input> */
- /* face :: source FT_Face handle */
- /* start :: first glyph index */
- /* count :: number of advances you want to retrieve */
- /* load_flags :: a set of bit-flags similar to those used when */
+ /* face :: The source @FT_Face handle. */
+ /* */
+ /* start :: The first glyph index. */
+ /* */
+ /* count :: The number of advance values you want to retrieve. */
+ /* */
+ /* load_flags :: A set of bit flags similar to those used when */
/* calling @FT_Load_Glyph. */
/* */
/* <Output> */
- /* padvance :: the advances, in either font units or 16.16 format. */
- /* this array must contain at least 'count' elements */
+ /* padvance :: The advances, in either font units or 16.16 format. */
+ /* This array must contain at least `count' elements. */
/* */
- /* if @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
+ /* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
/* vertical advances corresponding to a vertical layout. */
- /* otherwise, they are the horizontal advances in an */
+ /* Otherwise, they are the horizontal advances in a */
/* horizontal layout. */
+ /* */
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* <Note> */
/* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
- /* if the corresponding's font backend doesn't have a quick way to */
+ /* if the corresponding font backend doesn't have a quick way to */
/* retrieve the advances. */
/* */
- /* Scaled advances are returned in 16.16 format, but aren't */
- /* transformed by the affine transform specified by @FT_Set_Transform */
+ /* Scaled advances are returned in 16.16 format but aren't */
+ /* transformed by the affine transformation specified by */
+ /* @FT_Set_Transform. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Advances( FT_Face face,
FT_UInt start,
FT_UInt count,
- FT_UInt load_flags,
+ FT_Int32 load_flags,
FT_Fixed *padvances );
/* */
-#endif /* __FREETYPE_ADVANCE_H__ */
+
+FT_END_HEADER
+
+#endif /* __FTADVANC_H__ */
+
+
+/* END */