ftwinfnt.h revision 3ae7cc997a270e9cbdf193e27d47168cd8da6276
1/***************************************************************************/ 2/* */ 3/* ftwinfnt.h */ 4/* */ 5/* FreeType API for accessing Windows fnt-specific data. */ 6/* */ 7/* Copyright 2003 by */ 8/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9/* */ 10/* This file is part of the FreeType project, and may only be used, */ 11/* modified, and distributed under the terms of the FreeType project */ 12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13/* this file you indicate that you have read the license and */ 14/* understand and accept it fully. */ 15/* */ 16/***************************************************************************/ 17 18 19#ifndef __FTWINFNT_H__ 20#define __FTWINFNT_H__ 21 22#include <ft2build.h> 23#include FT_FREETYPE_H 24 25 26FT_BEGIN_HEADER 27 28 29 /*************************************************************************/ 30 /* */ 31 /* <Section> */ 32 /* winfnt_fonts */ 33 /* */ 34 /* <Title> */ 35 /* Window FNT Fonts */ 36 /* */ 37 /* <Abstract> */ 38 /* Windows FNT specific APIs */ 39 /* */ 40 /* <Description> */ 41 /* This section contains the declaration of Windows FNT specific */ 42 /* functions. */ 43 /* */ 44 /*************************************************************************/ 45 46 /*************************************************************************/ 47 /* */ 48 /* <Struct> */ 49 /* FT_WinFNT_HeaderRec_ */ 50 /* */ 51 /* <Description> */ 52 /* Windows FNT Header info. */ 53 /* */ 54 typedef struct FT_WinFNT_HeaderRec_ 55 { 56 FT_UShort version; 57 FT_ULong file_size; 58 FT_Byte copyright[60]; 59 FT_UShort file_type; 60 FT_UShort nominal_point_size; 61 FT_UShort vertical_resolution; 62 FT_UShort horizontal_resolution; 63 FT_UShort ascent; 64 FT_UShort internal_leading; 65 FT_UShort external_leading; 66 FT_Byte italic; 67 FT_Byte underline; 68 FT_Byte strike_out; 69 FT_UShort weight; 70 FT_Byte charset; 71 FT_UShort pixel_width; 72 FT_UShort pixel_height; 73 FT_Byte pitch_and_family; 74 FT_UShort avg_width; 75 FT_UShort max_width; 76 FT_Byte first_char; 77 FT_Byte last_char; 78 FT_Byte default_char; 79 FT_Byte break_char; 80 FT_UShort bytes_per_row; 81 FT_ULong device_offset; 82 FT_ULong face_name_offset; 83 FT_ULong bits_pointer; 84 FT_ULong bits_offset; 85 FT_Byte reserved; 86 FT_ULong flags; 87 FT_UShort A_space; 88 FT_UShort B_space; 89 FT_UShort C_space; 90 FT_UShort color_table_offset; 91 FT_ULong reserved1[4]; 92 93 } FT_WinFNT_HeaderRec, *FT_WinFNT_Header; 94 95 96 /********************************************************************** 97 * 98 * @function: 99 * FT_Get_WinFNT_Header 100 * 101 * @description: 102 * Retrieve a Windows FNT font info header. 103 * 104 * @input: 105 * face :: A handle to the input face. 106 * 107 * @output: 108 * aheader :: The WinFNT header. 109 * 110 * @return: 111 * FreeType error code. 0 means success. 112 * 113 * @note: 114 * This function only works with Windows FNT faces, returning an error 115 * otherwise. 116 */ 117 FT_EXPORT( FT_Error ) 118 FT_Get_WinFNT_Header( FT_Face face, 119 FT_WinFNT_HeaderRec *aheader ); 120 121 122 /* */ 123 124FT_END_HEADER 125 126#endif /* __FTWINFNT_H__ */ 127 128 129/* END */ 130