misc/libfreetype/docs/DEBUG
author nemo
Sun, 03 Jun 2012 23:04:21 -0400
changeset 7174 80480d21e6ed
parent 5172 88f2e05288ba
permissions -rw-r--r--
Workaround for bug #144. This workaround had occurred to me a while ago, but wasn't sure if placing them unfairly was better than not placing them at all. Argument for not placing at all is people should probably abort the game when they notice it. Argument for placing unfairly is people can still abort, and if we really wanted them to abort, we should probably just have halted launch if all hogs failed to spawn. This way at least play can continue.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5172
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     1
Debugging within the FreeType sources
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
=====================================
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
I. Configuration macros
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
-----------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
There  are several ways  to enable  debugging features  in a  FreeType 2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
builds.   This is controlled  through the  definition of  special macros
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
located in the file `ftoptions.h'.  The macros are:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    12
  FT_DEBUG_LEVEL_ERROR
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    13
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
    #define this macro  if you want to compile  the FT_ERROR macro calls
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
    to  print error messages  during program  execution.  This  will not
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
    stop  the  program.   Very  useful  to  spot  invalid  fonts  during
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
    development and to code workarounds for them.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
  FT_DEBUG_LEVEL_TRACE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
    #define this macro  if you want to compile  both macros FT_ERROR and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
    FT_TRACE.   This also  includes the  variants  FT_TRACE0, FT_TRACE1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
    FT_TRACE2, ..., FT_TRACE7.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
    The  trace  macros are  used  to  send  debugging messages  when  an
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
    appropriate  `debug  level' is  configured  at  runtime through  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
    FT2_DEBUG environment variable (more on this later).
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
  FT_DEBUG_MEMORY
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
    If  this macro is  #defined, the  FreeType engine  is linked  with a
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
    small  but  effective  debugging  memory  manager  that  tracks  all
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
    allocations and frees that are performed within the font engine.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
    When  the  FT2_DEBUG_MEMORY   environment  variable  is  defined  at
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
    runtime,  a call  to FT_Done_FreeType  will dump  memory statistics,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
    including the list of leaked memory blocks with the source locations
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
    where these were allocated.  It is always a very good idea to define
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
    this in development builds.  This works with _any_ program linked to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
    FreeType, but  requires a big  deal of memory (the  debugging memory
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
    manager never frees the blocks to the heap in order to detect double
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
    frees).
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
    When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
    manager is ignored, and performance is unaffected.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    48
II. Debugging macros
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
--------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
Several macros can be used within the FreeType sources to help debugging
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
its code:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    53
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
  1. FT_ERROR(( ... ))
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
    This macro is  used to send debug messages  that indicate relatively
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
    serious  errors (like  broken font  files),  but will  not stop  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
    execution of  the running program.   Its code is compiled  only when
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
    either FT_DEBUG_LEVEL_ERROR  or FT_DEBUG_LEVEL_TRACE are  defined in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
    `ftoption.h'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
    Note that you  have to use a printf-like  signature, but with double
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
    parentheses, like in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
      FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
  2. FT_ASSERT( condition )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
    This macro  is used to check  strong assertions at  runtime.  If its
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
    condition isn't TRUE,  the program will abort with  a panic message.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
    Its   code   is  compiled   when   either  FT_DEBUG_LEVEL_ERROR   or
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
    FT_DEBUG_LEVEL_TRACE are defined.  You don't need double parentheses
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
    here.  For example
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
      FT_ASSERT( ptr != NULL );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
  3. FT_TRACE( level, (message...) )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
    The  FT_TRACE  macro  is  used  to  send  general-purpose  debugging
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
    messages during  program execution.   This macro uses  an *implicit*
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
    macro named FT_COMPONENT used to name the current FreeType component
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
    being run.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
    The developer should always  define FT_COMPONENT as appropriate, for
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
    example as in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
      #undef  FT_COMPONENT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
      #define FT_COMPONENT  trace_io
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
    The  value  of  the  FT_COMPONENT  macro  is  an  enumeration  named
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
    trace_XXXX where XXXX  is one of the component  names defined in the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
    internal file `freetype/internal/fttrace.h'.  If you modify FreeType
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
    source  and insert  new trace_XXXX macro,  you  must register  it in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
    fttrace.h. If you insert or remove many trace macros,  you can check
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
    the undefined or the unused trace macro by src/tools/chktrcmp.py.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
    Each  such component  is assigned  a `debug  level', ranging  from 0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
    to  7,  through  the  use  of  the  FT2_DEBUG  environment  variable
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
    (described below) when a program linked with FreeType starts.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
    When FT_TRACE  is called, its  level is compared  to the one  of the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
    corresponding component.   Messages with trace  levels *higher* than
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
    the corresponding component level are filtered and never printed.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
    This  means that  trace messages  with level  0 are  always printed,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
    those with level 2 are only  printed when the component level is *at
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
    least* 2.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
    The  second  parameter  to  FT_TRACE must  contain  parentheses  and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
    correspond to a printf-like call, as in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
      FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
    The shortcut macros  FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
    can be  used with  constant level indices,  and are much  cleaner to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
    use, as in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
     FT_TRACE2(( "your %s is not %s\n", "foo", "bar" ));
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
III. Environment variables
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
--------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
The  following  environment   variables  control  debugging  output  and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
behaviour of FreeType at runtime.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
  FT2_DEBUG
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
    This   variable  is   only  used   when  FreeType   is   built  with
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
    FT_DEBUG_LEVEL_TRACE defined.  It contains a list of component level
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
    definitions, following this format:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
       component1:level1 component2:level2 component3:level3 ...
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
    where `componentX' is the name of a tracing component, as defined in
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
    `fttrace.h',  but  without the  `trace_'  prefix.   `levelX' is  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
    corresponding level to use at runtime.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
    `any'  is a  special  component  name that  will  be interpreted  as
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
    `any/all components'.  For example, the following definitions
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   145
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   146
       set FT2_DEBUG=any:2 memory:5 io:4        (on Windows)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
       export FT2_DEBUG="any:2 memory:5 io:4"   (on Linux with bash)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   148
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   149
    both stipulate that  all components should have level  2, except for
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
    the memory and io components which will be set to trace levels 5 and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
    4, respectively.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   153
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   154
  FT2_DEBUG_MEMORY
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   155
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   156
    This  environment variable, when  defined, tells  FreeType to  use a
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
    debugging memory  manager that will  track leaking memory  blocks as
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
    well as other  common errors like double frees.   It is also capable
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
    of  reporting  _where_  the  leaking blocks  were  allocated,  which
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   160
    considerably saves time when debugging new additions to the library.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   161
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   162
    This  code  is  only  compiled  when  FreeType  is  built  with  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   163
    FT_DEBUG_MEMORY macro  #defined in  `ftoption.h' though, it  will be
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   164
    ignored in other builds.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   165
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   166
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   167
  FT2_ALLOC_TOTAL_MAX
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   168
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   169
    This  variable is ignored  if FT2_DEBUG_MEMORY  is not  defined.  It
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   170
    allows you to specify a maximum heap size for all memory allocations
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   171
    performed by FreeType.   This is very useful to  test the robustness
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   172
    of  the  font  engine and  programs  that  use  it in  tight  memory
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   173
    conditions.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   174
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   175
    If it is  undefined, or if its value is  not strictly positive, then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   176
    no allocation bounds are checked at runtime.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   177
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   178
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   179
  FT2_ALLOC_COUNT_MAX
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   180
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   181
    This  variable is ignored  if FT2_DEBUG_MEMORY  is not  defined.  It
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   182
    allows  you  to  specify  a  maximum number  of  memory  allocations
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   183
    performed    by     FreeType    before    returning     the    error
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   184
    FT_Err_Out_Of_Memory.  This is useful  for debugging and testing the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   185
    engine's robustness.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   186
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   187
    If it is  undefined, or if its value is  not strictly positive, then
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   188
    no allocation bounds are checked at runtime.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   189
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   190
------------------------------------------------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   191
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   192
Copyright 2002, 2003, 2004, 2005, 2009 by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   193
David Turner, Robert Wilhelm, and Werner Lemberg.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   194
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   195
This  file is  part  of the  FreeType  project, and  may  only be  used,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   196
modified,  and  distributed under  the  terms  of  the FreeType  project
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   197
license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   198
file  you indicate that  you have  read the  license and  understand and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   199
accept it fully.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   200
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   201
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   202
--- end of DEBUG ---