~ubuntu-branches/ubuntu/gutsy/vnc4/gutsy

« back to all changes in this revision

Viewing changes to unix/xc/extras/FreeType/contrib/ftos2/ifi/32ifimet.h

  • Committer: Bazaar Package Importer
  • Author(s): Ola Lundqvist
  • Date: 2006-05-15 20:35:17 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060515203517-l4lre1ku942mn26k
Tags: 4.1.1+X4.3.0-10
* Correction of critical security issue. Thanks to Martin Kogler
  <e9925248@student.tuwien.ac.at> that informed me about the issue,
  and provided the patch.
  This flaw was originally found by Steve Wiseman of intelliadmin.com.
* Applied patch from Javier Kohen <jkohen@users.sourceforge.net> that
  inform the user that only 8 first characters of the password will
  actually be used when typing more than 8 characters, closes:
  #355619.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*********************************************************************\
 
2
* Module Name: 32IFIMET.H
 
3
*
 
4
* OS/2 Intelligent Font Interface
 
5
*
 
6
* Copyright (c) 1989,1994  IBM Corporation
 
7
* Copyright (c) 1989  Microsoft Corporation
 
8
*
 
9
* Definition and description of IFIMETRICS structure
 
10
* This file is included by FDSTRUCS.H
 
11
*
 
12
\*********************************************************************/
 
13
/* $XFree86: xc/extras/FreeType/contrib/ftos2/ifi/32ifimet.h,v 1.2 2003/01/12 03:55:43 tsi Exp $ */
 
14
#ifndef     __32IFIMET_H__
 
15
#define     __32IFIMET_H__
 
16
 
 
17
#define FACESIZE 32
 
18
#define GLYPHNAMESIZE 16
 
19
 
 
20
/* #defines for fsType in IFIMETRICS  */
 
21
 
 
22
#define IFIMETRICS_FIXED       0x0001   /*Fixed pitch */
 
23
#define IFIMETRICS_LICENSED    0x0002   /*Font subject of licensing agreement */
 
24
#define IFIMETRICS_KERNING     0x0004   /*Font has kerning data */
 
25
#define IFIMETRICS_DBCS        0x0010   /*DBCS font */
 
26
#define IFIMETRICS_MBCS        0x0018   /*MBCS (DBCS + SBCS) font */
 
27
/* Reserved                    0x8000 */
 
28
#define IFIMETRICS_ATOMS       0x4000   /*The atom name fields are valid */
 
29
#define IFIMETRICS_FAMTRUNC    0x2000   /*Familyname field is truncated */
 
30
#define IFIMETRICS_FACETRUNC   0x1000   /*Facename field is truncated */
 
31
#define IFIMETRICS_ANTIALIASED 0x0020
 
32
#define IFIMETRICS_UNICODE     0x0040
 
33
#define IFIMETRICS_NO_CACHE    0x0080
 
34
 
 
35
/* #defines for fsDefn in IFIMETRICS   */
 
36
 
 
37
#define IFIMETRICS_OUTLINE     0x0001   /*1 - Outline. 0 - Raster */
 
38
/* Reserved                    0x0002 */
 
39
/* Reserved                    0x0004 */
 
40
/* Reserved                    0x8000 */
 
41
#define IFIMETRICS_UDC_FONT    0x0010   /*User defined font */
 
42
/* Reserved                           */
 
43
 
 
44
/* #defines for fsSelection in IFIMETRICS valid for bitmap or outline fonts  */
 
45
 
 
46
#define IFIMETRICS_ITALIC      0x8000  /*Italic */
 
47
#define IFIMETRICS_UNDERSCORE  0x4000  /*Underscored */
 
48
#define IFIMETRICS_OVERSTRUCK  0x2000  /*Overstruck */
 
49
 
 
50
/* #defines for fsSelection in IFIMETRICS valid for bitmap fonts */
 
51
 
 
52
#define IFIMETRICS_NEGATIVE    0x1000   /*Negative image */
 
53
#define IFIMETRICS_HOLLOW      0x0800   /*Outline (hollow) */
 
54
 
 
55
#if defined(__IBMCPP__) || defined(__IBMC__)
 
56
#    pragma pack(1)
 
57
#else
 
58
#    pragma Align_members(1)
 
59
#endif
 
60
 
 
61
typedef struct _IFIMETRICS    /* ifim */
 
62
{                                                                    /* UNITS */
 
63
  UCHAR   szFamilyname[FACESIZE];   /*Font Family Name, e.g. Roman */
 
64
  UCHAR   szFacename[FACESIZE];     /*Face name, e.g. Tms Rmn Bold Italic */
 
65
  UCHAR   szGlyphlistName[GLYPHNAMESIZE]; /*e.g. PM316, Latin-2, Greek */
 
66
  USHORT  idRegistry;          /*IBM registration number (or zero).        I */
 
67
  LONG    lCapEmHeight;        /*Height of uppercase M                     N */
 
68
  LONG    lXHeight;            /*Nominal height of lowercase               N */
 
69
  LONG    lMaxAscender;        /*Maximum height above baseline of any char N */
 
70
  LONG    lMaxDescender;       /*Maximum depth below baseline of any char  N */
 
71
  LONG    lLowerCaseAscent;    /*Maximum height above baseline of any a-z  N */
 
72
  LONG    lLowerCaseDescent;   /*Maximum depth below basiline of any a-z   N */
 
73
  LONG    lInternalLeading;    /*White space within character              N */
 
74
  LONG    lExternalLeading;    /*White space between lines                 N */
 
75
  LONG    lAveCharWidth;       /*Weighted average character width          N */
 
76
  LONG    lMaxCharInc;         /*Maximum character increment               N */
 
77
  LONG    lEmInc;              /*Increment for Capitals (typically 'M')    N */
 
78
  LONG    lMaxBaselineExt;     /*Height of character cell                  N */
 
79
  FIXED   fxCharSlope;         /*Slope angle, degrees, clockwise           D */
 
80
  FIXED   fxInlineDir;         /*Drawing direction, degrees clockwise      D */
 
81
  FIXED   fxCharRot;           /*Glyph rotation in cell, degrees clockwise D */
 
82
  USHORT  usWeightClass;       /*Character weight, 1-9 (1=ultra-light)     I */
 
83
  USHORT  usWidthClass;        /*Character width, 1-9 (1=ultra condensed)  I */
 
84
  LONG    lEmSquareSizeX;      /*Em Square size, x-direction               N */
 
85
  LONG    lEmSquareSizeY;      /*Em Square size, y-direction               N */
 
86
  GLYPH   giFirstChar;         /*Number of first glyph in font             I */
 
87
  GLYPH   giLastChar;          /*Number of last glyph in font              I */
 
88
  GLYPH   giDefaultChar;       /*Glyph used if requested glyph invalid     I */
 
89
  GLYPH   giBreakChar;         /*Space glyph                               I */
 
90
  USHORT  usNominalPointSize;  /*Point size for which font was designed    N */
 
91
  USHORT  usMinimumPointSize;  /*Minimum point size scaling for font       N */
 
92
  USHORT  usMaximumPointSize;  /*Maximum point size scaling for font       N */
 
93
  USHORT  fsType;              /*Type indicators  (see #defines)           B */
 
94
  USHORT  fsDefn;              /*Font definition data (see #defines)       B */
 
95
  USHORT  fsSelection;         /*Font selection flags (see #defines)       B */
 
96
  USHORT  fsCapabilities;      /*Font capabilities must be 0               B */
 
97
  LONG    lSubscriptXSize;     /*Size in x-direction of subscript          N */
 
98
  LONG    lSubscriptYSize;     /*Size in y-direction of subscript          N */
 
99
  LONG    lSubscriptXOffset;   /*Offset in x-direction of subscript        N */
 
100
  LONG    lSubscriptYOffset;   /*Offset in y-direction of subscript        N */
 
101
  LONG    lSuperscriptXSize;   /*Size in x-direction of superscript        N */
 
102
  LONG    lSuperscriptYSize;   /*Size in y-direction of superscript        N */
 
103
  LONG    lSuperscriptXOffset; /*Offset in x-direction of superscript      N */
 
104
  LONG    lSuperscriptYOffset; /*Offset in y-direction of superscript      N */
 
105
  LONG    lUnderscoreSize;     /*Underscore size                           N */
 
106
  LONG    lUnderscorePosition; /*Underscore position                       N */
 
107
  LONG    lStrikeoutSize;      /*Strikeout size                            N */
 
108
  LONG    lStrikeoutPosition;  /*Strikeout position                        N */
 
109
  SHORT   cKerningPairs;       /*Number of kerning pairs in pair table     I */
 
110
  ULONG   ulFontClass;         /*IBM font classification                   B */
 
111
} IFIMETRICS;
 
112
typedef IFIMETRICS FAR *PIFIMETRICS;
 
113
#if defined(__IBMCPP__) || defined(__IBMC__)
 
114
#    pragma pack()
 
115
#else
 
116
#    pragma Align_members()
 
117
#endif
 
118
 
 
119
#endif