Delete all Trailing spaces in code.
[reactos.git] / reactos / dll / 3rdparty / freetype / src / gxvalid / gxvlcar.c
index 48821ea..75ca362 100644 (file)
-/***************************************************************************/
-/*                                                                         */
-/*  gxvlcar.c                                                              */
-/*                                                                         */
-/*    TrueTypeGX/AAT lcar table validation (body).                         */
-/*                                                                         */
-/*  Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
-/*  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.                                        */
-/*                                                                         */
-/***************************************************************************/
-
-/***************************************************************************/
-/*                                                                         */
-/* gxvalid is derived from both gxlayout module and otvalid module.        */
-/* Development of gxlayout is supported by the Information-technology      */
-/* Promotion Agency(IPA), Japan.                                           */
-/*                                                                         */
-/***************************************************************************/
-
-
-#include "gxvalid.h"
-#include "gxvcommn.h"
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */
-  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */
-  /* messages during execution.                                            */
-  /*                                                                       */
-#undef  FT_COMPONENT
-#define FT_COMPONENT  trace_gxvlcar
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                      Data and Types                           *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-  typedef struct  GXV_lcar_DataRec_
-  {
-    FT_UShort  format;
-
-  } GXV_lcar_DataRec, *GXV_lcar_Data;
-
-
-#define GXV_LCAR_DATA( FIELD )  GXV_TABLE_DATA( lcar, FIELD )
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                      UTILITY FUNCTIONS                        *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-  static void
-  gxv_lcar_partial_validate( FT_UShort      partial,
-                             FT_UShort      glyph,
-                             GXV_Validator  valid )
-  {
-    GXV_NAME_ENTER( "partial" );
-
-    if ( GXV_LCAR_DATA( format ) != 1 )
-      goto Exit;
-
-    gxv_ctlPoint_validate( glyph, partial, valid );
-
-  Exit:
-    GXV_EXIT;
-  }
-
-
-  static void
-  gxv_lcar_LookupValue_validate( FT_UShort            glyph,
-                                 GXV_LookupValueDesc  value,
-                                 GXV_Validator        valid )
-  {
-    FT_Bytes   p     = valid->root->base + value.u;
-    FT_Bytes   limit = valid->root->limit;
-    FT_UShort  count;
-    FT_Short   partial;
-    FT_UShort  i;
-
-
-    GXV_NAME_ENTER( "element in lookupTable" );
-
-    GXV_LIMIT_CHECK( 2 );
-    count = FT_NEXT_USHORT( p );
-
-    GXV_LIMIT_CHECK( 2 * count );
-    for ( i = 0; i < count; i++ )
-    {
-      partial = FT_NEXT_SHORT( p );
-      gxv_lcar_partial_validate( partial, glyph, valid );
-    }
-
-    GXV_EXIT;
-  }
-
-
-  /*
-    +------ lcar --------------------+
-    |                                |
-    |      +===============+         |
-    |      | looup header  |         |
-    |      +===============+         |
-    |      | BinSrchHeader |         |
-    |      +===============+         |
-    |      | lastGlyph[0]  |         |
-    |      +---------------+         |
-    |      | firstGlyph[0] |         |  head of lcar sfnt table
-    |      +---------------+         |             +
-    |      | offset[0]     |    ->   |          offset            [byte]
-    |      +===============+         |             +
-    |      | lastGlyph[1]  |         | (glyphID - firstGlyph) * 2 [byte]
-    |      +---------------+         |
-    |      | firstGlyph[1] |         |
-    |      +---------------+         |
-    |      | offset[1]     |         |
-    |      +===============+         |
-    |                                |
-    |       ....                     |
-    |                                |
-    |      16bit value array         |
-    |      +===============+         |
-    +------|     value     | <-------+
-    |       ....
-    |
-    |
-    |
-    |
-    |
-    +---->  lcar values...handled by lcar callback function
-  */
-
-  static GXV_LookupValueDesc
-  gxv_lcar_LookupFmt4_transit( FT_UShort            relative_gindex,
-                               GXV_LookupValueDesc  base_value,
-                               FT_Bytes             lookuptbl_limit,
-                               GXV_Validator        valid )
-  {
-    FT_Bytes             p;
-    FT_Bytes             limit;
-    FT_UShort            offset;
-    GXV_LookupValueDesc  value;
-
-    FT_UNUSED( lookuptbl_limit );
-
-    /* XXX: check range? */
-    offset = (FT_UShort)( base_value.u +
-                          relative_gindex * sizeof ( FT_UShort ) );
-    p      = valid->root->base + offset;
-    limit  = valid->root->limit;
-
-    GXV_LIMIT_CHECK ( 2 );
-    value.u = FT_NEXT_USHORT( p );
-
-    return value;
-  }
-
-
-  /*************************************************************************/
-  /*************************************************************************/
-  /*****                                                               *****/
-  /*****                          lcar TABLE                           *****/
-  /*****                                                               *****/
-  /*************************************************************************/
-  /*************************************************************************/
-
-  FT_LOCAL_DEF( void )
-  gxv_lcar_validate( FT_Bytes      table,
-                     FT_Face       face,
-                     FT_Validator  ftvalid )
-  {
-    FT_Bytes          p     = table;
-    FT_Bytes          limit = 0;
-    GXV_ValidatorRec  validrec;
-    GXV_Validator     valid = &validrec;
-
-    GXV_lcar_DataRec  lcarrec;
-    GXV_lcar_Data     lcar = &lcarrec;
-
-    FT_Fixed          version;
-
-
-    valid->root       = ftvalid;
-    valid->table_data = lcar;
-    valid->face       = face;
-
-    FT_TRACE3(( "validating `lcar' table\n" ));
-    GXV_INIT;
-
-    GXV_LIMIT_CHECK( 4 + 2 );
-    version = FT_NEXT_ULONG( p );
-    GXV_LCAR_DATA( format ) = FT_NEXT_USHORT( p );
-
-    if ( version != 0x00010000UL)
-      FT_INVALID_FORMAT;
-
-    if ( GXV_LCAR_DATA( format ) > 1 )
-      FT_INVALID_FORMAT;
-
-    valid->lookupval_sign   = GXV_LOOKUPVALUE_UNSIGNED;
-    valid->lookupval_func   = gxv_lcar_LookupValue_validate;
-    valid->lookupfmt4_trans = gxv_lcar_LookupFmt4_transit;
-    gxv_LookupTable_validate( p, limit, valid );
-
-    FT_TRACE4(( "\n" ));
-  }
-
-
-/* END */
+/***************************************************************************/\r
+/*                                                                         */\r
+/*  gxvlcar.c                                                              */\r
+/*                                                                         */\r
+/*    TrueTypeGX/AAT lcar table validation (body).                         */\r
+/*                                                                         */\r
+/*  Copyright 2004, 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */\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
+/* gxvalid is derived from both gxlayout module and otvalid module.        */\r
+/* Development of gxlayout is supported by the Information-technology      */\r
+/* Promotion Agency(IPA), Japan.                                           */\r
+/*                                                                         */\r
+/***************************************************************************/\r
+\r
+\r
+#include "gxvalid.h"\r
+#include "gxvcommn.h"\r
+\r
+\r
+  /*************************************************************************/\r
+  /*                                                                       */\r
+  /* The macro FT_COMPONENT is used in trace mode.  It is an implicit      */\r
+  /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log  */\r
+  /* messages during execution.                                            */\r
+  /*                                                                       */\r
+#undef  FT_COMPONENT\r
+#define FT_COMPONENT  trace_gxvlcar\r
+\r
+\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+  /*****                                                               *****/\r
+  /*****                      Data and Types                           *****/\r
+  /*****                                                               *****/\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+\r
+  typedef struct  GXV_lcar_DataRec_\r
+  {\r
+    FT_UShort  format;\r
+\r
+  } GXV_lcar_DataRec, *GXV_lcar_Data;\r
+\r
+\r
+#define GXV_LCAR_DATA( FIELD )  GXV_TABLE_DATA( lcar, FIELD )\r
+\r
+\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+  /*****                                                               *****/\r
+  /*****                      UTILITY FUNCTIONS                        *****/\r
+  /*****                                                               *****/\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+\r
+  static void\r
+  gxv_lcar_partial_validate( FT_UShort      partial,\r
+                             FT_UShort      glyph,\r
+                             GXV_Validator  valid )\r
+  {\r
+    GXV_NAME_ENTER( "partial" );\r
+\r
+    if ( GXV_LCAR_DATA( format ) != 1 )\r
+      goto Exit;\r
+\r
+    gxv_ctlPoint_validate( glyph, partial, valid );\r
+\r
+  Exit:\r
+    GXV_EXIT;\r
+  }\r
+\r
+\r
+  static void\r
+  gxv_lcar_LookupValue_validate( FT_UShort            glyph,\r
+                                 GXV_LookupValueDesc  value,\r
+                                 GXV_Validator        valid )\r
+  {\r
+    FT_Bytes   p     = valid->root->base + value.u;\r
+    FT_Bytes   limit = valid->root->limit;\r
+    FT_UShort  count;\r
+    FT_Short   partial;\r
+    FT_UShort  i;\r
+\r
+\r
+    GXV_NAME_ENTER( "element in lookupTable" );\r
+\r
+    GXV_LIMIT_CHECK( 2 );\r
+    count = FT_NEXT_USHORT( p );\r
+\r
+    GXV_LIMIT_CHECK( 2 * count );\r
+    for ( i = 0; i < count; i++ )\r
+    {\r
+      partial = FT_NEXT_SHORT( p );\r
+      gxv_lcar_partial_validate( partial, glyph, valid );\r
+    }\r
+\r
+    GXV_EXIT;\r
+  }\r
+\r
+\r
+  /*\r
+    +------ lcar --------------------+\r
+    |                                |\r
+    |      +===============+         |\r
+    |      | looup header  |         |\r
+    |      +===============+         |\r
+    |      | BinSrchHeader |         |\r
+    |      +===============+         |\r
+    |      | lastGlyph[0]  |         |\r
+    |      +---------------+         |\r
+    |      | firstGlyph[0] |         |  head of lcar sfnt table\r
+    |      +---------------+         |             +\r
+    |      | offset[0]     |    ->   |          offset            [byte]\r
+    |      +===============+         |             +\r
+    |      | lastGlyph[1]  |         | (glyphID - firstGlyph) * 2 [byte]\r
+    |      +---------------+         |\r
+    |      | firstGlyph[1] |         |\r
+    |      +---------------+         |\r
+    |      | offset[1]     |         |\r
+    |      +===============+         |\r
+    |                                |\r
+    |       ....                     |\r
+    |                                |\r
+    |      16bit value array         |\r
+    |      +===============+         |\r
+    +------|     value     | <-------+\r
+    |       ....\r
+    |\r
+    |\r
+    |\r
+    |\r
+    |\r
+    +---->  lcar values...handled by lcar callback function\r
+  */\r
+\r
+  static GXV_LookupValueDesc\r
+  gxv_lcar_LookupFmt4_transit( FT_UShort            relative_gindex,\r
+                               GXV_LookupValueDesc  base_value,\r
+                               FT_Bytes             lookuptbl_limit,\r
+                               GXV_Validator        valid )\r
+  {\r
+    FT_Bytes             p;\r
+    FT_Bytes             limit;\r
+    FT_UShort            offset;\r
+    GXV_LookupValueDesc  value;\r
+\r
+    FT_UNUSED( lookuptbl_limit );\r
+\r
+    /* XXX: check range? */\r
+    offset = (FT_UShort)( base_value.u +\r
+                          relative_gindex * sizeof ( FT_UShort ) );\r
+    p      = valid->root->base + offset;\r
+    limit  = valid->root->limit;\r
+\r
+    GXV_LIMIT_CHECK ( 2 );\r
+    value.u = FT_NEXT_USHORT( p );\r
+\r
+    return value;\r
+  }\r
+\r
+\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+  /*****                                                               *****/\r
+  /*****                          lcar TABLE                           *****/\r
+  /*****                                                               *****/\r
+  /*************************************************************************/\r
+  /*************************************************************************/\r
+\r
+  FT_LOCAL_DEF( void )\r
+  gxv_lcar_validate( FT_Bytes      table,\r
+                     FT_Face       face,\r
+                     FT_Validator  ftvalid )\r
+  {\r
+    FT_Bytes          p     = table;\r
+    FT_Bytes          limit = 0;\r
+    GXV_ValidatorRec  validrec;\r
+    GXV_Validator     valid = &validrec;\r
+\r
+    GXV_lcar_DataRec  lcarrec;\r
+    GXV_lcar_Data     lcar = &lcarrec;\r
+\r
+    FT_Fixed          version;\r
+\r
+\r
+    valid->root       = ftvalid;\r
+    valid->table_data = lcar;\r
+    valid->face       = face;\r
+\r
+    FT_TRACE3(( "validating `lcar' table\n" ));\r
+    GXV_INIT;\r
+\r
+    GXV_LIMIT_CHECK( 4 + 2 );\r
+    version = FT_NEXT_ULONG( p );\r
+    GXV_LCAR_DATA( format ) = FT_NEXT_USHORT( p );\r
+\r
+    if ( version != 0x00010000UL)\r
+      FT_INVALID_FORMAT;\r
+\r
+    if ( GXV_LCAR_DATA( format ) > 1 )\r
+      FT_INVALID_FORMAT;\r
+\r
+    valid->lookupval_sign   = GXV_LOOKUPVALUE_UNSIGNED;\r
+    valid->lookupval_func   = gxv_lcar_LookupValue_validate;\r
+    valid->lookupfmt4_trans = gxv_lcar_LookupFmt4_transit;\r
+    gxv_LookupTable_validate( p, limit, valid );\r
+\r
+    FT_TRACE4(( "\n" ));\r
+  }\r
+\r
+\r
+/* END */\r