Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: third_party/harfbuzz/src/harfbuzz-shaper.h

Issue 543067: linux: hack around arabic advances in harfbuzz (Closed)
Patch Set: with comments Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698