1 // info.h 2 3 // Copyright (C) 2012-2021 by Werner Lemberg. 4 // 5 // This file is part of the ttfautohint library, and may only be used, 6 // modified, and distributed under the terms given in `COPYING'. By 7 // continuing to use, modify, or distribute this file you indicate that you 8 // have read `COPYING' and understand and accept it fully. 9 // 10 // The file `COPYING' mentioned in the previous paragraph is distributed 11 // with the ttfautohint library. 12 13 14 #ifndef INFO_H_ 15 #define INFO_H_ 16 17 #include <ttfautohint.h> 18 #include <stdbool.h> // for llrb.h 19 #include <llrb.h> 20 21 extern "C" { 22 23 typedef struct Info_Data_ 24 { 25 bool no_info; 26 bool detailed_info; 27 unsigned char* info_string; 28 unsigned char* info_string_wide; 29 unsigned short info_string_len; 30 unsigned short info_string_wide_len; 31 32 const char* family_suffix; 33 void* family_data_head; // a red-black tree 34 35 int hinting_range_min; 36 int hinting_range_max; 37 int hinting_limit; 38 39 int gray_stem_width_mode; 40 int gdi_cleartype_stem_width_mode; 41 int dw_cleartype_stem_width_mode; 42 43 int increase_x_height; 44 const char* x_height_snapping_exceptions_string; 45 int fallback_stem_width; 46 47 bool windows_compatibility; 48 bool adjust_subglyphs; 49 bool hint_composites; 50 char default_script[5]; 51 char fallback_script[5]; 52 bool fallback_scaling; 53 bool symbol; 54 bool dehint; 55 bool TTFA_info; 56 57 const char* control_name; 58 const char* reference_name; 59 int reference_index; 60 } Info_Data; 61 62 63 char* 64 check_family_suffix(const char* s); 65 66 int 67 build_version_string(Info_Data* idata); 68 69 int 70 info(unsigned short platform_id, 71 unsigned short encoding_id, 72 unsigned short language_id, 73 unsigned short name_id, 74 unsigned short* str_len, 75 unsigned char** str, 76 void* user); 77 78 int 79 info_post(void* user); 80 81 } // extern "C" 82 83 #endif // INFO_H_ 84 85 // end of info.h 86