summaryrefslogtreecommitdiff
path: root/include/freetype
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2006-02-21 22:36:23 +0000
committerDavid Turner <david@freetype.org>2006-02-21 22:36:23 +0000
commit0b5dc4df888df9006e4544219c7866d53af28150 (patch)
treeb559019d0714666b54d12f3b36648a9b97a3ceb0 /include/freetype
parent44c865dfe180022a9400854904384442048cd38c (diff)
downloadfreetype2-0b5dc4df888df9006e4544219c7866d53af28150.tar.gz
* include/freetype/ftmodapi.h, include/internal/ftserv.h,
include/internal/services/svtteng.h, src/base/ftobjs.c, src/truetype/ttdriver.c: adding a new API named FT_Get_TrueType_Engine_Type to determine wether we have a patented, unpatented or unimplemented TrueType bytecode interpreter. the FT_Get_Module_Flags API was removed consequently.
Diffstat (limited to 'include/freetype')
-rw-r--r--include/freetype/config/ftoption.h2
-rw-r--r--include/freetype/ftmodapi.h79
-rw-r--r--include/freetype/internal/ftserv.h1
-rw-r--r--include/freetype/internal/services/svsfnt.h8
4 files changed, 62 insertions, 28 deletions
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index bb1bbee6f..28e82e28a 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -448,7 +448,7 @@ FT_BEGIN_HEADER
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally activated. */
/* */
-#define TT_CONFIG_OPTION_UNPATENTED_HINTING
+#define xxTT_CONFIG_OPTION_UNPATENTED_HINTING
/*************************************************************************/
diff --git a/include/freetype/ftmodapi.h b/include/freetype/ftmodapi.h
index 6f257940a..6f4177918 100644
--- a/include/freetype/ftmodapi.h
+++ b/include/freetype/ftmodapi.h
@@ -84,7 +84,7 @@ FT_BEGIN_HEADER
typedef void
(*FT_Module_Destructor)( FT_Module module );
- typedef FT_Module_Interface
+ typedef FT_Module_Interface
(*FT_Module_Requester)( FT_Module module,
const char* name );
@@ -216,28 +216,6 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Function> */
- /* FT_Module_Get_Flags */
- /* */
- /* <Description> */
- /* Gets the module flags for a given module. */
- /* */
- /* <Input> */
- /* module :: A handle to a module object. */
- /* */
- /* <Output> */
- /* flags :: The module's flags. */
- /* */
- /* <Return> */
- /* FreeType error code. 0 means success. */
- /* */
- FT_EXPORT( FT_Error )
- FT_Module_Get_Flags( FT_Module module,
- FT_ULong* flags );
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
/* FT_New_Library */
/* */
/* <Description> */
@@ -329,6 +307,61 @@ FT_BEGIN_HEADER
FT_Add_Default_Modules( FT_Library library );
+ /**
+ * @enum: FT_TrueTypeEngineType
+ *
+ * @description:
+ * a list of values describing which kind of truetype bytecode
+ * engine is implemented in a given FT_Library instance. It is used
+ * by the @FT_Get_TrueType_Engine_Type function
+ *
+ * @values:
+ * FT_TRUETYPE_ENGINE_TYPE_NONE ::
+ * the library doesn't implement any kind of bytecode interpreter
+ *
+ * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
+ * the library implements a bytecode interpreter that doesn't
+ * support the patented operations of the TrueType virtual machine.
+ *
+ * this interpreter can only be used to load certain Asian fonts
+ * from Dynalabs. It will produce crap output for any other font.
+ * see @
+ *
+ * FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
+ * the library implements a bytecode interpreter that covers
+ * the full instruction set of the TrueType virtual machine.
+ * Better check your legal department for license compliance !!
+ *
+ * @since: 2.2
+ */
+ typedef enum
+ {
+ FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
+ FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
+ FT_TRUETYPE_ENGINE_TYPE_PATENTED
+
+ } FT_TrueTypeEngineType;
+
+
+ /**
+ * @func: FT_Get_TrueType_Engine_Type
+ *
+ * @description:
+ * this function returns a @FT_TrueTypeEngineType value to indicates
+ * which level of the TrueType virtual machine a given library instance
+ * supports.
+ *
+ * @input:
+ * library :: a library instance
+ *
+ * @return:
+ * a value indicating which level is supported
+ *
+ * @since: 2.2
+ */
+ FT_EXPORT( FT_TrueTypeEngineType )
+ FT_Get_TrueType_Engine_Type( FT_Library library );
+
/* */
diff --git a/include/freetype/internal/ftserv.h b/include/freetype/internal/ftserv.h
index 3e812703d..aaadf0159 100644
--- a/include/freetype/internal/ftserv.h
+++ b/include/freetype/internal/ftserv.h
@@ -314,6 +314,7 @@ FT_BEGIN_HEADER
#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
#define FT_SERVICE_XFREE86_NAME_H <freetype/internal/services/svxf86nm.h>
#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
+#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
/* */
diff --git a/include/freetype/internal/services/svsfnt.h b/include/freetype/internal/services/svsfnt.h
index 87346c6d0..123008ea1 100644
--- a/include/freetype/internal/services/svsfnt.h
+++ b/include/freetype/internal/services/svsfnt.h
@@ -63,14 +63,14 @@ FT_BEGIN_HEADER
FT_DEFINE_SERVICE( SFNT_Table )
{
- FT_SFNT_TableLoadFunc load_table;
- FT_SFNT_TableGetFunc get_table;
- FT_SFNT_TableInfoFunc table_info;
+ FT_SFNT_TableLoadFunc load_table;
+ FT_SFNT_TableGetFunc get_table;
+ FT_SFNT_TableInfoFunc table_info;
};
/* */
-
+
FT_END_HEADER