cairo 1.15.13-x64-mingw32 → 1.15.14-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS +24 -0
- data/README.rdoc +11 -40
- data/Rakefile +4 -2
- data/ext/cairo/rb_cairo.h +1 -1
- data/ext/cairo/rb_cairo_context.c +35 -3
- data/ext/cairo/rb_cairo_font_options.c +5 -6
- data/ext/cairo/rb_cairo_private.h +2 -2
- data/ext/cairo/rb_cairo_scaled_font.c +11 -2
- data/ext/cairo/rb_cairo_surface.c +89 -48
- data/lib/2.2/cairo.so +0 -0
- data/lib/2.3/cairo.so +0 -0
- data/lib/2.4/cairo.so +0 -0
- data/lib/2.5/cairo.so +0 -0
- data/test/{cairo-test-utils.rb → helper.rb} +4 -5
- data/test/run-test.rb +3 -10
- data/test/test_context.rb +6 -6
- data/test/test_font_extents.rb +1 -1
- data/test/test_font_face.rb +1 -1
- data/test/test_font_options.rb +1 -1
- data/test/test_image_surface.rb +2 -2
- data/test/test_pdf_surface.rb +1 -1
- data/test/test_quartz_image_surface.rb +1 -1
- data/test/test_raster_source_pattern.rb +13 -13
- data/test/test_recording_surface.rb +2 -2
- data/test/test_region.rb +1 -1
- data/test/test_scaled_font.rb +1 -1
- data/test/test_script_device.rb +1 -1
- data/test/test_script_surface.rb +1 -1
- data/test/test_surface.rb +5 -5
- data/test/test_svg_surface.rb +1 -1
- data/test/test_tee_surface.rb +2 -2
- data/test/test_text_cluster.rb +1 -1
- data/test/test_text_extents.rb +1 -1
- data/test/test_text_to_glyphs_data.rb +1 -1
- data/test/test_xml_device.rb +1 -1
- data/test/test_xml_surface.rb +2 -2
- data/vendor/local/bin/fc-cache.exe +0 -0
- data/vendor/local/bin/fc-cat.exe +0 -0
- data/vendor/local/bin/fc-conflist.exe +0 -0
- data/vendor/local/bin/fc-list.exe +0 -0
- data/vendor/local/bin/fc-match.exe +0 -0
- data/vendor/local/bin/fc-pattern.exe +0 -0
- data/vendor/local/bin/fc-query.exe +0 -0
- data/vendor/local/bin/fc-scan.exe +0 -0
- data/vendor/local/bin/fc-validate.exe +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/libfontconfig-1.dll +0 -0
- data/vendor/local/bin/libfreetype-6.dll +0 -0
- data/vendor/local/bin/libpixman-1-0.dll +0 -0
- data/vendor/local/bin/libpng-config +1 -1
- data/vendor/local/bin/libpng16-16.dll +0 -0
- data/vendor/local/bin/libpng16-config +1 -1
- data/vendor/local/bin/libxml2-2.dll +0 -0
- data/vendor/local/bin/png-fix-itxt.exe +0 -0
- data/vendor/local/bin/pngfix.exe +0 -0
- data/vendor/local/bin/xmlcatalog.exe +0 -0
- data/vendor/local/bin/xmllint.exe +0 -0
- data/vendor/local/bin/zlib1211.dll +0 -0
- data/vendor/local/include/freetype2/freetype/config/ftconfig.h +82 -3
- data/vendor/local/include/freetype2/freetype/config/ftheader.h +43 -85
- data/vendor/local/include/freetype2/freetype/config/ftoption.h +43 -56
- data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +1 -1
- data/vendor/local/include/freetype2/freetype/freetype.h +185 -85
- data/vendor/local/include/freetype2/freetype/ftadvanc.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftbbox.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftbdf.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftbitmap.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftbzip2.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftcache.h +1 -16
- data/vendor/local/include/freetype2/freetype/ftchapters.h +3 -0
- data/vendor/local/include/freetype2/freetype/ftcid.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftdriver.h +1225 -0
- data/vendor/local/include/freetype2/freetype/fterrdef.h +1 -1
- data/vendor/local/include/freetype2/freetype/fterrors.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftfntfmt.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftgasp.h +6 -1
- data/vendor/local/include/freetype2/freetype/ftglyph.h +3 -3
- data/vendor/local/include/freetype2/freetype/ftgxval.h +5 -5
- data/vendor/local/include/freetype2/freetype/ftgzip.h +4 -1
- data/vendor/local/include/freetype2/freetype/ftimage.h +18 -18
- data/vendor/local/include/freetype2/freetype/ftincrem.h +2 -13
- data/vendor/local/include/freetype2/freetype/ftlcdfil.h +5 -18
- data/vendor/local/include/freetype2/freetype/ftlist.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftlzw.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftmac.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftmm.h +99 -11
- data/vendor/local/include/freetype2/freetype/ftmodapi.h +12 -11
- data/vendor/local/include/freetype2/freetype/ftmoderr.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftotval.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftoutln.h +4 -7
- data/vendor/local/include/freetype2/freetype/ftparams.h +205 -0
- data/vendor/local/include/freetype2/freetype/ftpfr.h +4 -4
- data/vendor/local/include/freetype2/freetype/ftrender.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftsizes.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftsnames.h +8 -42
- data/vendor/local/include/freetype2/freetype/ftstroke.h +6 -6
- data/vendor/local/include/freetype2/freetype/ftsynth.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftsystem.h +1 -1
- data/vendor/local/include/freetype2/freetype/fttrigon.h +1 -1
- data/vendor/local/include/freetype2/freetype/fttypes.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftwinfnt.h +2 -2
- data/vendor/local/include/freetype2/freetype/t1tables.h +10 -1
- data/vendor/local/include/freetype2/freetype/ttnameid.h +2 -2
- data/vendor/local/include/freetype2/freetype/tttables.h +1 -1
- data/vendor/local/include/freetype2/freetype/tttags.h +1 -1
- data/vendor/local/include/freetype2/ft2build.h +1 -1
- data/vendor/local/include/libpng16/png.h +40 -40
- data/vendor/local/include/libpng16/pngconf.h +15 -14
- data/vendor/local/include/libpng16/pnglibconf.h +1 -1
- data/vendor/local/include/png.h +40 -40
- data/vendor/local/include/pngconf.h +15 -14
- data/vendor/local/include/pnglibconf.h +1 -1
- data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
- data/vendor/local/lib/libcairo-gobject.la +1 -1
- data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +3 -3
- data/vendor/local/lib/libpixman-1.dll.a +0 -0
- data/vendor/local/lib/libpng.a +0 -0
- data/vendor/local/lib/libpng.dll.a +0 -0
- data/vendor/local/lib/libpng.la +2 -2
- data/vendor/local/lib/libpng16.a +0 -0
- data/vendor/local/lib/libpng16.dll.a +0 -0
- data/vendor/local/lib/libpng16.la +2 -2
- data/vendor/local/lib/libxml2.dll.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/freetype2.pc +2 -2
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
- data/vendor/local/share/aclocal/freetype2.m4 +1 -1
- data/vendor/local/share/license/freetype/README +9 -9
- data/vendor/local/share/license/freetype/README.git +1 -1
- data/vendor/local/share/license/libpng/README +2 -2
- data/vendor/local/share/man/man3/libpng.3 +50 -54
- data/vendor/local/share/man/man3/libpngpf.3 +8 -4
- metadata +9 -14
- data/vendor/local/bin/freetype-config +0 -211
- data/vendor/local/include/freetype2/freetype/ftautoh.h +0 -533
- data/vendor/local/include/freetype2/freetype/ftcffdrv.h +0 -321
- data/vendor/local/include/freetype2/freetype/ftpcfdrv.h +0 -105
- data/vendor/local/include/freetype2/freetype/ftttdrv.h +0 -328
- data/vendor/local/include/freetype2/freetype/ttunpat.h +0 -63
- data/vendor/local/share/man/man1/freetype-config.1 +0 -146
@@ -1,11 +1,15 @@
|
|
1
|
-
.TH LIBPNGPF 3 "
|
1
|
+
.TH LIBPNGPF 3 "July 15, 2018"
|
2
2
|
.SH NAME
|
3
|
-
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.
|
3
|
+
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.35
|
4
4
|
(private functions)
|
5
5
|
.SH SYNOPSIS
|
6
|
-
\fB
|
6
|
+
\fB#include \fI"pngpriv.h"
|
7
7
|
|
8
|
-
\
|
8
|
+
\fBAs of libpng version \fP\fI1.5.1\fP\fB, this section is no longer
|
9
|
+
\fP\fImaintained\fP\fB, now that the private function prototypes are hidden in
|
10
|
+
\fP\fIpngpriv.h\fP\fB and not accessible to applications. Look in
|
11
|
+
\fP\fIpngpriv.h\fP\fB for the prototypes and a short description of each
|
12
|
+
function.
|
9
13
|
|
10
14
|
.SH DESCRIPTION
|
11
15
|
The functions previously listed here are used privately by libpng and are not
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cairo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.15.
|
4
|
+
version: 1.15.14
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pkg-config
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: test-unit
|
56
|
+
name: test-unit
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -183,7 +183,7 @@ files:
|
|
183
183
|
- samples/scalable.rb
|
184
184
|
- samples/text-on-path.rb
|
185
185
|
- samples/text2.rb
|
186
|
-
- test/
|
186
|
+
- test/helper.rb
|
187
187
|
- test/run-test.rb
|
188
188
|
- test/test_color.rb
|
189
189
|
- test/test_constants.rb
|
@@ -219,7 +219,6 @@ files:
|
|
219
219
|
- vendor/local/bin/fc-query.exe
|
220
220
|
- vendor/local/bin/fc-scan.exe
|
221
221
|
- vendor/local/bin/fc-validate.exe
|
222
|
-
- vendor/local/bin/freetype-config
|
223
222
|
- vendor/local/bin/libcairo-2.dll
|
224
223
|
- vendor/local/bin/libcairo-gobject-2.dll
|
225
224
|
- vendor/local/bin/libcairo-script-interpreter-2.dll
|
@@ -280,15 +279,14 @@ files:
|
|
280
279
|
- vendor/local/include/freetype2/freetype/config/ftstdlib.h
|
281
280
|
- vendor/local/include/freetype2/freetype/freetype.h
|
282
281
|
- vendor/local/include/freetype2/freetype/ftadvanc.h
|
283
|
-
- vendor/local/include/freetype2/freetype/ftautoh.h
|
284
282
|
- vendor/local/include/freetype2/freetype/ftbbox.h
|
285
283
|
- vendor/local/include/freetype2/freetype/ftbdf.h
|
286
284
|
- vendor/local/include/freetype2/freetype/ftbitmap.h
|
287
285
|
- vendor/local/include/freetype2/freetype/ftbzip2.h
|
288
286
|
- vendor/local/include/freetype2/freetype/ftcache.h
|
289
|
-
- vendor/local/include/freetype2/freetype/ftcffdrv.h
|
290
287
|
- vendor/local/include/freetype2/freetype/ftchapters.h
|
291
288
|
- vendor/local/include/freetype2/freetype/ftcid.h
|
289
|
+
- vendor/local/include/freetype2/freetype/ftdriver.h
|
292
290
|
- vendor/local/include/freetype2/freetype/fterrdef.h
|
293
291
|
- vendor/local/include/freetype2/freetype/fterrors.h
|
294
292
|
- vendor/local/include/freetype2/freetype/ftfntfmt.h
|
@@ -307,7 +305,7 @@ files:
|
|
307
305
|
- vendor/local/include/freetype2/freetype/ftmoderr.h
|
308
306
|
- vendor/local/include/freetype2/freetype/ftotval.h
|
309
307
|
- vendor/local/include/freetype2/freetype/ftoutln.h
|
310
|
-
- vendor/local/include/freetype2/freetype/
|
308
|
+
- vendor/local/include/freetype2/freetype/ftparams.h
|
311
309
|
- vendor/local/include/freetype2/freetype/ftpfr.h
|
312
310
|
- vendor/local/include/freetype2/freetype/ftrender.h
|
313
311
|
- vendor/local/include/freetype2/freetype/ftsizes.h
|
@@ -316,14 +314,12 @@ files:
|
|
316
314
|
- vendor/local/include/freetype2/freetype/ftsynth.h
|
317
315
|
- vendor/local/include/freetype2/freetype/ftsystem.h
|
318
316
|
- vendor/local/include/freetype2/freetype/fttrigon.h
|
319
|
-
- vendor/local/include/freetype2/freetype/ftttdrv.h
|
320
317
|
- vendor/local/include/freetype2/freetype/fttypes.h
|
321
318
|
- vendor/local/include/freetype2/freetype/ftwinfnt.h
|
322
319
|
- vendor/local/include/freetype2/freetype/t1tables.h
|
323
320
|
- vendor/local/include/freetype2/freetype/ttnameid.h
|
324
321
|
- vendor/local/include/freetype2/freetype/tttables.h
|
325
322
|
- vendor/local/include/freetype2/freetype/tttags.h
|
326
|
-
- vendor/local/include/freetype2/freetype/ttunpat.h
|
327
323
|
- vendor/local/include/freetype2/ft2build.h
|
328
324
|
- vendor/local/include/libpng16/png.h
|
329
325
|
- vendor/local/include/libpng16/pngconf.h
|
@@ -763,7 +759,6 @@ files:
|
|
763
759
|
- vendor/local/share/license/pixman/COPYING
|
764
760
|
- vendor/local/share/license/pixman/README
|
765
761
|
- vendor/local/share/license/zlib/README
|
766
|
-
- vendor/local/share/man/man1/freetype-config.1
|
767
762
|
- vendor/local/share/man/man1/xml2-config.1
|
768
763
|
- vendor/local/share/man/man1/xmlcatalog.1
|
769
764
|
- vendor/local/share/man/man1/xmllint.1
|
@@ -772,9 +767,9 @@ files:
|
|
772
767
|
- vendor/local/share/man/man3/libxml.3
|
773
768
|
- vendor/local/share/man/man5/png.5
|
774
769
|
- vendor/local/share/xml/fontconfig/fonts.dtd
|
775
|
-
homepage:
|
770
|
+
homepage: https://rcairo.github.io/
|
776
771
|
licenses:
|
777
|
-
- Ruby
|
772
|
+
- Ruby
|
778
773
|
metadata: {}
|
779
774
|
post_install_message:
|
780
775
|
rdoc_options: []
|
@@ -814,6 +809,7 @@ test_files:
|
|
814
809
|
- test/test_svg_surface.rb
|
815
810
|
- test/test_xml_surface.rb
|
816
811
|
- test/test_color.rb
|
812
|
+
- test/helper.rb
|
817
813
|
- test/test_image_surface.rb
|
818
814
|
- test/test_text_cluster.rb
|
819
815
|
- test/run-test.rb
|
@@ -825,5 +821,4 @@ test_files:
|
|
825
821
|
- test/test_font_extents.rb
|
826
822
|
- test/test_font_face.rb
|
827
823
|
- test/test_recording_surface.rb
|
828
|
-
- test/cairo-test-utils.rb
|
829
824
|
- test/test_script_surface.rb
|
@@ -1,211 +0,0 @@
|
|
1
|
-
#! /bin/sh
|
2
|
-
#
|
3
|
-
# Copyright 2000-2017 by
|
4
|
-
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
5
|
-
#
|
6
|
-
# This file is part of the FreeType project, and may only be used, modified,
|
7
|
-
# and distributed under the terms of the FreeType project license,
|
8
|
-
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
9
|
-
# indicate that you have read the license and understand and accept it
|
10
|
-
# fully.
|
11
|
-
|
12
|
-
LC_ALL=C
|
13
|
-
export LC_ALL
|
14
|
-
|
15
|
-
|
16
|
-
# if `pkg-config' is available, use values from `freetype2.pc'
|
17
|
-
/usr/bin/pkg-config --atleast-pkgconfig-version 0.24 >/dev/null 2>&1
|
18
|
-
if test $? -eq 0 ; then
|
19
|
-
# note that option `--variable' is not affected by the
|
20
|
-
# PKG_CONFIG_SYSROOT_DIR environment variable
|
21
|
-
if test "x$SYSROOT" != "x" ; then
|
22
|
-
PKG_CONFIG_SYSROOT_DIR="$SYSROOT"
|
23
|
-
export PKG_CONFIG_SYSROOT_DIR
|
24
|
-
fi
|
25
|
-
|
26
|
-
prefix=`/usr/bin/pkg-config --variable prefix freetype2`
|
27
|
-
exec_prefix=`/usr/bin/pkg-config --variable exec_prefix freetype2`
|
28
|
-
|
29
|
-
includedir=`/usr/bin/pkg-config --variable includedir freetype2`
|
30
|
-
libdir=`/usr/bin/pkg-config --variable libdir freetype2`
|
31
|
-
|
32
|
-
version=`/usr/bin/pkg-config --modversion freetype2`
|
33
|
-
|
34
|
-
cflags=`/usr/bin/pkg-config --cflags freetype2`
|
35
|
-
dynamic_libs=`/usr/bin/pkg-config --libs freetype2`
|
36
|
-
static_libs=`/usr/bin/pkg-config --static --libs freetype2`
|
37
|
-
else
|
38
|
-
prefix="/home/vagrant/rcairo/vendor/local"
|
39
|
-
exec_prefix="/home/vagrant/rcairo/vendor/local"
|
40
|
-
|
41
|
-
includedir="/home/vagrant/rcairo/vendor/local/include"
|
42
|
-
libdir="/home/vagrant/rcairo/vendor/local/lib"
|
43
|
-
|
44
|
-
version=21.0.15
|
45
|
-
|
46
|
-
cflags="-I${SYSROOT}$includedir/freetype2"
|
47
|
-
dynamic_libs="-lfreetype"
|
48
|
-
static_libs="-lfreetype -L/home/vagrant/rcairo/vendor/local/lib -lz -L/home/vagrant/rcairo/vendor/local/lib -lpng16 -lz"
|
49
|
-
if test "${SYSROOT}$libdir" != "/usr/lib" &&
|
50
|
-
test "${SYSROOT}$libdir" != "/usr/lib64" ; then
|
51
|
-
libs_L="-L${SYSROOT}$libdir"
|
52
|
-
fi
|
53
|
-
fi
|
54
|
-
|
55
|
-
orig_prefix=$prefix
|
56
|
-
orig_exec_prefix=$exec_prefix
|
57
|
-
|
58
|
-
orig_includedir=$includedir
|
59
|
-
orig_libdir=$libdir
|
60
|
-
|
61
|
-
include_suffix=`echo $includedir | sed "s|$prefix||"`
|
62
|
-
lib_suffix=`echo $libdir | sed "s|$exec_prefix||"`
|
63
|
-
|
64
|
-
|
65
|
-
usage()
|
66
|
-
{
|
67
|
-
cat <<EOF
|
68
|
-
Usage: freetype-config [OPTION]...
|
69
|
-
Get FreeType compilation and linking information.
|
70
|
-
|
71
|
-
Options:
|
72
|
-
--prefix display \`--prefix' value used for building the
|
73
|
-
FreeType library
|
74
|
-
--prefix=PREFIX override \`--prefix' value with PREFIX
|
75
|
-
--exec-prefix display \`--exec-prefix' value used for building
|
76
|
-
the FreeType library
|
77
|
-
--exec-prefix=EPREFIX override \`--exec-prefix' value with EPREFIX
|
78
|
-
--version display libtool version of the FreeType library
|
79
|
-
--ftversion display FreeType version number
|
80
|
-
--libs display flags for linking with the FreeType library
|
81
|
-
--libtool display library name for linking with libtool
|
82
|
-
--cflags display flags for compiling with the FreeType
|
83
|
-
library
|
84
|
-
--static make command line options display flags
|
85
|
-
for static linking
|
86
|
-
--help display this help and exit
|
87
|
-
EOF
|
88
|
-
exit $1
|
89
|
-
}
|
90
|
-
|
91
|
-
|
92
|
-
if test $# -eq 0 ; then
|
93
|
-
usage 1 1>&2
|
94
|
-
fi
|
95
|
-
|
96
|
-
|
97
|
-
while test $# -gt 0 ; do
|
98
|
-
case "$1" in
|
99
|
-
-*=*)
|
100
|
-
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
|
101
|
-
;;
|
102
|
-
*)
|
103
|
-
optarg=
|
104
|
-
;;
|
105
|
-
esac
|
106
|
-
|
107
|
-
case $1 in
|
108
|
-
--prefix=*)
|
109
|
-
prefix=$optarg
|
110
|
-
local_prefix=yes
|
111
|
-
;;
|
112
|
-
--prefix)
|
113
|
-
echo_prefix=yes
|
114
|
-
;;
|
115
|
-
--exec-prefix=*)
|
116
|
-
exec_prefix=$optarg
|
117
|
-
exec_prefix_set=yes
|
118
|
-
local_prefix=yes
|
119
|
-
;;
|
120
|
-
--exec-prefix)
|
121
|
-
echo_exec_prefix=yes
|
122
|
-
;;
|
123
|
-
--version)
|
124
|
-
echo_version=yes
|
125
|
-
break
|
126
|
-
;;
|
127
|
-
--ftversion)
|
128
|
-
echo_ft_version=yes
|
129
|
-
;;
|
130
|
-
--cflags)
|
131
|
-
echo_cflags=yes
|
132
|
-
;;
|
133
|
-
--libs)
|
134
|
-
echo_libs=yes
|
135
|
-
;;
|
136
|
-
--libtool)
|
137
|
-
echo_libtool=yes
|
138
|
-
;;
|
139
|
-
--static)
|
140
|
-
show_static=yes
|
141
|
-
;;
|
142
|
-
--help)
|
143
|
-
usage 0
|
144
|
-
;;
|
145
|
-
*)
|
146
|
-
usage 1 1>&2
|
147
|
-
;;
|
148
|
-
esac
|
149
|
-
shift
|
150
|
-
done
|
151
|
-
|
152
|
-
|
153
|
-
if test "$local_prefix" = "yes" ; then
|
154
|
-
if test "$exec_prefix_set" != "yes" ; then
|
155
|
-
exec_prefix=$prefix
|
156
|
-
fi
|
157
|
-
fi
|
158
|
-
|
159
|
-
if test "$local_prefix" = "yes" ; then
|
160
|
-
includedir=${prefix}${include_suffix}
|
161
|
-
if test "$exec_prefix_set" = "yes" ; then
|
162
|
-
libdir=${exec_prefix}${lib_suffix}
|
163
|
-
else
|
164
|
-
libdir=${prefix}${lib_suffix}
|
165
|
-
fi
|
166
|
-
fi
|
167
|
-
|
168
|
-
|
169
|
-
if test "$echo_version" = "yes" ; then
|
170
|
-
echo $version
|
171
|
-
fi
|
172
|
-
|
173
|
-
if test "$echo_prefix" = "yes" ; then
|
174
|
-
echo ${SYSROOT}$prefix
|
175
|
-
fi
|
176
|
-
|
177
|
-
if test "$echo_exec_prefix" = "yes" ; then
|
178
|
-
echo ${SYSROOT}$exec_prefix
|
179
|
-
fi
|
180
|
-
|
181
|
-
if test "$echo_ft_version" = "yes" ; then
|
182
|
-
major=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
|
183
|
-
| grep FREETYPE_MAJOR \
|
184
|
-
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
185
|
-
minor=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
|
186
|
-
| grep FREETYPE_MINOR \
|
187
|
-
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
188
|
-
patch=`grep define ${SYSROOT}$includedir/freetype2/freetype/freetype.h \
|
189
|
-
| grep FREETYPE_PATCH \
|
190
|
-
| sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
|
191
|
-
echo $major.$minor.$patch
|
192
|
-
fi
|
193
|
-
|
194
|
-
if test "$echo_cflags" = "yes" ; then
|
195
|
-
echo $cflags | sed "s|$orig_includedir/freetype2|$includedir/freetype2|"
|
196
|
-
fi
|
197
|
-
|
198
|
-
if test "$echo_libs" = "yes" ; then
|
199
|
-
if test "$show_static" = "yes" ; then
|
200
|
-
libs="$libs_L $static_libs"
|
201
|
-
else
|
202
|
-
libs="$libs_L $dynamic_libs"
|
203
|
-
fi
|
204
|
-
echo $libs | sed "s|$orig_libdir|$libdir|"
|
205
|
-
fi
|
206
|
-
|
207
|
-
if test "$echo_libtool" = "yes" ; then
|
208
|
-
echo ${SYSROOT}$libdir/libfreetype.la
|
209
|
-
fi
|
210
|
-
|
211
|
-
# EOF
|
@@ -1,533 +0,0 @@
|
|
1
|
-
/***************************************************************************/
|
2
|
-
/* */
|
3
|
-
/* ftautoh.h */
|
4
|
-
/* */
|
5
|
-
/* FreeType API for controlling the auto-hinter (specification only). */
|
6
|
-
/* */
|
7
|
-
/* Copyright 2012-2017 by */
|
8
|
-
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
9
|
-
/* */
|
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 */
|
12
|
-
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
13
|
-
/* this file you indicate that you have read the license and */
|
14
|
-
/* understand and accept it fully. */
|
15
|
-
/* */
|
16
|
-
/***************************************************************************/
|
17
|
-
|
18
|
-
|
19
|
-
#ifndef FTAUTOH_H_
|
20
|
-
#define FTAUTOH_H_
|
21
|
-
|
22
|
-
#include <ft2build.h>
|
23
|
-
#include FT_FREETYPE_H
|
24
|
-
|
25
|
-
#ifdef FREETYPE_H
|
26
|
-
#error "freetype.h of FreeType 1 has been loaded!"
|
27
|
-
#error "Please fix the directory search order for header files"
|
28
|
-
#error "so that freetype.h of FreeType 2 is found first."
|
29
|
-
#endif
|
30
|
-
|
31
|
-
|
32
|
-
FT_BEGIN_HEADER
|
33
|
-
|
34
|
-
|
35
|
-
/**************************************************************************
|
36
|
-
*
|
37
|
-
* @section:
|
38
|
-
* auto_hinter
|
39
|
-
*
|
40
|
-
* @title:
|
41
|
-
* The auto-hinter
|
42
|
-
*
|
43
|
-
* @abstract:
|
44
|
-
* Controlling the auto-hinting module.
|
45
|
-
*
|
46
|
-
* @description:
|
47
|
-
* While FreeType's auto-hinter doesn't expose API functions by itself,
|
48
|
-
* it is possible to control its behaviour with @FT_Property_Set and
|
49
|
-
* @FT_Property_Get. The following lists the available properties
|
50
|
-
* together with the necessary macros and structures.
|
51
|
-
*
|
52
|
-
* Note that the auto-hinter's module name is `autofitter' for
|
53
|
-
* historical reasons.
|
54
|
-
*
|
55
|
-
*/
|
56
|
-
|
57
|
-
|
58
|
-
/**************************************************************************
|
59
|
-
*
|
60
|
-
* @property:
|
61
|
-
* glyph-to-script-map
|
62
|
-
*
|
63
|
-
* @description:
|
64
|
-
* *Experimental* *only*
|
65
|
-
*
|
66
|
-
* The auto-hinter provides various script modules to hint glyphs.
|
67
|
-
* Examples of supported scripts are Latin or CJK. Before a glyph is
|
68
|
-
* auto-hinted, the Unicode character map of the font gets examined, and
|
69
|
-
* the script is then determined based on Unicode character ranges, see
|
70
|
-
* below.
|
71
|
-
*
|
72
|
-
* OpenType fonts, however, often provide much more glyphs than
|
73
|
-
* character codes (small caps, superscripts, ligatures, swashes, etc.),
|
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
|
76
|
-
* FreeType.
|
77
|
-
*
|
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
|
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
|
82
|
-
* this array, which can be modified as needed. Note that the
|
83
|
-
* modification should happen before the first glyph gets processed by
|
84
|
-
* the auto-hinter so that the global analysis of the font shapes
|
85
|
-
* actually uses the modified mapping.
|
86
|
-
*
|
87
|
-
* The following example code demonstrates how to access it (omitting
|
88
|
-
* the error handling).
|
89
|
-
*
|
90
|
-
* {
|
91
|
-
* FT_Library library;
|
92
|
-
* FT_Face face;
|
93
|
-
* FT_Prop_GlyphToScriptMap prop;
|
94
|
-
*
|
95
|
-
*
|
96
|
-
* FT_Init_FreeType( &library );
|
97
|
-
* FT_New_Face( library, "foo.ttf", 0, &face );
|
98
|
-
*
|
99
|
-
* prop.face = face;
|
100
|
-
*
|
101
|
-
* FT_Property_Get( library, "autofitter",
|
102
|
-
* "glyph-to-script-map", &prop );
|
103
|
-
*
|
104
|
-
* // adjust `prop.map' as needed right here
|
105
|
-
*
|
106
|
-
* FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
|
107
|
-
* }
|
108
|
-
*
|
109
|
-
*/
|
110
|
-
|
111
|
-
|
112
|
-
/**************************************************************************
|
113
|
-
*
|
114
|
-
* @enum:
|
115
|
-
* FT_AUTOHINTER_SCRIPT_XXX
|
116
|
-
*
|
117
|
-
* @description:
|
118
|
-
* *Experimental* *only*
|
119
|
-
*
|
120
|
-
* A list of constants used for the @glyph-to-script-map property to
|
121
|
-
* specify the script submodule the auto-hinter should use for hinting a
|
122
|
-
* particular glyph.
|
123
|
-
*
|
124
|
-
* @values:
|
125
|
-
* FT_AUTOHINTER_SCRIPT_NONE ::
|
126
|
-
* Don't auto-hint this glyph.
|
127
|
-
*
|
128
|
-
* FT_AUTOHINTER_SCRIPT_LATIN ::
|
129
|
-
* Apply the latin auto-hinter. For the auto-hinter, `latin' is a
|
130
|
-
* very broad term, including Cyrillic and Greek also since characters
|
131
|
-
* from those scripts share the same design constraints.
|
132
|
-
*
|
133
|
-
* By default, characters from the following Unicode ranges are
|
134
|
-
* assigned to this submodule.
|
135
|
-
*
|
136
|
-
* {
|
137
|
-
* U+0020 - U+007F // Basic Latin (no control characters)
|
138
|
-
* U+00A0 - U+00FF // Latin-1 Supplement (no control characters)
|
139
|
-
* U+0100 - U+017F // Latin Extended-A
|
140
|
-
* U+0180 - U+024F // Latin Extended-B
|
141
|
-
* U+0250 - U+02AF // IPA Extensions
|
142
|
-
* U+02B0 - U+02FF // Spacing Modifier Letters
|
143
|
-
* U+0300 - U+036F // Combining Diacritical Marks
|
144
|
-
* U+0370 - U+03FF // Greek and Coptic
|
145
|
-
* U+0400 - U+04FF // Cyrillic
|
146
|
-
* U+0500 - U+052F // Cyrillic Supplement
|
147
|
-
* U+1D00 - U+1D7F // Phonetic Extensions
|
148
|
-
* U+1D80 - U+1DBF // Phonetic Extensions Supplement
|
149
|
-
* U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement
|
150
|
-
* U+1E00 - U+1EFF // Latin Extended Additional
|
151
|
-
* U+1F00 - U+1FFF // Greek Extended
|
152
|
-
* U+2000 - U+206F // General Punctuation
|
153
|
-
* U+2070 - U+209F // Superscripts and Subscripts
|
154
|
-
* U+20A0 - U+20CF // Currency Symbols
|
155
|
-
* U+2150 - U+218F // Number Forms
|
156
|
-
* U+2460 - U+24FF // Enclosed Alphanumerics
|
157
|
-
* U+2C60 - U+2C7F // Latin Extended-C
|
158
|
-
* U+2DE0 - U+2DFF // Cyrillic Extended-A
|
159
|
-
* U+2E00 - U+2E7F // Supplemental Punctuation
|
160
|
-
* U+A640 - U+A69F // Cyrillic Extended-B
|
161
|
-
* U+A720 - U+A7FF // Latin Extended-D
|
162
|
-
* U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures)
|
163
|
-
* U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
|
164
|
-
* U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
|
165
|
-
* }
|
166
|
-
*
|
167
|
-
* FT_AUTOHINTER_SCRIPT_CJK ::
|
168
|
-
* Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old
|
169
|
-
* Vietnamese, and some other scripts.
|
170
|
-
*
|
171
|
-
* By default, characters from the following Unicode ranges are
|
172
|
-
* assigned to this submodule.
|
173
|
-
*
|
174
|
-
* {
|
175
|
-
* U+1100 - U+11FF // Hangul Jamo
|
176
|
-
* U+2E80 - U+2EFF // CJK Radicals Supplement
|
177
|
-
* U+2F00 - U+2FDF // Kangxi Radicals
|
178
|
-
* U+2FF0 - U+2FFF // Ideographic Description Characters
|
179
|
-
* U+3000 - U+303F // CJK Symbols and Punctuation
|
180
|
-
* U+3040 - U+309F // Hiragana
|
181
|
-
* U+30A0 - U+30FF // Katakana
|
182
|
-
* U+3100 - U+312F // Bopomofo
|
183
|
-
* U+3130 - U+318F // Hangul Compatibility Jamo
|
184
|
-
* U+3190 - U+319F // Kanbun
|
185
|
-
* U+31A0 - U+31BF // Bopomofo Extended
|
186
|
-
* U+31C0 - U+31EF // CJK Strokes
|
187
|
-
* U+31F0 - U+31FF // Katakana Phonetic Extensions
|
188
|
-
* U+3200 - U+32FF // Enclosed CJK Letters and Months
|
189
|
-
* U+3300 - U+33FF // CJK Compatibility
|
190
|
-
* U+3400 - U+4DBF // CJK Unified Ideographs Extension A
|
191
|
-
* U+4DC0 - U+4DFF // Yijing Hexagram Symbols
|
192
|
-
* U+4E00 - U+9FFF // CJK Unified Ideographs
|
193
|
-
* U+A960 - U+A97F // Hangul Jamo Extended-A
|
194
|
-
* U+AC00 - U+D7AF // Hangul Syllables
|
195
|
-
* U+D7B0 - U+D7FF // Hangul Jamo Extended-B
|
196
|
-
* U+F900 - U+FAFF // CJK Compatibility Ideographs
|
197
|
-
* U+FE10 - U+FE1F // Vertical forms
|
198
|
-
* U+FE30 - U+FE4F // CJK Compatibility Forms
|
199
|
-
* U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms
|
200
|
-
* U+1B000 - U+1B0FF // Kana Supplement
|
201
|
-
* U+1D300 - U+1D35F // Tai Xuan Hing Symbols
|
202
|
-
* U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
|
203
|
-
* U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
|
204
|
-
* U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
|
205
|
-
* U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
|
206
|
-
* U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
|
207
|
-
* }
|
208
|
-
*
|
209
|
-
* FT_AUTOHINTER_SCRIPT_INDIC ::
|
210
|
-
* Apply the indic auto-hinter, covering all major scripts from the
|
211
|
-
* Indian sub-continent and some other related scripts like Thai, Lao,
|
212
|
-
* or Tibetan.
|
213
|
-
*
|
214
|
-
* By default, characters from the following Unicode ranges are
|
215
|
-
* assigned to this submodule.
|
216
|
-
*
|
217
|
-
* {
|
218
|
-
* U+0900 - U+0DFF // Indic Range
|
219
|
-
* U+0F00 - U+0FFF // Tibetan
|
220
|
-
* U+1900 - U+194F // Limbu
|
221
|
-
* U+1B80 - U+1BBF // Sundanese
|
222
|
-
* U+A800 - U+A82F // Syloti Nagri
|
223
|
-
* U+ABC0 - U+ABFF // Meetei Mayek
|
224
|
-
* U+11800 - U+118DF // Sharada
|
225
|
-
* }
|
226
|
-
*
|
227
|
-
* Note that currently Indic support is rudimentary only, missing blue
|
228
|
-
* zone support.
|
229
|
-
*
|
230
|
-
*/
|
231
|
-
#define FT_AUTOHINTER_SCRIPT_NONE 0
|
232
|
-
#define FT_AUTOHINTER_SCRIPT_LATIN 1
|
233
|
-
#define FT_AUTOHINTER_SCRIPT_CJK 2
|
234
|
-
#define FT_AUTOHINTER_SCRIPT_INDIC 3
|
235
|
-
|
236
|
-
|
237
|
-
/**************************************************************************
|
238
|
-
*
|
239
|
-
* @struct:
|
240
|
-
* FT_Prop_GlyphToScriptMap
|
241
|
-
*
|
242
|
-
* @description:
|
243
|
-
* *Experimental* *only*
|
244
|
-
*
|
245
|
-
* The data exchange structure for the @glyph-to-script-map property.
|
246
|
-
*
|
247
|
-
*/
|
248
|
-
typedef struct FT_Prop_GlyphToScriptMap_
|
249
|
-
{
|
250
|
-
FT_Face face;
|
251
|
-
FT_UShort* map;
|
252
|
-
|
253
|
-
} FT_Prop_GlyphToScriptMap;
|
254
|
-
|
255
|
-
|
256
|
-
/**************************************************************************
|
257
|
-
*
|
258
|
-
* @property:
|
259
|
-
* fallback-script
|
260
|
-
*
|
261
|
-
* @description:
|
262
|
-
* *Experimental* *only*
|
263
|
-
*
|
264
|
-
* If no auto-hinter script module can be assigned to a glyph, a
|
265
|
-
* fallback script gets assigned to it (see also the
|
266
|
-
* @glyph-to-script-map property). By default, this is
|
267
|
-
* @FT_AUTOHINTER_SCRIPT_CJK. Using the `fallback-script' property,
|
268
|
-
* this fallback value can be changed.
|
269
|
-
*
|
270
|
-
* {
|
271
|
-
* FT_Library library;
|
272
|
-
* FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
|
273
|
-
*
|
274
|
-
*
|
275
|
-
* FT_Init_FreeType( &library );
|
276
|
-
*
|
277
|
-
* FT_Property_Set( library, "autofitter",
|
278
|
-
* "fallback-script", &fallback_script );
|
279
|
-
* }
|
280
|
-
*
|
281
|
-
* @note:
|
282
|
-
* This property can be used with @FT_Property_Get also.
|
283
|
-
*
|
284
|
-
* It's important to use the right timing for changing this value: 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
|
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
|
289
|
-
* an @FT_Face structure but not loaded any glyph (using the
|
290
|
-
* auto-hinter), a change of the fallback script will affect this face.
|
291
|
-
*
|
292
|
-
*/
|
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
|
-
|
339
|
-
|
340
|
-
/**************************************************************************
|
341
|
-
*
|
342
|
-
* @property:
|
343
|
-
* increase-x-height
|
344
|
-
*
|
345
|
-
* @description:
|
346
|
-
* For ppem values in the range 6~<= ppem <= `increase-x-height', round
|
347
|
-
* up the font's x~height much more often than normally. If the value
|
348
|
-
* is set to~0, which is the default, this feature is switched off. Use
|
349
|
-
* this property to improve the legibility of small font sizes if
|
350
|
-
* necessary.
|
351
|
-
*
|
352
|
-
* {
|
353
|
-
* FT_Library library;
|
354
|
-
* FT_Face face;
|
355
|
-
* FT_Prop_IncreaseXHeight prop;
|
356
|
-
*
|
357
|
-
*
|
358
|
-
* FT_Init_FreeType( &library );
|
359
|
-
* FT_New_Face( library, "foo.ttf", 0, &face );
|
360
|
-
* FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
|
361
|
-
*
|
362
|
-
* prop.face = face;
|
363
|
-
* prop.limit = 14;
|
364
|
-
*
|
365
|
-
* FT_Property_Set( library, "autofitter",
|
366
|
-
* "increase-x-height", &prop );
|
367
|
-
* }
|
368
|
-
*
|
369
|
-
* @note:
|
370
|
-
* This property can be used with @FT_Property_Get also.
|
371
|
-
*
|
372
|
-
* Set this value right after calling @FT_Set_Char_Size, but before
|
373
|
-
* loading any glyph (using the auto-hinter).
|
374
|
-
*
|
375
|
-
*/
|
376
|
-
|
377
|
-
|
378
|
-
/**************************************************************************
|
379
|
-
*
|
380
|
-
* @struct:
|
381
|
-
* FT_Prop_IncreaseXHeight
|
382
|
-
*
|
383
|
-
* @description:
|
384
|
-
* The data exchange structure for the @increase-x-height property.
|
385
|
-
*
|
386
|
-
*/
|
387
|
-
typedef struct FT_Prop_IncreaseXHeight_
|
388
|
-
{
|
389
|
-
FT_Face face;
|
390
|
-
FT_UInt limit;
|
391
|
-
|
392
|
-
} FT_Prop_IncreaseXHeight;
|
393
|
-
|
394
|
-
|
395
|
-
/**************************************************************************
|
396
|
-
*
|
397
|
-
* @property:
|
398
|
-
* warping
|
399
|
-
*
|
400
|
-
* @description:
|
401
|
-
* *Experimental* *only*
|
402
|
-
*
|
403
|
-
* If FreeType gets compiled with option AF_CONFIG_OPTION_USE_WARPER to
|
404
|
-
* activate the warp hinting code in the auto-hinter, this property
|
405
|
-
* switches warping on and off.
|
406
|
-
*
|
407
|
-
* Warping only works in `normal' auto-hinting mode replacing it.
|
408
|
-
* The idea of the code is to slightly scale and shift a glyph along
|
409
|
-
* the non-hinted dimension (which is usually the horizontal axis) so
|
410
|
-
* that as much of its segments are aligned (more or less) to the grid.
|
411
|
-
* To find out a glyph's optimal scaling and shifting value, various
|
412
|
-
* parameter combinations are tried and scored.
|
413
|
-
*
|
414
|
-
* By default, warping is off. The example below shows how to switch on
|
415
|
-
* warping (omitting the error handling).
|
416
|
-
*
|
417
|
-
* {
|
418
|
-
* FT_Library library;
|
419
|
-
* FT_Bool warping = 1;
|
420
|
-
*
|
421
|
-
*
|
422
|
-
* FT_Init_FreeType( &library );
|
423
|
-
*
|
424
|
-
* FT_Property_Set( library, "autofitter",
|
425
|
-
* "warping", &warping );
|
426
|
-
* }
|
427
|
-
*
|
428
|
-
* @note:
|
429
|
-
* This property can be used with @FT_Property_Get also.
|
430
|
-
*
|
431
|
-
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
432
|
-
* variable (using values 1 and 0 for `on' and `off', respectively).
|
433
|
-
*
|
434
|
-
* The warping code can also change advance widths. Have a look at the
|
435
|
-
* `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
|
436
|
-
* for details on improving inter-glyph distances while rendering.
|
437
|
-
*
|
438
|
-
* Since warping is a global property of the auto-hinter it is best to
|
439
|
-
* change its value before rendering any face. Otherwise, you should
|
440
|
-
* reload all faces that get auto-hinted in `normal' hinting mode.
|
441
|
-
*
|
442
|
-
*/
|
443
|
-
|
444
|
-
|
445
|
-
/**************************************************************************
|
446
|
-
*
|
447
|
-
* @property:
|
448
|
-
* no-stem-darkening[autofit]
|
449
|
-
*
|
450
|
-
* @description:
|
451
|
-
* *Experimental* *only*, *requires* *linear* *alpha* *blending* *and*
|
452
|
-
* *gamma* *correction*
|
453
|
-
*
|
454
|
-
* Stem darkening emboldens glyphs at smaller sizes to make them more
|
455
|
-
* readable on common low-DPI screens when using linear alpha blending
|
456
|
-
* and gamma correction, see @FT_Render_Glyph. When not using linear
|
457
|
-
* alpha blending and gamma correction, glyphs will appear heavy and
|
458
|
-
* fuzzy!
|
459
|
-
*
|
460
|
-
* Gamma correction essentially lightens fonts since shades of grey are
|
461
|
-
* shifted to higher pixel values (=~higher brightness) to match the
|
462
|
-
* original intention to the reality of our screens. The side-effect is
|
463
|
-
* that glyphs `thin out'. Mac OS~X and Adobe's proprietary font
|
464
|
-
* rendering library implement a counter-measure: stem darkening at
|
465
|
-
* smaller sizes where shades of gray dominate. By emboldening a glyph
|
466
|
-
* slightly in relation to its pixel size, individual pixels get higher
|
467
|
-
* coverage of filled-in outlines and are therefore `blacker'. This
|
468
|
-
* counteracts the `thinning out' of glyphs, making text remain readable
|
469
|
-
* at smaller sizes. All glyphs that pass through the auto-hinter will
|
470
|
-
* be emboldened unless this property is set to TRUE.
|
471
|
-
*
|
472
|
-
* See the description of the CFF driver for algorithmic details. Total
|
473
|
-
* consistency with the CFF driver is currently not achieved because the
|
474
|
-
* emboldening method differs and glyphs must be scaled down on the
|
475
|
-
* Y-axis to keep outline points inside their precomputed blue zones.
|
476
|
-
* The smaller the size (especially 9ppem and down), the higher the loss
|
477
|
-
* of emboldening versus the CFF driver.
|
478
|
-
*
|
479
|
-
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
480
|
-
* variable similar to the CFF driver. It can also be set per face
|
481
|
-
* using @FT_Face_Properties with @FT_PARAM_TAG_STEM_DARKENING.
|
482
|
-
*
|
483
|
-
*/
|
484
|
-
|
485
|
-
|
486
|
-
/**************************************************************************
|
487
|
-
*
|
488
|
-
* @constant:
|
489
|
-
* FT_PARAM_TAG_STEM_DARKENING
|
490
|
-
*
|
491
|
-
* @description:
|
492
|
-
* An @FT_Parameter tag to be used with @FT_Face_Properties. The
|
493
|
-
* corresponding Boolean argument specifies whether to apply stem
|
494
|
-
* darkening, overriding the global default values or the values set up
|
495
|
-
* with @FT_Property_Set (see @no-stem-darkening[autofit] and
|
496
|
-
* @no-stem-darkening[cff]).
|
497
|
-
*
|
498
|
-
* This is a passive setting that only takes effect if the font driver
|
499
|
-
* or autohinter honors it, which the CFF driver always does, but the
|
500
|
-
* autohinter only in `light' hinting mode (as of version 2.7.0).
|
501
|
-
*
|
502
|
-
*/
|
503
|
-
#define FT_PARAM_TAG_STEM_DARKENING \
|
504
|
-
FT_MAKE_TAG( 'd', 'a', 'r', 'k' )
|
505
|
-
|
506
|
-
|
507
|
-
/**************************************************************************
|
508
|
-
*
|
509
|
-
* @property:
|
510
|
-
* darkening-parameters[autofit]
|
511
|
-
*
|
512
|
-
* @description:
|
513
|
-
* *Experimental* *only*
|
514
|
-
*
|
515
|
-
* See the description of the CFF driver for details. This
|
516
|
-
* implementation appropriates the
|
517
|
-
* CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency.
|
518
|
-
* Note the differences described in @no-stem-darkening[autofit].
|
519
|
-
*
|
520
|
-
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
521
|
-
* variable similar to the CFF driver.
|
522
|
-
*/
|
523
|
-
|
524
|
-
|
525
|
-
/* */
|
526
|
-
|
527
|
-
|
528
|
-
FT_END_HEADER
|
529
|
-
|
530
|
-
#endif /* FTAUTOH_H_ */
|
531
|
-
|
532
|
-
|
533
|
-
/* END */
|