1 2 // Copyright Michael D. Parker 2018. 3 // Distributed under the Boost Software License, Version 1.0. 4 // (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 module bindbc.freetype.bind.ftwinfnt; 8 9 import bindbc.freetype.bind.freetype, 10 bindbc.freetype.bind.fttypes; 11 12 enum { 13 FT_WinFNT_ID_CP1252 = 0, 14 FT_WinFNT_ID_DEFAULT = 1, 15 FT_WinFNT_ID_SYMBOL = 2, 16 FT_WinFNT_ID_MAC = 77, 17 FT_WinFNT_ID_CP932 = 128, 18 FT_WinFNT_ID_CP949 = 129, 19 FT_WinFNT_ID_CP1361 = 130, 20 FT_WinFNT_ID_CP936 = 134, 21 FT_WinFNT_ID_CP950 = 136, 22 FT_WinFNT_ID_CP1253 = 161, 23 FT_WinFNT_ID_CP1254 = 162, 24 FT_WinFNT_ID_CP1258 = 163, 25 FT_WinFNT_ID_CP1255 = 177, 26 FT_WinFNT_ID_CP1256 = 178, 27 FT_WinFNT_ID_CP1257 = 186, 28 FT_WinFNT_ID_CP1251 = 204, 29 FT_WinFNT_ID_CP874 = 222, 30 FT_WinFNT_ID_CP1250 = 238, 31 FT_WinFNT_ID_OEM = 255, 32 } 33 34 35 struct FT_WinFNT_HeaderRec { 36 FT_UShort _version; 37 FT_ULong file_size; 38 FT_Byte[60] copyright; 39 FT_UShort file_type; 40 FT_UShort nominal_point_size; 41 FT_UShort vertical_resolution; 42 FT_UShort horizontal_resolution; 43 FT_UShort ascent; 44 FT_UShort internal_leading; 45 FT_UShort external_leading; 46 FT_Byte italic; 47 FT_Byte underline; 48 FT_Byte strike_out; 49 FT_UShort weight; 50 FT_Byte charset; 51 FT_UShort pixel_width; 52 FT_UShort pixel_height; 53 FT_Byte pitch_and_family; 54 FT_UShort avg_width; 55 FT_UShort max_width; 56 FT_Byte first_char; 57 FT_Byte last_char; 58 FT_Byte default_char; 59 FT_Byte break_char; 60 FT_UShort bytes_per_row; 61 FT_ULong device_offset; 62 FT_ULong face_name_offset; 63 FT_ULong bits_pointer; 64 FT_ULong bits_offset; 65 FT_Byte reserved; 66 FT_ULong flags; 67 FT_UShort A_space; 68 FT_UShort B_space; 69 FT_UShort C_space; 70 FT_UShort color_table_offset; 71 FT_ULong[4] reserved1; 72 } 73 74 alias FT_WinFNT_Header = FT_WinFNT_HeaderRec*; 75 76 version(BindFT_Static) { 77 extern(C) @nogc nothrow { 78 FT_Error FT_Get_WinFNT_Header(FT_Face,FT_WinFNT_HeaderRec*); 79 } 80 } 81 else { 82 extern(C) @nogc nothrow { 83 alias pFT_Get_WinFNT_Header = FT_Error function(FT_Face,FT_WinFNT_HeaderRec*); 84 } 85 86 __gshared { 87 pFT_Get_WinFNT_Header FT_Get_WinFNT_Header; 88 } 89 }