os/textandloc/fontservices/freetypefontrasteriser/freetype2/src/winfonts/winfnt.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/***************************************************************************/
sl@0
     2
/*                                                                         */
sl@0
     3
/*  winfnt.h                                                               */
sl@0
     4
/*                                                                         */
sl@0
     5
/*    FreeType font driver for Windows FNT/FON files                       */
sl@0
     6
/*                                                                         */
sl@0
     7
/*  Copyright 1996-2001, 2002, 2003, 2004 by                               */
sl@0
     8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
sl@0
     9
/*                                                                         */
sl@0
    10
/*  This file is part of the FreeType project, and may only be used,       */
sl@0
    11
/*  modified, and distributed under the terms of the FreeType project      */
sl@0
    12
/*  license, FTL.TXT.  By continuing to use, modify, or distribute     */
sl@0
    13
/*  this file you indicate that you have read the license and              */
sl@0
    14
/*  understand and accept it fully.                                        */
sl@0
    15
/*                                                                         */
sl@0
    16
/***************************************************************************/
sl@0
    17
sl@0
    18
sl@0
    19
#ifndef __WINFNT_H__
sl@0
    20
#define __WINFNT_H__
sl@0
    21
sl@0
    22
sl@0
    23
#include <ft2build.h>
sl@0
    24
#include FT_WINFONTS_H
sl@0
    25
#include FT_INTERNAL_DRIVER_H
sl@0
    26
sl@0
    27
sl@0
    28
FT_BEGIN_HEADER
sl@0
    29
sl@0
    30
  typedef struct  WinMZ_HeaderRec_
sl@0
    31
  {
sl@0
    32
    FT_UShort  magic;
sl@0
    33
    /* skipped content */
sl@0
    34
    FT_UShort  lfanew;
sl@0
    35
sl@0
    36
  } WinMZ_HeaderRec;
sl@0
    37
sl@0
    38
sl@0
    39
  typedef struct  WinNE_HeaderRec_
sl@0
    40
  {
sl@0
    41
    FT_UShort  magic;
sl@0
    42
    /* skipped content */
sl@0
    43
    FT_UShort  resource_tab_offset;
sl@0
    44
    FT_UShort  rname_tab_offset;
sl@0
    45
sl@0
    46
  } WinNE_HeaderRec;
sl@0
    47
sl@0
    48
sl@0
    49
  typedef struct  WinNameInfoRec_
sl@0
    50
  {
sl@0
    51
    FT_UShort  offset;
sl@0
    52
    FT_UShort  length;
sl@0
    53
    FT_UShort  flags;
sl@0
    54
    FT_UShort  id;
sl@0
    55
    FT_UShort  handle;
sl@0
    56
    FT_UShort  usage;
sl@0
    57
sl@0
    58
  } WinNameInfoRec;
sl@0
    59
sl@0
    60
sl@0
    61
  typedef struct  WinResourceInfoRec_
sl@0
    62
  {
sl@0
    63
    FT_UShort  type_id;
sl@0
    64
    FT_UShort  count;
sl@0
    65
sl@0
    66
  } WinResourceInfoRec;
sl@0
    67
sl@0
    68
sl@0
    69
#define WINFNT_MZ_MAGIC  0x5A4D
sl@0
    70
#define WINFNT_NE_MAGIC  0x454E
sl@0
    71
sl@0
    72
sl@0
    73
  typedef struct  FNT_FontRec_
sl@0
    74
  {
sl@0
    75
    FT_ULong             offset;
sl@0
    76
    FT_Int               size_shift;
sl@0
    77
sl@0
    78
    FT_WinFNT_HeaderRec  header;
sl@0
    79
sl@0
    80
    FT_Byte*             fnt_frame;
sl@0
    81
    FT_ULong             fnt_size;
sl@0
    82
    FT_String*           family_name;
sl@0
    83
sl@0
    84
  } FNT_FontRec, *FNT_Font;
sl@0
    85
sl@0
    86
sl@0
    87
  typedef struct  FNT_FaceRec_
sl@0
    88
  {
sl@0
    89
    FT_FaceRec     root;
sl@0
    90
    FNT_Font       font;
sl@0
    91
sl@0
    92
    FT_CharMap     charmap_handle;
sl@0
    93
    FT_CharMapRec  charmap;  /* a single charmap per face */
sl@0
    94
sl@0
    95
  } FNT_FaceRec, *FNT_Face;
sl@0
    96
sl@0
    97
sl@0
    98
  FT_EXPORT_VAR( const FT_Driver_ClassRec )  winfnt_driver_class;
sl@0
    99
sl@0
   100
sl@0
   101
FT_END_HEADER
sl@0
   102
sl@0
   103
sl@0
   104
#endif /* __WINFNT_H__ */
sl@0
   105
sl@0
   106
sl@0
   107
/* END */