| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1998-2004 David Turner and Werner Lemberg | 2 * Copyright (C) 1998-2004 David Turner and Werner Lemberg |
| 3 * Copyright (C) 2006 Behdad Esfahbod | 3 * Copyright (C) 2006 Behdad Esfahbod |
| 4 * | 4 * |
| 5 * This is part of HarfBuzz, an OpenType Layout engine library. | 5 * This is part of HarfBuzz, an OpenType Layout engine library. |
| 6 * | 6 * |
| 7 * Permission is hereby granted, without written agreement and without | 7 * Permission is hereby granted, without written agreement and without |
| 8 * license or royalty fees, to use, copy, modify, and distribute this | 8 * license or royalty fees, to use, copy, modify, and distribute this |
| 9 * software and its documentation for any purpose, provided that the | 9 * software and its documentation for any purpose, provided that the |
| 10 * above copyright notice and the following two paragraphs appear in | 10 * above copyright notice and the following two paragraphs appear in |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 #define HB_GPOS_LOOKUP_SINGLE 1 | 37 #define HB_GPOS_LOOKUP_SINGLE 1 |
| 38 #define HB_GPOS_LOOKUP_PAIR 2 | 38 #define HB_GPOS_LOOKUP_PAIR 2 |
| 39 #define HB_GPOS_LOOKUP_CURSIVE 3 | 39 #define HB_GPOS_LOOKUP_CURSIVE 3 |
| 40 #define HB_GPOS_LOOKUP_MARKBASE 4 | 40 #define HB_GPOS_LOOKUP_MARKBASE 4 |
| 41 #define HB_GPOS_LOOKUP_MARKLIG 5 | 41 #define HB_GPOS_LOOKUP_MARKLIG 5 |
| 42 #define HB_GPOS_LOOKUP_MARKMARK 6 | 42 #define HB_GPOS_LOOKUP_MARKMARK 6 |
| 43 #define HB_GPOS_LOOKUP_CONTEXT 7 | 43 #define HB_GPOS_LOOKUP_CONTEXT 7 |
| 44 #define HB_GPOS_LOOKUP_CHAIN 8 | 44 #define HB_GPOS_LOOKUP_CHAIN 8 |
| 45 #define HB_GPOS_LOOKUP_EXTENSION 9 | 45 #define HB_GPOS_LOOKUP_EXTENSION 9 |
| 46 | 46 |
| 47 #ifdef HB_SUPPORT_MULTIPLE_MASTER |
| 47 /* A pointer to a function which accesses the PostScript interpreter. | 48 /* A pointer to a function which accesses the PostScript interpreter. |
| 48 Multiple Master fonts need this interface to convert a metric ID | 49 Multiple Master fonts need this interface to convert a metric ID |
| 49 (as stored in an OpenType font version 1.2 or higher) `metric_id' | 50 (as stored in an OpenType font version 1.2 or higher) `metric_id' |
| 50 into a metric value (returned in `metric_value'). | 51 into a metric value (returned in `metric_value'). |
| 51 | 52 |
| 52 `data' points to the user-defined structure specified during a | 53 `data' points to the user-defined structure specified during a |
| 53 call to HB_GPOS_Register_MM_Function(). | 54 call to HB_GPOS_Register_MM_Function(). |
| 54 | 55 |
| 55 `metric_value' must be returned as a scaled value (but shouldn't | 56 `metric_value' must be returned as a scaled value (but shouldn't |
| 56 be rounded). */ | 57 be rounded). */ |
| 57 | 58 |
| 58 typedef HB_Error (*HB_MMFunction)(HB_Font font, | 59 typedef HB_Error (*HB_MMFunction)(HB_Font font, |
| 59 HB_UShort metric_id, | 60 HB_UShort metric_id, |
| 60 HB_Fixed* metric_value, | 61 HB_Fixed* metric_value, |
| 61 void* data ); | 62 void* data ); |
| 63 #endif |
| 62 | 64 |
| 63 | 65 |
| 64 struct HB_GPOSHeader_ | 66 struct HB_GPOSHeader_ |
| 65 { | 67 { |
| 66 HB_16Dot16 Version; | 68 HB_16Dot16 Version; |
| 67 | 69 |
| 68 HB_ScriptList ScriptList; | 70 HB_ScriptList ScriptList; |
| 69 HB_FeatureList FeatureList; | 71 HB_FeatureList FeatureList; |
| 70 HB_LookupList LookupList; | 72 HB_LookupList LookupList; |
| 71 | 73 |
| 72 HB_GDEFHeader* gdef; | 74 HB_GDEFHeader* gdef; |
| 73 | 75 |
| 76 #ifdef HB_SUPPORT_MULTIPLE_MASTER |
| 74 /* this is OpenType 1.2 -- Multiple Master fonts need this | 77 /* this is OpenType 1.2 -- Multiple Master fonts need this |
| 75 callback function to get various metric values from the | 78 callback function to get various metric values from the |
| 76 PostScript interpreter. */ | 79 PostScript interpreter. */ |
| 77 | 80 |
| 78 HB_MMFunction mmfunc; | 81 HB_MMFunction mmfunc; |
| 79 void* data; | 82 void* data; |
| 83 #endif |
| 80 }; | 84 }; |
| 81 | 85 |
| 82 typedef struct HB_GPOSHeader_ HB_GPOSHeader; | 86 typedef struct HB_GPOSHeader_ HB_GPOSHeader; |
| 83 typedef HB_GPOSHeader* HB_GPOS; | 87 typedef HB_GPOSHeader* HB_GPOS; |
| 84 | 88 |
| 85 | 89 |
| 86 HB_Error HB_Load_GPOS_Table( HB_Stream stream, | 90 HB_Error HB_Load_GPOS_Table( HB_Stream stream, |
| 87 HB_GPOSHeader** gpos, | 91 HB_GPOSHeader** gpos, |
| 88 HB_GDEFHeader* gdef, | 92 HB_GDEFHeader* gdef, |
| 89 HB_Stream gdefStream ); | 93 HB_Stream gdefStream ); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 HB_UInt** feature_tag_list ); | 126 HB_UInt** feature_tag_list ); |
| 123 | 127 |
| 124 | 128 |
| 125 HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos, | 129 HB_Error HB_GPOS_Add_Feature( HB_GPOSHeader* gpos, |
| 126 HB_UShort feature_index, | 130 HB_UShort feature_index, |
| 127 HB_UInt property ); | 131 HB_UInt property ); |
| 128 | 132 |
| 129 HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos ); | 133 HB_Error HB_GPOS_Clear_Features( HB_GPOSHeader* gpos ); |
| 130 | 134 |
| 131 | 135 |
| 136 #ifdef HB_SUPPORT_MULTIPLE_MASTER |
| 132 HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, | 137 HB_Error HB_GPOS_Register_MM_Function( HB_GPOSHeader* gpos, |
| 133 HB_MMFunction mmfunc, | 138 HB_MMFunction mmfunc, |
| 134 void* data ); | 139 void* data ); |
| 140 #endif |
| 135 | 141 |
| 136 /* If `dvi' is TRUE, glyph contour points for anchor points and device | 142 /* If `dvi' is TRUE, glyph contour points for anchor points and device |
| 137 tables are ignored -- you will get device independent values. */ | 143 tables are ignored -- you will get device independent values. */ |
| 138 | 144 |
| 139 | 145 |
| 140 HB_Error HB_GPOS_Apply_String( HB_Font font, | 146 HB_Error HB_GPOS_Apply_String( HB_Font font, |
| 141 HB_GPOSHeader* gpos, | 147 HB_GPOSHeader* gpos, |
| 142 HB_UShort load_flags, | 148 HB_UShort load_flags, |
| 143 HB_Buffer buffer, | 149 HB_Buffer buffer, |
| 144 HB_Bool dvi, | 150 HB_Bool dvi, |
| 145 HB_Bool r2l ); | 151 HB_Bool r2l ); |
| 146 | 152 |
| 147 HB_END_HEADER | 153 HB_END_HEADER |
| 148 | 154 |
| 149 #endif /* HARFBUZZ_GPOS_H */ | 155 #endif /* HARFBUZZ_GPOS_H */ |
| OLD | NEW |