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

Side by Side Diff: third_party/freetype/include/ftautoh.h

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Clean Up Created 6 years 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 /* */ 2 /* */
3 /* ftautoh.h */ 3 /* ftautoh.h */
4 /* */ 4 /* */
5 /* FreeType API for controlling the auto-hinter (specification only). */ 5 /* FreeType API for controlling the auto-hinter (specification only). */
6 /* */ 6 /* */
7 /* Copyright 2012, 2013 by */ 7 /* Copyright 2012, 2013 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */ 9 /* */
10 /* This file is part of the FreeType project, and may only be used, */ 10 /* This file is part of the FreeType project, and may only be used, */
11 /* modified, and distributed under the terms of the FreeType project */ 11 /* modified, and distributed under the terms of the FreeType project */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */ 13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */ 14 /* understand and accept it fully. */
15 /* */ 15 /* */
16 /***************************************************************************/ 16 /***************************************************************************/
17 17
18 18
19 #ifndef __FTAUTOH_H__ 19 #ifndef __FTAUTOH_H__
20 #define __FTAUTOH_H__ 20 #define __FTAUTOH_H__
21 21
22 #include "../ft2build.h" 22 #include <ft2build.h>
23 #include "freetype.h" 23 #include FT_FREETYPE_H
24 24
25 #ifdef FREETYPE_H 25 #ifdef FREETYPE_H
26 #error "freetype.h of FreeType 1 has been loaded!" 26 #error "freetype.h of FreeType 1 has been loaded!"
27 #error "Please fix the directory search order for header files" 27 #error "Please fix the directory search order for header files"
28 #error "so that freetype.h of FreeType 2 is found first." 28 #error "so that freetype.h of FreeType 2 is found first."
29 #endif 29 #endif
30 30
31 31
32 FT_BEGIN_HEADER 32 FT_BEGIN_HEADER
33 33
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 * OpenType fonts, however, often provide much more glyphs than 72 * OpenType fonts, however, often provide much more glyphs than
73 * character codes (small caps, superscripts, ligatures, swashes, etc.), 73 * character codes (small caps, superscripts, ligatures, swashes, etc.),
74 * to be controlled by so-called `features'. Handling OpenType features 74 * to be controlled by so-called `features'. Handling OpenType features
75 * can be quite complicated and thus needs a separate library on top of 75 * can be quite complicated and thus needs a separate library on top of
76 * FreeType. 76 * FreeType.
77 * 77 *
78 * The mapping between glyph indices and scripts (in the auto-hinter 78 * The mapping between glyph indices and scripts (in the auto-hinter
79 * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an 79 * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an
80 * array with `num_glyphs' elements, as found in the font's @FT_Face 80 * array with `num_glyphs' elements, as found in the font's @FT_Face
81 * structure. The `glyph-to-script-map' property returns a pointer to 81 * structure. The `glyph-to-script-map' property returns a pointer to
82 * this array which can be modified as needed. Note that the 82 * this array, which can be modified as needed. Note that the
83 * modification should happen before the first glyph gets processed by 83 * modification should happen before the first glyph gets processed by
84 * the auto-hinter so that the global analysis of the font shapes 84 * the auto-hinter so that the global analysis of the font shapes
85 * actually uses the modified mapping. 85 * actually uses the modified mapping.
86 * 86 *
87 * The following example code demonstrates how to access it (omitting 87 * The following example code demonstrates how to access it (omitting
88 * the error handling). 88 * the error handling).
89 * 89 *
90 * { 90 * {
91 * FT_Library library; 91 * FT_Library library;
92 * FT_Face face; 92 * FT_Face face;
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 * 238 *
239 * @struct: 239 * @struct:
240 * FT_Prop_GlyphToScriptMap 240 * FT_Prop_GlyphToScriptMap
241 * 241 *
242 * @description: 242 * @description:
243 * *Experimental* *only* 243 * *Experimental* *only*
244 * 244 *
245 * The data exchange structure for the @glyph-to-script-map property. 245 * The data exchange structure for the @glyph-to-script-map property.
246 * 246 *
247 */ 247 */
248 typedef struct FT_Prop_GlyphToScriptMap_ 248 typedef struct FT_Prop_GlyphToScriptMap_
249 { 249 {
250 FT_Face face; 250 FT_Face face;
251 FT_Byte* map; 251 FT_Byte* map;
252 252
253 } FT_Prop_GlyphToScriptMap; 253 } FT_Prop_GlyphToScriptMap;
254 254
255 255
256 /************************************************************************** 256 /**************************************************************************
257 * 257 *
258 * @property: 258 * @property:
259 * fallback-script 259 * fallback-script
260 * 260 *
261 * @description: 261 * @description:
262 * *Experimental* *only* 262 * *Experimental* *only*
263 * 263 *
(...skipping 11 matching lines...) Expand all
275 * FT_Init_FreeType( &library ); 275 * FT_Init_FreeType( &library );
276 * 276 *
277 * FT_Property_Set( library, "autofitter", 277 * FT_Property_Set( library, "autofitter",
278 * "fallback-script", &fallback_script ); 278 * "fallback-script", &fallback_script );
279 * } 279 * }
280 * 280 *
281 * @note: 281 * @note:
282 * This property can be used with @FT_Property_Get also. 282 * This property can be used with @FT_Property_Get also.
283 * 283 *
284 * It's important to use the right timing for changing this value: The 284 * It's important to use the right timing for changing this value: The
285 * creation of the glyph-to-script map which eventually uses the 285 * creation of the glyph-to-script map that eventually uses the
286 * fallback script value gets triggered either by setting or reading a 286 * fallback script value gets triggered either by setting or reading a
287 * face-specific property like @glyph-to-script-map, or by auto-hinting 287 * face-specific property like @glyph-to-script-map, or by auto-hinting
288 * any glyph from that face. In particular, if you have already created 288 * any glyph from that face. In particular, if you have already created
289 * an @FT_Face structure but not loaded any glyph (using the 289 * an @FT_Face structure but not loaded any glyph (using the
290 * auto-hinter), a change of the fallback glyph will affect this face. 290 * auto-hinter), a change of the fallback script will affect this face.
291 * 291 *
292 */ 292 */
293 293
294
295 /**************************************************************************
296 *
297 * @property:
298 * default-script
299 *
300 * @description:
301 * *Experimental* *only*
302 *
303 * If Freetype gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make
304 * the HarfBuzz library access OpenType features for getting better
305 * glyph coverages, this property sets the (auto-fitter) script to be
306 * used for the default (OpenType) script data of a font's GSUB table.
307 * Features for the default script are intended for all scripts not
308 * explicitly handled in GSUB; an example is a `dlig' feature,
309 * containing the combination of the characters `T', `E', and `L' to
310 * form a `TEL' ligature.
311 *
312 * By default, this is @FT_AUTOHINTER_SCRIPT_LATIN. Using the
313 * `default-script' property, this default value can be changed.
314 *
315 * {
316 * FT_Library library;
317 * FT_UInt default_script = FT_AUTOHINTER_SCRIPT_NONE;
318 *
319 *
320 * FT_Init_FreeType( &library );
321 *
322 * FT_Property_Set( library, "autofitter",
323 * "default-script", &default_script );
324 * }
325 *
326 * @note:
327 * This property can be used with @FT_Property_Get also.
328 *
329 * It's important to use the right timing for changing this value: The
330 * creation of the glyph-to-script map that eventually uses the
331 * default script value gets triggered either by setting or reading a
332 * face-specific property like @glyph-to-script-map, or by auto-hinting
333 * any glyph from that face. In particular, if you have already created
334 * an @FT_Face structure but not loaded any glyph (using the
335 * auto-hinter), a change of the default script will affect this face.
336 *
337 */
338
294 339
295 /************************************************************************** 340 /**************************************************************************
296 * 341 *
297 * @property: 342 * @property:
298 * increase-x-height 343 * increase-x-height
299 * 344 *
300 * @description: 345 * @description:
301 * For ppem values in the range 6~<= ppem <= `increase-x-height', round 346 * For ppem values in the range 6~<= ppem <= `increase-x-height', round
302 * up the font's x~height much more often than normally. If the value 347 * up the font's x~height much more often than normally. If the value
303 * is set to~0, which is the default, this feature is switched off. Use 348 * is set to~0, which is the default, this feature is switched off. Use
(...skipping 28 matching lines...) Expand all
332 377
333 /************************************************************************** 378 /**************************************************************************
334 * 379 *
335 * @struct: 380 * @struct:
336 * FT_Prop_IncreaseXHeight 381 * FT_Prop_IncreaseXHeight
337 * 382 *
338 * @description: 383 * @description:
339 * The data exchange structure for the @increase-x-height property. 384 * The data exchange structure for the @increase-x-height property.
340 * 385 *
341 */ 386 */
342 typedef struct FT_Prop_IncreaseXHeight_ 387 typedef struct FT_Prop_IncreaseXHeight_
343 { 388 {
344 FT_Face face; 389 FT_Face face;
345 FT_UInt limit; 390 FT_UInt limit;
346 391
347 } FT_Prop_IncreaseXHeight; 392 } FT_Prop_IncreaseXHeight;
348 393
394 /* */
349 395
350 /* */
351 396
352 FT_END_HEADER 397 FT_END_HEADER
353 398
354 #endif /* __FTAUTOH_H__ */ 399 #endif /* __FTAUTOH_H__ */
355 400
356 401
357 /* END */ 402 /* END */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698