Index: include/freetype/ftcffdrv.h |
diff --git a/include/freetype/ftcffdrv.h b/include/freetype/ftcffdrv.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ccbcbccaa86c6aaf6eb0bae1530b92800637d29b |
--- /dev/null |
+++ b/include/freetype/ftcffdrv.h |
@@ -0,0 +1,151 @@ |
+/***************************************************************************/ |
+/* */ |
+/* ftcffdrv.h */ |
+/* */ |
+/* FreeType API for controlling the CFF driver (specification only). */ |
+/* */ |
+/* Copyright 2013 by */ |
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
+/* */ |
+/* This file is part of the FreeType project, and may only be used, */ |
+/* modified, and distributed under the terms of the FreeType project */ |
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
+/* this file you indicate that you have read the license and */ |
+/* understand and accept it fully. */ |
+/* */ |
+/***************************************************************************/ |
+ |
+ |
+#ifndef __FTCFFDRV_H__ |
+#define __FTCFFDRV_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: |
+ * cff_driver |
+ * |
+ * @title: |
+ * The CFF driver |
+ * |
+ * @abstract: |
+ * Controlling the CFF driver module. |
+ * |
+ * @description: |
+ * While FreeType's CFF driver doesn't expose API functions by itself, |
+ * it is possible to control its behaviour with @FT_Property_Set and |
+ * @FT_Property_Get. The following lists the available properties |
+ * together with the necessary macros and structures. |
+ * |
+ * The CFF driver's module name is `cff'. |
+ * |
+ */ |
+ |
+ |
+ /************************************************************************** |
+ * |
+ * @property: |
+ * hinting-engine |
+ * |
+ * @description: |
+ * Thanks to Adobe, which contributed a new hinting (and parsing) |
+ * engine, an application can select between `freetype' and `adobe' if |
+ * compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration |
+ * macro isn't defined, `hinting-engine' does nothing. |
+ * |
+ * The default engine is `freetype' if CFF_CONFIG_OPTION_OLD_ENGINE is |
+ * defined, and `adobe' otherwise. |
+ * |
+ * The following example code demonstrates how to select Adobe's hinting |
+ * engine (omitting the error handling). |
+ * |
+ * { |
+ * FT_Library library; |
+ * FT_Face face; |
+ * FT_UInt hinting_engine = FT_CFF_HINTING_ADOBE; |
+ * |
+ * |
+ * FT_Init_FreeType( &library ); |
+ * |
+ * FT_Property_Set( library, "cff", |
+ * "hinting-engine", &hinting_engine ); |
+ * } |
+ * |
+ * @note: |
+ * This property can be used with @FT_Property_Get also. |
+ * |
+ */ |
+ |
+ |
+ /************************************************************************** |
+ * |
+ * @enum: |
+ * FT_CFF_HINTING_XXX |
+ * |
+ * @description: |
+ * A list of constants used for the @hinting-engine property to select |
+ * the hinting engine for CFF fonts. |
+ * |
+ * @values: |
+ * FT_CFF_HINTING_FREETYPE :: |
+ * Use the old FreeType hinting engine. |
+ * |
+ * FT_CFF_HINTING_ADOBE :: |
+ * Use the hinting engine contributed by Adobe. |
+ * |
+ */ |
+#define FT_CFF_HINTING_FREETYPE 0 |
+#define FT_CFF_HINTING_ADOBE 1 |
+ |
+ |
+ /************************************************************************** |
+ * |
+ * @property: |
+ * no-stem-darkening |
+ * |
+ * @description: |
+ * By default, the Adobe CFF engine darkens stems at smaller sizes, |
+ * regardless of hinting, to enhance contrast. Setting this property, |
+ * stem darkening gets switched off. |
+ * |
+ * Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set. |
+ * |
+ * { |
+ * FT_Library library; |
+ * FT_Face face; |
+ * FT_Bool no_stem_darkening = TRUE; |
+ * |
+ * |
+ * FT_Init_FreeType( &library ); |
+ * |
+ * FT_Property_Set( library, "cff", |
+ * "no-stem-darkening", &no_stem_darkening ); |
+ * } |
+ * |
+ * @note: |
+ * This property can be used with @FT_Property_Get also. |
+ * |
+ */ |
+ |
+ |
+ /* */ |
+ |
+FT_END_HEADER |
+ |
+ |
+#endif /* __FTCFFDRV_H__ */ |
+ |
+ |
+/* END */ |