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.
- data/NEWS +48 -33
- data/README.rdoc +4 -1
- data/Rakefile +5 -9
- data/ext/cairo/depend +2 -1
- data/ext/cairo/extconf.rb +3 -1
- data/ext/cairo/rb_cairo.h +1 -1
- data/lib/1.8/cairo.so +0 -0
- data/lib/1.9/cairo.so +0 -0
- data/vendor/local/bin/freetype-config +2 -2
- data/vendor/local/bin/freetype6.dll +0 -0
- data/vendor/local/bin/libcairo-2.dll +0 -0
- data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
- data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
- data/vendor/local/bin/libexpat-1.dll +0 -0
- data/vendor/local/bin/libpng14-14.dll +0 -0
- data/vendor/local/bin/xmlwf.exe +0 -0
- data/vendor/local/include/expat.h +36 -3
- data/vendor/local/include/freetype2/freetype/config/ftconfig.h +83 -15
- data/vendor/local/include/freetype2/freetype/config/ftheader.h +14 -1
- data/vendor/local/include/freetype2/freetype/config/ftoption.h +76 -4
- data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +7 -6
- data/vendor/local/include/freetype2/freetype/freetype.h +98 -54
- data/vendor/local/include/freetype2/freetype/ftbbox.h +9 -1
- data/vendor/local/include/freetype2/freetype/ftbzip2.h +102 -0
- data/vendor/local/include/freetype2/freetype/ftcache.h +17 -2
- data/vendor/local/include/freetype2/freetype/ftchapters.h +1 -0
- data/vendor/local/include/freetype2/freetype/fterrdef.h +3 -2
- data/vendor/local/include/freetype2/freetype/fterrors.h +2 -1
- data/vendor/local/include/freetype2/freetype/ftgasp.h +11 -3
- data/vendor/local/include/freetype2/freetype/ftglyph.h +8 -1
- data/vendor/local/include/freetype2/freetype/ftimage.h +12 -0
- data/vendor/local/include/freetype2/freetype/ftmoderr.h +20 -19
- data/vendor/local/include/freetype2/freetype/ftoutln.h +25 -4
- data/vendor/local/include/freetype2/freetype/ftrender.h +8 -0
- data/vendor/local/include/freetype2/freetype/ftstroke.h +47 -12
- data/vendor/local/include/freetype2/freetype/ftsynth.h +4 -3
- data/vendor/local/include/freetype2/freetype/fttypes.h +2 -2
- data/vendor/local/include/freetype2/freetype/t1tables.h +160 -2
- data/vendor/local/include/freetype2/freetype/tttables.h +10 -5
- data/vendor/local/include/libpng14/png.h +310 -274
- data/vendor/local/include/libpng14/pngconf.h +82 -55
- data/vendor/local/include/png.h +310 -274
- data/vendor/local/include/pngconf.h +82 -55
- data/vendor/local/lib/cairo.lib +0 -0
- data/vendor/local/lib/expat.lib +0 -0
- data/vendor/local/lib/freetype.def +3 -0
- data/vendor/local/lib/freetype.lib +0 -0
- data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libexpat.dll.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libpng.lib +0 -0
- data/vendor/local/lib/libpng14.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/cairo.pc +2 -2
- data/vendor/local/lib/pkgconfig/freetype2.pc +2 -2
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng14.pc +1 -1
- data/vendor/local/manifest/{cairo-dev_1.10.2-1_win32.mft → cairo-dev_1.10.2-2_win32.mft} +3 -3
- data/vendor/local/manifest/cairo_1.10.2-2_win32.mft +7 -0
- data/vendor/local/manifest/expat-dev_2.1.0-1_win32.mft +10 -0
- data/vendor/local/manifest/expat_2.1.0-1_win32.mft +2 -0
- data/vendor/local/manifest/{freetype-dev_2.4.2-1_win32.mft → freetype-dev_2.4.10-1_win32.mft} +4 -3
- data/vendor/local/manifest/freetype_2.4.10-1_win32.mft +2 -0
- data/vendor/local/manifest/{libpng-dev_1.4.3-1_win32.mft → libpng-dev_1.4.12-1_win32.mft} +3 -3
- data/vendor/local/manifest/libpng_1.4.12-1_win32.mft +2 -0
- data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING +0 -0
- data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-LGPL-2.1 +0 -0
- data/vendor/local/share/doc/{cairo_1.10.2-1_win32 → cairo_1.10.2-2_win32}/COPYING-MPL-1.1 +0 -0
- data/vendor/local/{man → share/man}/man1/xmlwf.1 +0 -0
- data/vendor/local/share/man/man3/libpng.3 +288 -138
- data/vendor/local/share/man/man3/libpngpf.3 +5 -11
- data/vendor/local/share/man/man5/png.5 +2 -2
- data/vendor/local/src/{tml/packaging/cairo_1.10.2-1_win32.log → dieterv/packaging/cairo_1.10.2-2_win32.log} +346 -300
- data/vendor/local/src/dieterv/packaging/cairo_1.10.2-2_win32.sh +251 -0
- data/vendor/local/src/dieterv/packaging/expat_2.1.0-1_win32.log +181 -0
- data/vendor/local/src/{tml/packaging/expat_2.0.1-1_win32.sh → dieterv/packaging/expat_2.1.0-1_win32.sh} +20 -12
- data/vendor/local/src/dieterv/packaging/freetype_2.4.10-1_win32.log +363 -0
- data/vendor/local/src/{tml/packaging/freetype_2.4.2-1_win32.sh → dieterv/packaging/freetype_2.4.10-1_win32.sh} +10 -11
- data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.log → dieterv/packaging/libpng_1.4.12-1_win32.log} +132 -121
- data/vendor/local/src/{tml/packaging/libpng_1.4.3-1_win32.sh → dieterv/packaging/libpng_1.4.12-1_win32.sh} +10 -10
- metadata +31 -30
- data/vendor/local/manifest/cairo_1.10.2-1_win32.mft +0 -7
- data/vendor/local/manifest/expat-dev_2.0.1-1_win32.mft +0 -10
- data/vendor/local/manifest/expat_2.0.1-1_win32.mft +0 -2
- data/vendor/local/manifest/freetype_2.4.2-1_win32.mft +0 -2
- data/vendor/local/manifest/libpng_1.4.3-1_win32.mft +0 -2
- data/vendor/local/src/tml/packaging/cairo_1.10.2-1_win32.sh +0 -84
- data/vendor/local/src/tml/packaging/expat_2.0.1-1_win32.log +0 -188
- 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-
|
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://
|
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
|
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,
|
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
|
63
|
-
#define
|
64
|
-
#define
|
65
|
-
#define
|
66
|
-
#define
|
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-
|
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 `
|
847
|
-
/* ascender', and `bbox.yMin' as the `
|
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
|
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
|
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
|
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
|
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 `
|
2110
|
-
/* of) the `
|
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
|
-
*
|
2448
|
-
*
|
2449
|
-
*
|
2450
|
-
*
|
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
|
-
*
|
2454
|
-
*
|
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
|
2506
|
-
#define FT_LOAD_NO_HINTING
|
2507
|
-
#define FT_LOAD_RENDER
|
2508
|
-
#define FT_LOAD_NO_BITMAP
|
2509
|
-
#define FT_LOAD_VERTICAL_LAYOUT
|
2510
|
-
#define FT_LOAD_FORCE_AUTOHINT
|
2511
|
-
#define FT_LOAD_CROP_BITMAP
|
2512
|
-
#define FT_LOAD_PEDANTIC
|
2513
|
-
#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH
|
2514
|
-
#define FT_LOAD_NO_RECURSE
|
2515
|
-
#define FT_LOAD_IGNORE_TRANSFORM
|
2516
|
-
#define FT_LOAD_MONOCHROME
|
2517
|
-
#define FT_LOAD_LINEAR_DESIGN
|
2518
|
-
#define FT_LOAD_NO_AUTOHINT
|
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
|
2524
|
-
#define FT_LOAD_SBITS_ONLY
|
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)
|
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
|
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
|
-
/*
|
3063
|
-
/*
|
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
|
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
|
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
|
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
|
3855
|
+
#define FREETYPE_PATCH 10
|
3812
3856
|
|
3813
3857
|
|
3814
3858
|
/*************************************************************************/
|