misc/libfreetype/include/freetype/t1tables.h
author Xeli
Fri, 17 Feb 2012 21:34:33 +0100
changeset 6701 58a43c2064ad
parent 5172 88f2e05288ba
permissions -rw-r--r--
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
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
/***************************************************************************/
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
/*  t1tables.h                                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
/*    Basic Type 1/Type 2 tables definitions and interface (specification  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
/*    only).                                                               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
/*  Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
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
/*  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
    12
/*  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
    13
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
/*  this file you indicate that you have read the license and              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
/*  understand and accept it fully.                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
/***************************************************************************/
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
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
#ifndef __T1TABLES_H__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
#define __T1TABLES_H__
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
#include <ft2build.h>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
#include FT_FREETYPE_H
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
#ifdef FREETYPE_H
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
#error "freetype.h of FreeType 1 has been loaded!"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
#error "Please fix the directory search order for header files"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
#error "so that freetype.h of FreeType 2 is found first."
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
FT_BEGIN_HEADER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
  /* <Section>                                                             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
  /*    type1_tables                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
  /* <Title>                                                               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
  /*    Type 1 Tables                                                      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
  /* <Abstract>                                                            */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
  /*    Type~1 (PostScript) specific font tables.                          */
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
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
  /*    This section contains the definition of Type 1-specific tables,    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
  /*    including structures related to other PostScript font formats.     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
  /*************************************************************************/
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
  /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
  /* structures in order to support Multiple Master fonts.               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
  /*    PS_FontInfoRec                                                     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
  /*    A structure used to model a Type~1 or Type~2 FontInfo dictionary.  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
  /*    Note that for Multiple Master fonts, each instance has its own     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
  /*    FontInfo dictionary.                                               */
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
  typedef struct  PS_FontInfoRec_
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
    FT_String*  version;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
    FT_String*  notice;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
    FT_String*  full_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
    FT_String*  family_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
    FT_String*  weight;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
    FT_Long     italic_angle;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
    FT_Bool     is_fixed_pitch;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
    FT_Short    underline_position;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
    FT_UShort   underline_thickness;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
  } PS_FontInfoRec;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
  /*    PS_FontInfo                                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
  /*    A handle to a @PS_FontInfoRec structure.                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
  typedef struct PS_FontInfoRec_*  PS_FontInfo;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
  /*    T1_FontInfo                                                        */
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
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
  /*    This type is equivalent to @PS_FontInfoRec.  It is deprecated but  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
  /*    kept to maintain source compatibility between various versions of  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
  /*    FreeType.                                                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
  typedef PS_FontInfoRec  T1_FontInfo;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
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
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
  /*    PS_PrivateRec                                                      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
  /*    A structure used to model a Type~1 or Type~2 private dictionary.   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
  /*    Note that for Multiple Master fonts, each instance has its own     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
  /*    Private dictionary.                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
  typedef struct  PS_PrivateRec_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
    FT_Int     unique_id;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
    FT_Int     lenIV;
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
    FT_Byte    num_blue_values;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
    FT_Byte    num_other_blues;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
    FT_Byte    num_family_blues;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
    FT_Byte    num_family_other_blues;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
    FT_Short   blue_values[14];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
    FT_Short   other_blues[10];
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
    FT_Short   family_blues      [14];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
    FT_Short   family_other_blues[10];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
    FT_Fixed   blue_scale;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
    FT_Int     blue_shift;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
    FT_Int     blue_fuzz;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
    FT_UShort  standard_width[1];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
    FT_UShort  standard_height[1];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
    FT_Byte    num_snap_widths;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
    FT_Byte    num_snap_heights;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
    FT_Bool    force_bold;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
    FT_Bool    round_stem_up;
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
    FT_Short   snap_widths [13];  /* including std width  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
    FT_Short   snap_heights[13];  /* including std height */
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
    FT_Fixed   expansion_factor;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
    FT_Long    language_group;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
    FT_Long    password;
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
    FT_Short   min_feature[2];
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
  } PS_PrivateRec;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   160
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   161
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   162
  /*    PS_Private                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   163
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   164
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   165
  /*    A handle to a @PS_PrivateRec structure.                            */
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
  typedef struct PS_PrivateRec_*  PS_Private;
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
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   170
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   171
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   172
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   173
  /*    T1_Private                                                         */
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
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   176
  /*   This type is equivalent to @PS_PrivateRec.  It is deprecated but    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   177
  /*   kept to maintain source compatibility between various versions of   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   178
  /*   FreeType.                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   179
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   180
  typedef PS_PrivateRec  T1_Private;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   181
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   182
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   183
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   184
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   185
  /* <Enum>                                                                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   186
  /*    T1_Blend_Flags                                                     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   187
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   188
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   189
  /*    A set of flags used to indicate which fields are present in a      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   190
  /*    given blend dictionary (font info or private).  Used to support    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   191
  /*    Multiple Masters fonts.                                            */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   192
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   193
  typedef enum  T1_Blend_Flags_
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
    /*# required fields in a FontInfo blend dictionary */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   196
    T1_BLEND_UNDERLINE_POSITION = 0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   197
    T1_BLEND_UNDERLINE_THICKNESS,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   198
    T1_BLEND_ITALIC_ANGLE,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   199
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   200
    /*# required fields in a Private blend dictionary */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   201
    T1_BLEND_BLUE_VALUES,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   202
    T1_BLEND_OTHER_BLUES,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   203
    T1_BLEND_STANDARD_WIDTH,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   204
    T1_BLEND_STANDARD_HEIGHT,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   205
    T1_BLEND_STEM_SNAP_WIDTHS,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   206
    T1_BLEND_STEM_SNAP_HEIGHTS,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   207
    T1_BLEND_BLUE_SCALE,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   208
    T1_BLEND_BLUE_SHIFT,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   209
    T1_BLEND_FAMILY_BLUES,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   210
    T1_BLEND_FAMILY_OTHER_BLUES,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   211
    T1_BLEND_FORCE_BOLD,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   212
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   213
    /*# never remove */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   214
    T1_BLEND_MAX
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   215
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   216
  } T1_Blend_Flags;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   217
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   218
  /* */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   219
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   220
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   221
  /*# backwards compatible definitions */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   222
#define t1_blend_underline_position   T1_BLEND_UNDERLINE_POSITION
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   223
#define t1_blend_underline_thickness  T1_BLEND_UNDERLINE_THICKNESS
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   224
#define t1_blend_italic_angle         T1_BLEND_ITALIC_ANGLE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   225
#define t1_blend_blue_values          T1_BLEND_BLUE_VALUES
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   226
#define t1_blend_other_blues          T1_BLEND_OTHER_BLUES
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   227
#define t1_blend_standard_widths      T1_BLEND_STANDARD_WIDTH
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   228
#define t1_blend_standard_height      T1_BLEND_STANDARD_HEIGHT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   229
#define t1_blend_stem_snap_widths     T1_BLEND_STEM_SNAP_WIDTHS
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   230
#define t1_blend_stem_snap_heights    T1_BLEND_STEM_SNAP_HEIGHTS
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   231
#define t1_blend_blue_scale           T1_BLEND_BLUE_SCALE
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   232
#define t1_blend_blue_shift           T1_BLEND_BLUE_SHIFT
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   233
#define t1_blend_family_blues         T1_BLEND_FAMILY_BLUES
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   234
#define t1_blend_family_other_blues   T1_BLEND_FAMILY_OTHER_BLUES
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   235
#define t1_blend_force_bold           T1_BLEND_FORCE_BOLD
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   236
#define t1_blend_max                  T1_BLEND_MAX
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   237
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   238
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   239
  /* maximum number of Multiple Masters designs, as defined in the spec */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   240
#define T1_MAX_MM_DESIGNS     16
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   241
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   242
  /* maximum number of Multiple Masters axes, as defined in the spec */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   243
#define T1_MAX_MM_AXIS        4
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   244
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   245
  /* maximum number of elements in a design map */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   246
#define T1_MAX_MM_MAP_POINTS  20
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   247
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   248
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   249
  /* this structure is used to store the BlendDesignMap entry for an axis */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   250
  typedef struct  PS_DesignMap_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   251
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   252
    FT_Byte    num_points;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   253
    FT_Long*   design_points;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   254
    FT_Fixed*  blend_points;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   255
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   256
  } PS_DesignMapRec, *PS_DesignMap;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   257
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   258
  /* backwards-compatible definition */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   259
  typedef PS_DesignMapRec  T1_DesignMap;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   260
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   261
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   262
  typedef struct  PS_BlendRec_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   263
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   264
    FT_UInt          num_designs;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   265
    FT_UInt          num_axis;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   266
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   267
    FT_String*       axis_names[T1_MAX_MM_AXIS];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   268
    FT_Fixed*        design_pos[T1_MAX_MM_DESIGNS];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   269
    PS_DesignMapRec  design_map[T1_MAX_MM_AXIS];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   270
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   271
    FT_Fixed*        weight_vector;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   272
    FT_Fixed*        default_weight_vector;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   273
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   274
    PS_FontInfo      font_infos[T1_MAX_MM_DESIGNS + 1];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   275
    PS_Private       privates  [T1_MAX_MM_DESIGNS + 1];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   276
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   277
    FT_ULong         blend_bitflags;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   278
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   279
    FT_BBox*         bboxes    [T1_MAX_MM_DESIGNS + 1];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   280
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   281
    /* since 2.3.0 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   282
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   283
    /* undocumented, optional: the default design instance;   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   284
    /* corresponds to default_weight_vector --                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   285
    /* num_default_design_vector == 0 means it is not present */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   286
    /* in the font and associated metrics files               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   287
    FT_UInt          default_design_vector[T1_MAX_MM_DESIGNS];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   288
    FT_UInt          num_default_design_vector;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   289
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   290
  } PS_BlendRec, *PS_Blend;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   291
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   292
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   293
  /* backwards-compatible definition */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   294
  typedef PS_BlendRec  T1_Blend;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   295
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   296
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   297
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   298
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   299
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   300
  /*    CID_FaceDictRec                                                    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   301
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   302
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   303
  /*    A structure used to represent data in a CID top-level dictionary.  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   304
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   305
  typedef struct  CID_FaceDictRec_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   306
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   307
    PS_PrivateRec  private_dict;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   308
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   309
    FT_UInt        len_buildchar;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   310
    FT_Fixed       forcebold_threshold;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   311
    FT_Pos         stroke_width;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   312
    FT_Fixed       expansion_factor;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   313
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   314
    FT_Byte        paint_type;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   315
    FT_Byte        font_type;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   316
    FT_Matrix      font_matrix;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   317
    FT_Vector      font_offset;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   318
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   319
    FT_UInt        num_subrs;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   320
    FT_ULong       subrmap_offset;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   321
    FT_Int         sd_bytes;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   322
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   323
  } CID_FaceDictRec;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   324
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   325
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   326
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   327
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   328
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   329
  /*    CID_FaceDict                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   330
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   331
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   332
  /*    A handle to a @CID_FaceDictRec structure.                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   333
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   334
  typedef struct CID_FaceDictRec_*  CID_FaceDict;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   335
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   336
  /* */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   337
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   338
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   339
  /* backwards-compatible definition */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   340
  typedef CID_FaceDictRec  CID_FontDict;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   341
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   342
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   343
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   344
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   345
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   346
  /*    CID_FaceInfoRec                                                    */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   347
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   348
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   349
  /*    A structure used to represent CID Face information.                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   350
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   351
  typedef struct  CID_FaceInfoRec_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   352
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   353
    FT_String*      cid_font_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   354
    FT_Fixed        cid_version;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   355
    FT_Int          cid_font_type;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   356
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   357
    FT_String*      registry;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   358
    FT_String*      ordering;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   359
    FT_Int          supplement;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   360
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   361
    PS_FontInfoRec  font_info;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   362
    FT_BBox         font_bbox;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   363
    FT_ULong        uid_base;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   364
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   365
    FT_Int          num_xuid;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   366
    FT_ULong        xuid[16];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   367
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   368
    FT_ULong        cidmap_offset;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   369
    FT_Int          fd_bytes;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   370
    FT_Int          gd_bytes;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   371
    FT_ULong        cid_count;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   372
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   373
    FT_Int          num_dicts;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   374
    CID_FaceDict    font_dicts;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   375
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   376
    FT_ULong        data_offset;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   377
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   378
  } CID_FaceInfoRec;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   379
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   380
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   381
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   382
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   383
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   384
  /*    CID_FaceInfo                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   385
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   386
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   387
  /*    A handle to a @CID_FaceInfoRec structure.                          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   388
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   389
  typedef struct CID_FaceInfoRec_*  CID_FaceInfo;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   390
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   391
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   392
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   393
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   394
  /* <Struct>                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   395
  /*    CID_Info                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   396
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   397
  /* <Description>                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   398
  /*   This type is equivalent to @CID_FaceInfoRec.  It is deprecated but  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   399
  /*   kept to maintain source compatibility between various versions of   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   400
  /*   FreeType.                                                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   401
  /*                                                                       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   402
  typedef CID_FaceInfoRec  CID_Info;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   403
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   404
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   405
  /************************************************************************
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   406
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   407
   * @function:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   408
   *    FT_Has_PS_Glyph_Names
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   409
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   410
   * @description:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   411
   *    Return true if a given face provides reliable PostScript glyph
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   412
   *    names.  This is similar to using the @FT_HAS_GLYPH_NAMES macro,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   413
   *    except that certain fonts (mostly TrueType) contain incorrect
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   414
   *    glyph name tables.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   415
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   416
   *    When this function returns true, the caller is sure that the glyph
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   417
   *    names returned by @FT_Get_Glyph_Name are reliable.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   418
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   419
   * @input:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   420
   *    face ::
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   421
   *       face handle
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   422
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   423
   * @return:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   424
   *    Boolean.  True if glyph names are reliable.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   425
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   426
   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   427
  FT_EXPORT( FT_Int )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   428
  FT_Has_PS_Glyph_Names( FT_Face  face );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   429
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   430
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   431
  /************************************************************************
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   432
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   433
   * @function:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   434
   *    FT_Get_PS_Font_Info
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   435
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   436
   * @description:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   437
   *    Retrieve the @PS_FontInfoRec structure corresponding to a given
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   438
   *    PostScript font.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   439
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   440
   * @input:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   441
   *    face ::
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   442
   *       PostScript face handle.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   443
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   444
   * @output:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   445
   *    afont_info ::
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   446
   *       Output font info structure pointer.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   447
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   448
   * @return:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   449
   *    FreeType error code.  0~means success.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   450
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   451
   * @note:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   452
   *    The string pointers within the font info structure are owned by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   453
   *    the face and don't need to be freed by the caller.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   454
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   455
   *    If the font's format is not PostScript-based, this function will
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   456
   *    return the `FT_Err_Invalid_Argument' error code.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   457
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   458
   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   459
  FT_EXPORT( FT_Error )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   460
  FT_Get_PS_Font_Info( FT_Face      face,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   461
                       PS_FontInfo  afont_info );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   462
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   463
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   464
  /************************************************************************
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   465
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   466
   * @function:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   467
   *    FT_Get_PS_Font_Private
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   468
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   469
   * @description:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   470
   *    Retrieve the @PS_PrivateRec structure corresponding to a given
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   471
   *    PostScript font.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   472
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   473
   * @input:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   474
   *    face ::
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   475
   *       PostScript face handle.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   476
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   477
   * @output:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   478
   *    afont_private ::
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   479
   *       Output private dictionary structure pointer.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   480
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   481
   * @return:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   482
   *    FreeType error code.  0~means success.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   483
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   484
   * @note:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   485
   *    The string pointers within the @PS_PrivateRec structure are owned by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   486
   *    the face and don't need to be freed by the caller.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   487
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   488
   *    If the font's format is not PostScript-based, this function returns
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   489
   *    the `FT_Err_Invalid_Argument' error code.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   490
   *
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   491
   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   492
  FT_EXPORT( FT_Error )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   493
  FT_Get_PS_Font_Private( FT_Face     face,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   494
                          PS_Private  afont_private );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   495
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   496
  /* */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   497
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   498
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   499
FT_END_HEADER
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   500
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   501
#endif /* __T1TABLES_H__ */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   502
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   503
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   504
/* END */