| 1 | /* $Id: font.h,v 1.1 1999-05-24 20:19:12 ktk Exp $ */ | 
|---|
| 2 |  | 
|---|
| 3 | /* | 
|---|
| 4 | * GDI font definitions | 
|---|
| 5 | * | 
|---|
| 6 | * Copyright 1994 Alexandre Julliard | 
|---|
| 7 | */ | 
|---|
| 8 |  | 
|---|
| 9 | #ifndef __WINE_FONT_H | 
|---|
| 10 | #define __WINE_FONT_H | 
|---|
| 11 |  | 
|---|
| 12 | #include "gdi.h" | 
|---|
| 13 |  | 
|---|
| 14 | #include "pshpack1.h" | 
|---|
| 15 |  | 
|---|
| 16 | /* GDI logical font object */ | 
|---|
| 17 | typedef struct | 
|---|
| 18 | { | 
|---|
| 19 | GDIOBJHDR   header; | 
|---|
| 20 | LOGFONT16   logfont WINE_PACKED; | 
|---|
| 21 | } FONTOBJ; | 
|---|
| 22 |  | 
|---|
| 23 | typedef struct { | 
|---|
| 24 | WORD        dfVersion; | 
|---|
| 25 | DWORD       dfSize; | 
|---|
| 26 | CHAR        dfCopyright[60]; | 
|---|
| 27 | WORD        dfType; | 
|---|
| 28 | WORD        dfPoints; | 
|---|
| 29 | WORD        dfVertRes; | 
|---|
| 30 | WORD        dfHorizRes; | 
|---|
| 31 | WORD        dfAscent; | 
|---|
| 32 | WORD        dfInternalLeading; | 
|---|
| 33 | WORD        dfExternalLeading; | 
|---|
| 34 | BYTE        dfItalic; | 
|---|
| 35 | BYTE        dfUnderline; | 
|---|
| 36 | BYTE        dfStrikeOut; | 
|---|
| 37 | WORD        dfWeight; | 
|---|
| 38 | BYTE        dfCharSet; | 
|---|
| 39 | WORD        dfPixWidth; | 
|---|
| 40 | WORD        dfPixHeight; | 
|---|
| 41 | BYTE        dfPitchAndFamily; | 
|---|
| 42 | WORD        dfAvgWidth; | 
|---|
| 43 | WORD        dfMaxWidth; | 
|---|
| 44 | BYTE        dfFirstChar; | 
|---|
| 45 | BYTE        dfLastChar; | 
|---|
| 46 | BYTE        dfDefaultChar; | 
|---|
| 47 | BYTE        dfBreakChar; | 
|---|
| 48 | WORD        dfWidthBytes; | 
|---|
| 49 | DWORD       dfDevice; | 
|---|
| 50 | DWORD       dfFace; | 
|---|
| 51 | DWORD       dfReserved; | 
|---|
| 52 | CHAR        szDeviceName[60]; /* FIXME: length unknown */ | 
|---|
| 53 | CHAR        szFaceName[60];   /* dito */ | 
|---|
| 54 | } FONTDIR16, *LPFONTDIR16; | 
|---|
| 55 |  | 
|---|
| 56 | #include "poppack.h" | 
|---|
| 57 |  | 
|---|
| 58 | #define FONTCACHE       32      /* dynamic font cache size */ | 
|---|
| 59 |  | 
|---|
| 60 | extern BOOL FONT_Init( UINT16* pTextCaps ); | 
|---|
| 61 | extern INT16  FONT_GetObject16( FONTOBJ * font, INT16 count, LPSTR buffer ); | 
|---|
| 62 | extern INT  FONT_GetObjectA( FONTOBJ * font, INT count, LPSTR buffer ); | 
|---|
| 63 | extern INT  FONT_GetObjectW( FONTOBJ * font, INT count, LPSTR buffer ); | 
|---|
| 64 | extern void FONT_LogFont32ATo16( const LOGFONTA* font32, LPLOGFONT16 font16 ); | 
|---|
| 65 | extern void FONT_LogFont32WTo16( const LOGFONTW* font32, LPLOGFONT16 font16 ); | 
|---|
| 66 | extern void FONT_LogFont16To32A( const LPLOGFONT16 font16, LPLOGFONTA font32 ); | 
|---|
| 67 | extern void FONT_LogFont16To32W( const LPLOGFONT16 font16, LPLOGFONTW font32 ); | 
|---|
| 68 | extern void FONT_TextMetric32Ato16(const LPTEXTMETRICA ptm32, LPTEXTMETRIC16 ptm16 ); | 
|---|
| 69 | extern void FONT_TextMetric32Wto16(const LPTEXTMETRICW ptm32, LPTEXTMETRIC16 ptm16 ); | 
|---|
| 70 | extern void FONT_TextMetric16to32A(const LPTEXTMETRIC16 ptm16, LPTEXTMETRICA ptm32 ); | 
|---|
| 71 | extern void FONT_TextMetric16to32W(const LPTEXTMETRIC16 ptm16, LPTEXTMETRICW ptm32 ); | 
|---|
| 72 | extern void FONT_TextMetric32Ato32W(const LPTEXTMETRICA ptm32A, LPTEXTMETRICW ptm32W ); | 
|---|
| 73 |  | 
|---|
| 74 |  | 
|---|
| 75 |  | 
|---|
| 76 | #endif /* __WINE_FONT_H */ | 
|---|