[FREETYPE]
[reactos.git] / reactos / lib / 3rdparty / freetype / src / cff / cffobjs.h
index c8f2506..3c81cee 100644 (file)
-/***************************************************************************/\r
-/*                                                                         */\r
-/*  cffobjs.h                                                              */\r
-/*                                                                         */\r
-/*    OpenType objects manager (specification).                            */\r
-/*                                                                         */\r
-/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 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
-#ifndef __CFFOBJS_H__\r
-#define __CFFOBJS_H__\r
-\r
-\r
-#include <ft2build.h>\r
-#include FT_INTERNAL_OBJECTS_H\r
-#include "cfftypes.h"\r
-#include FT_INTERNAL_TRUETYPE_TYPES_H\r
-#include FT_SERVICE_POSTSCRIPT_CMAPS_H\r
-\r
-\r
-FT_BEGIN_HEADER\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* <Type>                                                                */\r
-  /*    CFF_Driver                                                         */\r
-  /*                                                                       */\r
-  /* <Description>                                                         */\r
-  /*    A handle to an OpenType driver object.                             */\r
-  /*                                                                       */\r
-  typedef struct CFF_DriverRec_*  CFF_Driver;\r
-\r
-  typedef TT_Face  CFF_Face;\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* <Type>                                                                */\r
-  /*    CFF_Size                                                           */\r
-  /*                                                                       */\r
-  /* <Description>                                                         */\r
-  /*    A handle to an OpenType size object.                               */\r
-  /*                                                                       */\r
-  typedef struct  CFF_SizeRec_\r
-  {\r
-    FT_SizeRec       root;\r
-    FT_ULong         strike_index;    /* 0xFFFFFFFF to indicate invalid */\r
-\r
-  } CFF_SizeRec, *CFF_Size;\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* <Type>                                                                */\r
-  /*    CFF_GlyphSlot                                                      */\r
-  /*                                                                       */\r
-  /* <Description>                                                         */\r
-  /*    A handle to an OpenType glyph slot object.                         */\r
-  /*                                                                       */\r
-  typedef struct  CFF_GlyphSlotRec_\r
-  {\r
-    FT_GlyphSlotRec  root;\r
-\r
-    FT_Bool          hint;\r
-    FT_Bool          scaled;\r
-\r
-    FT_Fixed         x_scale;\r
-    FT_Fixed         y_scale;\r
-\r
-  } CFF_GlyphSlotRec, *CFF_GlyphSlot;\r
-\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* Subglyph transformation record.                                       */\r
-  /*                                                                       */\r
-  typedef struct  CFF_Transform_\r
-  {\r
-    FT_Fixed    xx, xy;     /* transformation matrix coefficients */\r
-    FT_Fixed    yx, yy;\r
-    FT_F26Dot6  ox, oy;     /* offsets        */\r
-\r
-  } CFF_Transform;\r
-\r
-\r
-  /***********************************************************************/\r
-  /*                                                                     */\r
-  /* TrueType driver class.                                              */\r
-  /*                                                                     */\r
-  typedef struct  CFF_DriverRec_\r
-  {\r
-    FT_DriverRec  root;\r
-    void*         extension_component;\r
-\r
-  } CFF_DriverRec;\r
-\r
-\r
-  FT_LOCAL( FT_Error )\r
-  cff_size_init( FT_Size  size );           /* CFF_Size */\r
-\r
-  FT_LOCAL( void )\r
-  cff_size_done( FT_Size  size );           /* CFF_Size */\r
-\r
-  FT_LOCAL( FT_Error )\r
-  cff_size_request( FT_Size          size,\r
-                    FT_Size_Request  req );\r
-\r
-#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS\r
-\r
-  FT_LOCAL( FT_Error )\r
-  cff_size_select( FT_Size   size,\r
-                   FT_ULong  strike_index );\r
-\r
-#endif\r
-\r
-  FT_LOCAL( void )\r
-  cff_slot_done( FT_GlyphSlot  slot );\r
-\r
-  FT_LOCAL( FT_Error )\r
-  cff_slot_init( FT_GlyphSlot  slot );\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* Face functions                                                        */\r
-  /*                                                                       */\r
-  FT_LOCAL( FT_Error )\r
-  cff_face_init( FT_Stream      stream,\r
-                 FT_Face        face,           /* CFF_Face */\r
-                 FT_Int         face_index,\r
-                 FT_Int         num_params,\r
-                 FT_Parameter*  params );\r
-\r
-  FT_LOCAL( void )\r
-  cff_face_done( FT_Face  face );               /* CFF_Face */\r
-\r
-\r
-  /*************************************************************************/\r
-  /*                                                                       */\r
-  /* Driver functions                                                      */\r
-  /*                                                                       */\r
-  FT_LOCAL( FT_Error )\r
-  cff_driver_init( FT_Module  module );\r
-\r
-  FT_LOCAL( void )\r
-  cff_driver_done( FT_Module  module );\r
-\r
-\r
-FT_END_HEADER\r
-\r
-#endif /* __CFFOBJS_H__ */\r
-\r
-\r
-/* END */\r
+/***************************************************************************/
+/*                                                                         */
+/*  cffobjs.h                                                              */
+/*                                                                         */
+/*    OpenType objects manager (specification).                            */
+/*                                                                         */
+/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 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 __CFFOBJS_H__
+#define __CFFOBJS_H__
+
+
+#include <ft2build.h>
+#include FT_INTERNAL_OBJECTS_H
+#include "cfftypes.h"
+#include FT_INTERNAL_TRUETYPE_TYPES_H
+#include FT_SERVICE_POSTSCRIPT_CMAPS_H
+#include FT_INTERNAL_POSTSCRIPT_HINTS_H
+
+
+FT_BEGIN_HEADER
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Type>                                                                */
+  /*    CFF_Driver                                                         */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A handle to an OpenType driver object.                             */
+  /*                                                                       */
+  typedef struct CFF_DriverRec_*  CFF_Driver;
+
+  typedef TT_Face  CFF_Face;
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Type>                                                                */
+  /*    CFF_Size                                                           */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A handle to an OpenType size object.                               */
+  /*                                                                       */
+  typedef struct  CFF_SizeRec_
+  {
+    FT_SizeRec  root;
+    FT_ULong    strike_index;    /* 0xFFFFFFFF to indicate invalid */
+
+  } CFF_SizeRec, *CFF_Size;
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Type>                                                                */
+  /*    CFF_GlyphSlot                                                      */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A handle to an OpenType glyph slot object.                         */
+  /*                                                                       */
+  typedef struct  CFF_GlyphSlotRec_
+  {
+    FT_GlyphSlotRec  root;
+
+    FT_Bool          hint;
+    FT_Bool          scaled;
+
+    FT_Fixed         x_scale;
+    FT_Fixed         y_scale;
+
+  } CFF_GlyphSlotRec, *CFF_GlyphSlot;
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Type>                                                                */
+  /*    CFF_Internal                                                       */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    The interface to the `internal' field of `FT_Size'.                */
+  /*                                                                       */
+  typedef struct  CFF_InternalRec_
+  {
+    PSH_Globals  topfont;
+    PSH_Globals  subfonts[CFF_MAX_CID_FONTS];
+
+  } CFF_InternalRec, *CFF_Internal;
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* Subglyph transformation record.                                       */
+  /*                                                                       */
+  typedef struct  CFF_Transform_
+  {
+    FT_Fixed    xx, xy;     /* transformation matrix coefficients */
+    FT_Fixed    yx, yy;
+    FT_F26Dot6  ox, oy;     /* offsets        */
+
+  } CFF_Transform;
+
+
+  /***********************************************************************/
+  /*                                                                     */
+  /* TrueType driver class.                                              */
+  /*                                                                     */
+  typedef struct  CFF_DriverRec_
+  {
+    FT_DriverRec  root;
+    void*         extension_component;
+
+  } CFF_DriverRec;
+
+
+  FT_LOCAL( FT_Error )
+  cff_size_init( FT_Size  size );           /* CFF_Size */
+
+  FT_LOCAL( void )
+  cff_size_done( FT_Size  size );           /* CFF_Size */
+
+  FT_LOCAL( FT_Error )
+  cff_size_request( FT_Size          size,
+                    FT_Size_Request  req );
+
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+
+  FT_LOCAL( FT_Error )
+  cff_size_select( FT_Size   size,
+                   FT_ULong  strike_index );
+
+#endif
+
+  FT_LOCAL( void )
+  cff_slot_done( FT_GlyphSlot  slot );
+
+  FT_LOCAL( FT_Error )
+  cff_slot_init( FT_GlyphSlot  slot );
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* Face functions                                                        */
+  /*                                                                       */
+  FT_LOCAL( FT_Error )
+  cff_face_init( FT_Stream      stream,
+                 FT_Face        face,           /* CFF_Face */
+                 FT_Int         face_index,
+                 FT_Int         num_params,
+                 FT_Parameter*  params );
+
+  FT_LOCAL( void )
+  cff_face_done( FT_Face  face );               /* CFF_Face */
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* Driver functions                                                      */
+  /*                                                                       */
+  FT_LOCAL( FT_Error )
+  cff_driver_init( FT_Module  module );
+
+  FT_LOCAL( void )
+  cff_driver_done( FT_Module  module );
+
+
+FT_END_HEADER
+
+#endif /* __CFFOBJS_H__ */
+
+
+/* END */