OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* ftmodapi.h */ | 3 /* ftmodapi.h */ |
4 /* */ | 4 /* */ |
5 /* FreeType modules public interface (specification). */ | 5 /* FreeType modules public interface (specification). */ |
6 /* */ | 6 /* */ |
7 /* Copyright 1996-2003, 2006, 2008-2010, 2012, 2013 by */ | 7 /* Copyright 1996-2003, 2006, 2008-2010, 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 __FTMODAPI_H__ | 19 #ifndef __FTMODAPI_H__ |
20 #define __FTMODAPI_H__ | 20 #define __FTMODAPI_H__ |
21 | 21 |
22 | 22 |
23 #include "../ft2build.h" | 23 #include <ft2build.h> |
24 #include "freetype.h" | 24 #include FT_FREETYPE_H |
25 | 25 |
26 #ifdef FREETYPE_H | 26 #ifdef FREETYPE_H |
27 #error "freetype.h of FreeType 1 has been loaded!" | 27 #error "freetype.h of FreeType 1 has been loaded!" |
28 #error "Please fix the directory search order for header files" | 28 #error "Please fix the directory search order for header files" |
29 #error "so that freetype.h of FreeType 2 is found first." | 29 #error "so that freetype.h of FreeType 2 is found first." |
30 #endif | 30 #endif |
31 | 31 |
32 | 32 |
33 FT_BEGIN_HEADER | 33 FT_BEGIN_HEADER |
34 | 34 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 /* smooth, smooth-lcd, smooth-lcdv */ | 68 /* smooth, smooth-lcd, smooth-lcdv */ |
69 /* truetype */ | 69 /* truetype */ |
70 /* type1 */ | 70 /* type1 */ |
71 /* type42 */ | 71 /* type42 */ |
72 /* t1cid */ | 72 /* t1cid */ |
73 /* winfonts */ | 73 /* winfonts */ |
74 /* } */ | 74 /* } */ |
75 /* */ | 75 /* */ |
76 /* Note that the FreeType Cache sub-system is not a FreeType module. */ | 76 /* Note that the FreeType Cache sub-system is not a FreeType module. */ |
77 /* */ | 77 /* */ |
| 78 /* <Order> */ |
| 79 /* FT_Module */ |
| 80 /* FT_Module_Constructor */ |
| 81 /* FT_Module_Destructor */ |
| 82 /* FT_Module_Requester */ |
| 83 /* FT_Module_Class */ |
| 84 /* */ |
| 85 /* FT_Add_Module */ |
| 86 /* FT_Get_Module */ |
| 87 /* FT_Remove_Module */ |
| 88 /* FT_Add_Default_Modules */ |
| 89 /* */ |
| 90 /* FT_Property_Set */ |
| 91 /* FT_Property_Get */ |
| 92 /* */ |
| 93 /* FT_New_Library */ |
| 94 /* FT_Done_Library */ |
| 95 /* FT_Reference_Library */ |
| 96 /* */ |
| 97 /* FT_Renderer */ |
| 98 /* FT_Renderer_Class */ |
| 99 /* */ |
| 100 /* FT_Get_Renderer */ |
| 101 /* FT_Set_Renderer */ |
| 102 /* */ |
| 103 /* FT_Set_Debug_Hook */ |
| 104 /* */ |
78 /*************************************************************************/ | 105 /*************************************************************************/ |
79 | 106 |
80 | 107 |
81 /* module bit flags */ | 108 /* module bit flags */ |
82 #define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ | 109 #define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ |
83 #define FT_MODULE_RENDERER 2 /* this module is a renderer */ | 110 #define FT_MODULE_RENDERER 2 /* this module is a renderer */ |
84 #define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ | 111 #define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ |
85 #define FT_MODULE_STYLER 8 /* this module is a styler */ | 112 #define FT_MODULE_STYLER 8 /* this module is a styler */ |
86 | 113 |
87 #define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ | 114 #define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 * module_name :: | 318 * module_name :: |
292 * The module name. | 319 * The module name. |
293 * | 320 * |
294 * property_name :: | 321 * property_name :: |
295 * The property name. Properties are described in the `Synopsis' | 322 * The property name. Properties are described in the `Synopsis' |
296 * subsection of the module's documentation. | 323 * subsection of the module's documentation. |
297 * | 324 * |
298 * Note that only a few modules have properties. | 325 * Note that only a few modules have properties. |
299 * | 326 * |
300 * value :: | 327 * value :: |
301 * A generic pointer to a variable or structure which gives the new | 328 * A generic pointer to a variable or structure that gives the new |
302 * value of the property. The exact definition of `value' is | 329 * value of the property. The exact definition of `value' is |
303 * dependent on the property; see the `Synopsis' subsection of the | 330 * dependent on the property; see the `Synopsis' subsection of the |
304 * module's documentation. | 331 * module's documentation. |
305 * | 332 * |
306 * @return: | 333 * @return: |
307 * FreeType error code. 0~means success. | 334 * FreeType error code. 0~means success. |
308 * | 335 * |
309 * @note: | 336 * @note: |
310 * If `module_name' isn't a valid module name, or `property_name' | 337 * If `module_name' isn't a valid module name, or `property_name' |
311 * doesn't specify a valid property, or if `value' doesn't represent a | 338 * doesn't specify a valid property, or if `value' doesn't represent a |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 * | 384 * |
358 * module_name :: | 385 * module_name :: |
359 * The module name. | 386 * The module name. |
360 * | 387 * |
361 * property_name :: | 388 * property_name :: |
362 * The property name. Properties are described in the `Synopsis' | 389 * The property name. Properties are described in the `Synopsis' |
363 * subsection of the module's documentation. | 390 * subsection of the module's documentation. |
364 * | 391 * |
365 * @inout: | 392 * @inout: |
366 * value :: | 393 * value :: |
367 * A generic pointer to a variable or structure which gives the | 394 * A generic pointer to a variable or structure that gives the |
368 * value of the property. The exact definition of `value' is | 395 * value of the property. The exact definition of `value' is |
369 * dependent on the property; see the `Synopsis' subsection of the | 396 * dependent on the property; see the `Synopsis' subsection of the |
370 * module's documentation. | 397 * module's documentation. |
371 * | 398 * |
372 * @return: | 399 * @return: |
373 * FreeType error code. 0~means success. | 400 * FreeType error code. 0~means success. |
374 * | 401 * |
375 * @note: | 402 * @note: |
376 * If `module_name' isn't a valid module name, or `property_name' | 403 * If `module_name' isn't a valid module name, or `property_name' |
377 * doesn't specify a valid property, or if `value' doesn't represent a | 404 * doesn't specify a valid property, or if `value' doesn't represent a |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 /* */ | 438 /* */ |
412 /* <Function> */ | 439 /* <Function> */ |
413 /* FT_Reference_Library */ | 440 /* FT_Reference_Library */ |
414 /* */ | 441 /* */ |
415 /* <Description> */ | 442 /* <Description> */ |
416 /* A counter gets initialized to~1 at the time an @FT_Library */ | 443 /* A counter gets initialized to~1 at the time an @FT_Library */ |
417 /* structure is created. This function increments the counter. */ | 444 /* structure is created. This function increments the counter. */ |
418 /* @FT_Done_Library then only destroys a library if the counter is~1, */ | 445 /* @FT_Done_Library then only destroys a library if the counter is~1, */ |
419 /* otherwise it simply decrements the counter. */ | 446 /* otherwise it simply decrements the counter. */ |
420 /* */ | 447 /* */ |
421 /* This function helps in managing life-cycles of structures which */ | 448 /* This function helps in managing life-cycles of structures that */ |
422 /* reference @FT_Library objects. */ | 449 /* reference @FT_Library objects. */ |
423 /* */ | 450 /* */ |
424 /* <Input> */ | 451 /* <Input> */ |
425 /* library :: A handle to a target library object. */ | 452 /* library :: A handle to a target library object. */ |
426 /* */ | 453 /* */ |
427 /* <Return> */ | 454 /* <Return> */ |
428 /* FreeType error code. 0~means success. */ | 455 /* FreeType error code. 0~means success. */ |
429 /* */ | 456 /* */ |
430 /* <Since> */ | 457 /* <Since> */ |
431 /* 2.4.2 */ | 458 /* 2.4.2 */ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 /* <Return> */ | 511 /* <Return> */ |
485 /* FreeType error code. 0~means success. */ | 512 /* FreeType error code. 0~means success. */ |
486 /* */ | 513 /* */ |
487 /* <Note> */ | 514 /* <Note> */ |
488 /* See the discussion of reference counters in the description of */ | 515 /* See the discussion of reference counters in the description of */ |
489 /* @FT_Reference_Library. */ | 516 /* @FT_Reference_Library. */ |
490 /* */ | 517 /* */ |
491 FT_EXPORT( FT_Error ) | 518 FT_EXPORT( FT_Error ) |
492 FT_Done_Library( FT_Library library ); | 519 FT_Done_Library( FT_Library library ); |
493 | 520 |
494 /* */ | 521 /* */ |
495 | 522 |
496 typedef void | 523 typedef void |
497 (*FT_DebugHook_Func)( void* arg ); | 524 (*FT_DebugHook_Func)( void* arg ); |
498 | 525 |
499 | 526 |
500 /*************************************************************************/ | 527 /*************************************************************************/ |
501 /* */ | 528 /* */ |
502 /* <Function> */ | 529 /* <Function> */ |
503 /* FT_Set_Debug_Hook */ | 530 /* FT_Set_Debug_Hook */ |
504 /* */ | 531 /* */ |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 * by the @FT_Get_TrueType_Engine_Type function. | 604 * by the @FT_Get_TrueType_Engine_Type function. |
578 * | 605 * |
579 * @values: | 606 * @values: |
580 * FT_TRUETYPE_ENGINE_TYPE_NONE :: | 607 * FT_TRUETYPE_ENGINE_TYPE_NONE :: |
581 * The library doesn't implement any kind of bytecode interpreter. | 608 * The library doesn't implement any kind of bytecode interpreter. |
582 * | 609 * |
583 * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: | 610 * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: |
584 * The library implements a bytecode interpreter that doesn't | 611 * The library implements a bytecode interpreter that doesn't |
585 * support the patented operations of the TrueType virtual machine. | 612 * support the patented operations of the TrueType virtual machine. |
586 * | 613 * |
587 * Its main use is to load certain Asian fonts which position and | 614 * Its main use is to load certain Asian fonts that position and |
588 * scale glyph components with bytecode instructions. It produces | 615 * scale glyph components with bytecode instructions. It produces |
589 * bad output for most other fonts. | 616 * bad output for most other fonts. |
590 * | 617 * |
591 * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: | 618 * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: |
592 * The library implements a bytecode interpreter that covers | 619 * The library implements a bytecode interpreter that covers |
593 * the full instruction set of the TrueType virtual machine (this | 620 * the full instruction set of the TrueType virtual machine (this |
594 * was governed by patents until May 2010, hence the name). | 621 * was governed by patents until May 2010, hence the name). |
595 * | 622 * |
596 * @since: | 623 * @since: |
597 * 2.2 | 624 * 2.2 |
(...skipping 24 matching lines...) Expand all Loading... |
622 * @return: | 649 * @return: |
623 * A value indicating which level is supported. | 650 * A value indicating which level is supported. |
624 * | 651 * |
625 * @since: | 652 * @since: |
626 * 2.2 | 653 * 2.2 |
627 * | 654 * |
628 */ | 655 */ |
629 FT_EXPORT( FT_TrueTypeEngineType ) | 656 FT_EXPORT( FT_TrueTypeEngineType ) |
630 FT_Get_TrueType_Engine_Type( FT_Library library ); | 657 FT_Get_TrueType_Engine_Type( FT_Library library ); |
631 | 658 |
632 | |
633 /* */ | 659 /* */ |
634 | 660 |
635 | 661 |
636 FT_END_HEADER | 662 FT_END_HEADER |
637 | 663 |
638 #endif /* __FTMODAPI_H__ */ | 664 #endif /* __FTMODAPI_H__ */ |
639 | 665 |
640 | 666 |
641 /* END */ | 667 /* END */ |
OLD | NEW |