| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 2 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 3 * | 3 * |
| 4 * This is part of HarfBuzz, an OpenType Layout engine library. | 4 * This is part of HarfBuzz, an OpenType Layout engine library. |
| 5 * | 5 * |
| 6 * Permission is hereby granted, without written agreement and without | 6 * Permission is hereby granted, without written agreement and without |
| 7 * license or royalty fees, to use, copy, modify, and distribute this | 7 * license or royalty fees, to use, copy, modify, and distribute this |
| 8 * software and its documentation for any purpose, provided that the | 8 * software and its documentation for any purpose, provided that the |
| 9 * above copyright notice and the following two paragraphs appear in | 9 * above copyright notice and the following two paragraphs appear in |
| 10 * all copies of this software. | 10 * all copies of this software. |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 | 147 |
| 148 | 148 |
| 149 typedef enum { | 149 typedef enum { |
| 150 HB_LeftToRight = 0, | 150 HB_LeftToRight = 0, |
| 151 HB_RightToLeft = 1 | 151 HB_RightToLeft = 1 |
| 152 } HB_StringToGlyphsFlags; | 152 } HB_StringToGlyphsFlags; |
| 153 | 153 |
| 154 typedef enum { | 154 typedef enum { |
| 155 HB_ShaperFlag_Default = 0, | 155 HB_ShaperFlag_Default = 0, |
| 156 HB_ShaperFlag_NoKerning = 1, | 156 HB_ShaperFlag_NoKerning = 1, |
| 157 HB_ShaperFlag_UseDesignMetrics = 2 | 157 HB_ShaperFlag_UseDesignMetrics = 1 << 1, |
| 158 /* Arabic vowels in some fonts (Times New Roman, at least) have |
| 159 non-zero advances, when they should be zero. Setting this shaper |
| 160 flag causes us to zero out the advances for mark glyphs. */ |
| 161 HB_ShaperFlag_ArabicHack = 1 << 2 |
| 158 } HB_ShaperFlag; | 162 } HB_ShaperFlag; |
| 159 | 163 |
| 160 /* | 164 /* |
| 161 highest value means highest priority for justification. Justification is done
by first inserting kashidas | 165 highest value means highest priority for justification. Justification is done
by first inserting kashidas |
| 162 starting with the highest priority positions, then stretching spaces, afterwa
rds extending inter char | 166 starting with the highest priority positions, then stretching spaces, afterwa
rds extending inter char |
| 163 spacing, and last spacing between arabic words. | 167 spacing, and last spacing between arabic words. |
| 164 NoJustification is for example set for arabic where no Kashida can be inserte
d or for diacritics. | 168 NoJustification is for example set for arabic where no Kashida can be inserte
d or for diacritics. |
| 165 */ | 169 */ |
| 166 typedef enum { | 170 typedef enum { |
| 167 HB_NoJustification= 0, /* Justification can't be applied after this glyph
*/ | 171 HB_NoJustification= 0, /* Justification can't be applied after this glyph
*/ |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 | 269 |
| 266 /* internal */ | 270 /* internal */ |
| 267 HB_Bool kerning_applied; /* output: true if kerning was appli
ed by the shaper */ | 271 HB_Bool kerning_applied; /* output: true if kerning was appli
ed by the shaper */ |
| 268 }; | 272 }; |
| 269 | 273 |
| 270 HB_Bool HB_ShapeItem(HB_ShaperItem *item); | 274 HB_Bool HB_ShapeItem(HB_ShaperItem *item); |
| 271 | 275 |
| 272 HB_END_HEADER | 276 HB_END_HEADER |
| 273 | 277 |
| 274 #endif | 278 #endif |
| OLD | NEW |