summaryrefslogtreecommitdiff
path: root/fonts/utilities/macfont/mactypes.h
blob: 8eb4dec8bbbf1514d1c8d1ad0a947f2c4f338b72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/* This file is mactypes.h
 *
 * Copyright (C) 1993 by Norman Walsh
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 ************************************************************************/

#ifndef MACTYPES_H
#define MACTYPES_H

#ifndef SKIPTYPES
typedef unsigned short int USHORT;
typedef unsigned char      BYTE;
typedef unsigned long int  ULONG;
typedef short int          SHORT;
typedef int                LONG;
#endif /* not SKIPTYPES */

typedef struct _RsrcHdrStruct {
  ULONG  DataOffset;
  ULONG  MapOffset;
  ULONG  DataLen;
  ULONG  MapLen;
  BYTE   OSReserved[96];
  BYTE   AppReserved[128];
} RsrcHdrStruct;

typedef struct _RsrcMapStruct {
  ULONG   MapCopy[4];
  ULONG   NextMap;
  USHORT  FileRef;
  USHORT  FileAttr;
  USHORT  TypeOffset;
  USHORT  NameOffset;
} RsrcMapStruct;

typedef struct _RsrcTypeStruct {
  char    Name[4];
  USHORT  Count;
  USHORT  RefOffset;
} RsrcTypeStruct;

typedef struct _RsrcRefStruct {
  USHORT Ident;
  USHORT NameOffset;
  BYTE   Attr;
  ULONG  DataOffset;
  ULONG  Unknown;
} RsrcRefStruct;

typedef struct _MacDataStruct {
  ULONG size;
  BYTE  *map;
} MacDataStruct;

typedef struct _FontEntryFormat {
  USHORT PointSize;
  USHORT StyleCode;
  USHORT ResourceNumber;
} FontEntryFormat;

typedef struct _RsrcFondStruct {
  USHORT Flag;
  USHORT FamilyId;
  USHORT FirstChar;
  USHORT LastChar;
  SHORT  Ascent;
  SHORT  Descent;
  SHORT  Leading;
  SHORT  WidMax;
  ULONG  WidTblOfs;
  ULONG  KrnTblOfs;
  ULONG  StyTblOfs;
  USHORT FamStyProp[9];
  ULONG  Intrnatnl;
  USHORT FontVers;
  int    NumFonts;
  FontEntryFormat *AssocTable;
} RsrcFondStruct;

typedef struct _RsrcNfntStruct {
  USHORT FontType;
  USHORT FirstChar;
  USHORT LastChar;
  SHORT  WidMax;
  SHORT  KernMax;
  SHORT  NDescent;
  SHORT  FRectWidth;
  SHORT  FRectHeight;
  USHORT OWTLoc;
  SHORT  Ascent;
  SHORT  Descent;
  SHORT  Leading;
  SHORT  RowWords;
} RsrcNfntStruct;

typedef struct _NfntCharInfoStruct {
  BYTE ofs;
  BYTE width;
} NfntCharInfoStruct;

#endif /* not MACTYPES_H */