fontservices/freetypefontrasteriser/freetype2/include/freetype/internal/autohint.h
author MattD <mattd@symbian.org>
Mon, 08 Feb 2010 15:30:13 +0000
changeset 66 18fedaf0292a
permissions -rw-r--r--
Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     1
/***************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     2
/*                                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     3
/*  autohint.h                                                             */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     4
/*                                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     5
/*    High-level `autohint' module-specific interface (specification).     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     6
/*                                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     7
/*  Copyright 1996-2001, 2002 by                                           */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
     9
/*                                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    10
/*  This file is part of the FreeType project, and may only be used,       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    11
/*  modified, and distributed under the terms of the FreeType project      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    12
/*  license, FTL.TXT.  By continuing to use, modify, or distribute     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    13
/*  this file you indicate that you have read the license and              */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    14
/*  understand and accept it fully.                                        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    15
/*                                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    16
/***************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    17
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    18
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    19
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    20
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    21
  /* The auto-hinter is used to load and automatically hint glyphs if a    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    22
  /* format-specific hinter isn't available.                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    23
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    24
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    25
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    26
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    27
#ifndef __AUTOHINT_H__
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    28
#define __AUTOHINT_H__
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    29
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    30
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    31
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    32
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    33
  /* A small technical note regarding automatic hinting in order to        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    34
  /* clarify this module interface.                                        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    35
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    36
  /* An automatic hinter might compute two kinds of data for a given face: */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    37
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    38
  /* - global hints: Usually some metrics that describe global properties  */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    39
  /*                 of the face.  It is computed by scanning more or less */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    40
  /*                 agressively the glyphs in the face, and thus can be   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    41
  /*                 very slow to compute (even if the size of global      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    42
  /*                 hints is really small).                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    43
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    44
  /* - glyph hints:  These describe some important features of the glyph   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    45
  /*                 outline, as well as how to align them.  They are      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    46
  /*                 generally much faster to compute than global hints.   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    47
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    48
  /* The current FreeType auto-hinter does a pretty good job while         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    49
  /* performing fast computations for both global and glyph hints.         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    50
  /* However, we might be interested in introducing more complex and       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    51
  /* powerful algorithms in the future, like the one described in the John */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    52
  /* D. Hobby paper, which unfortunately requires a lot more horsepower.   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    53
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    54
  /* Because a sufficiently sophisticated font management system would     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    55
  /* typically implement an LRU cache of opened face objects to reduce     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    56
  /* memory usage, it is a good idea to be able to avoid recomputing       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    57
  /* global hints every time the same face is re-opened.                   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    58
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    59
  /* We thus provide the ability to cache global hints outside of the face */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    60
  /* object, in order to speed up font re-opening time.  Of course, this   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    61
  /* feature is purely optional, so most client programs won't even notice */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    62
  /* it.                                                                   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    63
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    64
  /* I initially thought that it would be a good idea to cache the glyph   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    65
  /* hints too.  However, my general idea now is that if you really need   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    66
  /* to cache these too, you are simply in need of a new font format,      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    67
  /* where all this information could be stored within the font file and   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    68
  /* decoded on the fly.                                                   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    69
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    70
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    71
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    72
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    73
#include <ft2build.h>
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    74
#include FT_FREETYPE_H
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    75
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    76
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    77
FT_BEGIN_HEADER
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    78
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    79
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    80
  typedef struct FT_AutoHinterRec_  *FT_AutoHinter;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    81
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    82
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    83
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    84
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    85
  /* <FuncType>                                                            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    86
  /*    FT_AutoHinter_GlobalGetFunc                                        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    87
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    88
  /* <Description>                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    89
  /*    Retrieves the global hints computed for a given face object the    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    90
  /*    resulting data is dissociated from the face and will survive a     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    91
  /*    call to FT_Done_Face().  It must be discarded through the API      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    92
  /*    FT_AutoHinter_GlobalDoneFunc().                                    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    93
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    94
  /* <Input>                                                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    95
  /*    hinter        :: A handle to the source auto-hinter.               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    96
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    97
  /*    face          :: A handle to the source face object.               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    98
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
    99
  /* <Output>                                                              */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   100
  /*    global_hints  :: A typeless pointer to the global hints.           */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   101
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   102
  /*    global_len    :: The size in bytes of the global hints.            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   103
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   104
  typedef void
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   105
  (*FT_AutoHinter_GlobalGetFunc)( FT_AutoHinter  hinter,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   106
                                  FT_Face        face,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   107
                                  void**         global_hints,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   108
                                  long*          global_len );
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   109
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   110
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   111
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   112
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   113
  /* <FuncType>                                                            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   114
  /*    FT_AutoHinter_GlobalDoneFunc                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   115
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   116
  /* <Description>                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   117
  /*    Discards the global hints retrieved through                        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   118
  /*    FT_AutoHinter_GlobalGetFunc().  This is the only way these hints   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   119
  /*    are freed from memory.                                             */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   120
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   121
  /* <Input>                                                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   122
  /*    hinter :: A handle to the auto-hinter module.                      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   123
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   124
  /*    global :: A pointer to retrieved global hints to discard.          */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   125
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   126
  typedef void
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   127
  (*FT_AutoHinter_GlobalDoneFunc)( FT_AutoHinter  hinter,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   128
                                   void*          global );
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   129
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   130
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   131
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   132
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   133
  /* <FuncType>                                                            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   134
  /*    FT_AutoHinter_GlobalResetFunc                                      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   135
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   136
  /* <Description>                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   137
  /*    This function is used to recompute the global metrics in a given   */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   138
  /*    font.  This is useful when global font data changes (e.g. Multiple */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   139
  /*    Masters fonts where blend coordinates change).                     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   140
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   141
  /* <Input>                                                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   142
  /*    hinter :: A handle to the source auto-hinter.                      */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   143
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   144
  /*    face   :: A handle to the face.                                    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   145
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   146
  typedef void
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   147
  (*FT_AutoHinter_GlobalResetFunc)( FT_AutoHinter  hinter,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   148
                                    FT_Face        face );
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   149
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   150
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   151
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   152
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   153
  /* <FuncType>                                                            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   154
  /*    FT_AutoHinter_GlyphLoadFunc                                        */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   155
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   156
  /* <Description>                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   157
  /*    This function is used to load, scale, and automatically hint a     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   158
  /*    glyph from a given face.                                           */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   159
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   160
  /* <Input>                                                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   161
  /*    face        :: A handle to the face.                               */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   162
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   163
  /*    glyph_index :: The glyph index.                                    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   164
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   165
  /*    load_flags  :: The load flags.                                     */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   166
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   167
  /* <Note>                                                                */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   168
  /*    This function is capable of loading composite glyphs by hinting    */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   169
  /*    each sub-glyph independently (which improves quality).             */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   170
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   171
  /*    It will call the font driver with FT_Load_Glyph(), with            */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   172
  /*    FT_LOAD_NO_SCALE set.                                              */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   173
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   174
  typedef FT_Error
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   175
  (*FT_AutoHinter_GlyphLoadFunc)( FT_AutoHinter  hinter,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   176
                                  FT_GlyphSlot   slot,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   177
                                  FT_Size        size,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   178
                                  FT_UInt        glyph_index,
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   179
                                  FT_Int32       load_flags );
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   180
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   181
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   182
  /*************************************************************************/
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   183
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   184
  /* <Struct>                                                              */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   185
  /*    FT_AutoHinter_ServiceRec                                           */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   186
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   187
  /* <Description>                                                         */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   188
  /*    The auto-hinter module's interface.                                */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   189
  /*                                                                       */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   190
  typedef struct  FT_AutoHinter_ServiceRec_
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   191
  {
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   192
    FT_AutoHinter_GlobalResetFunc  reset_face;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   193
    FT_AutoHinter_GlobalGetFunc    get_global_hints;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   194
    FT_AutoHinter_GlobalDoneFunc   done_global_hints;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   195
    FT_AutoHinter_GlyphLoadFunc    load_glyph;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   196
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   197
  } FT_AutoHinter_ServiceRec, *FT_AutoHinter_Service;
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   198
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   199
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   200
FT_END_HEADER
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   201
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   202
#endif /* __AUTOHINT_H__ */
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   203
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   204
18fedaf0292a Bug 1543 - Freetype.dll cannot be built. Added Freetype back in (same fix as in SFL repo)
MattD <mattd@symbian.org>
parents:
diff changeset
   205
/* END */