ref: 99a4d93b2d05ef1817ca4ac68956178b86606c02
parent: 2dbc54dd13ca10265503b9fcc271b884eb000202
author: David Turner <[email protected]>
date: Tue Apr 25 12:10:50 EDT 2000
added FT_Get_Sfnt_Table from "include/tttables.h"
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -20,8 +20,8 @@
#include <ftdebug.h>
#include <ftstream.h>
+#include <tttables.h>
-
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
@@ -1962,6 +1962,54 @@
}
return result;
}
+
+
+ /***************************************************************************
+ *
+ * <Function>
+ * FT_Get_Sfnt_Table
+ *
+ * <Description>
+ * Returns a pointer to a given SFNT table within a face.
+ *
+ * <Input>
+ * face :: handle to source
+ * tag :: index if SFNT table
+ *
+ * <Return>
+ * type-less pointer to the table. This will be 0 in case of error, or
+ * when the corresponding table was not found *OR* loaded from the file.
+ *
+ * <Note>
+ * The table is owned by the face object, and disappears with it.
+ *
+ * This function is only useful to access Sfnt tables that are loaded
+ * by the sfnt/truetype/opentype drivers. See FT_Sfnt_tag for a list.
+ *
+ * You can load any table with a different function.. XXX
+ *
+ ***************************************************************************/
+
+
+ EXPORT_FUNC
+ void* FT_Get_Sfnt_Table( FT_Face face,
+ FT_Sfnt_Tag tag )
+ {
+ void* table = 0;
+ FT_Get_Sfnt_Table_Func func;
+ FT_Driver driver;
+
+ if (!face || !FT_IS_SFNT(face))
+ goto Exit;
+
+ driver = face->driver;
+ func = (FT_Get_Sfnt_Table_Func)driver->interface.get_interface( driver, "get_sfnt" );
+ if (func)
+ table = func(face,tag);
+
+ Exit:
+ return table;
+ }