set svn:eol-style to native
[reactos.git] / reactos / lib / freetype / include / freetype / ftotval.h
index abde366..a8de58a 100644 (file)
-/***************************************************************************/\r
-/*                                                                         */\r
-/*  ftotval.h                                                              */\r
-/*                                                                         */\r
-/*    FreeType API for validating OpenType tables (specification).         */\r
-/*                                                                         */\r
-/*  Copyright 2004, 2005 by                                                */\r
-/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */\r
-/*                                                                         */\r
-/*  This file is part of the FreeType project, and may only be used,       */\r
-/*  modified, and distributed under the terms of the FreeType project      */\r
-/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */\r
-/*  this file you indicate that you have read the license and              */\r
-/*  understand and accept it fully.                                        */\r
-/*                                                                         */\r
-/***************************************************************************/\r
-\r
-\r
-/***************************************************************************/\r
-/*                                                                         */\r
-/*                                                                         */\r
-/* Warning: This module might be moved to a different library in the       */\r
-/*          future to avoid a tight dependency between FreeType and the    */\r
-/*          OpenType specification.                                        */\r
-/*                                                                         */\r
-/*                                                                         */\r
-/***************************************************************************/\r
-\r
-\r
-#ifndef __FTOTVAL_H__\r
-#define __FTOTVAL_H__\r
-\r
-#include <ft2build.h>\r
-#include FT_FREETYPE_H\r
-\r
-#ifdef FREETYPE_H\r
-#error "freetype.h of FreeType 1 has been loaded!"\r
-#error "Please fix the directory search order for header files"\r
-#error "so that freetype.h of FreeType 2 is found first."\r
-#endif\r
-\r
-\r
-FT_BEGIN_HEADER\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* <Section>                                                             */\r
-  /*    ot_validation                                                      */\r
-  /*                                                                       */\r
-  /* <Title>                                                               */\r
-  /*    OpenType Validation                                                */\r
-  /*                                                                       */\r
-  /* <Abstract>                                                            */\r
-  /*    An API to validate OpenType tables.                                */\r
-  /*                                                                       */\r
-  /* <Description>                                                         */\r
-  /*    This section contains the declaration of functions to validate     */\r
-  /*    some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).               */\r
-  /*                                                                       */\r
-  /*************************************************************************/\r
-\r
-\r
- /**********************************************************************\r
-  *\r
-  * @enum:\r
-  *    FT_VALIDATE_XXX\r
-  *\r
-  * @description:\r
-  *    A list of bit-field constants used with @FT_OpenType_Validate to\r
-  *    indicate which OpenType tables should be validated.\r
-  *\r
-  * @values:\r
-  *    FT_VALIDATE_BASE ::\r
-  *      Validate BASE table.\r
-  *\r
-  *    FT_VALIDATE_GDEF ::\r
-  *      Validate GDEF table.\r
-  *\r
-  *    FT_VALIDATE_GPOS ::\r
-  *      Validate GPOS table.\r
-  *\r
-  *    FT_VALIDATE_GSUB ::\r
-  *      Validate GSUB table.\r
-  *\r
-  *    FT_VALIDATE_JSTF ::\r
-  *      Validate JSTF table.\r
-  *\r
-  *    FT_VALIDATE_OT ::\r
-  *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).\r
-  *\r
-  */\r
-#define FT_VALIDATE_BASE  0x0100\r
-#define FT_VALIDATE_GDEF  0x0200\r
-#define FT_VALIDATE_GPOS  0x0400\r
-#define FT_VALIDATE_GSUB  0x0800\r
-#define FT_VALIDATE_JSTF  0x1000\r
-\r
-#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \\r
-                        FT_VALIDATE_GDEF | \\r
-                        FT_VALIDATE_GPOS | \\r
-                        FT_VALIDATE_GSUB | \\r
-                        FT_VALIDATE_JSTF\r
-\r
-  /* */\r
-\r
- /**********************************************************************\r
-  *\r
-  * @function:\r
-  *    FT_OpenType_Validate\r
-  *\r
-  * @description:\r
-  *    Validate various OpenType tables to assure that all offsets and\r
-  *    indices are valid.  The idea is that a higher-level library which\r
-  *    actually does the text layout can access those tables without\r
-  *    error checking (which can be quite time consuming).\r
-  *\r
-  * @input:\r
-  *    face ::\r
-  *       A handle to the input face.\r
-  *\r
-  *    validation_flags ::\r
-  *       A bit field which specifies the tables to be validated.  See\r
-  *       @FT_VALIDATE_XXX for possible values.\r
-  *\r
-  * @output:\r
-  *    BASE_table ::\r
-  *       A pointer to the BASE table.\r
-  *\r
-  *    GDEF_table ::\r
-  *       A pointer to the GDEF table.\r
-  *\r
-  *    GPOS_table ::\r
-  *       A pointer to the GPOS table.\r
-  *\r
-  *    GSUB_table ::\r
-  *       A pointer to the GSUB table.\r
-  *\r
-  *    JSTF_table ::\r
-  *       A pointer to the JSTF table.\r
-  *\r
-  * @return:\r
-  *   FreeType error code.  0 means success.\r
-  *\r
-  * @note:\r
-  *   This function only works with OpenType fonts, returning an error\r
-  *   otherwise.\r
-  *\r
-  *   After use, the application should deallocate the five tables with\r
-  *   `free'.  A NULL value indicates that the table either doesn't exist\r
-  *   in the font, or the application hasn't asked for validation.\r
-  */\r
-  FT_EXPORT( FT_Error )\r
-  FT_OpenType_Validate( FT_Face    face,\r
-                        FT_UInt    validation_flags,\r
-                        FT_Bytes  *BASE_table, \r
-                        FT_Bytes  *GDEF_table, \r
-                        FT_Bytes  *GPOS_table, \r
-                        FT_Bytes  *GSUB_table, \r
-                        FT_Bytes  *JSTF_table );\r
-\r
- /* */\r
-\r
-\r
-FT_END_HEADER\r
-\r
-#endif /* __FTOTVAL_H__ */\r
-\r
-\r
-/* END */\r
+/***************************************************************************/
+/*                                                                         */
+/*  ftotval.h                                                              */
+/*                                                                         */
+/*    FreeType API for validating OpenType tables (specification).         */
+/*                                                                         */
+/*  Copyright 2004, 2005 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.                                        */
+/*                                                                         */
+/***************************************************************************/
+
+
+/***************************************************************************/
+/*                                                                         */
+/*                                                                         */
+/* Warning: This module might be moved to a different library in the       */
+/*          future to avoid a tight dependency between FreeType and the    */
+/*          OpenType specification.                                        */
+/*                                                                         */
+/*                                                                         */
+/***************************************************************************/
+
+
+#ifndef __FTOTVAL_H__
+#define __FTOTVAL_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>                                                             */
+  /*    ot_validation                                                      */
+  /*                                                                       */
+  /* <Title>                                                               */
+  /*    OpenType Validation                                                */
+  /*                                                                       */
+  /* <Abstract>                                                            */
+  /*    An API to validate OpenType tables.                                */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    This section contains the declaration of functions to validate     */
+  /*    some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).               */
+  /*                                                                       */
+  /*************************************************************************/
+
+
+ /**********************************************************************
+  *
+  * @enum:
+  *    FT_VALIDATE_XXX
+  *
+  * @description:
+  *    A list of bit-field constants used with @FT_OpenType_Validate to
+  *    indicate which OpenType tables should be validated.
+  *
+  * @values:
+  *    FT_VALIDATE_BASE ::
+  *      Validate BASE table.
+  *
+  *    FT_VALIDATE_GDEF ::
+  *      Validate GDEF table.
+  *
+  *    FT_VALIDATE_GPOS ::
+  *      Validate GPOS table.
+  *
+  *    FT_VALIDATE_GSUB ::
+  *      Validate GSUB table.
+  *
+  *    FT_VALIDATE_JSTF ::
+  *      Validate JSTF table.
+  *
+  *    FT_VALIDATE_OT ::
+  *      Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).
+  *
+  */
+#define FT_VALIDATE_BASE  0x0100
+#define FT_VALIDATE_GDEF  0x0200
+#define FT_VALIDATE_GPOS  0x0400
+#define FT_VALIDATE_GSUB  0x0800
+#define FT_VALIDATE_JSTF  0x1000
+
+#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
+                        FT_VALIDATE_GDEF | \
+                        FT_VALIDATE_GPOS | \
+                        FT_VALIDATE_GSUB | \
+                        FT_VALIDATE_JSTF
+
+  /* */
+
+ /**********************************************************************
+  *
+  * @function:
+  *    FT_OpenType_Validate
+  *
+  * @description:
+  *    Validate various OpenType tables to assure that all offsets and
+  *    indices are valid.  The idea is that a higher-level library which
+  *    actually does the text layout can access those tables without
+  *    error checking (which can be quite time consuming).
+  *
+  * @input:
+  *    face ::
+  *       A handle to the input face.
+  *
+  *    validation_flags ::
+  *       A bit field which specifies the tables to be validated.  See
+  *       @FT_VALIDATE_XXX for possible values.
+  *
+  * @output:
+  *    BASE_table ::
+  *       A pointer to the BASE table.
+  *
+  *    GDEF_table ::
+  *       A pointer to the GDEF table.
+  *
+  *    GPOS_table ::
+  *       A pointer to the GPOS table.
+  *
+  *    GSUB_table ::
+  *       A pointer to the GSUB table.
+  *
+  *    JSTF_table ::
+  *       A pointer to the JSTF table.
+  *
+  * @return:
+  *   FreeType error code.  0 means success.
+  *
+  * @note:
+  *   This function only works with OpenType fonts, returning an error
+  *   otherwise.
+  *
+  *   After use, the application should deallocate the five tables with
+  *   `free'.  A NULL value indicates that the table either doesn't exist
+  *   in the font, or the application hasn't asked for validation.
+  */
+  FT_EXPORT( FT_Error )
+  FT_OpenType_Validate( FT_Face    face,
+                        FT_UInt    validation_flags,
+                        FT_Bytes  *BASE_table, 
+                        FT_Bytes  *GDEF_table, 
+                        FT_Bytes  *GPOS_table, 
+                        FT_Bytes  *GSUB_table, 
+                        FT_Bytes  *JSTF_table );
+
+ /* */
+
+
+FT_END_HEADER
+
+#endif /* __FTOTVAL_H__ */
+
+
+/* END */