cairo 1.12.2-x86-mingw32 → 1.12.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of cairo might be problematic. Click here for more details.

Files changed (90) hide show
  1. data/NEWS +48 -33
  2. data/README.rdoc +4 -1
  3. data/Rakefile +5 -9
  4. data/ext/cairo/depend +2 -1
  5. data/ext/cairo/extconf.rb +3 -1
  6. data/ext/cairo/rb_cairo.h +1 -1
  7. data/lib/1.8/cairo.so +0 -0
  8. data/lib/1.9/cairo.so +0 -0
  9. data/vendor/local/bin/freetype-config +2 -2
  10. data/vendor/local/bin/freetype6.dll +0 -0
  11. data/vendor/local/bin/libcairo-2.dll +0 -0
  12. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  13. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  14. data/vendor/local/bin/libexpat-1.dll +0 -0
  15. data/vendor/local/bin/libpng14-14.dll +0 -0
  16. data/vendor/local/bin/xmlwf.exe +0 -0
  17. data/vendor/local/include/expat.h +36 -3
  18. data/vendor/local/include/freetype2/freetype/config/ftconfig.h +83 -15
  19. data/vendor/local/include/freetype2/freetype/config/ftheader.h +14 -1
  20. data/vendor/local/include/freetype2/freetype/config/ftoption.h +76 -4
  21. data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +7 -6
  22. data/vendor/local/include/freetype2/freetype/freetype.h +98 -54
  23. data/vendor/local/include/freetype2/freetype/ftbbox.h +9 -1
  24. data/vendor/local/include/freetype2/freetype/ftbzip2.h +102 -0
  25. data/vendor/local/include/freetype2/freetype/ftcache.h +17 -2
  26. data/vendor/local/include/freetype2/freetype/ftchapters.h +1 -0
  27. data/vendor/local/include/freetype2/freetype/fterrdef.h +3 -2
  28. data/vendor/local/include/freetype2/freetype/fterrors.h +2 -1
  29. data/vendor/local/include/freetype2/freetype/ftgasp.h +11 -3
  30. data/vendor/local/include/freetype2/freetype/ftglyph.h +8 -1
  31. data/vendor/local/include/freetype2/freetype/ftimage.h +12 -0
  32. data/vendor/local/include/freetype2/freetype/ftmoderr.h +20 -19
  33. data/vendor/local/include/freetype2/freetype/ftoutln.h +25 -4
  34. data/vendor/local/include/freetype2/freetype/ftrender.h +8 -0
  35. data/vendor/local/include/freetype2/freetype/ftstroke.h +47 -12
  36. data/vendor/local/include/freetype2/freetype/ftsynth.h +4 -3
  37. data/vendor/local/include/freetype2/freetype/fttypes.h +2 -2
  38. data/vendor/local/include/freetype2/freetype/t1tables.h +160 -2
  39. data/vendor/local/include/freetype2/freetype/tttables.h +10 -5
  40. data/vendor/local/include/libpng14/png.h +310 -274
  41. data/vendor/local/include/libpng14/pngconf.h +82 -55
  42. data/vendor/local/include/png.h +310 -274
  43. data/vendor/local/include/pngconf.h +82 -55
  44. data/vendor/local/lib/cairo.lib +0 -0
  45. data/vendor/local/lib/expat.lib +0 -0
  46. data/vendor/local/lib/freetype.def +3 -0
  47. data/vendor/local/lib/freetype.lib +0 -0
  48. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  49. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  50. data/vendor/local/lib/libcairo.dll.a +0 -0
  51. data/vendor/local/lib/libexpat.dll.a +0 -0
  52. data/vendor/local/lib/libfreetype.dll.a +0 -0
  53. data/vendor/local/lib/libpng.lib +0 -0
  54. data/vendor/local/lib/libpng14.dll.a +0 -0
  55. data/vendor/local/lib/pkgconfig/cairo.pc +2 -2
  56. data/vendor/local/lib/pkgconfig/freetype2.pc +2 -2
  57. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  58. data/vendor/local/lib/pkgconfig/libpng14.pc +1 -1
  59. data/vendor/local/manifest/{cairo-dev_1.10.2-1_win32.mft → cairo-dev_1.10.2-2_win32.mft} +3 -3
  60. data/vendor/local/manifest/cairo_1.10.2-2_win32.mft +7 -0
  61. data/vendor/local/manifest/expat-dev_2.1.0-1_win32.mft +10 -0
  62. data/vendor/local/manifest/expat_2.1.0-1_win32.mft +2 -0
  63. data/vendor/local/manifest/{freetype-dev_2.4.2-1_win32.mft → freetype-dev_2.4.10-1_win32.mft} +4 -3
  64. data/vendor/local/manifest/freetype_2.4.10-1_win32.mft +2 -0
  65. data/vendor/local/manifest/{libpng-dev_1.4.3-1_win32.mft → libpng-dev_1.4.12-1_win32.mft} +3 -3
  66. data/vendor/local/manifest/libpng_1.4.12-1_win32.mft +2 -0
  67. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING +0 -0
  68. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-LGPL-2.1 +0 -0
  69. data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-MPL-1.1 +0 -0
  70. data/vendor/local/{man → share/man}/man1/xmlwf.1 +0 -0
  71. data/vendor/local/share/man/man3/libpng.3 +288 -138
  72. data/vendor/local/share/man/man3/libpngpf.3 +5 -11
  73. data/vendor/local/share/man/man5/png.5 +2 -2
  74. data/vendor/local/src/{tml/packaging/cairo_1.10.2-1_win32.log → dieterv/packaging/cairo_1.10.2-2_win32.log} +346 -300
  75. data/vendor/local/src/dieterv/packaging/cairo_1.10.2-2_win32.sh +251 -0
  76. data/vendor/local/src/dieterv/packaging/expat_2.1.0-1_win32.log +181 -0
  77. data/vendor/local/src/{tml/packaging/expat_2.0.1-1_win32.sh → dieterv/packaging/expat_2.1.0-1_win32.sh} +20 -12
  78. data/vendor/local/src/dieterv/packaging/freetype_2.4.10-1_win32.log +363 -0
  79. data/vendor/local/src/{tml/packaging/freetype_2.4.2-1_win32.sh → dieterv/packaging/freetype_2.4.10-1_win32.sh} +10 -11
  80. data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.log → dieterv/packaging/libpng_1.4.12-1_win32.log} +132 -121
  81. data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.sh → dieterv/packaging/libpng_1.4.12-1_win32.sh} +10 -10
  82. metadata +31 -30
  83. data/vendor/local/manifest/cairo_1.10.2-1_win32.mft +0 -7
  84. data/vendor/local/manifest/expat-dev_2.0.1-1_win32.mft +0 -10
  85. data/vendor/local/manifest/expat_2.0.1-1_win32.mft +0 -2
  86. data/vendor/local/manifest/freetype_2.4.2-1_win32.mft +0 -2
  87. data/vendor/local/manifest/libpng_1.4.3-1_win32.mft +0 -2
  88. data/vendor/local/src/tml/packaging/cairo_1.10.2-1_win32.sh +0 -84
  89. data/vendor/local/src/tml/packaging/expat_2.0.1-1_win32.log +0 -188
  90. data/vendor/local/src/tml/packaging/freetype_2.4.2-1_win32.log +0 -364
@@ -4,7 +4,7 @@
4
4
  /* */
5
5
  /* Build macros of the FreeType 2 library. */
6
6
  /* */
7
- /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
7
+ /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 by */
8
8
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9
9
  /* */
10
10
  /* This file is part of the FreeType project, and may only be used, */
@@ -424,6 +424,19 @@
424
424
  #define FT_LZW_H <freetype/ftlzw.h>
425
425
 
426
426
 
427
+ /*************************************************************************
428
+ *
429
+ * @macro:
430
+ * FT_BZIP2_H
431
+ *
432
+ * @description:
433
+ * A macro used in #include statements to name the file containing the
434
+ * definitions of an API which supports bzip2-compressed files.
435
+ *
436
+ */
437
+ #define FT_BZIP2_H <freetype/ftbzip2.h>
438
+
439
+
427
440
  /*************************************************************************
428
441
  *
429
442
  * @macro:
@@ -4,8 +4,7 @@
4
4
  /* */
5
5
  /* User-selectable configuration macros (specification only). */
6
6
  /* */
7
- /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
8
- /* 2010 by */
7
+ /* Copyright 1996-2012 by */
9
8
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
9
  /* */
11
10
  /* This file is part of the FreeType project, and may only be used, */
@@ -188,6 +187,33 @@ FT_BEGIN_HEADER
188
187
  /* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
189
188
 
190
189
 
190
+ /*************************************************************************/
191
+ /* */
192
+ /* Bzip2-compressed file support. */
193
+ /* */
194
+ /* FreeType now handles font files that have been compressed with the */
195
+ /* `bzip2' program. This is mostly used to parse many of the PCF */
196
+ /* files that come with XFree86. The implementation uses `libbz2' to */
197
+ /* partially uncompress the file on the fly (see src/bzip2/ftbzip2.c). */
198
+ /* Contrary to gzip, bzip2 currently is not included and need to use */
199
+ /* the system available bzip2 implementation. */
200
+ /* */
201
+ /* Define this macro if you want to enable this `feature'. */
202
+ /* */
203
+ /* #define FT_CONFIG_OPTION_USE_BZIP2 */
204
+
205
+
206
+ /*************************************************************************/
207
+ /* */
208
+ /* Define to disable the use of file stream functions and types, FILE, */
209
+ /* fopen() etc. Enables the use of smaller system libraries on embedded */
210
+ /* systems that have multiple system libraries, some with or without */
211
+ /* file stream support, in the cases where file stream support is not */
212
+ /* necessary such as memory loading of font files. */
213
+ /* */
214
+ /* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */
215
+
216
+
191
217
  /*************************************************************************/
192
218
  /* */
193
219
  /* DLL export compilation */
@@ -363,6 +389,39 @@ FT_BEGIN_HEADER
363
389
  /* #define FT_DEBUG_LEVEL_TRACE */
364
390
 
365
391
 
392
+ /*************************************************************************/
393
+ /* */
394
+ /* Autofitter debugging */
395
+ /* */
396
+ /* If FT_DEBUG_AUTOFIT is defined, FreeType provides some means to */
397
+ /* control the autofitter behaviour for debugging purposes with global */
398
+ /* boolean variables (consequently, you should *never* enable this */
399
+ /* while compiling in `release' mode): */
400
+ /* */
401
+ /* _af_debug_disable_horz_hints */
402
+ /* _af_debug_disable_vert_hints */
403
+ /* _af_debug_disable_blue_hints */
404
+ /* */
405
+ /* Additionally, the following functions provide dumps of various */
406
+ /* internal autofit structures to stdout (using `printf'): */
407
+ /* */
408
+ /* af_glyph_hints_dump_points */
409
+ /* af_glyph_hints_dump_segments */
410
+ /* af_glyph_hints_dump_edges */
411
+ /* */
412
+ /* As an argument, they use another global variable: */
413
+ /* */
414
+ /* _af_debug_hints */
415
+ /* */
416
+ /* Please have a look at the `ftgrid' demo program to see how those */
417
+ /* variables and macros should be used. */
418
+ /* */
419
+ /* Do not #undef these macros here since the build system might define */
420
+ /* them for certain configurations only. */
421
+ /* */
422
+ /* #define FT_DEBUG_AUTOFIT */
423
+
424
+
366
425
  /*************************************************************************/
367
426
  /* */
368
427
  /* Memory Debugging */
@@ -575,7 +634,7 @@ FT_BEGIN_HEADER
575
634
  /* composite flags array which can be used to disambiguate, but old */
576
635
  /* fonts will not have them. */
577
636
  /* */
578
- /* http://partners.adobe.com/asn/developer/opentype/glyf.html */
637
+ /* http://www.microsoft.com/typography/otspec/glyf.htm */
579
638
  /* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */
580
639
  /* */
581
640
  #undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
@@ -610,7 +669,7 @@ FT_BEGIN_HEADER
610
669
 
611
670
  /*************************************************************************/
612
671
  /* */
613
- /* T1_MAX_DICT_DEPTH is the maximal depth of nest dictionaries and */
672
+ /* T1_MAX_DICT_DEPTH is the maximum depth of nest dictionaries and */
614
673
  /* arrays in the Type 1 stream (see t1load.c). A minimum of 4 is */
615
674
  /* required. */
616
675
  /* */
@@ -676,6 +735,19 @@ FT_BEGIN_HEADER
676
735
  /* */
677
736
  #define AF_CONFIG_OPTION_INDIC
678
737
 
738
+ /*************************************************************************/
739
+ /* */
740
+ /* Compile autofit module with warp hinting. The idea of the warping */
741
+ /* code is to slightly scale and shift a glyph within a single dimension */
742
+ /* so that as much of its segments are aligned (more or less) on the */
743
+ /* grid. To find out the optimal scaling and shifting value, various */
744
+ /* parameter combinations are tried and scored. */
745
+ /* */
746
+ /* This experimental option is only active if the render mode is */
747
+ /* FT_RENDER_MODE_LIGHT. */
748
+ /* */
749
+ /* #define AF_CONFIG_OPTION_USE_WARPER */
750
+
679
751
  /* */
680
752
 
681
753
 
@@ -5,7 +5,7 @@
5
5
  /* ANSI-specific library and header configuration file (specification */
6
6
  /* only). */
7
7
  /* */
8
- /* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
8
+ /* Copyright 2002-2007, 2009, 2011 by */
9
9
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
10
  /* */
11
11
  /* This file is part of the FreeType project, and may only be used, */
@@ -59,11 +59,12 @@
59
59
 
60
60
  #include <limits.h>
61
61
 
62
- #define FT_CHAR_BIT CHAR_BIT
63
- #define FT_INT_MAX INT_MAX
64
- #define FT_INT_MIN INT_MIN
65
- #define FT_UINT_MAX UINT_MAX
66
- #define FT_ULONG_MAX ULONG_MAX
62
+ #define FT_CHAR_BIT CHAR_BIT
63
+ #define FT_USHORT_MAX USHRT_MAX
64
+ #define FT_INT_MAX INT_MAX
65
+ #define FT_INT_MIN INT_MIN
66
+ #define FT_UINT_MAX UINT_MAX
67
+ #define FT_ULONG_MAX ULONG_MAX
67
68
 
68
69
 
69
70
  /**********************************************************************/
@@ -4,8 +4,7 @@
4
4
  /* */
5
5
  /* FreeType high-level API and common types (specification only). */
6
6
  /* */
7
- /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */
8
- /* 2010 by */
7
+ /* Copyright 1996-2012 by */
9
8
  /* David Turner, Robert Wilhelm, and Werner Lemberg. */
10
9
  /* */
11
10
  /* This file is part of the FreeType project, and may only be used, */
@@ -17,6 +16,10 @@
17
16
  /***************************************************************************/
18
17
 
19
18
 
19
+ #ifndef __FREETYPE_H__
20
+ #define __FREETYPE_H__
21
+
22
+
20
23
  #ifndef FT_FREETYPE_H
21
24
  #error "`ft2build.h' hasn't been included yet!"
22
25
  #error "Please always use macros to include FreeType header files."
@@ -26,10 +29,6 @@
26
29
  #endif
27
30
 
28
31
 
29
- #ifndef __FREETYPE_H__
30
- #define __FREETYPE_H__
31
-
32
-
33
32
  #include <ft2build.h>
34
33
  #include FT_CONFIG_CONFIG_H
35
34
  #include FT_ERRORS_H
@@ -227,15 +226,21 @@ FT_BEGIN_HEADER
227
226
  /* Left side bearing for vertical layout. */
228
227
  /* */
229
228
  /* vertBearingY :: */
230
- /* Top side bearing for vertical layout. */
229
+ /* Top side bearing for vertical layout. Larger positive values */
230
+ /* mean further below the vertical glyph origin. */
231
231
  /* */
232
232
  /* vertAdvance :: */
233
- /* Advance height for vertical layout. */
233
+ /* Advance height for vertical layout. Positive values mean the */
234
+ /* glyph has a positive advance downward. */
234
235
  /* */
235
236
  /* <Note> */
236
237
  /* If not disabled with @FT_LOAD_NO_HINTING, the values represent */
237
238
  /* dimensions of the hinted glyph (in case hinting is applicable). */
238
239
  /* */
240
+ /* Stroking a glyph with an outside border does not increase */
241
+ /* `horiAdvance' or `vertAdvance'; you have to manually adjust these */
242
+ /* values to account for the added width and height. */
243
+ /* */
239
244
  typedef struct FT_Glyph_Metrics_
240
245
  {
241
246
  FT_Pos width;
@@ -843,8 +848,8 @@ FT_BEGIN_HEADER
843
848
  /* expressed in font units (see */
844
849
  /* `units_per_EM'). The box is large enough */
845
850
  /* to contain any glyph from the font. Thus, */
846
- /* `bbox.yMax' can be seen as the `maximal */
847
- /* ascender', and `bbox.yMin' as the `minimal */
851
+ /* `bbox.yMax' can be seen as the `maximum */
852
+ /* ascender', and `bbox.yMin' as the `minimum */
848
853
  /* descender'. Only relevant for scalable */
849
854
  /* formats. */
850
855
  /* */
@@ -876,13 +881,13 @@ FT_BEGIN_HEADER
876
881
  /* positive. Only relevant for scalable */
877
882
  /* formats. */
878
883
  /* */
879
- /* max_advance_width :: The maximal advance width, in font units, */
884
+ /* max_advance_width :: The maximum advance width, in font units, */
880
885
  /* for all glyphs in this face. This can be */
881
886
  /* used to make word wrapping computations */
882
887
  /* faster. Only relevant for scalable */
883
888
  /* formats. */
884
889
  /* */
885
- /* max_advance_height :: The maximal advance height, in font units, */
890
+ /* max_advance_height :: The maximum advance height, in font units, */
886
891
  /* for all glyphs in this face. This is only */
887
892
  /* relevant for vertical layouts, and is set */
888
893
  /* to `height' for fonts that do not provide */
@@ -957,8 +962,8 @@ FT_BEGIN_HEADER
957
962
 
958
963
  FT_ListRec sizes_list;
959
964
 
960
- FT_Generic autohint;
961
- void* extensions;
965
+ FT_Generic autohint; /* face-specific auto-hinter data */
966
+ void* extensions; /* unused */
962
967
 
963
968
  FT_Face_Internal internal;
964
969
 
@@ -1058,12 +1063,12 @@ FT_BEGIN_HEADER
1058
1063
  /* */
1059
1064
  /* It is not possible to autohint such fonts using */
1060
1065
  /* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
1061
- /* @FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING */
1066
+ /* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */
1062
1067
  /* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
1063
1068
  /* probably never want this except for demonstration purposes. */
1064
1069
  /* */
1065
- /* Currently, there are six TrueType fonts in the list of tricky */
1066
- /* fonts; they are hard-coded in file `ttobjs.c'. */
1070
+ /* Currently, there are about a dozen TrueType fonts in the list of */
1071
+ /* tricky fonts; they are hard-coded in file `ttobjs.c'. */
1067
1072
  /* */
1068
1073
  #define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
1069
1074
  #define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
@@ -1337,7 +1342,7 @@ FT_BEGIN_HEADER
1337
1342
  /* height :: The height in 26.6 fractional pixels. See */
1338
1343
  /* @FT_FaceRec for the details. */
1339
1344
  /* */
1340
- /* max_advance :: The maximal advance width in 26.6 fractional */
1345
+ /* max_advance :: The maximum advance width in 26.6 fractional */
1341
1346
  /* pixels. See @FT_FaceRec for the details. */
1342
1347
  /* */
1343
1348
  /* <Note> */
@@ -1667,6 +1672,9 @@ FT_BEGIN_HEADER
1667
1672
  /* use @FT_New_Library instead, followed by a call to */
1668
1673
  /* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */
1669
1674
  /* */
1675
+ /* For multi-threading applications each thread should have its own */
1676
+ /* FT_Library object. */
1677
+ /* */
1670
1678
  FT_EXPORT( FT_Error )
1671
1679
  FT_Init_FreeType( FT_Library *alibrary );
1672
1680
 
@@ -1952,6 +1960,10 @@ FT_BEGIN_HEADER
1952
1960
  /* Each new face object created with this function also owns a */
1953
1961
  /* default @FT_Size object, accessible as `face->size'. */
1954
1962
  /* */
1963
+ /* One @FT_Library instance can have multiple face objects, this is, */
1964
+ /* @FT_Open_Face and its siblings can be called multiple times using */
1965
+ /* the same `library' argument. */
1966
+ /* */
1955
1967
  /* See the discussion of reference counters in the description of */
1956
1968
  /* @FT_Reference_Face. */
1957
1969
  /* */
@@ -2106,8 +2118,8 @@ FT_BEGIN_HEADER
2106
2118
  /* used to determine both scaling values. */
2107
2119
  /* */
2108
2120
  /* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */
2109
- /* The real dimension. The sum of the the `Ascender' and (minus */
2110
- /* of) the `Descender' fields of @FT_FaceRec are used to determine */
2121
+ /* The real dimension. The sum of the the `ascender' and (minus */
2122
+ /* of) the `descender' fields of @FT_FaceRec are used to determine */
2111
2123
  /* both scaling values. */
2112
2124
  /* */
2113
2125
  /* FT_SIZE_REQUEST_TYPE_BBOX :: */
@@ -2444,14 +2456,13 @@ FT_BEGIN_HEADER
2444
2456
  * during glyph loading. This is mostly used to detect broken glyphs
2445
2457
  * in fonts. By default, FreeType tries to handle broken fonts also.
2446
2458
  *
2447
- * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
2448
- * Indicates that the font driver should ignore the global advance
2449
- * width defined in the font. By default, that value is used as the
2450
- * advance width for all glyphs when the face has
2451
- * @FT_FACE_FLAG_FIXED_WIDTH set.
2459
+ * In particular, errors from the TrueType bytecode engine are not
2460
+ * passed to the application if this flag is not set; this might
2461
+ * result in partially hinted or distorted glyphs in case a glyph's
2462
+ * bytecode is buggy.
2452
2463
  *
2453
- * This flag exists for historical reasons (to support buggy CJK
2454
- * fonts).
2464
+ * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
2465
+ * Ignored. Deprecated.
2455
2466
  *
2456
2467
  * FT_LOAD_NO_RECURSE ::
2457
2468
  * This flag is only used internally. It merely indicates that the
@@ -2500,28 +2511,35 @@ FT_BEGIN_HEADER
2500
2511
  * Besides deciding which hinter to use, you can also decide which
2501
2512
  * hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details.
2502
2513
  *
2514
+ * Note that the auto-hinter needs a valid Unicode cmap (either a native
2515
+ * one or synthesized by FreeType) for producing correct results. If a
2516
+ * font provides an incorrect mapping (for example, assigning the
2517
+ * character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a
2518
+ * mathematical integral sign), the auto-hinter might produce useless
2519
+ * results.
2520
+ *
2503
2521
  */
2504
2522
  #define FT_LOAD_DEFAULT 0x0
2505
- #define FT_LOAD_NO_SCALE 0x1
2506
- #define FT_LOAD_NO_HINTING 0x2
2507
- #define FT_LOAD_RENDER 0x4
2508
- #define FT_LOAD_NO_BITMAP 0x8
2509
- #define FT_LOAD_VERTICAL_LAYOUT 0x10
2510
- #define FT_LOAD_FORCE_AUTOHINT 0x20
2511
- #define FT_LOAD_CROP_BITMAP 0x40
2512
- #define FT_LOAD_PEDANTIC 0x80
2513
- #define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH 0x200
2514
- #define FT_LOAD_NO_RECURSE 0x400
2515
- #define FT_LOAD_IGNORE_TRANSFORM 0x800
2516
- #define FT_LOAD_MONOCHROME 0x1000
2517
- #define FT_LOAD_LINEAR_DESIGN 0x2000
2518
- #define FT_LOAD_NO_AUTOHINT 0x8000U
2523
+ #define FT_LOAD_NO_SCALE ( 1L << 0 )
2524
+ #define FT_LOAD_NO_HINTING ( 1L << 1 )
2525
+ #define FT_LOAD_RENDER ( 1L << 2 )
2526
+ #define FT_LOAD_NO_BITMAP ( 1L << 3 )
2527
+ #define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 )
2528
+ #define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 )
2529
+ #define FT_LOAD_CROP_BITMAP ( 1L << 6 )
2530
+ #define FT_LOAD_PEDANTIC ( 1L << 7 )
2531
+ #define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 )
2532
+ #define FT_LOAD_NO_RECURSE ( 1L << 10 )
2533
+ #define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 )
2534
+ #define FT_LOAD_MONOCHROME ( 1L << 12 )
2535
+ #define FT_LOAD_LINEAR_DESIGN ( 1L << 13 )
2536
+ #define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
2519
2537
 
2520
2538
  /* */
2521
2539
 
2522
2540
  /* used internally only by certain font drivers! */
2523
- #define FT_LOAD_ADVANCE_ONLY 0x100
2524
- #define FT_LOAD_SBITS_ONLY 0x4000
2541
+ #define FT_LOAD_ADVANCE_ONLY ( 1L << 8 )
2542
+ #define FT_LOAD_SBITS_ONLY ( 1L << 14 )
2525
2543
 
2526
2544
 
2527
2545
  /**************************************************************************
@@ -2573,7 +2591,8 @@ FT_BEGIN_HEADER
2573
2591
  *
2574
2592
  * If @FT_LOAD_RENDER is also set, the glyph is rendered in the
2575
2593
  * corresponding mode (i.e., the mode which matches the used algorithm
2576
- * best) unless @FT_LOAD_MONOCHROME is set.
2594
+ * best). An exeption is FT_LOAD_TARGET_MONO since it implies
2595
+ * @FT_LOAD_MONOCHROME.
2577
2596
  *
2578
2597
  * You can use a hinting algorithm that doesn't correspond to the same
2579
2598
  * rendering mode. As an example, it is possible to use the `light'
@@ -2874,14 +2893,26 @@ FT_BEGIN_HEADER
2874
2893
  /* */
2875
2894
  /* point_size :: The point size in 16.16 fractional points. */
2876
2895
  /* */
2877
- /* degree :: The degree of tightness. */
2896
+ /* degree :: The degree of tightness. Increasingly negative */
2897
+ /* values represent tighter track kerning, while */
2898
+ /* increasingly positive values represent looser track */
2899
+ /* kerning. Value zero means no track kerning. */
2878
2900
  /* */
2879
2901
  /* <Output> */
2880
- /* akerning :: The kerning in 16.16 fractional points. */
2902
+ /* akerning :: The kerning in 16.16 fractional points, to be */
2903
+ /* uniformly applied between all glyphs. */
2881
2904
  /* */
2882
2905
  /* <Return> */
2883
2906
  /* FreeType error code. 0~means success. */
2884
2907
  /* */
2908
+ /* <Note> */
2909
+ /* Currently, only the Type~1 font driver supports track kerning, */
2910
+ /* using data from AFM files (if attached with @FT_Attach_File or */
2911
+ /* @FT_Attach_Stream). */
2912
+ /* */
2913
+ /* Only very few AFM files come with track kerning data; please refer */
2914
+ /* to the Adobe's AFM specification for more details. */
2915
+ /* */
2885
2916
  FT_EXPORT( FT_Error )
2886
2917
  FT_Get_Track_Kerning( FT_Face face,
2887
2918
  FT_Fixed point_size,
@@ -2903,7 +2934,7 @@ FT_BEGIN_HEADER
2903
2934
  /* */
2904
2935
  /* glyph_index :: The glyph index. */
2905
2936
  /* */
2906
- /* buffer_max :: The maximal number of bytes available in the */
2937
+ /* buffer_max :: The maximum number of bytes available in the */
2907
2938
  /* buffer. */
2908
2939
  /* */
2909
2940
  /* <Output> */
@@ -2921,6 +2952,10 @@ FT_BEGIN_HEADER
2921
2952
  /* The glyph name is truncated to fit within the buffer if it is too */
2922
2953
  /* long. The returned string is always zero-terminated. */
2923
2954
  /* */
2955
+ /* Be aware that FreeType reorders glyph indices internally so that */
2956
+ /* glyph index~0 always corresponds to the `missing glyph' (called */
2957
+ /* `.notdef'). */
2958
+ /* */
2924
2959
  /* This function is not compiled within the library if the config */
2925
2960
  /* macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in */
2926
2961
  /* `include/freetype/config/ftoptions.h'. */
@@ -3058,9 +3093,15 @@ FT_BEGIN_HEADER
3058
3093
  /* <Note> */
3059
3094
  /* If you use FreeType to manipulate the contents of font files */
3060
3095
  /* directly, be aware that the glyph index returned by this function */
3061
- /* doesn't always correspond to the internal indices used within */
3062
- /* the file. This is done to ensure that value~0 always corresponds */
3063
- /* to the `missing glyph'. */
3096
+ /* doesn't always correspond to the internal indices used within the */
3097
+ /* file. This is done to ensure that value~0 always corresponds to */
3098
+ /* the `missing glyph'. If the first glyph is not named `.notdef', */
3099
+ /* then for Type~1 and Type~42 fonts, `.notdef' will be moved into */
3100
+ /* the glyph ID~0 position, and whatever was there will be moved to */
3101
+ /* the position `.notdef' had. For Type~1 fonts, if there is no */
3102
+ /* `.notdef' glyph at all, then one will be created at index~0 and */
3103
+ /* whatever was there will be moved to the last index -- Type~42 */
3104
+ /* fonts are considered invalid under this condition. */
3064
3105
  /* */
3065
3106
  FT_EXPORT( FT_UInt )
3066
3107
  FT_Get_Char_Index( FT_Face face,
@@ -3331,6 +3372,9 @@ FT_BEGIN_HEADER
3331
3372
  /* in the @PS_FontInfoRec structure which is only guaranteed to */
3332
3373
  /* return the correct results for Type~1 fonts. */
3333
3374
  /* */
3375
+ /* <Since> */
3376
+ /* 2.3.8 */
3377
+ /* */
3334
3378
  FT_EXPORT( FT_UShort )
3335
3379
  FT_Get_FSType_Flags( FT_Face face );
3336
3380
 
@@ -3588,7 +3632,7 @@ FT_BEGIN_HEADER
3588
3632
  /* */
3589
3633
  /* <Description> */
3590
3634
  /* A very simple function used to perform the computation `(a*b)/c' */
3591
- /* with maximal accuracy (it uses a 64-bit intermediate integer */
3635
+ /* with maximum accuracy (it uses a 64-bit intermediate integer */
3592
3636
  /* whenever necessary). */
3593
3637
  /* */
3594
3638
  /* This function isn't necessarily as fast as some processor specific */
@@ -3623,7 +3667,7 @@ FT_BEGIN_HEADER
3623
3667
  /* */
3624
3668
  /* <Description> */
3625
3669
  /* A very simple function used to perform the computation */
3626
- /* `(a*b)/0x10000' with maximal accuracy. Most of the time this is */
3670
+ /* `(a*b)/0x10000' with maximum accuracy. Most of the time this is */
3627
3671
  /* used to multiply a given value by a 16.16 fixed float factor. */
3628
3672
  /* */
3629
3673
  /* <Input> */
@@ -3668,7 +3712,7 @@ FT_BEGIN_HEADER
3668
3712
  /* */
3669
3713
  /* <Description> */
3670
3714
  /* A very simple function used to perform the computation */
3671
- /* `(a*0x10000)/b' with maximal accuracy. Most of the time, this is */
3715
+ /* `(a*0x10000)/b' with maximum accuracy. Most of the time, this is */
3672
3716
  /* used to divide a given value by a 16.16 fixed float factor. */
3673
3717
  /* */
3674
3718
  /* <Input> */
@@ -3808,7 +3852,7 @@ FT_BEGIN_HEADER
3808
3852
  */
3809
3853
  #define FREETYPE_MAJOR 2
3810
3854
  #define FREETYPE_MINOR 4
3811
- #define FREETYPE_PATCH 2
3855
+ #define FREETYPE_PATCH 10
3812
3856
 
3813
3857
 
3814
3858
  /*************************************************************************/