cairo 1.15.9-x86-mingw32 → 1.15.10-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS +20 -0
- data/Rakefile +9 -7
- data/ext/cairo/rb_cairo.h +1 -1
- 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/cairo.rb +3 -3
- data/test/cairo-test-utils.rb +8 -4
- data/test/test_context.rb +1 -1
- data/test/test_font_face.rb +1 -1
- data/test/test_recording_surface.rb +1 -0
- data/vendor/local/bin/fc-cache.exe +0 -0
- data/vendor/local/bin/fc-cat.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/freetype-config +78 -28
- 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/xml2-config +1 -1
- 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/etc/fonts/conf.d/30-metric-aliases.conf +56 -16
- data/vendor/local/etc/fonts/conf.d/30-urw-aliases.conf +11 -2
- data/vendor/local/etc/fonts/conf.d/45-latin.conf +4 -0
- data/vendor/local/etc/fonts/conf.d/60-latin.conf +1 -0
- data/vendor/local/include/cairo/cairo-pdf.h +7 -8
- data/vendor/local/include/cairo/cairo-version.h +1 -1
- data/vendor/local/include/fontconfig/fontconfig.h +3 -2
- data/vendor/local/include/freetype2/freetype/config/ftconfig.h +10 -1
- data/vendor/local/include/freetype2/freetype/config/ftheader.h +14 -1
- data/vendor/local/include/freetype2/freetype/config/ftoption.h +79 -22
- data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +1 -1
- data/vendor/local/include/freetype2/freetype/freetype.h +616 -400
- data/vendor/local/include/freetype2/freetype/ftadvanc.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftautoh.h +32 -10
- data/vendor/local/include/freetype2/freetype/ftbbox.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftbdf.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftbitmap.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftbzip2.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftcache.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftcffdrv.h +47 -1
- data/vendor/local/include/freetype2/freetype/ftchapters.h +1 -0
- data/vendor/local/include/freetype2/freetype/ftcid.h +1 -1
- data/vendor/local/include/freetype2/freetype/fterrdef.h +5 -1
- data/vendor/local/include/freetype2/freetype/fterrors.h +5 -5
- data/vendor/local/include/freetype2/freetype/ftfntfmt.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftgasp.h +12 -4
- data/vendor/local/include/freetype2/freetype/ftglyph.h +11 -2
- data/vendor/local/include/freetype2/freetype/ftgxval.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftgzip.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftimage.h +12 -12
- data/vendor/local/include/freetype2/freetype/ftincrem.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftlcdfil.h +46 -10
- 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 +6 -5
- data/vendor/local/include/freetype2/freetype/ftmm.h +147 -58
- data/vendor/local/include/freetype2/freetype/ftmodapi.h +46 -3
- 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 -1
- data/vendor/local/include/freetype2/freetype/ftpcfdrv.h +105 -0
- data/vendor/local/include/freetype2/freetype/ftpfr.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftrender.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftsizes.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftsnames.h +117 -30
- data/vendor/local/include/freetype2/freetype/ftstroke.h +2 -2
- 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/ftttdrv.h +5 -6
- data/vendor/local/include/freetype2/freetype/fttypes.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftwinfnt.h +1 -1
- data/vendor/local/include/freetype2/freetype/t1tables.h +3 -3
- data/vendor/local/include/freetype2/freetype/ttnameid.h +313 -314
- data/vendor/local/include/freetype2/freetype/tttables.h +190 -173
- data/vendor/local/include/freetype2/freetype/tttags.h +7 -1
- data/vendor/local/include/freetype2/freetype/ttunpat.h +2 -2
- data/vendor/local/include/freetype2/ft2build.h +1 -1
- data/vendor/local/include/libpng16/png.h +29 -18
- data/vendor/local/include/libpng16/pngconf.h +1 -1
- data/vendor/local/include/libpng16/pnglibconf.h +5 -2
- data/vendor/local/include/libxml2/libxml/HTMLparser.h +2 -2
- data/vendor/local/include/libxml2/libxml/schemasInternals.h +1 -1
- data/vendor/local/include/libxml2/libxml/xmlreader.h +1 -1
- data/vendor/local/include/libxml2/libxml/xmlversion.h +4 -4
- data/vendor/local/include/png.h +29 -18
- data/vendor/local/include/pngconf.h +1 -1
- data/vendor/local/include/pnglibconf.h +5 -2
- data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +2 -2
- data/vendor/local/lib/fontconfig.def +1 -1
- data/vendor/local/lib/libcairo-gobject.a +0 -0
- data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
- data/vendor/local/lib/libcairo-gobject.la +2 -2
- 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-script-interpreter.la +2 -2
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libcairo.la +2 -2
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfontconfig.la +1 -1
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +2 -2
- 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.a +0 -0
- data/vendor/local/lib/libxml2.dll.a +0 -0
- data/vendor/local/lib/libxml2.la +1 -1
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
- data/vendor/local/lib/pkgconfig/fontconfig.pc +2 -2
- data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng.pc +2 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +2 -1
- data/vendor/local/lib/pkgconfig/libxml-2.0.pc +1 -1
- data/vendor/local/lib/xml2Conf.sh +1 -1
- data/vendor/local/share/aclocal/freetype2.m4 +1 -1
- data/vendor/local/share/aclocal/libxml.m4 +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/Copyright +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/examples/testHTML.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/examples/testSAX.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/examples/testXPath.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/examples/xmllint.c +78 -78
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/DOM.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/FAQ.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/Libxml2-Logo-180x168.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/Libxml2-Logo-90x34.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/encoding.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/examples.xml +256 -256
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/examples.xsl +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/book1.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/home.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/index.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/left.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-DOCBparser.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-HTMLparser.html +4 -4
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-HTMLtree.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-SAX.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-SAX2.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-c14n.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-catalog.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-chvalid.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-debugXML.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-dict.html +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-encoding.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-entities.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-globals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-hash.html +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-lib.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-list.html +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-nanoftp.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-nanohttp.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-parser.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-parserInternals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-pattern.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-relaxng.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-schemasInternals.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-schematron.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-threads.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-tree.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-uri.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-valid.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xinclude.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xlink.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlIO.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlautomata.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlerror.html +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlexports.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlmemory.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlmodule.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlreader.html +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlregexp.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlsave.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlschemas.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlschemastypes.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlstring.html +3 -3
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlunicode.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlversion.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xmlwriter.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xpath.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xpathInternals.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xpointer.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/libxml-xzlib.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/right.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/html/up.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/index.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/io1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/io1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/io2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/io2.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/libxml.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/parse1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/parse2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/parse3.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/parse4.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader3.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader3.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader4.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/reader4.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/redhat.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/smallfootonly.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/structure.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/test1.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/test2.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/test3.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/testWriter.c +16 -16
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tree1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tree1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tree2.c +1 -2
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tree2.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tst.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apa.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apb.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apc.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apd.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ape.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apf.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/apg.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/aph.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/api.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s02.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s03.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s04.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s05.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s06.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s07.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s08.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ar01s09.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/blank.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/1.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/10.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/2.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/3.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/4.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/5.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/6.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/7.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/8.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/callouts/9.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/caution.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/draft.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/home.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/important.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/next.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/note.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/prev.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/tip.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/toc-blank.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/toc-minus.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/toc-plus.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/up.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/images/warning.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includeaddattribute.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includeaddkeyword.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includeconvert.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includegetattribute.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includekeyword.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/includexpath.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/index.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/ix01.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/tutorial/xmltutorial.pdf +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/w3c.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/writer.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/xml.html +154 -8
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/xpath1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/xpath1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/xpath2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.4 → libxml2-2.9.6}/html/xpath2.res +0 -0
- data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +56 -16
- data/vendor/local/share/fontconfig/conf.avail/30-urw-aliases.conf +11 -2
- data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +4 -0
- data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +1 -0
- data/vendor/local/share/gtk-doc/html/cairo/bindings-errors.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-fonts.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-memory.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-overloading.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-path.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-patterns.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-return-values.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-streams.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/bindings-surfaces.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +17 -25
- data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +42 -53
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +48 -63
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +68 -78
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PNG-Support.html +34 -47
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +82 -92
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +50 -61
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-(CGFont)-Fonts.html +18 -27
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Quartz-Surfaces.html +22 -32
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Raster-Sources.html +64 -79
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +21 -30
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +99 -125
- data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +31 -41
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +43 -56
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Tags-and-Links.html +23 -29
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Transformations.html +41 -48
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Types.html +19 -26
- data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +56 -72
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Version-Information.html +28 -39
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +39 -51
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +34 -47
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XCB-Surfaces.html +45 -57
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +62 -79
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +18 -27
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +53 -95
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +40 -53
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +71 -87
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-matrix-t.html +49 -57
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +158 -189
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +76 -92
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +146 -164
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +234 -264
- data/vendor/local/share/gtk-doc/html/cairo/cairo-drawing.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-fonts.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-support.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-surfaces.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +104 -119
- data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +236 -6
- data/vendor/local/share/gtk-doc/html/cairo/index-1.10.html +62 -63
- data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +69 -70
- data/vendor/local/share/gtk-doc/html/cairo/index-1.14.html +11 -12
- data/vendor/local/share/gtk-doc/html/cairo/index-1.2.html +59 -60
- data/vendor/local/share/gtk-doc/html/cairo/index-1.4.html +35 -36
- data/vendor/local/share/gtk-doc/html/cairo/index-1.6.html +28 -29
- data/vendor/local/share/gtk-doc/html/cairo/index-1.8.html +39 -40
- data/vendor/local/share/gtk-doc/html/cairo/index-all.html +510 -511
- data/vendor/local/share/gtk-doc/html/cairo/index.html +4 -5
- data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +5 -6
- data/vendor/local/share/gtk-doc/html/cairo/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/cairo/style.css +160 -142
- data/vendor/local/share/gtk-doc/html/cairo/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-HTMLparser.html +4 -4
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +2 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-hash.html +2 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-list.html +2 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-schemasInternals.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlerror.html +2 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlreader.html +2 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +3 -3
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpath.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpathInternals.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xpointer.html +1 -1
- data/vendor/local/share/license/cairo/README +1 -1
- data/vendor/local/share/license/fontconfig/README +58 -2
- data/vendor/local/share/license/freetype/README +5 -5
- data/vendor/local/share/license/freetype/README.git +1 -1
- data/vendor/local/share/license/libpng/README +6 -6
- data/vendor/local/share/license/libxml2/README.zOS +212 -0
- data/vendor/local/share/man/man1/freetype-config.1 +44 -6
- data/vendor/local/share/man/man3/libpng.3 +106 -48
- data/vendor/local/share/man/man3/libpngpf.3 +4 -4
- data/vendor/local/share/man/man5/png.5 +5 -5
- metadata +175 -174
- data/vendor/local/share/gtk-doc/html/cairo/index.sgml +0 -764
@@ -7,16 +7,25 @@
|
|
7
7
|
-->
|
8
8
|
<alias binding="same">
|
9
9
|
<family>Zapf Dingbats</family>
|
10
|
-
<accept
|
10
|
+
<accept>
|
11
|
+
<family>D050000L</family>
|
12
|
+
<family>Dingbats</family>
|
13
|
+
</accept>
|
11
14
|
</alias>
|
12
15
|
<alias binding="same">
|
13
16
|
<family>ITC Zapf Dingbats</family>
|
14
|
-
<accept
|
17
|
+
<accept>
|
18
|
+
<family>D050000L</family>
|
19
|
+
<family>Dingbats</family>
|
20
|
+
</accept>
|
15
21
|
</alias>
|
16
22
|
<match target="pattern">
|
17
23
|
<test name="family" compare="eq" ignore-blanks="true">
|
18
24
|
<string>Symbol</string>
|
19
25
|
</test>
|
26
|
+
<edit name="family" mode="append" binding="same">
|
27
|
+
<string>Standard Symbols PS</string>
|
28
|
+
</edit>
|
20
29
|
<edit name="family" mode="append" binding="same">
|
21
30
|
<string>Standard Symbols L</string>
|
22
31
|
</edit>
|
@@ -227,6 +227,10 @@
|
|
227
227
|
<family>Nimbus Mono</family>
|
228
228
|
<default><family>monospace</family></default>
|
229
229
|
</alias>
|
230
|
+
<alias>
|
231
|
+
<family>Nimbus Mono PS</family>
|
232
|
+
<default><family>monospace</family></default>
|
233
|
+
</alias>
|
230
234
|
<alias>
|
231
235
|
<family>Terminal</family>
|
232
236
|
<default><family>monospace</family></default>
|
@@ -87,9 +87,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface,
|
|
87
87
|
|
88
88
|
/**
|
89
89
|
* cairo_pdf_outline_flags_t:
|
90
|
-
* @
|
91
|
-
* @
|
92
|
-
* @
|
90
|
+
* @CAIRO_PDF_OUTLINE_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
|
91
|
+
* @CAIRO_PDF_OUTLINE_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
|
92
|
+
* @CAIRO_PDF_OUTLINE_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
|
93
93
|
*
|
94
94
|
* #cairo_pdf_outline_flags_t is used by the
|
95
95
|
* cairo_pdf_surface_add_outline() function specify the attributes of
|
@@ -99,9 +99,9 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface,
|
|
99
99
|
* Since: 1.16
|
100
100
|
**/
|
101
101
|
typedef enum _cairo_pdf_outline_flags {
|
102
|
-
|
103
|
-
|
104
|
-
|
102
|
+
CAIRO_PDF_OUTLINE_FLAG_OPEN = 0x1,
|
103
|
+
CAIRO_PDF_OUTLINE_FLAG_BOLD = 0x2,
|
104
|
+
CAIRO_PDF_OUTLINE_FLAG_ITALIC = 0x4,
|
105
105
|
} cairo_pdf_outline_flags_t;
|
106
106
|
|
107
107
|
#define CAIRO_PDF_OUTLINE_ROOT 0
|
@@ -110,7 +110,7 @@ cairo_public int
|
|
110
110
|
cairo_pdf_surface_add_outline (cairo_surface_t *surface,
|
111
111
|
int parent_id,
|
112
112
|
const char *utf8,
|
113
|
-
const char *
|
113
|
+
const char *link_attribs,
|
114
114
|
cairo_pdf_outline_flags_t flags);
|
115
115
|
|
116
116
|
/**
|
@@ -120,7 +120,6 @@ cairo_pdf_surface_add_outline (cairo_surface_t *surface,
|
|
120
120
|
* @CAIRO_PDF_METADATA_SUBJECT: The document subject (Since 1.16)
|
121
121
|
* @CAIRO_PDF_METADATA_KEYWORDS: The document keywords (Since 1.16)
|
122
122
|
* @CAIRO_PDF_METADATA_CREATOR: The document creator (Since 1.16)
|
123
|
-
* @CAIRO_PDF_METADATA_TITLE: The document title (Since 1.16)
|
124
123
|
* @CAIRO_PDF_METADATA_CREATE_DATE: The document creation date (Since 1.16)
|
125
124
|
* @CAIRO_PDF_METADATA_MOD_DATE: The document modification date (Since 1.16)
|
126
125
|
*
|
@@ -52,7 +52,7 @@ typedef int FcBool;
|
|
52
52
|
|
53
53
|
#define FC_MAJOR 2
|
54
54
|
#define FC_MINOR 12
|
55
|
-
#define FC_REVISION
|
55
|
+
#define FC_REVISION 4
|
56
56
|
|
57
57
|
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
|
58
58
|
|
@@ -128,7 +128,8 @@ typedef int FcBool;
|
|
128
128
|
#define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
|
129
129
|
|
130
130
|
/* Adjust outline rasterizer */
|
131
|
-
#define
|
131
|
+
#define FC_CHARWIDTH "charwidth" /* Int */
|
132
|
+
#define FC_CHAR_WIDTH FC_CHARWIDTH
|
132
133
|
#define FC_CHAR_HEIGHT "charheight"/* Int */
|
133
134
|
#define FC_MATRIX "matrix" /* FcMatrix */
|
134
135
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
/* */
|
6
6
|
/* UNIX-specific configuration file (specification only). */
|
7
7
|
/* */
|
8
|
-
/* Copyright 1996-
|
8
|
+
/* Copyright 1996-2017 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, */
|
@@ -366,6 +366,15 @@ FT_BEGIN_HEADER
|
|
366
366
|
#endif
|
367
367
|
|
368
368
|
|
369
|
+
#ifdef _WIN64
|
370
|
+
/* only 64bit Windows uses the LLP64 data model, i.e., */
|
371
|
+
/* 32bit integers, 64bit pointers */
|
372
|
+
#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
|
373
|
+
#else
|
374
|
+
#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
|
375
|
+
#endif
|
376
|
+
|
377
|
+
|
369
378
|
/*************************************************************************/
|
370
379
|
/* */
|
371
380
|
/* miscellaneous */
|
@@ -4,7 +4,7 @@
|
|
4
4
|
/* */
|
5
5
|
/* Build macros of the FreeType 2 library. */
|
6
6
|
/* */
|
7
|
-
/* Copyright 1996-
|
7
|
+
/* Copyright 1996-2017 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, */
|
@@ -354,6 +354,19 @@
|
|
354
354
|
#define FT_TRUETYPE_DRIVER_H <freetype/ftttdrv.h>
|
355
355
|
|
356
356
|
|
357
|
+
/*************************************************************************
|
358
|
+
*
|
359
|
+
* @macro:
|
360
|
+
* FT_PCF_DRIVER_H
|
361
|
+
*
|
362
|
+
* @description:
|
363
|
+
* A macro used in #include statements to name the file containing
|
364
|
+
* structures and macros related to the PCF driver module.
|
365
|
+
*
|
366
|
+
*/
|
367
|
+
#define FT_PCF_DRIVER_H <freetype/ftpcfdrv.h>
|
368
|
+
|
369
|
+
|
357
370
|
/*************************************************************************
|
358
371
|
*
|
359
372
|
* @macro:
|
@@ -4,7 +4,7 @@
|
|
4
4
|
/* */
|
5
5
|
/* User-selectable configuration macros (specification only). */
|
6
6
|
/* */
|
7
|
-
/* Copyright 1996-
|
7
|
+
/* Copyright 1996-2017 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, */
|
@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
|
|
82
82
|
/* to control the various font drivers and modules. The controllable */
|
83
83
|
/* properties are listed in the section `Controlling FreeType Modules' */
|
84
84
|
/* in the reference's table of contents; currently there are properties */
|
85
|
-
/* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'),
|
86
|
-
/* TrueType (file `ftttdrv.h').
|
85
|
+
/* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
|
86
|
+
/* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
|
87
87
|
/* */
|
88
88
|
/* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
|
89
89
|
/* multiple lines for better readability). */
|
@@ -107,20 +107,17 @@ FT_BEGIN_HEADER
|
|
107
107
|
|
108
108
|
/*************************************************************************/
|
109
109
|
/* */
|
110
|
-
/* Uncomment the line below if you want to activate
|
111
|
-
/*
|
110
|
+
/* Uncomment the line below if you want to activate LCD rendering */
|
111
|
+
/* technology similar to ClearType in this build of the library. This */
|
112
|
+
/* technology triples the resolution in the direction color subpixels. */
|
113
|
+
/* To mitigate color fringes inherent to this technology, you also need */
|
114
|
+
/* to explicitly set up LCD filtering. */
|
112
115
|
/* */
|
113
116
|
/* Note that this feature is covered by several Microsoft patents */
|
114
117
|
/* and should not be activated in any default build of the library. */
|
115
|
-
/*
|
116
|
-
/*
|
117
|
-
/*
|
118
|
-
/* FT_Render_Glyph still generates a bitmap that is 3 times wider than */
|
119
|
-
/* the original size in case this macro isn't defined; however, each */
|
120
|
-
/* triplet of subpixels has R=G=B. */
|
121
|
-
/* */
|
122
|
-
/* This is done to allow FreeType clients to run unmodified, forcing */
|
123
|
-
/* them to display normal gray-level anti-aliased glyphs. */
|
118
|
+
/* When this macro is not defined, FreeType offers alternative LCD */
|
119
|
+
/* rendering technology that produces excellent output without LCD */
|
120
|
+
/* filtering. */
|
124
121
|
/* */
|
125
122
|
/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
|
126
123
|
|
@@ -327,7 +324,7 @@ FT_BEGIN_HEADER
|
|
327
324
|
/* */
|
328
325
|
/* - The TrueType driver will provide its own set of glyph names, */
|
329
326
|
/* if you build it to support postscript names in the TrueType */
|
330
|
-
/* `post' table.
|
327
|
+
/* `post' table, but will not synthesize a missing Unicode charmap. */
|
331
328
|
/* */
|
332
329
|
/* - The Type 1 driver will not be able to synthesize a Unicode */
|
333
330
|
/* charmap out of the glyphs found in the fonts. */
|
@@ -640,17 +637,21 @@ FT_BEGIN_HEADER
|
|
640
637
|
/* [1] for a technical overview on what this means. See `ttinterp.h' */
|
641
638
|
/* for more details on the LEAN option. */
|
642
639
|
/* */
|
643
|
-
/* There are three
|
640
|
+
/* There are three possible values. */
|
644
641
|
/* */
|
645
|
-
/* 1
|
646
|
-
/*
|
642
|
+
/* Value 1: */
|
643
|
+
/* This value is associated with the `Infinality' moniker, */
|
644
|
+
/* contributed by an individual nicknamed Infinality with the goal of */
|
647
645
|
/* making TrueType fonts render better than on Windows. A high */
|
648
646
|
/* amount of configurability and flexibility, down to rules for */
|
649
647
|
/* single glyphs in fonts, but also very slow. Its experimental and */
|
650
648
|
/* slow nature and the original developer losing interest meant that */
|
651
649
|
/* this option was never enabled in default builds. */
|
652
650
|
/* */
|
653
|
-
/*
|
651
|
+
/* The corresponding interpreter version is v38. */
|
652
|
+
/* */
|
653
|
+
/* Value 2: */
|
654
|
+
/* The new default mode for the TrueType driver. The Infinality code */
|
654
655
|
/* base was stripped to the bare minimum and all configurability */
|
655
656
|
/* removed in the name of speed and simplicity. The configurability */
|
656
657
|
/* was mainly aimed at legacy fonts like Arial, Times New Roman, or */
|
@@ -660,14 +661,19 @@ FT_BEGIN_HEADER
|
|
660
661
|
/* that modern and web fonts render well while legacy fonts render */
|
661
662
|
/* okay. */
|
662
663
|
/* */
|
663
|
-
/*
|
664
|
+
/* The corresponding interpreter version is v40. */
|
665
|
+
/* */
|
666
|
+
/* Value 3: */
|
667
|
+
/* Compile both, making both v38 and v40 available (the latter is the */
|
668
|
+
/* default). */
|
664
669
|
/* */
|
665
670
|
/* By undefining these, you get rendering behavior like on Windows */
|
666
671
|
/* without ClearType, i.e., Windows XP without ClearType enabled and */
|
667
672
|
/* Win9x (interpreter version v35). Or not, depending on how much */
|
668
673
|
/* hinting blood and testing tears the font designer put into a given */
|
669
674
|
/* font. If you define one or both subpixel hinting options, you can */
|
670
|
-
/* switch between between v35 and the ones you define
|
675
|
+
/* switch between between v35 and the ones you define (using */
|
676
|
+
/* `FT_Property_Set'). */
|
671
677
|
/* */
|
672
678
|
/* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */
|
673
679
|
/* defined. */
|
@@ -832,6 +838,33 @@ FT_BEGIN_HEADER
|
|
832
838
|
/* #define CFF_CONFIG_OPTION_OLD_ENGINE */
|
833
839
|
|
834
840
|
|
841
|
+
/*************************************************************************/
|
842
|
+
/*************************************************************************/
|
843
|
+
/**** ****/
|
844
|
+
/**** P C F D R I V E R C O N F I G U R A T I O N ****/
|
845
|
+
/**** ****/
|
846
|
+
/*************************************************************************/
|
847
|
+
/*************************************************************************/
|
848
|
+
|
849
|
+
|
850
|
+
/*************************************************************************/
|
851
|
+
/* */
|
852
|
+
/* There are many PCF fonts just called `Fixed' which look completely */
|
853
|
+
/* different, and which have nothing to do with each other. When */
|
854
|
+
/* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
|
855
|
+
/* random, the style changes often if one changes the size and one */
|
856
|
+
/* cannot select some fonts at all. This option makes the PCF module */
|
857
|
+
/* prepend the foundry name (plus a space) to the family name. */
|
858
|
+
/* */
|
859
|
+
/* We also check whether we have `wide' characters; all put together, we */
|
860
|
+
/* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
|
861
|
+
/* */
|
862
|
+
/* If this option is activated, it can be controlled with the */
|
863
|
+
/* `no-long-family-names' property of the pcf driver module. */
|
864
|
+
/* */
|
865
|
+
/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
|
866
|
+
|
867
|
+
|
835
868
|
/*************************************************************************/
|
836
869
|
/*************************************************************************/
|
837
870
|
/**** ****/
|
@@ -850,7 +883,9 @@ FT_BEGIN_HEADER
|
|
850
883
|
|
851
884
|
/*************************************************************************/
|
852
885
|
/* */
|
853
|
-
/* Compile autofit module with Indic script support
|
886
|
+
/* Compile autofit module with fallback Indic script support, covering */
|
887
|
+
/* some scripts that the `latin' submodule of the autofit module doesn't */
|
888
|
+
/* (yet) handle. */
|
854
889
|
/* */
|
855
890
|
#define AF_CONFIG_OPTION_INDIC
|
856
891
|
|
@@ -869,6 +904,26 @@ FT_BEGIN_HEADER
|
|
869
904
|
/* */
|
870
905
|
#define AF_CONFIG_OPTION_USE_WARPER
|
871
906
|
|
907
|
+
/*************************************************************************/
|
908
|
+
/* */
|
909
|
+
/* Use TrueType-like size metrics for `light' auto-hinting. */
|
910
|
+
/* */
|
911
|
+
/* It is strongly recommended to avoid this option, which exists only to */
|
912
|
+
/* help some legacy applications retain its appearance and behaviour */
|
913
|
+
/* with respect to auto-hinted TrueType fonts. */
|
914
|
+
/* */
|
915
|
+
/* The very reason this option exists at all are GNU/Linux distributions */
|
916
|
+
/* like Fedora that did not un-patch the following change (which was */
|
917
|
+
/* present in FreeType between versions 2.4.6 and 2.7.1, inclusive). */
|
918
|
+
/* */
|
919
|
+
/* 2011-07-16 Steven Chu <steven.f.chu@gmail.com> */
|
920
|
+
/* */
|
921
|
+
/* [truetype] Fix metrics on size request for scalable fonts. */
|
922
|
+
/* */
|
923
|
+
/* This problematic commit is now reverted (more or less). */
|
924
|
+
/* */
|
925
|
+
/* #define AF_CONFIG_OPTION_TT_SIZE_METRICS */
|
926
|
+
|
872
927
|
/* */
|
873
928
|
|
874
929
|
|
@@ -886,6 +941,7 @@ FT_BEGIN_HEADER
|
|
886
941
|
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
887
942
|
#define TT_USE_BYTECODE_INTERPRETER
|
888
943
|
|
944
|
+
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
889
945
|
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
|
890
946
|
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
|
891
947
|
#endif
|
@@ -893,6 +949,7 @@ FT_BEGIN_HEADER
|
|
893
949
|
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
|
894
950
|
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
|
895
951
|
#endif
|
952
|
+
#endif
|
896
953
|
#endif
|
897
954
|
|
898
955
|
|
@@ -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-2017 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, */
|
@@ -4,7 +4,7 @@
|
|
4
4
|
/* */
|
5
5
|
/* FreeType high-level API and common types (specification only). */
|
6
6
|
/* */
|
7
|
-
/* Copyright 1996-
|
7
|
+
/* Copyright 1996-2017 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, */
|
@@ -175,6 +175,7 @@ FT_BEGIN_HEADER
|
|
175
175
|
/* FT_Done_Face */
|
176
176
|
/* FT_Reference_Face */
|
177
177
|
/* FT_New_Memory_Face */
|
178
|
+
/* FT_Face_Properties */
|
178
179
|
/* FT_Open_Face */
|
179
180
|
/* FT_Open_Args */
|
180
181
|
/* FT_Parameter */
|
@@ -265,8 +266,8 @@ FT_BEGIN_HEADER
|
|
265
266
|
/* FT_Glyph_Metrics */
|
266
267
|
/* */
|
267
268
|
/* <Description> */
|
268
|
-
/* A structure
|
269
|
-
/*
|
269
|
+
/* A structure to model the metrics of a single glyph. The values */
|
270
|
+
/* are expressed in 26.6 fractional pixel format; if the flag */
|
270
271
|
/* @FT_LOAD_NO_SCALE has been used while loading the glyph, values */
|
271
272
|
/* are expressed in font units instead. */
|
272
273
|
/* */
|
@@ -305,6 +306,11 @@ FT_BEGIN_HEADER
|
|
305
306
|
/* `horiAdvance' or `vertAdvance'; you have to manually adjust these */
|
306
307
|
/* values to account for the added width and height. */
|
307
308
|
/* */
|
309
|
+
/* FreeType doesn't use the `VORG' table data for CFF fonts because */
|
310
|
+
/* it doesn't have an interface to quickly retrieve the glyph height. */
|
311
|
+
/* The y~coordinate of the vertical origin can be simply computed as */
|
312
|
+
/* `vertBearingY + height' after loading a glyph. */
|
313
|
+
/* */
|
308
314
|
typedef struct FT_Glyph_Metrics_
|
309
315
|
{
|
310
316
|
FT_Pos width;
|
@@ -349,10 +355,10 @@ FT_BEGIN_HEADER
|
|
349
355
|
/* */
|
350
356
|
/* <Note> */
|
351
357
|
/* Windows FNT: */
|
352
|
-
/* The nominal size given in a FNT font is not reliable.
|
353
|
-
/*
|
354
|
-
/* values and
|
355
|
-
/*
|
358
|
+
/* The nominal size given in a FNT font is not reliable. If the */
|
359
|
+
/* driver finds it incorrect, it sets `size' to some calculated */
|
360
|
+
/* values, and `x_ppem' and `y_ppem' to the pixel width and height */
|
361
|
+
/* given in the font, respectively. */
|
356
362
|
/* */
|
357
363
|
/* TrueType embedded bitmaps: */
|
358
364
|
/* `size', `width', and `height' values are not contained in the */
|
@@ -421,9 +427,9 @@ FT_BEGIN_HEADER
|
|
421
427
|
/* FT_Module */
|
422
428
|
/* */
|
423
429
|
/* <Description> */
|
424
|
-
/* A handle to a given FreeType module object.
|
430
|
+
/* A handle to a given FreeType module object. A module can be a */
|
425
431
|
/* font driver, a renderer, or anything else that provides services */
|
426
|
-
/* to the
|
432
|
+
/* to the former. */
|
427
433
|
/* */
|
428
434
|
typedef struct FT_ModuleRec_* FT_Module;
|
429
435
|
|
@@ -434,8 +440,8 @@ FT_BEGIN_HEADER
|
|
434
440
|
/* FT_Driver */
|
435
441
|
/* */
|
436
442
|
/* <Description> */
|
437
|
-
/* A handle to a given FreeType font driver object.
|
438
|
-
/* is a
|
443
|
+
/* A handle to a given FreeType font driver object. A font driver */
|
444
|
+
/* is a module capable of creating faces from font files. */
|
439
445
|
/* */
|
440
446
|
typedef struct FT_DriverRec_* FT_Driver;
|
441
447
|
|
@@ -446,10 +452,10 @@ FT_BEGIN_HEADER
|
|
446
452
|
/* FT_Renderer */
|
447
453
|
/* */
|
448
454
|
/* <Description> */
|
449
|
-
/* A handle to a given FreeType renderer. A renderer is a
|
450
|
-
/*
|
451
|
-
/*
|
452
|
-
/*
|
455
|
+
/* A handle to a given FreeType renderer. A renderer is a module in */
|
456
|
+
/* charge of converting a glyph's outline image to a bitmap. It */
|
457
|
+
/* supports a single glyph image format, and one or more target */
|
458
|
+
/* surface depths. */
|
453
459
|
/* */
|
454
460
|
typedef struct FT_RendererRec_* FT_Renderer;
|
455
461
|
|
@@ -467,15 +473,15 @@ FT_BEGIN_HEADER
|
|
467
473
|
/* FT_Face */
|
468
474
|
/* */
|
469
475
|
/* <Description> */
|
470
|
-
/* A handle to a
|
471
|
-
/*
|
476
|
+
/* A handle to a typographic face object. A face object models a */
|
477
|
+
/* given typeface, in a given style. */
|
472
478
|
/* */
|
473
479
|
/* <Note> */
|
474
|
-
/*
|
480
|
+
/* A face object also owns a single @FT_GlyphSlot object, as well */
|
475
481
|
/* as one or more @FT_Size objects. */
|
476
482
|
/* */
|
477
483
|
/* Use @FT_New_Face or @FT_Open_Face to create a new face object from */
|
478
|
-
/* a given
|
484
|
+
/* a given filepath or a custom input stream. */
|
479
485
|
/* */
|
480
486
|
/* Use @FT_Done_Face to destroy it (along with its slot and sizes). */
|
481
487
|
/* */
|
@@ -500,11 +506,11 @@ FT_BEGIN_HEADER
|
|
500
506
|
/* FT_Size */
|
501
507
|
/* */
|
502
508
|
/* <Description> */
|
503
|
-
/* A handle to an object
|
509
|
+
/* A handle to an object that models a face scaled to a given */
|
504
510
|
/* character size. */
|
505
511
|
/* */
|
506
512
|
/* <Note> */
|
507
|
-
/*
|
513
|
+
/* An @FT_Face has one _active_ @FT_Size object that is used by */
|
508
514
|
/* functions like @FT_Load_Glyph to determine the scaling */
|
509
515
|
/* transformation that in turn is used to load and hint glyphs and */
|
510
516
|
/* metrics. */
|
@@ -531,9 +537,8 @@ FT_BEGIN_HEADER
|
|
531
537
|
/* FT_GlyphSlot */
|
532
538
|
/* */
|
533
539
|
/* <Description> */
|
534
|
-
/* A handle to a given `glyph slot'. A slot is a container
|
535
|
-
/*
|
536
|
-
/* face. */
|
540
|
+
/* A handle to a given `glyph slot'. A slot is a container that can */
|
541
|
+
/* hold any of the glyphs contained in its parent face. */
|
537
542
|
/* */
|
538
543
|
/* In other words, each time you call @FT_Load_Glyph or */
|
539
544
|
/* @FT_Load_Char, the slot's content is erased by the new glyph data, */
|
@@ -552,13 +557,14 @@ FT_BEGIN_HEADER
|
|
552
557
|
/* FT_CharMap */
|
553
558
|
/* */
|
554
559
|
/* <Description> */
|
555
|
-
/* A handle to a
|
556
|
-
/* character codes in a given encoding
|
557
|
-
/* parent's face. Some font formats may
|
558
|
-
/* font.
|
560
|
+
/* A handle to a character map (usually abbreviated to `charmap'). A */
|
561
|
+
/* charmap is used to translate character codes in a given encoding */
|
562
|
+
/* into glyph indexes for its parent's face. Some font formats may */
|
563
|
+
/* provide several charmaps per font. */
|
559
564
|
/* */
|
560
565
|
/* Each face object owns zero or more charmaps, but only one of them */
|
561
|
-
/* can be `active'
|
566
|
+
/* can be `active', providing the data used by @FT_Get_Char_Index or */
|
567
|
+
/* @FT_Load_Char. */
|
562
568
|
/* */
|
563
569
|
/* The list of available charmaps in a face is available through the */
|
564
570
|
/* `face->num_charmaps' and `face->charmaps' fields of @FT_FaceRec. */
|
@@ -569,7 +575,8 @@ FT_BEGIN_HEADER
|
|
569
575
|
/* <Note> */
|
570
576
|
/* When a new face is created (either through @FT_New_Face or */
|
571
577
|
/* @FT_Open_Face), the library looks for a Unicode charmap within */
|
572
|
-
/* the list and automatically activates it.
|
578
|
+
/* the list and automatically activates it. If there is no Unicode */
|
579
|
+
/* charmap, FreeType doesn't set an `active' charmap. */
|
573
580
|
/* */
|
574
581
|
/* <Also> */
|
575
582
|
/* See @FT_CharMapRec for the publicly accessible fields of a given */
|
@@ -615,8 +622,8 @@ FT_BEGIN_HEADER
|
|
615
622
|
/* FT_Encoding */
|
616
623
|
/* */
|
617
624
|
/* <Description> */
|
618
|
-
/* An enumeration
|
619
|
-
/*
|
625
|
+
/* An enumeration to specify character sets supported by charmaps. */
|
626
|
+
/* Used in the @FT_Select_Charmap API function. */
|
620
627
|
/* */
|
621
628
|
/* <Note> */
|
622
629
|
/* Despite the name, this enumeration lists specific character */
|
@@ -630,18 +637,17 @@ FT_BEGIN_HEADER
|
|
630
637
|
/* The encoding value~0 is reserved. */
|
631
638
|
/* */
|
632
639
|
/* FT_ENCODING_UNICODE :: */
|
633
|
-
/*
|
634
|
-
/*
|
635
|
-
/*
|
636
|
-
/* of them. */
|
640
|
+
/* The Unicode character set. This value covers all versions of */
|
641
|
+
/* the Unicode repertoire, including ASCII and Latin-1. Most fonts */
|
642
|
+
/* include a Unicode charmap, but not all of them. */
|
637
643
|
/* */
|
638
644
|
/* For example, if you want to access Unicode value U+1F028 (and */
|
639
645
|
/* the font contains it), use value 0x1F028 as the input value for */
|
640
646
|
/* @FT_Get_Char_Index. */
|
641
647
|
/* */
|
642
648
|
/* FT_ENCODING_MS_SYMBOL :: */
|
643
|
-
/*
|
644
|
-
/*
|
649
|
+
/* Microsoft Symbol encoding, used to encode mathematical symbols */
|
650
|
+
/* and wingdings. For more information, see */
|
645
651
|
/* `http://www.microsoft.com/typography/otspec/recom.htm', */
|
646
652
|
/* `http://www.kostis.net/charsets/symbol.htm', and */
|
647
653
|
/* `http://www.kostis.net/charsets/wingding.htm'. */
|
@@ -650,60 +656,60 @@ FT_BEGIN_HEADER
|
|
650
656
|
/* Area) in the range U+F020-U+F0FF. */
|
651
657
|
/* */
|
652
658
|
/* FT_ENCODING_SJIS :: */
|
653
|
-
/*
|
654
|
-
/* `http://en.wikipedia.org/wiki/Shift_JIS'.
|
655
|
-
/*
|
659
|
+
/* Shift JIS encoding for Japanese. More info at */
|
660
|
+
/* `http://en.wikipedia.org/wiki/Shift_JIS'. See note on */
|
661
|
+
/* multi-byte encodings below. */
|
656
662
|
/* */
|
657
|
-
/*
|
658
|
-
/* Corresponds to
|
659
|
-
/* used in
|
663
|
+
/* FT_ENCODING_PRC :: */
|
664
|
+
/* Corresponds to encoding systems mainly for Simplified Chinese as */
|
665
|
+
/* used in People's Republic of China (PRC). The encoding layout */
|
666
|
+
/* is based on GB~2312 and its supersets GBK and GB~18030. */
|
660
667
|
/* */
|
661
668
|
/* FT_ENCODING_BIG5 :: */
|
662
669
|
/* Corresponds to an encoding system for Traditional Chinese as */
|
663
670
|
/* used in Taiwan and Hong Kong. */
|
664
671
|
/* */
|
665
672
|
/* FT_ENCODING_WANSUNG :: */
|
666
|
-
/* Corresponds to the Korean encoding system known as
|
673
|
+
/* Corresponds to the Korean encoding system known as Extended */
|
674
|
+
/* Wansung (MS Windows code page 949). */
|
667
675
|
/* For more information see */
|
668
|
-
/* `
|
676
|
+
/* `http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'. */
|
669
677
|
/* */
|
670
678
|
/* FT_ENCODING_JOHAB :: */
|
671
679
|
/* The Korean standard character set (KS~C 5601-1992), which */
|
672
680
|
/* corresponds to MS Windows code page 1361. This character set */
|
673
|
-
/* includes all possible
|
681
|
+
/* includes all possible Hangul character combinations. */
|
674
682
|
/* */
|
675
683
|
/* FT_ENCODING_ADOBE_LATIN_1 :: */
|
676
684
|
/* Corresponds to a Latin-1 encoding as defined in a Type~1 */
|
677
685
|
/* PostScript font. It is limited to 256 character codes. */
|
678
686
|
/* */
|
679
687
|
/* FT_ENCODING_ADOBE_STANDARD :: */
|
680
|
-
/*
|
681
|
-
/*
|
682
|
-
/* codes. */
|
688
|
+
/* Adobe Standard encoding, as found in Type~1, CFF, and */
|
689
|
+
/* OpenType/CFF fonts. It is limited to 256 character codes. */
|
683
690
|
/* */
|
684
691
|
/* FT_ENCODING_ADOBE_EXPERT :: */
|
685
|
-
/*
|
686
|
-
/*
|
687
|
-
/* codes. */
|
692
|
+
/* Adobe Expert encoding, as found in Type~1, CFF, and OpenType/CFF */
|
693
|
+
/* fonts. It is limited to 256 character codes. */
|
688
694
|
/* */
|
689
695
|
/* FT_ENCODING_ADOBE_CUSTOM :: */
|
690
696
|
/* Corresponds to a custom encoding, as found in Type~1, CFF, and */
|
691
697
|
/* OpenType/CFF fonts. It is limited to 256 character codes. */
|
692
698
|
/* */
|
693
699
|
/* FT_ENCODING_APPLE_ROMAN :: */
|
694
|
-
/*
|
695
|
-
/*
|
696
|
-
/*
|
700
|
+
/* Apple roman encoding. Many TrueType and OpenType fonts contain */
|
701
|
+
/* a charmap for this 8-bit encoding, since older versions of Mac */
|
702
|
+
/* OS are able to use it. */
|
697
703
|
/* */
|
698
704
|
/* FT_ENCODING_OLD_LATIN_2 :: */
|
699
|
-
/* This value is deprecated and was
|
705
|
+
/* This value is deprecated and was neither used nor reported by */
|
700
706
|
/* FreeType. Don't use or test for it. */
|
701
707
|
/* */
|
702
708
|
/* FT_ENCODING_MS_SJIS :: */
|
703
709
|
/* Same as FT_ENCODING_SJIS. Deprecated. */
|
704
710
|
/* */
|
705
711
|
/* FT_ENCODING_MS_GB2312 :: */
|
706
|
-
/* Same as
|
712
|
+
/* Same as FT_ENCODING_PRC. Deprecated. */
|
707
713
|
/* */
|
708
714
|
/* FT_ENCODING_MS_BIG5 :: */
|
709
715
|
/* Same as FT_ENCODING_BIG5. Deprecated. */
|
@@ -716,7 +722,7 @@ FT_BEGIN_HEADER
|
|
716
722
|
/* */
|
717
723
|
/* <Note> */
|
718
724
|
/* By default, FreeType automatically synthesizes a Unicode charmap */
|
719
|
-
/* for PostScript fonts, using their glyph
|
725
|
+
/* for PostScript fonts, using their glyph name dictionaries. */
|
720
726
|
/* However, it also reports the encodings defined explicitly in the */
|
721
727
|
/* font file, for the cases when they are needed, with the Adobe */
|
722
728
|
/* values as well. */
|
@@ -736,7 +742,7 @@ FT_BEGIN_HEADER
|
|
736
742
|
/* Russian). */
|
737
743
|
/* */
|
738
744
|
/* FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */
|
739
|
-
/* and `encoding_id' is not
|
745
|
+
/* and `encoding_id' is not `TT_MAC_ID_ROMAN' (otherwise it is set to */
|
740
746
|
/* FT_ENCODING_APPLE_ROMAN). */
|
741
747
|
/* */
|
742
748
|
/* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function */
|
@@ -748,9 +754,9 @@ FT_BEGIN_HEADER
|
|
748
754
|
/* to get an idea how to do that. Basically, if the language ID */
|
749
755
|
/* is~0, don't use it, otherwise subtract 1 from the language ID. */
|
750
756
|
/* Then examine `encoding_id'. If, for example, `encoding_id' is */
|
751
|
-
/*
|
757
|
+
/* `TT_MAC_ID_ROMAN' and the language ID (minus~1) is */
|
752
758
|
/* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */
|
753
|
-
/*
|
759
|
+
/* `TT_MAC_ID_ARABIC' with `TT_MAC_LANGID_FARSI' means the Farsi */
|
754
760
|
/* variant the Arabic encoding. */
|
755
761
|
/* */
|
756
762
|
typedef enum FT_Encoding_
|
@@ -761,14 +767,15 @@ FT_BEGIN_HEADER
|
|
761
767
|
FT_ENC_TAG( FT_ENCODING_UNICODE, 'u', 'n', 'i', 'c' ),
|
762
768
|
|
763
769
|
FT_ENC_TAG( FT_ENCODING_SJIS, 's', 'j', 'i', 's' ),
|
764
|
-
FT_ENC_TAG(
|
770
|
+
FT_ENC_TAG( FT_ENCODING_PRC, 'g', 'b', ' ', ' ' ),
|
765
771
|
FT_ENC_TAG( FT_ENCODING_BIG5, 'b', 'i', 'g', '5' ),
|
766
772
|
FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
|
767
773
|
FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ),
|
768
774
|
|
769
|
-
/* for
|
775
|
+
/* for backward compatibility */
|
776
|
+
FT_ENCODING_GB2312 = FT_ENCODING_PRC,
|
770
777
|
FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS,
|
771
|
-
FT_ENCODING_MS_GB2312 =
|
778
|
+
FT_ENCODING_MS_GB2312 = FT_ENCODING_PRC,
|
772
779
|
FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5,
|
773
780
|
FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
|
774
781
|
FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB,
|
@@ -793,7 +800,7 @@ FT_BEGIN_HEADER
|
|
793
800
|
#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
|
794
801
|
#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
|
795
802
|
#define ft_encoding_sjis FT_ENCODING_SJIS
|
796
|
-
#define ft_encoding_gb2312
|
803
|
+
#define ft_encoding_gb2312 FT_ENCODING_PRC
|
797
804
|
#define ft_encoding_big5 FT_ENCODING_BIG5
|
798
805
|
#define ft_encoding_wansung FT_ENCODING_WANSUNG
|
799
806
|
#define ft_encoding_johab FT_ENCODING_JOHAB
|
@@ -820,11 +827,11 @@ FT_BEGIN_HEADER
|
|
820
827
|
/* */
|
821
828
|
/* platform_id :: An ID number describing the platform for the */
|
822
829
|
/* following encoding ID. This comes directly from */
|
823
|
-
/* the TrueType specification and
|
824
|
-
/*
|
830
|
+
/* the TrueType specification and gets emulated for */
|
831
|
+
/* other formats. */
|
825
832
|
/* */
|
826
833
|
/* encoding_id :: A platform specific encoding number. This also */
|
827
|
-
/* comes from the TrueType specification and
|
834
|
+
/* comes from the TrueType specification and gets */
|
828
835
|
/* emulated similarly. */
|
829
836
|
/* */
|
830
837
|
typedef struct FT_CharMapRec_
|
@@ -852,8 +859,8 @@ FT_BEGIN_HEADER
|
|
852
859
|
/* FT_Face_Internal */
|
853
860
|
/* */
|
854
861
|
/* <Description> */
|
855
|
-
/* An opaque handle to an `FT_Face_InternalRec' structure
|
856
|
-
/*
|
862
|
+
/* An opaque handle to an `FT_Face_InternalRec' structure that models */
|
863
|
+
/* the private data of a given @FT_Face object. */
|
857
864
|
/* */
|
858
865
|
/* This structure might change between releases of FreeType~2 and is */
|
859
866
|
/* not generally available to client applications. */
|
@@ -873,7 +880,7 @@ FT_BEGIN_HEADER
|
|
873
880
|
/* <Fields> */
|
874
881
|
/* num_faces :: The number of faces in the font file. Some */
|
875
882
|
/* font formats can have multiple faces in */
|
876
|
-
/* a font file.
|
883
|
+
/* a single font file. */
|
877
884
|
/* */
|
878
885
|
/* face_index :: This field holds two different values. */
|
879
886
|
/* Bits 0-15 are the index of the face in the */
|
@@ -881,14 +888,15 @@ FT_BEGIN_HEADER
|
|
881
888
|
/* are set to~0 if there is only one face in */
|
882
889
|
/* the font file. */
|
883
890
|
/* */
|
884
|
-
/* Bits 16-30 are relevant to GX
|
885
|
-
/* fonts only, holding the named
|
886
|
-
/* index for the current face index
|
887
|
-
/* with value~1; value~0 indicates
|
888
|
-
/* without
|
889
|
-
/* fonts, bits 16-30 are
|
890
|
-
/* the third named
|
891
|
-
/* `face_index' is
|
891
|
+
/* Bits 16-30 are relevant to GX and OpenType */
|
892
|
+
/* variation fonts only, holding the named */
|
893
|
+
/* instance index for the current face index */
|
894
|
+
/* (starting with value~1; value~0 indicates */
|
895
|
+
/* font access without a named instance). For */
|
896
|
+
/* non-variation fonts, bits 16-30 are */
|
897
|
+
/* ignored. If we have the third named */
|
898
|
+
/* instance of face~4, say, `face_index' is */
|
899
|
+
/* set to 0x00030004. */
|
892
900
|
/* */
|
893
901
|
/* Bit 31 is always zero (this is, */
|
894
902
|
/* `face_index' is always a positive value). */
|
@@ -902,17 +910,21 @@ FT_BEGIN_HEADER
|
|
902
910
|
/* @FT_STYLE_FLAG_XXX for the details. Bits */
|
903
911
|
/* 16-30 hold the number of named instances */
|
904
912
|
/* available for the current face if we have a */
|
905
|
-
/* GX variation (sub)font. Bit 31
|
906
|
-
/* zero (this is, `style_flags' is
|
907
|
-
/* positive value).
|
913
|
+
/* GX or OpenType variation (sub)font. Bit 31 */
|
914
|
+
/* is always zero (this is, `style_flags' is */
|
915
|
+
/* always a positive value). Note that a */
|
916
|
+
/* variation font has always at least one */
|
917
|
+
/* named instance, namely the default */
|
918
|
+
/* instance. */
|
908
919
|
/* */
|
909
920
|
/* num_glyphs :: The number of glyphs in the face. If the */
|
910
921
|
/* face is scalable and has sbits (see */
|
911
922
|
/* `num_fixed_sizes'), it is set to the number */
|
912
923
|
/* of outline glyphs. */
|
913
924
|
/* */
|
914
|
-
/* For CID-keyed fonts
|
915
|
-
/*
|
925
|
+
/* For CID-keyed fonts (not in an SFNT */
|
926
|
+
/* wrapper) this value gives the highest CID */
|
927
|
+
/* used in the font. */
|
916
928
|
/* */
|
917
929
|
/* family_name :: The face's family name. This is an ASCII */
|
918
930
|
/* string, usually in English, that describes */
|
@@ -990,8 +1002,8 @@ FT_BEGIN_HEADER
|
|
990
1002
|
/* expressed in font units. For font formats */
|
991
1003
|
/* not having this information, it is set to */
|
992
1004
|
/* `bbox.yMin'. Note that this field is */
|
993
|
-
/*
|
994
|
-
/* scalable formats.
|
1005
|
+
/* negative for values below the baseline. */
|
1006
|
+
/* Only relevant for scalable formats. */
|
995
1007
|
/* */
|
996
1008
|
/* height :: This value is the vertical distance */
|
997
1009
|
/* between two consecutive baselines, */
|
@@ -1034,6 +1046,12 @@ FT_BEGIN_HEADER
|
|
1034
1046
|
/* Fields may be changed after a call to @FT_Attach_File or */
|
1035
1047
|
/* @FT_Attach_Stream. */
|
1036
1048
|
/* */
|
1049
|
+
/* For an OpenType variation font, the values of the following fields */
|
1050
|
+
/* can change after a call to @FT_Set_Var_Design_Coordinates (and */
|
1051
|
+
/* friends) if the font contains an `MVAR' table: `ascender', */
|
1052
|
+
/* `descender', `height', `underline_position', and */
|
1053
|
+
/* `underline_thickness'. */
|
1054
|
+
/* */
|
1037
1055
|
typedef struct FT_FaceRec_
|
1038
1056
|
{
|
1039
1057
|
FT_Long num_faces;
|
@@ -1105,49 +1123,51 @@ FT_BEGIN_HEADER
|
|
1105
1123
|
/* */
|
1106
1124
|
/* <Values> */
|
1107
1125
|
/* FT_FACE_FLAG_SCALABLE :: */
|
1108
|
-
/*
|
1109
|
-
/*
|
1126
|
+
/* The face contains outline glyphs. Note that a face can contain */
|
1127
|
+
/* bitmap strikes also, i.e., a face can have both this flag and */
|
1110
1128
|
/* @FT_FACE_FLAG_FIXED_SIZES set. */
|
1111
1129
|
/* */
|
1112
1130
|
/* FT_FACE_FLAG_FIXED_SIZES :: */
|
1113
|
-
/*
|
1131
|
+
/* The face contains bitmap strikes. See also the */
|
1114
1132
|
/* `num_fixed_sizes' and `available_sizes' fields of @FT_FaceRec. */
|
1115
1133
|
/* */
|
1116
1134
|
/* FT_FACE_FLAG_FIXED_WIDTH :: */
|
1117
|
-
/*
|
1118
|
-
/*
|
1135
|
+
/* The face contains fixed-width characters (like Courier, Lucida, */
|
1136
|
+
/* MonoType, etc.). */
|
1119
1137
|
/* */
|
1120
1138
|
/* FT_FACE_FLAG_SFNT :: */
|
1121
|
-
/*
|
1122
|
-
/*
|
1139
|
+
/* The face uses the SFNT storage scheme. For now, this means */
|
1140
|
+
/* TrueType and OpenType. */
|
1123
1141
|
/* */
|
1124
1142
|
/* FT_FACE_FLAG_HORIZONTAL :: */
|
1125
|
-
/*
|
1126
|
-
/*
|
1143
|
+
/* The face contains horizontal glyph metrics. This should be set */
|
1144
|
+
/* for all common formats. */
|
1127
1145
|
/* */
|
1128
1146
|
/* FT_FACE_FLAG_VERTICAL :: */
|
1129
|
-
/*
|
1130
|
-
/*
|
1147
|
+
/* The face contains vertical glyph metrics. This is only */
|
1148
|
+
/* available in some formats, not all of them. */
|
1131
1149
|
/* */
|
1132
1150
|
/* FT_FACE_FLAG_KERNING :: */
|
1133
|
-
/*
|
1134
|
-
/*
|
1135
|
-
/*
|
1136
|
-
/*
|
1137
|
-
/*
|
1151
|
+
/* The face contains kerning information. If set, the kerning */
|
1152
|
+
/* distance can be retrieved using the function @FT_Get_Kerning. */
|
1153
|
+
/* Otherwise the function always return the vector (0,0). Note */
|
1154
|
+
/* that FreeType doesn't handle kerning data from the SFNT `GPOS' */
|
1155
|
+
/* table (as present in many OpenType fonts). */
|
1138
1156
|
/* */
|
1139
1157
|
/* FT_FACE_FLAG_FAST_GLYPHS :: */
|
1140
1158
|
/* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. */
|
1141
1159
|
/* */
|
1142
1160
|
/* FT_FACE_FLAG_MULTIPLE_MASTERS :: */
|
1143
|
-
/*
|
1144
|
-
/*
|
1145
|
-
/*
|
1161
|
+
/* The face contains multiple masters and is capable of */
|
1162
|
+
/* interpolating between them. Supported formats are Adobe MM, */
|
1163
|
+
/* TrueType GX, and OpenType variation fonts. */
|
1164
|
+
/* */
|
1165
|
+
/* See the multiple-masters specific API for details. */
|
1146
1166
|
/* */
|
1147
1167
|
/* FT_FACE_FLAG_GLYPH_NAMES :: */
|
1148
|
-
/*
|
1149
|
-
/*
|
1150
|
-
/*
|
1168
|
+
/* The face contains glyph names, which can be retrieved using */
|
1169
|
+
/* @FT_Get_Glyph_Name. Note that some TrueType fonts contain */
|
1170
|
+
/* broken glyph name tables. Use the function */
|
1151
1171
|
/* @FT_Has_PS_Glyph_Names when needed. */
|
1152
1172
|
/* */
|
1153
1173
|
/* FT_FACE_FLAG_EXTERNAL_STREAM :: */
|
@@ -1156,31 +1176,31 @@ FT_BEGIN_HEADER
|
|
1156
1176
|
/* when @FT_Done_Face is called. Don't read or test this flag. */
|
1157
1177
|
/* */
|
1158
1178
|
/* FT_FACE_FLAG_HINTER :: */
|
1159
|
-
/*
|
1160
|
-
/*
|
1161
|
-
/*
|
1162
|
-
/*
|
1179
|
+
/* The font driver has a hinting machine of its own. For example, */
|
1180
|
+
/* with TrueType fonts, it makes sense to use data from the SFNT */
|
1181
|
+
/* `gasp' table only if the native TrueType hinting engine (with */
|
1182
|
+
/* the bytecode interpreter) is available and active. */
|
1163
1183
|
/* */
|
1164
1184
|
/* FT_FACE_FLAG_CID_KEYED :: */
|
1165
|
-
/*
|
1166
|
-
/*
|
1167
|
-
/*
|
1168
|
-
/*
|
1169
|
-
/*
|
1170
|
-
/*
|
1171
|
-
/*
|
1172
|
-
/* */
|
1173
|
-
/* Note that CID-keyed fonts that are in an SFNT wrapper
|
1174
|
-
/* have this flag set since the
|
1175
|
-
/*
|
1176
|
-
/* the application.
|
1185
|
+
/* The face is CID-keyed. In that case, the face is not accessed */
|
1186
|
+
/* by glyph indices but by CID values. For subsetted CID-keyed */
|
1187
|
+
/* fonts this has the consequence that not all index values are a */
|
1188
|
+
/* valid argument to @FT_Load_Glyph. Only the CID values for which */
|
1189
|
+
/* corresponding glyphs in the subsetted font exist make */
|
1190
|
+
/* `FT_Load_Glyph' return successfully; in all other cases you get */
|
1191
|
+
/* an `FT_Err_Invalid_Argument' error. */
|
1192
|
+
/* */
|
1193
|
+
/* Note that CID-keyed fonts that are in an SFNT wrapper (this is, */
|
1194
|
+
/* all OpenType/CFF fonts) don't have this flag set since the */
|
1195
|
+
/* glyphs are accessed in the normal way (using contiguous */
|
1196
|
+
/* indices); the `CID-ness' isn't visible to the application. */
|
1177
1197
|
/* */
|
1178
1198
|
/* FT_FACE_FLAG_TRICKY :: */
|
1179
|
-
/*
|
1180
|
-
/*
|
1181
|
-
/*
|
1182
|
-
/* TrueType bytecode instructions to move
|
1183
|
-
/* subglyphs.
|
1199
|
+
/* The face is `tricky', this is, it always needs the font format's */
|
1200
|
+
/* native hinting engine to get a reasonable result. A typical */
|
1201
|
+
/* example is the old Chinese font `mingli.ttf' (but not */
|
1202
|
+
/* `mingliu.ttc') that uses TrueType bytecode instructions to move */
|
1203
|
+
/* and scale all of its subglyphs. */
|
1184
1204
|
/* */
|
1185
1205
|
/* It is not possible to auto-hint such fonts using */
|
1186
1206
|
/* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
|
@@ -1192,8 +1212,8 @@ FT_BEGIN_HEADER
|
|
1192
1212
|
/* tricky fonts; they are hard-coded in file `ttobjs.c'. */
|
1193
1213
|
/* */
|
1194
1214
|
/* FT_FACE_FLAG_COLOR :: */
|
1195
|
-
/*
|
1196
|
-
/*
|
1215
|
+
/* The face has color glyph tables. To access color glyphs use */
|
1216
|
+
/* @FT_LOAD_COLOR. */
|
1197
1217
|
/* */
|
1198
1218
|
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
|
1199
1219
|
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
|
@@ -1265,7 +1285,7 @@ FT_BEGIN_HEADER
|
|
1265
1285
|
* @description:
|
1266
1286
|
* A macro that returns true whenever a face object contains a scalable
|
1267
1287
|
* font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF,
|
1268
|
-
* and PFR font formats.
|
1288
|
+
* and PFR font formats).
|
1269
1289
|
*
|
1270
1290
|
*/
|
1271
1291
|
#define FT_IS_SCALABLE( face ) \
|
@@ -1369,7 +1389,7 @@ FT_BEGIN_HEADER
|
|
1369
1389
|
*
|
1370
1390
|
* @description:
|
1371
1391
|
* A macro that returns true whenever a face object is a named instance
|
1372
|
-
* of a GX variation font.
|
1392
|
+
* of a GX or OpenType variation font.
|
1373
1393
|
*
|
1374
1394
|
*/
|
1375
1395
|
#define FT_IS_NAMED_INSTANCE( face ) \
|
@@ -1428,15 +1448,15 @@ FT_BEGIN_HEADER
|
|
1428
1448
|
/* FT_STYLE_FLAG_XXX */
|
1429
1449
|
/* */
|
1430
1450
|
/* <Description> */
|
1431
|
-
/* A list of bit flags
|
1432
|
-
/*
|
1451
|
+
/* A list of bit flags to indicate the style of a given face. These */
|
1452
|
+
/* are used in the `style_flags' field of @FT_FaceRec. */
|
1433
1453
|
/* */
|
1434
1454
|
/* <Values> */
|
1435
1455
|
/* FT_STYLE_FLAG_ITALIC :: */
|
1436
|
-
/*
|
1456
|
+
/* The face style is italic or oblique. */
|
1437
1457
|
/* */
|
1438
1458
|
/* FT_STYLE_FLAG_BOLD :: */
|
1439
|
-
/*
|
1459
|
+
/* The face is bold. */
|
1440
1460
|
/* */
|
1441
1461
|
/* <Note> */
|
1442
1462
|
/* The style information as provided by FreeType is very basic. More */
|
@@ -1477,43 +1497,56 @@ FT_BEGIN_HEADER
|
|
1477
1497
|
/* hence the term `ppem' (pixels per EM). It is also */
|
1478
1498
|
/* referred to as `nominal height'. */
|
1479
1499
|
/* */
|
1480
|
-
/* x_scale :: A 16.16 fractional scaling value
|
1500
|
+
/* x_scale :: A 16.16 fractional scaling value to convert */
|
1481
1501
|
/* horizontal metrics from font units to 26.6 */
|
1482
1502
|
/* fractional pixels. Only relevant for scalable */
|
1483
1503
|
/* font formats. */
|
1484
1504
|
/* */
|
1485
|
-
/* y_scale :: A 16.16 fractional scaling value
|
1505
|
+
/* y_scale :: A 16.16 fractional scaling value to convert */
|
1486
1506
|
/* vertical metrics from font units to 26.6 */
|
1487
1507
|
/* fractional pixels. Only relevant for scalable */
|
1488
1508
|
/* font formats. */
|
1489
1509
|
/* */
|
1490
|
-
/* ascender :: The ascender in 26.6 fractional pixels
|
1491
|
-
/* @FT_FaceRec for the
|
1510
|
+
/* ascender :: The ascender in 26.6 fractional pixels, rounded up */
|
1511
|
+
/* to an integer value. See @FT_FaceRec for the */
|
1512
|
+
/* details. */
|
1492
1513
|
/* */
|
1493
|
-
/* descender :: The descender in 26.6 fractional pixels
|
1494
|
-
/* @FT_FaceRec for the
|
1514
|
+
/* descender :: The descender in 26.6 fractional pixels, rounded */
|
1515
|
+
/* down to an integer value. See @FT_FaceRec for the */
|
1516
|
+
/* details. */
|
1495
1517
|
/* */
|
1496
|
-
/* height :: The height in 26.6 fractional pixels
|
1497
|
-
/* @FT_FaceRec for the
|
1518
|
+
/* height :: The height in 26.6 fractional pixels, rounded to */
|
1519
|
+
/* an integer value. See @FT_FaceRec for the */
|
1520
|
+
/* details. */
|
1498
1521
|
/* */
|
1499
1522
|
/* max_advance :: The maximum advance width in 26.6 fractional */
|
1500
|
-
/* pixels
|
1523
|
+
/* pixels, rounded to an integer value. See */
|
1524
|
+
/* @FT_FaceRec for the details. */
|
1501
1525
|
/* */
|
1502
1526
|
/* <Note> */
|
1503
1527
|
/* The scaling values, if relevant, are determined first during a */
|
1504
1528
|
/* size changing operation. The remaining fields are then set by the */
|
1505
1529
|
/* driver. For scalable formats, they are usually set to scaled */
|
1506
|
-
/* values of the corresponding fields in @FT_FaceRec.
|
1530
|
+
/* values of the corresponding fields in @FT_FaceRec. Some values */
|
1531
|
+
/* like ascender or descender are rounded for historical reasons; */
|
1532
|
+
/* more precise values (for outline fonts) can be derived by scaling */
|
1533
|
+
/* the corresponding @FT_FaceRec values manually, with code similar */
|
1534
|
+
/* to the following. */
|
1507
1535
|
/* */
|
1508
|
-
/*
|
1509
|
-
/*
|
1510
|
-
/*
|
1536
|
+
/* { */
|
1537
|
+
/* scaled_ascender = FT_MulFix( face->root.ascender, */
|
1538
|
+
/* size_metrics->y_scale ); */
|
1539
|
+
/* } */
|
1540
|
+
/* */
|
1541
|
+
/* Note that due to glyph hinting and the selected rendering mode */
|
1542
|
+
/* these values are usually not exact; consequently, they must be */
|
1543
|
+
/* treated as unreliable with an error margin of at least one pixel! */
|
1511
1544
|
/* */
|
1512
1545
|
/* Indeed, the only way to get the exact metrics is to render _all_ */
|
1513
1546
|
/* glyphs. As this would be a definite performance hit, it is up to */
|
1514
1547
|
/* client applications to perform such computations. */
|
1515
1548
|
/* */
|
1516
|
-
/* The FT_Size_Metrics structure is valid for bitmap fonts also.
|
1549
|
+
/* The `FT_Size_Metrics' structure is valid for bitmap fonts also. */
|
1517
1550
|
/* */
|
1518
1551
|
typedef struct FT_Size_Metrics_
|
1519
1552
|
{
|
@@ -1653,8 +1686,8 @@ FT_BEGIN_HEADER
|
|
1653
1686
|
/* contained in the glyph slot. Typically */
|
1654
1687
|
/* @FT_GLYPH_FORMAT_BITMAP, */
|
1655
1688
|
/* @FT_GLYPH_FORMAT_OUTLINE, or */
|
1656
|
-
/* @FT_GLYPH_FORMAT_COMPOSITE, but
|
1657
|
-
/* possible.
|
1689
|
+
/* @FT_GLYPH_FORMAT_COMPOSITE, but other values */
|
1690
|
+
/* are possible. */
|
1658
1691
|
/* */
|
1659
1692
|
/* bitmap :: This field is used as a bitmap descriptor */
|
1660
1693
|
/* when the slot format is */
|
@@ -1669,16 +1702,15 @@ FT_BEGIN_HEADER
|
|
1669
1702
|
/* glyph slot contains a bitmap. */
|
1670
1703
|
/* */
|
1671
1704
|
/* bitmap_top :: The bitmap's top bearing expressed in integer */
|
1672
|
-
/* pixels.
|
1673
|
-
/*
|
1674
|
-
/*
|
1675
|
-
/* *positive*. */
|
1705
|
+
/* pixels. This is the distance from the */
|
1706
|
+
/* baseline to the top-most glyph scanline, */
|
1707
|
+
/* upwards y~coordinates being *positive*. */
|
1676
1708
|
/* */
|
1677
1709
|
/* outline :: The outline descriptor for the current glyph */
|
1678
1710
|
/* image if its format is */
|
1679
1711
|
/* @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is */
|
1680
1712
|
/* loaded, `outline' can be transformed, */
|
1681
|
-
/* distorted,
|
1713
|
+
/* distorted, emboldened, etc. However, it must */
|
1682
1714
|
/* not be freed. */
|
1683
1715
|
/* */
|
1684
1716
|
/* num_subglyphs :: The number of subglyphs in a composite glyph. */
|
@@ -1694,15 +1726,13 @@ FT_BEGIN_HEADER
|
|
1694
1726
|
/* control_data :: Certain font drivers can also return the */
|
1695
1727
|
/* control data for a given glyph image (e.g. */
|
1696
1728
|
/* TrueType bytecode, Type~1 charstrings, etc.). */
|
1697
|
-
/* This field is a pointer to such data
|
1729
|
+
/* This field is a pointer to such data; it is */
|
1730
|
+
/* currently internal to FreeType. */
|
1698
1731
|
/* */
|
1699
1732
|
/* control_len :: This is the length in bytes of the control */
|
1700
|
-
/* data.
|
1733
|
+
/* data. Currently internal to FreeType. */
|
1701
1734
|
/* */
|
1702
|
-
/* other ::
|
1703
|
-
/* present their own glyph image to client */
|
1704
|
-
/* applications. Note that the application */
|
1705
|
-
/* needs to know about the image format. */
|
1735
|
+
/* other :: Reserved. */
|
1706
1736
|
/* */
|
1707
1737
|
/* lsb_delta :: The difference between hinted and unhinted */
|
1708
1738
|
/* left side bearing while auto-hinting is */
|
@@ -1719,7 +1749,7 @@ FT_BEGIN_HEADER
|
|
1719
1749
|
/* formats). */
|
1720
1750
|
/* */
|
1721
1751
|
/* This image can later be converted into a bitmap by calling */
|
1722
|
-
/* @FT_Render_Glyph. This function
|
1752
|
+
/* @FT_Render_Glyph. This function searches the current renderer for */
|
1723
1753
|
/* the native image's format, then invokes it. */
|
1724
1754
|
/* */
|
1725
1755
|
/* The renderer is in charge of transforming the native image through */
|
@@ -1732,29 +1762,55 @@ FT_BEGIN_HEADER
|
|
1732
1762
|
/* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */
|
1733
1763
|
/* */
|
1734
1764
|
/* Here is a small pseudo code fragment that shows how to use */
|
1735
|
-
/* `lsb_delta' and `rsb_delta'
|
1765
|
+
/* `lsb_delta' and `rsb_delta' to do fractional positioning of */
|
1766
|
+
/* glyphs: */
|
1767
|
+
/* */
|
1768
|
+
/* { */
|
1769
|
+
/* FT_GlyphSlot slot = face->glyph; */
|
1770
|
+
/* FT_Pos origin_x = 0; */
|
1771
|
+
/* */
|
1772
|
+
/* */
|
1773
|
+
/* for all glyphs do */
|
1774
|
+
/* <load glyph with `FT_Load_Glyph'> */
|
1775
|
+
/* */
|
1776
|
+
/* FT_Outline_Translate( slot->outline, origin_x & 63, 0 ); */
|
1777
|
+
/* */
|
1778
|
+
/* <save glyph image, or render glyph, or ...> */
|
1779
|
+
/* */
|
1780
|
+
/* <compute kern between current and next glyph */
|
1781
|
+
/* and add it to `origin_x'> */
|
1782
|
+
/* */
|
1783
|
+
/* origin_x += slot->advance.x; */
|
1784
|
+
/* origin_x += slot->rsb_delta - slot->lsb_delta; */
|
1785
|
+
/* endfor */
|
1786
|
+
/* } */
|
1787
|
+
/* */
|
1788
|
+
/* Here is another small pseudo code fragment that shows how to use */
|
1789
|
+
/* `lsb_delta' and `rsb_delta' to improve integer positioning of */
|
1790
|
+
/* glyphs: */
|
1736
1791
|
/* */
|
1737
1792
|
/* { */
|
1738
|
-
/*
|
1739
|
-
/* FT_Pos
|
1793
|
+
/* FT_GlyphSlot slot = face->glyph; */
|
1794
|
+
/* FT_Pos origin_x = 0; */
|
1795
|
+
/* FT_Pos prev_rsb_delta = 0; */
|
1740
1796
|
/* */
|
1741
1797
|
/* */
|
1742
1798
|
/* for all glyphs do */
|
1743
|
-
/* <compute kern between current and previous glyph
|
1744
|
-
/* `origin_x'>
|
1799
|
+
/* <compute kern between current and previous glyph */
|
1800
|
+
/* and add it to `origin_x'> */
|
1745
1801
|
/* */
|
1746
1802
|
/* <load glyph with `FT_Load_Glyph'> */
|
1747
1803
|
/* */
|
1748
|
-
/* if ( prev_rsb_delta -
|
1804
|
+
/* if ( prev_rsb_delta - slot->lsb_delta > 32 ) */
|
1749
1805
|
/* origin_x -= 64; */
|
1750
|
-
/* else if ( prev_rsb_delta -
|
1806
|
+
/* else if ( prev_rsb_delta - slot->lsb_delta < -31 ) */
|
1751
1807
|
/* origin_x += 64; */
|
1752
1808
|
/* */
|
1753
|
-
/* prev_rsb_delta =
|
1809
|
+
/* prev_rsb_delta = slot->rsb_delta; */
|
1754
1810
|
/* */
|
1755
1811
|
/* <save glyph image, or render glyph, or ...> */
|
1756
1812
|
/* */
|
1757
|
-
/* origin_x +=
|
1813
|
+
/* origin_x += slot->advance.x; */
|
1758
1814
|
/* endfor */
|
1759
1815
|
/* } */
|
1760
1816
|
/* */
|
@@ -1828,7 +1884,8 @@ FT_BEGIN_HEADER
|
|
1828
1884
|
/* <Note> */
|
1829
1885
|
/* In case you want to provide your own memory allocating routines, */
|
1830
1886
|
/* use @FT_New_Library instead, followed by a call to */
|
1831
|
-
/* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module)
|
1887
|
+
/* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module) */
|
1888
|
+
/* and @FT_Set_Default_Properties. */
|
1832
1889
|
/* */
|
1833
1890
|
/* See the documentation of @FT_Library and @FT_Face for */
|
1834
1891
|
/* multi-threading issues. */
|
@@ -1836,6 +1893,11 @@ FT_BEGIN_HEADER
|
|
1836
1893
|
/* If you need reference-counting (cf. @FT_Reference_Library), use */
|
1837
1894
|
/* @FT_New_Library and @FT_Done_Library. */
|
1838
1895
|
/* */
|
1896
|
+
/* If compilation option FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES is */
|
1897
|
+
/* set, this function reads the `FREETYPE_PROPERTIES' environment */
|
1898
|
+
/* variable to control driver properties. See sections @auto_hinter, */
|
1899
|
+
/* @cff_driver, @pcf_driver, and @tt_driver for more. */
|
1900
|
+
/* */
|
1839
1901
|
FT_EXPORT( FT_Error )
|
1840
1902
|
FT_Init_FreeType( FT_Library *alibrary );
|
1841
1903
|
|
@@ -1906,8 +1968,8 @@ FT_BEGIN_HEADER
|
|
1906
1968
|
/* FT_Parameter */
|
1907
1969
|
/* */
|
1908
1970
|
/* <Description> */
|
1909
|
-
/* A simple structure
|
1910
|
-
/* @FT_Open_Face.
|
1971
|
+
/* A simple structure to pass more or less generic parameters to */
|
1972
|
+
/* @FT_Open_Face and @FT_Face_Properties. */
|
1911
1973
|
/* */
|
1912
1974
|
/* <Fields> */
|
1913
1975
|
/* tag :: A four-byte identification tag. */
|
@@ -1932,9 +1994,9 @@ FT_BEGIN_HEADER
|
|
1932
1994
|
/* FT_Open_Args */
|
1933
1995
|
/* */
|
1934
1996
|
/* <Description> */
|
1935
|
-
/* A structure
|
1936
|
-
/*
|
1937
|
-
/*
|
1997
|
+
/* A structure to indicate how to open a new font file or stream. A */
|
1998
|
+
/* pointer to such a structure can be used as a parameter for the */
|
1999
|
+
/* functions @FT_Open_Face and @FT_Attach_Stream. */
|
1938
2000
|
/* */
|
1939
2001
|
/* <Fields> */
|
1940
2002
|
/* flags :: A set of bit flags indicating how to use the */
|
@@ -1949,9 +2011,10 @@ FT_BEGIN_HEADER
|
|
1949
2011
|
/* stream :: A handle to a source stream object. */
|
1950
2012
|
/* */
|
1951
2013
|
/* driver :: This field is exclusively used by @FT_Open_Face; */
|
1952
|
-
/* it simply specifies the font driver to use
|
1953
|
-
/* the face. If set to
|
1954
|
-
/* face with each one of the drivers in
|
2014
|
+
/* it simply specifies the font driver to use for */
|
2015
|
+
/* opening the face. If set to NULL, FreeType tries */
|
2016
|
+
/* to load the face with each one of the drivers in */
|
2017
|
+
/* its list. */
|
1955
2018
|
/* */
|
1956
2019
|
/* num_params :: The number of extra parameters. */
|
1957
2020
|
/* */
|
@@ -1981,7 +2044,7 @@ FT_BEGIN_HEADER
|
|
1981
2044
|
/* `num_params' and `params' is used. They are ignored otherwise. */
|
1982
2045
|
/* */
|
1983
2046
|
/* Ideally, both the `pathname' and `params' fields should be tagged */
|
1984
|
-
/* as `const'; this is missing for API
|
2047
|
+
/* as `const'; this is missing for API backward compatibility. In */
|
1985
2048
|
/* other words, applications should treat them as read-only. */
|
1986
2049
|
/* */
|
1987
2050
|
typedef struct FT_Open_Args_
|
@@ -2004,7 +2067,7 @@ FT_BEGIN_HEADER
|
|
2004
2067
|
/* FT_New_Face */
|
2005
2068
|
/* */
|
2006
2069
|
/* <Description> */
|
2007
|
-
/*
|
2070
|
+
/* Call @FT_Open_Face to open a font by its pathname. */
|
2008
2071
|
/* */
|
2009
2072
|
/* <InOut> */
|
2010
2073
|
/* library :: A handle to the library resource. */
|
@@ -2039,8 +2102,8 @@ FT_BEGIN_HEADER
|
|
2039
2102
|
/* FT_New_Memory_Face */
|
2040
2103
|
/* */
|
2041
2104
|
/* <Description> */
|
2042
|
-
/*
|
2043
|
-
/*
|
2105
|
+
/* Call @FT_Open_Face to open a font that has been loaded into */
|
2106
|
+
/* memory. */
|
2044
2107
|
/* */
|
2045
2108
|
/* <InOut> */
|
2046
2109
|
/* library :: A handle to the library resource. */
|
@@ -2092,20 +2155,21 @@ FT_BEGIN_HEADER
|
|
2092
2155
|
/* with value~0). Set it to~0 if there is only one */
|
2093
2156
|
/* face in the font file. */
|
2094
2157
|
/* */
|
2095
|
-
/* Bits 16-30 are relevant to GX variation
|
2096
|
-
/* specifying the named instance index for
|
2097
|
-
/* face index (starting with value~1;
|
2098
|
-
/* FreeType ignore named instances). For
|
2099
|
-
/* bits 16-30 are ignored.
|
2100
|
-
/* access the third named
|
2101
|
-
/* `face_index' should be set to
|
2102
|
-
/* want to access face~4 without
|
2103
|
-
/* simply set `face_index' to
|
2104
|
-
/*
|
2105
|
-
/*
|
2106
|
-
/*
|
2107
|
-
/*
|
2108
|
-
/*
|
2158
|
+
/* Bits 16-30 are relevant to GX and OpenType variation */
|
2159
|
+
/* fonts only, specifying the named instance index for */
|
2160
|
+
/* the current face index (starting with value~1; */
|
2161
|
+
/* value~0 makes FreeType ignore named instances). For */
|
2162
|
+
/* non-variation fonts, bits 16-30 are ignored. */
|
2163
|
+
/* Assuming that you want to access the third named */
|
2164
|
+
/* instance in face~4, `face_index' should be set to */
|
2165
|
+
/* 0x00030004. If you want to access face~4 without */
|
2166
|
+
/* variation handling, simply set `face_index' to */
|
2167
|
+
/* value~4. */
|
2168
|
+
/* */
|
2169
|
+
/* `FT_Open_Face' and its siblings can be used to */
|
2170
|
+
/* quickly check whether the font format of a given */
|
2171
|
+
/* font resource is supported by FreeType. In general, */
|
2172
|
+
/* if the `face_index' argument is negative, the */
|
2109
2173
|
/* function's return value is~0 if the font format is */
|
2110
2174
|
/* recognized, or non-zero otherwise. The function */
|
2111
2175
|
/* allocates a more or less empty face handle in */
|
@@ -2114,10 +2178,10 @@ FT_BEGIN_HEADER
|
|
2114
2178
|
/* `face->num_faces' and `face->style_flags'. For any */
|
2115
2179
|
/* negative value of `face_index', `face->num_faces' */
|
2116
2180
|
/* gives the number of faces within the font file. For */
|
2117
|
-
/* the negative value `-(N+1)' (with `N' a
|
2118
|
-
/* value), bits 16-30 in `face->style_flags'
|
2119
|
-
/* number of named instances in face `N' if we
|
2120
|
-
/*
|
2181
|
+
/* the negative value `-(N+1)' (with `N' a non-negative */
|
2182
|
+
/* 16-bit value), bits 16-30 in `face->style_flags' */
|
2183
|
+
/* give the number of named instances in face `N' if we */
|
2184
|
+
/* have a variation font (or zero otherwise). After */
|
2121
2185
|
/* examination, the returned @FT_Face structure should */
|
2122
2186
|
/* be deallocated with a call to @FT_Done_Face. */
|
2123
2187
|
/* */
|
@@ -2224,7 +2288,7 @@ FT_BEGIN_HEADER
|
|
2224
2288
|
/* FT_Attach_File */
|
2225
2289
|
/* */
|
2226
2290
|
/* <Description> */
|
2227
|
-
/*
|
2291
|
+
/* Call @FT_Attach_Stream to attach a file. */
|
2228
2292
|
/* */
|
2229
2293
|
/* <InOut> */
|
2230
2294
|
/* face :: The target face object. */
|
@@ -2268,7 +2332,7 @@ FT_BEGIN_HEADER
|
|
2268
2332
|
/* */
|
2269
2333
|
/* Client applications are expected to know what they are doing */
|
2270
2334
|
/* when invoking this function. Most drivers simply do not implement */
|
2271
|
-
/* file attachments.
|
2335
|
+
/* file or stream attachments. */
|
2272
2336
|
/* */
|
2273
2337
|
FT_EXPORT( FT_Error )
|
2274
2338
|
FT_Attach_Stream( FT_Face face,
|
@@ -2352,11 +2416,11 @@ FT_BEGIN_HEADER
|
|
2352
2416
|
/* FreeType silently uses outlines if there is no bitmap for a given */
|
2353
2417
|
/* glyph index. */
|
2354
2418
|
/* */
|
2355
|
-
/* For GX variation fonts, a bitmap strike makes sense
|
2356
|
-
/* default instance is active (this is, no glyph
|
2357
|
-
/* place); otherwise, FreeType simply ignores bitmap
|
2358
|
-
/* same is true for all named instances that are
|
2359
|
-
/* default instance.
|
2419
|
+
/* For GX and OpenType variation fonts, a bitmap strike makes sense */
|
2420
|
+
/* only if the default instance is active (this is, no glyph */
|
2421
|
+
/* variation takes place); otherwise, FreeType simply ignores bitmap */
|
2422
|
+
/* strikes. The same is true for all named instances that are */
|
2423
|
+
/* different from the default instance. */
|
2360
2424
|
/* */
|
2361
2425
|
/* Don't use this function if you are using the FreeType cache API. */
|
2362
2426
|
/* */
|
@@ -2389,7 +2453,7 @@ FT_BEGIN_HEADER
|
|
2389
2453
|
/* */
|
2390
2454
|
/* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */
|
2391
2455
|
/* The real dimension. The sum of the `ascender' and (minus of) */
|
2392
|
-
/* the `descender' fields of @FT_FaceRec
|
2456
|
+
/* the `descender' fields of @FT_FaceRec is used to determine both */
|
2393
2457
|
/* scaling values. */
|
2394
2458
|
/* */
|
2395
2459
|
/* FT_SIZE_REQUEST_TYPE_BBOX :: */
|
@@ -2435,7 +2499,7 @@ FT_BEGIN_HEADER
|
|
2435
2499
|
/* FT_Size_RequestRec */
|
2436
2500
|
/* */
|
2437
2501
|
/* <Description> */
|
2438
|
-
/* A structure
|
2502
|
+
/* A structure to model a size request. */
|
2439
2503
|
/* */
|
2440
2504
|
/* <Fields> */
|
2441
2505
|
/* type :: See @FT_Size_Request_Type. */
|
@@ -2448,14 +2512,16 @@ FT_BEGIN_HEADER
|
|
2448
2512
|
/* */
|
2449
2513
|
/* horiResolution :: The horizontal resolution (dpi, i.e., pixels per */
|
2450
2514
|
/* inch). If set to zero, `width' is treated as a */
|
2451
|
-
/* 26.6 fractional *pixel* value
|
2515
|
+
/* 26.6 fractional *pixel* value, which gets */
|
2516
|
+
/* internally rounded to an integer. */
|
2452
2517
|
/* */
|
2453
2518
|
/* vertResolution :: The vertical resolution (dpi, i.e., pixels per */
|
2454
2519
|
/* inch). If set to zero, `height' is treated as a */
|
2455
|
-
/* 26.6 fractional *pixel* value
|
2520
|
+
/* 26.6 fractional *pixel* value, which gets */
|
2521
|
+
/* internally rounded to an integer. */
|
2456
2522
|
/* */
|
2457
2523
|
/* <Note> */
|
2458
|
-
/* If `width' is zero,
|
2524
|
+
/* If `width' is zero, the horizontal scaling value is set equal */
|
2459
2525
|
/* to the vertical scaling value, and vice versa. */
|
2460
2526
|
/* */
|
2461
2527
|
/* If `type' is FT_SIZE_REQUEST_TYPE_SCALES, `width' and `height' are */
|
@@ -2512,7 +2578,11 @@ FT_BEGIN_HEADER
|
|
2512
2578
|
/* size is dependent entirely on how the size is defined in the */
|
2513
2579
|
/* source face. The font designer chooses the final size of each */
|
2514
2580
|
/* glyph relative to this size. For more information refer to */
|
2515
|
-
/* `
|
2581
|
+
/* `https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'. */
|
2582
|
+
/* */
|
2583
|
+
/* Contrary to @FT_Set_Char_Size, this function doesn't have special */
|
2584
|
+
/* code to normalize zero-valued widths, heights, or resolutions */
|
2585
|
+
/* (which lead to errors in most cases). */
|
2516
2586
|
/* */
|
2517
2587
|
/* Don't use this function if you are using the FreeType cache API. */
|
2518
2588
|
/* */
|
@@ -2527,8 +2597,7 @@ FT_BEGIN_HEADER
|
|
2527
2597
|
/* FT_Set_Char_Size */
|
2528
2598
|
/* */
|
2529
2599
|
/* <Description> */
|
2530
|
-
/*
|
2531
|
-
/* (in points). */
|
2600
|
+
/* Call @FT_Request_Size to request the nominal size (in points). */
|
2532
2601
|
/* */
|
2533
2602
|
/* <InOut> */
|
2534
2603
|
/* face :: A handle to a target face object. */
|
@@ -2546,6 +2615,10 @@ FT_BEGIN_HEADER
|
|
2546
2615
|
/* FreeType error code. 0~means success. */
|
2547
2616
|
/* */
|
2548
2617
|
/* <Note> */
|
2618
|
+
/* While this function allows fractional points as input values, the */
|
2619
|
+
/* resulting ppem value for the given resolution is always rounded to */
|
2620
|
+
/* the nearest integer. */
|
2621
|
+
/* */
|
2549
2622
|
/* If either the character width or height is zero, it is set equal */
|
2550
2623
|
/* to the other value. */
|
2551
2624
|
/* */
|
@@ -2571,8 +2644,7 @@ FT_BEGIN_HEADER
|
|
2571
2644
|
/* FT_Set_Pixel_Sizes */
|
2572
2645
|
/* */
|
2573
2646
|
/* <Description> */
|
2574
|
-
/*
|
2575
|
-
/* (in pixels). */
|
2647
|
+
/* Call @FT_Request_Size to request the nominal size (in pixels). */
|
2576
2648
|
/* */
|
2577
2649
|
/* <InOut> */
|
2578
2650
|
/* face :: A handle to the target face object. */
|
@@ -2586,8 +2658,8 @@ FT_BEGIN_HEADER
|
|
2586
2658
|
/* FreeType error code. 0~means success. */
|
2587
2659
|
/* */
|
2588
2660
|
/* <Note> */
|
2589
|
-
/* You should not rely on the resulting glyphs matching
|
2590
|
-
/* constrained
|
2661
|
+
/* You should not rely on the resulting glyphs matching or being */
|
2662
|
+
/* constrained to this pixel size. Refer to @FT_Request_Size to */
|
2591
2663
|
/* understand how requested sizes relate to actual sizes. */
|
2592
2664
|
/* */
|
2593
2665
|
/* Don't use this function if you are using the FreeType cache API. */
|
@@ -2604,8 +2676,7 @@ FT_BEGIN_HEADER
|
|
2604
2676
|
/* FT_Load_Glyph */
|
2605
2677
|
/* */
|
2606
2678
|
/* <Description> */
|
2607
|
-
/*
|
2608
|
-
/* face object. */
|
2679
|
+
/* Load a glyph into the glyph slot of a face object. */
|
2609
2680
|
/* */
|
2610
2681
|
/* <InOut> */
|
2611
2682
|
/* face :: A handle to the target face object where the glyph */
|
@@ -2650,8 +2721,8 @@ FT_BEGIN_HEADER
|
|
2650
2721
|
/* FT_Load_Char */
|
2651
2722
|
/* */
|
2652
2723
|
/* <Description> */
|
2653
|
-
/*
|
2654
|
-
/*
|
2724
|
+
/* Load a glyph into the glyph slot of a face object, accessed by its */
|
2725
|
+
/* character code. */
|
2655
2726
|
/* */
|
2656
2727
|
/* <InOut> */
|
2657
2728
|
/* face :: A handle to a target face object where the glyph */
|
@@ -2673,6 +2744,10 @@ FT_BEGIN_HEADER
|
|
2673
2744
|
/* <Note> */
|
2674
2745
|
/* This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. */
|
2675
2746
|
/* */
|
2747
|
+
/* Many fonts contain glyphs that can't be loaded by this function */
|
2748
|
+
/* since its glyph indices are not listed in any of the font's */
|
2749
|
+
/* charmaps. */
|
2750
|
+
/* */
|
2676
2751
|
FT_EXPORT( FT_Error )
|
2677
2752
|
FT_Load_Char( FT_Face face,
|
2678
2753
|
FT_ULong char_code,
|
@@ -2685,8 +2760,8 @@ FT_BEGIN_HEADER
|
|
2685
2760
|
* FT_LOAD_XXX
|
2686
2761
|
*
|
2687
2762
|
* @description:
|
2688
|
-
* A list of bit field constants
|
2689
|
-
*
|
2763
|
+
* A list of bit field constants for @FT_Load_Glyph to indicate what
|
2764
|
+
* kind of operations to perform during glyph loading.
|
2690
2765
|
*
|
2691
2766
|
* @values:
|
2692
2767
|
* FT_LOAD_DEFAULT ::
|
@@ -2698,13 +2773,13 @@ FT_BEGIN_HEADER
|
|
2698
2773
|
* The bitmap data can be accessed from the glyph slot (see note
|
2699
2774
|
* below).
|
2700
2775
|
*
|
2701
|
-
* 2. If no embedded bitmap is searched or found, FreeType looks
|
2702
|
-
* scalable outline. If one is found, it is loaded from
|
2703
|
-
* file, scaled to device pixels, then `hinted' to the
|
2704
|
-
* in order to optimize it. The outline data can be
|
2705
|
-
* the glyph slot (see note below).
|
2776
|
+
* 2. If no embedded bitmap is searched for or found, FreeType looks
|
2777
|
+
* for a scalable outline. If one is found, it is loaded from
|
2778
|
+
* the font file, scaled to device pixels, then `hinted' to the
|
2779
|
+
* pixel grid in order to optimize it. The outline data can be
|
2780
|
+
* accessed from the glyph slot (see note below).
|
2706
2781
|
*
|
2707
|
-
* Note that by default
|
2782
|
+
* Note that by default the glyph loader doesn't render outlines into
|
2708
2783
|
* bitmaps. The following flags are used to modify this default
|
2709
2784
|
* behaviour to more specific and useful cases.
|
2710
2785
|
*
|
@@ -2751,13 +2826,13 @@ FT_BEGIN_HEADER
|
|
2751
2826
|
* various font formats.
|
2752
2827
|
*
|
2753
2828
|
* FT_LOAD_FORCE_AUTOHINT ::
|
2754
|
-
*
|
2755
|
-
*
|
2829
|
+
* Prefer the auto-hinter over the font's native hinter. See also
|
2830
|
+
* the note below.
|
2756
2831
|
*
|
2757
2832
|
* FT_LOAD_PEDANTIC ::
|
2758
|
-
*
|
2759
|
-
*
|
2760
|
-
*
|
2833
|
+
* Make the font driver perform pedantic verifications during glyph
|
2834
|
+
* loading. This is mostly used to detect broken glyphs in fonts.
|
2835
|
+
* By default, FreeType tries to handle broken fonts also.
|
2761
2836
|
*
|
2762
2837
|
* In particular, errors from the TrueType bytecode engine are not
|
2763
2838
|
* passed to the application if this flag is not set; this might
|
@@ -2765,17 +2840,16 @@ FT_BEGIN_HEADER
|
|
2765
2840
|
* bytecode is buggy.
|
2766
2841
|
*
|
2767
2842
|
* FT_LOAD_NO_RECURSE ::
|
2768
|
-
*
|
2769
|
-
*
|
2770
|
-
*
|
2771
|
-
*
|
2772
|
-
*
|
2843
|
+
* Don't load composite glyphs recursively. Instead, the font
|
2844
|
+
* driver should set the `num_subglyph' and `subglyphs' values of
|
2845
|
+
* the glyph slot accordingly, and set `glyph->format' to
|
2846
|
+
* @FT_GLYPH_FORMAT_COMPOSITE. The description of subglyphs can
|
2847
|
+
* then be accessed with @FT_Get_SubGlyph_Info.
|
2773
2848
|
*
|
2774
2849
|
* This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM.
|
2775
2850
|
*
|
2776
2851
|
* FT_LOAD_IGNORE_TRANSFORM ::
|
2777
|
-
*
|
2778
|
-
* be ignored.
|
2852
|
+
* Ignore the transform matrix set by @FT_Set_Transform.
|
2779
2853
|
*
|
2780
2854
|
* FT_LOAD_MONOCHROME ::
|
2781
2855
|
* This flag is used with @FT_LOAD_RENDER to indicate that you want to
|
@@ -2787,36 +2861,34 @@ FT_BEGIN_HEADER
|
|
2787
2861
|
* monochrome-optimized hinting algorithm is used.
|
2788
2862
|
*
|
2789
2863
|
* FT_LOAD_LINEAR_DESIGN ::
|
2790
|
-
*
|
2791
|
-
*
|
2792
|
-
*
|
2864
|
+
* Keep `linearHoriAdvance' and `linearVertAdvance' fields of
|
2865
|
+
* @FT_GlyphSlotRec in font units. See @FT_GlyphSlotRec for
|
2866
|
+
* details.
|
2793
2867
|
*
|
2794
2868
|
* FT_LOAD_NO_AUTOHINT ::
|
2795
|
-
* Disable auto-hinter. See also the note below.
|
2869
|
+
* Disable the auto-hinter. See also the note below.
|
2796
2870
|
*
|
2797
2871
|
* FT_LOAD_COLOR ::
|
2798
|
-
*
|
2799
|
-
*
|
2800
|
-
*
|
2801
|
-
*
|
2802
|
-
* bitmaps transparently. Those bitmaps will be in the
|
2872
|
+
* Load embedded color bitmap images. The resulting color bitmaps,
|
2873
|
+
* if available, will have the @FT_PIXEL_MODE_BGRA format. If the
|
2874
|
+
* flag is not set and color bitmaps are found, they are converted
|
2875
|
+
* to 256-level gray bitmaps transparently, using the
|
2803
2876
|
* @FT_PIXEL_MODE_GRAY format.
|
2804
2877
|
*
|
2805
2878
|
* FT_LOAD_COMPUTE_METRICS ::
|
2806
|
-
*
|
2807
|
-
* metrics tables (for example, the `hdmx' table in TrueType
|
2808
|
-
*
|
2809
|
-
* be used. This flag is mainly used by font validating or font
|
2879
|
+
* Compute glyph metrics from the glyph data, without the use of
|
2880
|
+
* bundled metrics tables (for example, the `hdmx' table in TrueType
|
2881
|
+
* fonts). This flag is mainly used by font validating or font
|
2810
2882
|
* editing applications, which need to ignore, verify, or edit those
|
2811
2883
|
* tables.
|
2812
2884
|
*
|
2813
2885
|
* Currently, this flag is only implemented for TrueType fonts.
|
2814
2886
|
*
|
2815
2887
|
* FT_LOAD_BITMAP_METRICS_ONLY ::
|
2816
|
-
*
|
2817
|
-
*
|
2818
|
-
*
|
2819
|
-
*
|
2888
|
+
* Request loading of the metrics and bitmap image information of a
|
2889
|
+
* (possibly embedded) bitmap glyph without allocating or copying
|
2890
|
+
* the bitmap image data itself. No effect if the target glyph is
|
2891
|
+
* not a bitmap image.
|
2820
2892
|
*
|
2821
2893
|
* This flag unsets @FT_LOAD_RENDER.
|
2822
2894
|
*
|
@@ -2863,14 +2935,14 @@ FT_BEGIN_HEADER
|
|
2863
2935
|
#define FT_LOAD_MONOCHROME ( 1L << 12 )
|
2864
2936
|
#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 )
|
2865
2937
|
#define FT_LOAD_NO_AUTOHINT ( 1L << 15 )
|
2866
|
-
/* Bits 16
|
2938
|
+
/* Bits 16-19 are used by `FT_LOAD_TARGET_' */
|
2867
2939
|
#define FT_LOAD_COLOR ( 1L << 20 )
|
2868
2940
|
#define FT_LOAD_COMPUTE_METRICS ( 1L << 21 )
|
2869
2941
|
#define FT_LOAD_BITMAP_METRICS_ONLY ( 1L << 22 )
|
2870
2942
|
|
2871
2943
|
/* */
|
2872
2944
|
|
2873
|
-
/* used internally only by certain font drivers
|
2945
|
+
/* used internally only by certain font drivers */
|
2874
2946
|
#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 )
|
2875
2947
|
#define FT_LOAD_SBITS_ONLY ( 1L << 14 )
|
2876
2948
|
|
@@ -2881,37 +2953,48 @@ FT_BEGIN_HEADER
|
|
2881
2953
|
* FT_LOAD_TARGET_XXX
|
2882
2954
|
*
|
2883
2955
|
* @description:
|
2884
|
-
* A list of values
|
2885
|
-
*
|
2886
|
-
*
|
2956
|
+
* A list of values to select a specific hinting algorithm for the
|
2957
|
+
* hinter. You should OR one of these values to your `load_flags'
|
2958
|
+
* when calling @FT_Load_Glyph.
|
2887
2959
|
*
|
2888
|
-
* Note that font's native hinters may ignore the hinting algorithm
|
2889
|
-
* have specified (e.g., the TrueType bytecode interpreter). You
|
2890
|
-
* @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is
|
2960
|
+
* Note that a font's native hinters may ignore the hinting algorithm
|
2961
|
+
* you have specified (e.g., the TrueType bytecode interpreter). You
|
2962
|
+
* can set @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is
|
2963
|
+
* used.
|
2891
2964
|
*
|
2892
2965
|
* @values:
|
2893
2966
|
* FT_LOAD_TARGET_NORMAL ::
|
2894
|
-
*
|
2895
|
-
*
|
2896
|
-
*
|
2967
|
+
* The default hinting algorithm, optimized for standard gray-level
|
2968
|
+
* rendering. For monochrome output, use @FT_LOAD_TARGET_MONO
|
2969
|
+
* instead.
|
2897
2970
|
*
|
2898
2971
|
* FT_LOAD_TARGET_LIGHT ::
|
2899
2972
|
* A lighter hinting algorithm for gray-level modes. Many generated
|
2900
2973
|
* glyphs are fuzzier but better resemble their original shape. This
|
2901
2974
|
* is achieved by snapping glyphs to the pixel grid only vertically
|
2902
|
-
* (Y-axis), as is done by
|
2903
|
-
*
|
2975
|
+
* (Y-axis), as is done by FreeType's new CFF engine or Microsoft's
|
2976
|
+
* ClearType font renderer. This preserves inter-glyph spacing in
|
2904
2977
|
* horizontal text. The snapping is done either by the native font
|
2905
|
-
* driver if the driver itself and the font support it or by the
|
2978
|
+
* driver, if the driver itself and the font support it, or by the
|
2906
2979
|
* auto-hinter.
|
2907
2980
|
*
|
2981
|
+
* Advance widths are rounded to integer values; however, using the
|
2982
|
+
* `lsb_delta' and `rsb_delta' fields of @FT_GlyphSlotRec, it is
|
2983
|
+
* possible to get fractional advance widths for sub-pixel positioning
|
2984
|
+
* (which is recommended to use).
|
2985
|
+
*
|
2986
|
+
* If configuration option AF_CONFIG_OPTION_TT_SIZE_METRICS is active,
|
2987
|
+
* TrueType-like metrics are used to make this mode behave similarly
|
2988
|
+
* as in unpatched FreeType versions between 2.4.6 and 2.7.1
|
2989
|
+
* (inclusive).
|
2990
|
+
*
|
2908
2991
|
* FT_LOAD_TARGET_MONO ::
|
2909
2992
|
* Strong hinting algorithm that should only be used for monochrome
|
2910
2993
|
* output. The result is probably unpleasant if the glyph is rendered
|
2911
2994
|
* in non-monochrome modes.
|
2912
2995
|
*
|
2913
2996
|
* FT_LOAD_TARGET_LCD ::
|
2914
|
-
* A variant of @
|
2997
|
+
* A variant of @FT_LOAD_TARGET_LIGHT optimized for horizontally
|
2915
2998
|
* decimated LCD displays.
|
2916
2999
|
*
|
2917
3000
|
* FT_LOAD_TARGET_LCD_V ::
|
@@ -2939,6 +3022,13 @@ FT_BEGIN_HEADER
|
|
2939
3022
|
* FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
|
2940
3023
|
* }
|
2941
3024
|
*
|
3025
|
+
* In general, you should stick with one rendering mode. For example,
|
3026
|
+
* switching between @FT_LOAD_TARGET_NORMAL and @FT_LOAD_TARGET_MONO
|
3027
|
+
* enforces a lot of recomputation for TrueType fonts, which is slow.
|
3028
|
+
* Another reason is caching: Selecting a different mode usually causes
|
3029
|
+
* changes in both the outlines and the rasterized bitmaps; it is thus
|
3030
|
+
* necessary to empty the cache after a mode switch to avoid false hits.
|
3031
|
+
*
|
2942
3032
|
*/
|
2943
3033
|
#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
|
2944
3034
|
|
@@ -2968,18 +3058,17 @@ FT_BEGIN_HEADER
|
|
2968
3058
|
/* FT_Set_Transform */
|
2969
3059
|
/* */
|
2970
3060
|
/* <Description> */
|
2971
|
-
/*
|
2972
|
-
/*
|
2973
|
-
/* @FT_Load_Glyph. */
|
3061
|
+
/* Set the transformation that is applied to glyph images when they */
|
3062
|
+
/* are loaded into a glyph slot through @FT_Load_Glyph. */
|
2974
3063
|
/* */
|
2975
3064
|
/* <InOut> */
|
2976
3065
|
/* face :: A handle to the source face object. */
|
2977
3066
|
/* */
|
2978
3067
|
/* <Input> */
|
2979
|
-
/* matrix :: A pointer to the transformation's 2x2 matrix. Use
|
2980
|
-
/* the identity matrix.
|
2981
|
-
/* delta :: A pointer to the translation vector. Use
|
2982
|
-
/* vector.
|
3068
|
+
/* matrix :: A pointer to the transformation's 2x2 matrix. Use NULL */
|
3069
|
+
/* for the identity matrix. */
|
3070
|
+
/* delta :: A pointer to the translation vector. Use NULL for the */
|
3071
|
+
/* null vector. */
|
2983
3072
|
/* */
|
2984
3073
|
/* <Note> */
|
2985
3074
|
/* The transformation is only applied to scalable image formats after */
|
@@ -3002,9 +3091,8 @@ FT_BEGIN_HEADER
|
|
3002
3091
|
/* FT_Render_Mode */
|
3003
3092
|
/* */
|
3004
3093
|
/* <Description> */
|
3005
|
-
/*
|
3006
|
-
/*
|
3007
|
-
/* conversion performed on the outline. */
|
3094
|
+
/* Render modes supported by FreeType~2. Each mode corresponds to a */
|
3095
|
+
/* specific type of scanline conversion performed on the outline. */
|
3008
3096
|
/* */
|
3009
3097
|
/* For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode' */
|
3010
3098
|
/* field in the @FT_GlyphSlotRec structure gives the format of the */
|
@@ -3017,8 +3105,8 @@ FT_BEGIN_HEADER
|
|
3017
3105
|
/* */
|
3018
3106
|
/* <Values> */
|
3019
3107
|
/* FT_RENDER_MODE_NORMAL :: */
|
3020
|
-
/*
|
3021
|
-
/*
|
3108
|
+
/* Default render mode; it corresponds to 8-bit anti-aliased */
|
3109
|
+
/* bitmaps. */
|
3022
3110
|
/* */
|
3023
3111
|
/* FT_RENDER_MODE_LIGHT :: */
|
3024
3112
|
/* This is equivalent to @FT_RENDER_MODE_NORMAL. It is only */
|
@@ -3043,11 +3131,13 @@ FT_BEGIN_HEADER
|
|
3043
3131
|
/* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */
|
3044
3132
|
/* */
|
3045
3133
|
/* <Note> */
|
3046
|
-
/*
|
3047
|
-
/*
|
3048
|
-
/*
|
3049
|
-
/*
|
3050
|
-
/* filtering
|
3134
|
+
/* Should you define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your */
|
3135
|
+
/* `ftoption.h', which enables patented ClearType-style rendering, */
|
3136
|
+
/* the LCD-optimized glyph bitmaps should be filtered to reduce color */
|
3137
|
+
/* fringes inherent to this technology. You can either set up LCD */
|
3138
|
+
/* filtering with @FT_Library_SetLcdFilter or @FT_Face_Properties, */
|
3139
|
+
/* or do the filtering yourself. The default FreeType LCD rendering */
|
3140
|
+
/* technology does not require filtering. */
|
3051
3141
|
/* */
|
3052
3142
|
/* The selected render mode only affects vector glyphs of a font. */
|
3053
3143
|
/* Embedded bitmaps often have a different pixel mode like */
|
@@ -3088,16 +3178,16 @@ FT_BEGIN_HEADER
|
|
3088
3178
|
/* convert. */
|
3089
3179
|
/* */
|
3090
3180
|
/* <Input> */
|
3091
|
-
/* render_mode ::
|
3092
|
-
/*
|
3093
|
-
/*
|
3181
|
+
/* render_mode :: The render mode used to render the glyph image into */
|
3182
|
+
/* a bitmap. See @FT_Render_Mode for a list of */
|
3183
|
+
/* possible values. */
|
3094
3184
|
/* */
|
3095
3185
|
/* <Return> */
|
3096
3186
|
/* FreeType error code. 0~means success. */
|
3097
3187
|
/* */
|
3098
3188
|
/* <Note> */
|
3099
3189
|
/* To get meaningful results, font scaling values must be set with */
|
3100
|
-
/* functions like @FT_Set_Char_Size before calling FT_Render_Glyph.
|
3190
|
+
/* functions like @FT_Set_Char_Size before calling `FT_Render_Glyph'. */
|
3101
3191
|
/* */
|
3102
3192
|
/* When FreeType outputs a bitmap of a glyph, it really outputs an */
|
3103
3193
|
/* alpha coverage map. If a pixel is completely covered by a */
|
@@ -3123,7 +3213,7 @@ FT_BEGIN_HEADER
|
|
3123
3213
|
/* this does not translate to 50% brightness for that pixel on our */
|
3124
3214
|
/* sRGB and gamma~2.2 screens. Due to their non-linearity, they */
|
3125
3215
|
/* dwell longer in the darks and only a pixel value of about 186 */
|
3126
|
-
/* results in 50% brightness
|
3216
|
+
/* results in 50% brightness -- 128 ends up too dark on both bright */
|
3127
3217
|
/* and dark backgrounds. The net result is that dark text looks */
|
3128
3218
|
/* burnt-out, pixely and blotchy on bright background, bright text */
|
3129
3219
|
/* too frail on dark backgrounds, and colored text on colored */
|
@@ -3187,17 +3277,15 @@ FT_BEGIN_HEADER
|
|
3187
3277
|
/* FT_Kerning_Mode */
|
3188
3278
|
/* */
|
3189
3279
|
/* <Description> */
|
3190
|
-
/* An enumeration
|
3280
|
+
/* An enumeration to specify the format of kerning values returned by */
|
3191
3281
|
/* @FT_Get_Kerning. */
|
3192
3282
|
/* */
|
3193
3283
|
/* <Values> */
|
3194
3284
|
/* FT_KERNING_DEFAULT :: Return grid-fitted kerning distances in */
|
3195
|
-
/*
|
3196
|
-
/* scaled depends on @FT_LOAD_NO_SCALE. */
|
3285
|
+
/* 26.6 fractional pixels. */
|
3197
3286
|
/* */
|
3198
3287
|
/* FT_KERNING_UNFITTED :: Return un-grid-fitted kerning distances in */
|
3199
|
-
/* 26.6 fractional pixels.
|
3200
|
-
/* scaled depends on @FT_LOAD_NO_SCALE. */
|
3288
|
+
/* 26.6 fractional pixels. */
|
3201
3289
|
/* */
|
3202
3290
|
/* FT_KERNING_UNSCALED :: Return the kerning vector in original font */
|
3203
3291
|
/* units. */
|
@@ -3207,9 +3295,13 @@ FT_BEGIN_HEADER
|
|
3207
3295
|
/* FreeType heuristically scale down kerning distances at small ppem */
|
3208
3296
|
/* values so that they don't become too big. */
|
3209
3297
|
/* */
|
3298
|
+
/* Both FT_KERNING_DEFAULT and FT_KERNING_UNFITTED use the current */
|
3299
|
+
/* horizontal scaling factor (as set e.g. with @FT_Set_Char_Size) to */
|
3300
|
+
/* convert font units to pixels. */
|
3301
|
+
/* */
|
3210
3302
|
typedef enum FT_Kerning_Mode_
|
3211
3303
|
{
|
3212
|
-
FT_KERNING_DEFAULT
|
3304
|
+
FT_KERNING_DEFAULT = 0,
|
3213
3305
|
FT_KERNING_UNFITTED,
|
3214
3306
|
FT_KERNING_UNSCALED
|
3215
3307
|
|
@@ -3229,7 +3321,7 @@ FT_BEGIN_HEADER
|
|
3229
3321
|
/* FT_Get_Kerning */
|
3230
3322
|
/* */
|
3231
3323
|
/* <Description> */
|
3232
|
-
/* Return the kerning vector between two glyphs of
|
3324
|
+
/* Return the kerning vector between two glyphs of the same face. */
|
3233
3325
|
/* */
|
3234
3326
|
/* <Input> */
|
3235
3327
|
/* face :: A handle to a source face object. */
|
@@ -3257,6 +3349,10 @@ FT_BEGIN_HEADER
|
|
3257
3349
|
/* kernings, are out of the scope of this API function -- they can be */
|
3258
3350
|
/* implemented through format-specific interfaces. */
|
3259
3351
|
/* */
|
3352
|
+
/* Kerning for OpenType fonts implemented in a `GPOS' table is not */
|
3353
|
+
/* supported; use @FT_HAS_KERNING to find out whether a font has data */
|
3354
|
+
/* that can be extracted with `FT_Get_Kerning'. */
|
3355
|
+
/* */
|
3260
3356
|
FT_EXPORT( FT_Error )
|
3261
3357
|
FT_Get_Kerning( FT_Face face,
|
3262
3358
|
FT_UInt left_glyph,
|
@@ -3296,7 +3392,7 @@ FT_BEGIN_HEADER
|
|
3296
3392
|
/* @FT_Attach_Stream). */
|
3297
3393
|
/* */
|
3298
3394
|
/* Only very few AFM files come with track kerning data; please refer */
|
3299
|
-
/* to
|
3395
|
+
/* to Adobe's AFM specification for more details. */
|
3300
3396
|
/* */
|
3301
3397
|
FT_EXPORT( FT_Error )
|
3302
3398
|
FT_Get_Track_Kerning( FT_Face face,
|
@@ -3358,7 +3454,7 @@ FT_BEGIN_HEADER
|
|
3358
3454
|
/* */
|
3359
3455
|
/* <Description> */
|
3360
3456
|
/* Retrieve the ASCII PostScript name of a given face, if available. */
|
3361
|
-
/* This only works with PostScript and
|
3457
|
+
/* This only works with PostScript, TrueType, and OpenType fonts. */
|
3362
3458
|
/* */
|
3363
3459
|
/* <Input> */
|
3364
3460
|
/* face :: A handle to the source face object. */
|
@@ -3370,6 +3466,13 @@ FT_BEGIN_HEADER
|
|
3370
3466
|
/* The returned pointer is owned by the face and is destroyed with */
|
3371
3467
|
/* it. */
|
3372
3468
|
/* */
|
3469
|
+
/* For variation fonts, this string changes if you select a different */
|
3470
|
+
/* instance, and you have to call `FT_Get_PostScript_Name' again to */
|
3471
|
+
/* retrieve it. FreeType follows Adobe TechNote #5902, `Generating */
|
3472
|
+
/* PostScript Names for Fonts Using OpenType Font Variations'. */
|
3473
|
+
/* */
|
3474
|
+
/* http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5902.AdobePSNameGeneration.html */
|
3475
|
+
/* */
|
3373
3476
|
FT_EXPORT( const char* )
|
3374
3477
|
FT_Get_Postscript_Name( FT_Face face );
|
3375
3478
|
|
@@ -3429,7 +3532,8 @@ FT_BEGIN_HEADER
|
|
3429
3532
|
/* the face (i.e., if it is not listed in the `face->charmaps' */
|
3430
3533
|
/* table). */
|
3431
3534
|
/* */
|
3432
|
-
/* It also fails if
|
3535
|
+
/* It also fails if an OpenType type~14 charmap is selected (which */
|
3536
|
+
/* doesn't map character codes to glyph indices at all). */
|
3433
3537
|
/* */
|
3434
3538
|
FT_EXPORT( FT_Error )
|
3435
3539
|
FT_Set_Charmap( FT_Face face,
|
@@ -3464,7 +3568,7 @@ FT_BEGIN_HEADER
|
|
3464
3568
|
/* */
|
3465
3569
|
/* <Description> */
|
3466
3570
|
/* Return the glyph index of a given character code. This function */
|
3467
|
-
/* uses
|
3571
|
+
/* uses the currently selected charmap to do the mapping. */
|
3468
3572
|
/* */
|
3469
3573
|
/* <Input> */
|
3470
3574
|
/* face :: A handle to the source face object. */
|
@@ -3498,9 +3602,8 @@ FT_BEGIN_HEADER
|
|
3498
3602
|
/* FT_Get_First_Char */
|
3499
3603
|
/* */
|
3500
3604
|
/* <Description> */
|
3501
|
-
/*
|
3502
|
-
/*
|
3503
|
-
/* corresponding glyph index. */
|
3605
|
+
/* Return the first character code in the current charmap of a given */
|
3606
|
+
/* face, together with its corresponding glyph index. */
|
3504
3607
|
/* */
|
3505
3608
|
/* <Input> */
|
3506
3609
|
/* face :: A handle to the source face object. */
|
@@ -3513,7 +3616,7 @@ FT_BEGIN_HEADER
|
|
3513
3616
|
/* The charmap's first character code. */
|
3514
3617
|
/* */
|
3515
3618
|
/* <Note> */
|
3516
|
-
/* You should use this function with @FT_Get_Next_Char to
|
3619
|
+
/* You should use this function together with @FT_Get_Next_Char to */
|
3517
3620
|
/* parse all character codes available in a given charmap. The code */
|
3518
3621
|
/* should look like this: */
|
3519
3622
|
/* */
|
@@ -3553,12 +3656,13 @@ FT_BEGIN_HEADER
|
|
3553
3656
|
/* FT_Get_Next_Char */
|
3554
3657
|
/* */
|
3555
3658
|
/* <Description> */
|
3556
|
-
/*
|
3557
|
-
/*
|
3558
|
-
/*
|
3659
|
+
/* Return the next character code in the current charmap of a given */
|
3660
|
+
/* face following the value `char_code', as well as the corresponding */
|
3661
|
+
/* glyph index. */
|
3559
3662
|
/* */
|
3560
3663
|
/* <Input> */
|
3561
3664
|
/* face :: A handle to the source face object. */
|
3665
|
+
/* */
|
3562
3666
|
/* char_code :: The starting character code. */
|
3563
3667
|
/* */
|
3564
3668
|
/* <Output> */
|
@@ -3571,7 +3675,7 @@ FT_BEGIN_HEADER
|
|
3571
3675
|
/* <Note> */
|
3572
3676
|
/* You should use this function with @FT_Get_First_Char to walk */
|
3573
3677
|
/* over all character codes available in a given charmap. See the */
|
3574
|
-
/* note for
|
3678
|
+
/* note for that function for a simple code example. */
|
3575
3679
|
/* */
|
3576
3680
|
/* Note that `*agindex' is set to~0 when there are no more codes in */
|
3577
3681
|
/* the charmap. */
|
@@ -3582,14 +3686,109 @@ FT_BEGIN_HEADER
|
|
3582
3686
|
FT_UInt *agindex );
|
3583
3687
|
|
3584
3688
|
|
3689
|
+
/*************************************************************************
|
3690
|
+
*
|
3691
|
+
* @function:
|
3692
|
+
* FT_Face_Properties
|
3693
|
+
*
|
3694
|
+
* @description:
|
3695
|
+
* Set or override certain (library or module-wide) properties on a
|
3696
|
+
* face-by-face basis. Useful for finer-grained control and avoiding
|
3697
|
+
* locks on shared structures (threads can modify their own faces as
|
3698
|
+
* they see fit).
|
3699
|
+
*
|
3700
|
+
* Contrary to @FT_Property_Set, this function uses @FT_Parameter so
|
3701
|
+
* that you can pass multiple properties to the target face in one call.
|
3702
|
+
* Note that only a subset of the available properties can be
|
3703
|
+
* controlled.
|
3704
|
+
*
|
3705
|
+
* * Stem darkening (@FT_PARAM_TAG_STEM_DARKENING, corresponding to the
|
3706
|
+
* property `no-stem-darkening' provided by the `autofit' and `cff'
|
3707
|
+
* modules; see @no-stem-darkening[autofit] and
|
3708
|
+
* @no-stem-darkening[cff]).
|
3709
|
+
*
|
3710
|
+
* * LCD filter weights (@FT_PARAM_TAG_LCD_FILTER_WEIGHTS, corresponding
|
3711
|
+
* to function @FT_Library_SetLcdFilterWeights).
|
3712
|
+
*
|
3713
|
+
* * Seed value for the CFF `random' operator
|
3714
|
+
* (@FT_PARAM_TAG_RANDOM_SEED, corresponding to the `random-seed'
|
3715
|
+
* property provided by the `cff' module; see @random-seed).
|
3716
|
+
*
|
3717
|
+
* Pass NULL as `data' in @FT_Parameter for a given tag to reset the
|
3718
|
+
* option and use the library or module default again.
|
3719
|
+
*
|
3720
|
+
* @input:
|
3721
|
+
* face ::
|
3722
|
+
* A handle to the source face object.
|
3723
|
+
*
|
3724
|
+
* num_properties ::
|
3725
|
+
* The number of properties that follow.
|
3726
|
+
*
|
3727
|
+
* properties ::
|
3728
|
+
* A handle to an @FT_Parameter array with `num_properties' elements.
|
3729
|
+
*
|
3730
|
+
* @return:
|
3731
|
+
* FreeType error code. 0~means success.
|
3732
|
+
*
|
3733
|
+
* @note:
|
3734
|
+
* Here an example that sets three properties. You must define
|
3735
|
+
* FT_CONFIG_OPTION_SUBPIXEL_RENDERING to make the LCD filter examples
|
3736
|
+
* work.
|
3737
|
+
*
|
3738
|
+
* {
|
3739
|
+
* FT_Parameter property1;
|
3740
|
+
* FT_Bool darken_stems = 1;
|
3741
|
+
*
|
3742
|
+
* FT_Parameter property2;
|
3743
|
+
* FT_LcdFiveTapFilter custom_weight =
|
3744
|
+
* { 0x11, 0x44, 0x56, 0x44, 0x11 };
|
3745
|
+
*
|
3746
|
+
* FT_Parameter property3;
|
3747
|
+
* FT_Int32 random_seed = 314159265;
|
3748
|
+
*
|
3749
|
+
* FT_Parameter properties[3] = { property1,
|
3750
|
+
* property2,
|
3751
|
+
* property3 };
|
3752
|
+
*
|
3753
|
+
*
|
3754
|
+
* property1.tag = FT_PARAM_TAG_STEM_DARKENING;
|
3755
|
+
* property1.data = &darken_stems;
|
3756
|
+
*
|
3757
|
+
* property2.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS;
|
3758
|
+
* property2.data = custom_weight;
|
3759
|
+
*
|
3760
|
+
* property3.tag = FT_PARAM_TAG_RANDOM_SEED;
|
3761
|
+
* property3.data = &random_seed;
|
3762
|
+
*
|
3763
|
+
* FT_Face_Properties( face, 3, properties );
|
3764
|
+
* }
|
3765
|
+
*
|
3766
|
+
* The next example resets a single property to its default value.
|
3767
|
+
*
|
3768
|
+
* {
|
3769
|
+
* FT_Parameter property;
|
3770
|
+
*
|
3771
|
+
*
|
3772
|
+
* property.tag = FT_PARAM_TAG_LCD_FILTER_WEIGHTS;
|
3773
|
+
* property.data = NULL;
|
3774
|
+
*
|
3775
|
+
* FT_Face_Properties( face, 1, &property );
|
3776
|
+
* }
|
3777
|
+
*
|
3778
|
+
*/
|
3779
|
+
FT_EXPORT( FT_Error )
|
3780
|
+
FT_Face_Properties( FT_Face face,
|
3781
|
+
FT_UInt num_properties,
|
3782
|
+
FT_Parameter* properties );
|
3783
|
+
|
3784
|
+
|
3585
3785
|
/*************************************************************************/
|
3586
3786
|
/* */
|
3587
3787
|
/* <Function> */
|
3588
3788
|
/* FT_Get_Name_Index */
|
3589
3789
|
/* */
|
3590
3790
|
/* <Description> */
|
3591
|
-
/* Return the glyph index of a given glyph name.
|
3592
|
-
/* driver specific objects to do the translation. */
|
3791
|
+
/* Return the glyph index of a given glyph name. */
|
3593
3792
|
/* */
|
3594
3793
|
/* <Input> */
|
3595
3794
|
/* face :: A handle to the source face object. */
|
@@ -3610,8 +3809,10 @@ FT_BEGIN_HEADER
|
|
3610
3809
|
* FT_SUBGLYPH_FLAG_XXX
|
3611
3810
|
*
|
3612
3811
|
* @description:
|
3613
|
-
* A list of constants
|
3614
|
-
*
|
3812
|
+
* A list of constants describing subglyphs. Please refer to the
|
3813
|
+
* `glyf' table description in the OpenType specification for the
|
3814
|
+
* meaning of the various flags (which get synthesized for
|
3815
|
+
* non-OpenType subglyphs).
|
3615
3816
|
*
|
3616
3817
|
* @values:
|
3617
3818
|
* FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
|
@@ -3672,7 +3873,7 @@ FT_BEGIN_HEADER
|
|
3672
3873
|
* @note:
|
3673
3874
|
* The values of `*p_arg1', `*p_arg2', and `*p_transform' must be
|
3674
3875
|
* interpreted depending on the flags returned in `*p_flags'. See the
|
3675
|
-
*
|
3876
|
+
* OpenType specification for details.
|
3676
3877
|
*
|
3677
3878
|
*/
|
3678
3879
|
FT_EXPORT( FT_Error )
|
@@ -3712,33 +3913,31 @@ FT_BEGIN_HEADER
|
|
3712
3913
|
/* the font software copyright owner. */
|
3713
3914
|
/* */
|
3714
3915
|
/* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: */
|
3715
|
-
/*
|
3716
|
-
/*
|
3717
|
-
/*
|
3718
|
-
/* to the document. */
|
3916
|
+
/* The font may be embedded and temporarily loaded on the remote */
|
3917
|
+
/* system. Documents containing Preview & Print fonts must be */
|
3918
|
+
/* opened `read-only'; no edits can be applied to the document. */
|
3719
3919
|
/* */
|
3720
3920
|
/* FT_FSTYPE_EDITABLE_EMBEDDING :: */
|
3721
|
-
/*
|
3722
|
-
/*
|
3723
|
-
/*
|
3724
|
-
/*
|
3921
|
+
/* The font may be embedded but must only be installed temporarily */
|
3922
|
+
/* on other systems. In contrast to Preview & Print fonts, */
|
3923
|
+
/* documents containing editable fonts may be opened for reading, */
|
3924
|
+
/* editing is permitted, and changes may be saved. */
|
3725
3925
|
/* */
|
3726
3926
|
/* FT_FSTYPE_NO_SUBSETTING :: */
|
3727
|
-
/*
|
3728
|
-
/* embedding. */
|
3927
|
+
/* The font may not be subsetted prior to embedding. */
|
3729
3928
|
/* */
|
3730
3929
|
/* FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: */
|
3731
|
-
/*
|
3732
|
-
/*
|
3733
|
-
/*
|
3930
|
+
/* Only bitmaps contained in the font may be embedded; no outline */
|
3931
|
+
/* data may be embedded. If there are no bitmaps available in the */
|
3932
|
+
/* font, then the font is unembeddable. */
|
3734
3933
|
/* */
|
3735
3934
|
/* <Note> */
|
3736
3935
|
/* The flags are ORed together, thus more than a single value can be */
|
3737
3936
|
/* returned. */
|
3738
3937
|
/* */
|
3739
|
-
/* While the fsType flags can indicate that a font may be embedded,
|
3740
|
-
/* license with the font vendor may be separately required to use
|
3741
|
-
/* font in this way.
|
3938
|
+
/* While the `fsType' flags can indicate that a font may be embedded, */
|
3939
|
+
/* a license with the font vendor may be separately required to use */
|
3940
|
+
/* the font in this way. */
|
3742
3941
|
/* */
|
3743
3942
|
#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
|
3744
3943
|
#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
|
@@ -3754,13 +3953,13 @@ FT_BEGIN_HEADER
|
|
3754
3953
|
/* FT_Get_FSType_Flags */
|
3755
3954
|
/* */
|
3756
3955
|
/* <Description> */
|
3757
|
-
/* Return the fsType flags for a font.
|
3956
|
+
/* Return the `fsType' flags for a font. */
|
3758
3957
|
/* */
|
3759
3958
|
/* <Input> */
|
3760
3959
|
/* face :: A handle to the source face object. */
|
3761
3960
|
/* */
|
3762
3961
|
/* <Return> */
|
3763
|
-
/* The fsType flags, @FT_FSTYPE_XXX.
|
3962
|
+
/* The `fsType' flags, see @FT_FSTYPE_XXX. */
|
3764
3963
|
/* */
|
3765
3964
|
/* <Note> */
|
3766
3965
|
/* Use this function rather than directly reading the `fs_type' field */
|
@@ -3780,39 +3979,51 @@ FT_BEGIN_HEADER
|
|
3780
3979
|
/* glyph_variants */
|
3781
3980
|
/* */
|
3782
3981
|
/* <Title> */
|
3783
|
-
/*
|
3982
|
+
/* Unicode Variation Sequences */
|
3784
3983
|
/* */
|
3785
3984
|
/* <Abstract> */
|
3786
|
-
/* The FreeType~2 interface to Unicode
|
3787
|
-
/*
|
3985
|
+
/* The FreeType~2 interface to Unicode Variation Sequences (UVS), */
|
3986
|
+
/* using the SFNT cmap format~14. */
|
3788
3987
|
/* */
|
3789
3988
|
/* <Description> */
|
3790
|
-
/* Many CJK
|
3791
|
-
/* area somewhere between being totally
|
3792
|
-
/* distinct; for this reason, the Unicode
|
3793
|
-
/* introduce
|
3794
|
-
/* Unicode base character and
|
3795
|
-
/*
|
3796
|
-
/*
|
3797
|
-
/* */
|
3798
|
-
/*
|
3799
|
-
/*
|
3800
|
-
/*
|
3801
|
-
/*
|
3802
|
-
/*
|
3803
|
-
/*
|
3804
|
-
/*
|
3805
|
-
/*
|
3806
|
-
/* */
|
3807
|
-
/*
|
3808
|
-
/*
|
3809
|
-
/*
|
3810
|
-
/*
|
3811
|
-
/*
|
3812
|
-
/*
|
3813
|
-
/*
|
3814
|
-
/*
|
3815
|
-
/*
|
3989
|
+
/* Many characters, especially for CJK scripts, have variant forms. */
|
3990
|
+
/* They are a sort of grey area somewhere between being totally */
|
3991
|
+
/* irrelevant and semantically distinct; for this reason, the Unicode */
|
3992
|
+
/* consortium decided to introduce Variation Sequences (VS), */
|
3993
|
+
/* consisting of a Unicode base character and a variation selector */
|
3994
|
+
/* instead of further extending the already huge number of */
|
3995
|
+
/* characters. */
|
3996
|
+
/* */
|
3997
|
+
/* Unicode maintains two different sets, namely `Standardized */
|
3998
|
+
/* Variation Sequences' and registered `Ideographic Variation */
|
3999
|
+
/* Sequences' (IVS), collected in the `Ideographic Variation */
|
4000
|
+
/* Database' (IVD). */
|
4001
|
+
/* */
|
4002
|
+
/* http://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt */
|
4003
|
+
/* http://unicode.org/reports/tr37/ */
|
4004
|
+
/* http://unicode.org/ivd/ */
|
4005
|
+
/* */
|
4006
|
+
/* To date (January 2017), the character with the most ideographic */
|
4007
|
+
/* variations is U+9089, having 32 such IVS. */
|
4008
|
+
/* */
|
4009
|
+
/* Three Mongolian Variation Selectors have the values U+180B-U+180D; */
|
4010
|
+
/* 256 generic Variation Selectors are encoded in the ranges */
|
4011
|
+
/* U+FE00-U+FE0F and U+E0100-U+E01EF. IVS currently use Variation */
|
4012
|
+
/* Selectors from the range U+E0100-U+E01EF only. */
|
4013
|
+
/* */
|
4014
|
+
/* A VS consists of the base character value followed by a single */
|
4015
|
+
/* Variation Selector. For example, to get the first variation of */
|
4016
|
+
/* U+9089, you have to write the character sequence `U+9089 U+E0100'. */
|
4017
|
+
/* */
|
4018
|
+
/* Adobe and MS decided to support both standardized and ideographic */
|
4019
|
+
/* VS with a new cmap subtable (format~14). It is an odd subtable */
|
4020
|
+
/* because it is not a mapping of input code points to glyphs, but */
|
4021
|
+
/* contains lists of all variations supported by the font. */
|
4022
|
+
/* */
|
4023
|
+
/* A variation may be either `default' or `non-default' for a given */
|
4024
|
+
/* font. A default variation is the one you will get for that code */
|
4025
|
+
/* point if you look it up in the standard Unicode cmap. A */
|
4026
|
+
/* non-default variation is a different glyph. */
|
3816
4027
|
/* */
|
3817
4028
|
/*************************************************************************/
|
3818
4029
|
|
@@ -3868,8 +4079,8 @@ FT_BEGIN_HEADER
|
|
3868
4079
|
/* FT_Face_GetCharVariantIsDefault */
|
3869
4080
|
/* */
|
3870
4081
|
/* <Description> */
|
3871
|
-
/* Check whether this
|
3872
|
-
/* be found in the `cmap'.
|
4082
|
+
/* Check whether this variation of this Unicode character is the one */
|
4083
|
+
/* to be found in the `cmap'. */
|
3873
4084
|
/* */
|
3874
4085
|
/* <Input> */
|
3875
4086
|
/* face :: */
|
@@ -3883,7 +4094,7 @@ FT_BEGIN_HEADER
|
|
3883
4094
|
/* */
|
3884
4095
|
/* <Return> */
|
3885
4096
|
/* 1~if found in the standard (Unicode) cmap, 0~if found in the */
|
3886
|
-
/* variation selector cmap, or -1 if it is not a
|
4097
|
+
/* variation selector cmap, or -1 if it is not a variation. */
|
3887
4098
|
/* */
|
3888
4099
|
/* <Note> */
|
3889
4100
|
/* This function is only meaningful if the font has a variation */
|
@@ -3904,7 +4115,7 @@ FT_BEGIN_HEADER
|
|
3904
4115
|
/* FT_Face_GetVariantSelectors */
|
3905
4116
|
/* */
|
3906
4117
|
/* <Description> */
|
3907
|
-
/* Return a zero-terminated list of Unicode
|
4118
|
+
/* Return a zero-terminated list of Unicode variation selectors found */
|
3908
4119
|
/* in the font. */
|
3909
4120
|
/* */
|
3910
4121
|
/* <Input> */
|
@@ -3913,7 +4124,7 @@ FT_BEGIN_HEADER
|
|
3913
4124
|
/* */
|
3914
4125
|
/* <Return> */
|
3915
4126
|
/* A pointer to an array of selector code points, or NULL if there is */
|
3916
|
-
/* no valid
|
4127
|
+
/* no valid variation selector cmap subtable. */
|
3917
4128
|
/* */
|
3918
4129
|
/* <Note> */
|
3919
4130
|
/* The last item in the array is~0; the array is owned by the */
|
@@ -3933,7 +4144,7 @@ FT_BEGIN_HEADER
|
|
3933
4144
|
/* FT_Face_GetVariantsOfChar */
|
3934
4145
|
/* */
|
3935
4146
|
/* <Description> */
|
3936
|
-
/* Return a zero-terminated list of Unicode
|
4147
|
+
/* Return a zero-terminated list of Unicode variation selectors found */
|
3937
4148
|
/* for the specified character code. */
|
3938
4149
|
/* */
|
3939
4150
|
/* <Input> */
|
@@ -3944,7 +4155,7 @@ FT_BEGIN_HEADER
|
|
3944
4155
|
/* The character codepoint in Unicode. */
|
3945
4156
|
/* */
|
3946
4157
|
/* <Return> */
|
3947
|
-
/* A pointer to an array of
|
4158
|
+
/* A pointer to an array of variation selector code points that are */
|
3948
4159
|
/* active for the given character, or NULL if the corresponding list */
|
3949
4160
|
/* is empty. */
|
3950
4161
|
/* */
|
@@ -3968,19 +4179,19 @@ FT_BEGIN_HEADER
|
|
3968
4179
|
/* */
|
3969
4180
|
/* <Description> */
|
3970
4181
|
/* Return a zero-terminated list of Unicode character codes found for */
|
3971
|
-
/* the specified
|
4182
|
+
/* the specified variation selector. */
|
3972
4183
|
/* */
|
3973
4184
|
/* <Input> */
|
3974
4185
|
/* face :: */
|
3975
4186
|
/* A handle to the source face object. */
|
3976
4187
|
/* */
|
3977
4188
|
/* variantSelector :: */
|
3978
|
-
/* The
|
4189
|
+
/* The variation selector code point in Unicode. */
|
3979
4190
|
/* */
|
3980
4191
|
/* <Return> */
|
3981
4192
|
/* A list of all the code points that are specified by this selector */
|
3982
4193
|
/* (both default and non-default codes are returned) or NULL if there */
|
3983
|
-
/* is no valid cmap or the
|
4194
|
+
/* is no valid cmap or the variation selector is invalid. */
|
3984
4195
|
/* */
|
3985
4196
|
/* <Note> */
|
3986
4197
|
/* The last item in the array is~0; the array is owned by the */
|
@@ -4030,16 +4241,17 @@ FT_BEGIN_HEADER
|
|
4030
4241
|
/* FT_MulDiv */
|
4031
4242
|
/* */
|
4032
4243
|
/* <Description> */
|
4033
|
-
/*
|
4034
|
-
/*
|
4035
|
-
/* whenever necessary). */
|
4244
|
+
/* Compute `(a*b)/c' with maximum accuracy, using a 64-bit */
|
4245
|
+
/* intermediate integer whenever necessary. */
|
4036
4246
|
/* */
|
4037
4247
|
/* This function isn't necessarily as fast as some processor specific */
|
4038
4248
|
/* operations, but is at least completely portable. */
|
4039
4249
|
/* */
|
4040
4250
|
/* <Input> */
|
4041
4251
|
/* a :: The first multiplier. */
|
4252
|
+
/* */
|
4042
4253
|
/* b :: The second multiplier. */
|
4254
|
+
/* */
|
4043
4255
|
/* c :: The divisor. */
|
4044
4256
|
/* */
|
4045
4257
|
/* <Return> */
|
@@ -4059,12 +4271,12 @@ FT_BEGIN_HEADER
|
|
4059
4271
|
/* FT_MulFix */
|
4060
4272
|
/* */
|
4061
4273
|
/* <Description> */
|
4062
|
-
/*
|
4063
|
-
/*
|
4064
|
-
/* used to multiply a given value by a 16.16 fixed-point factor. */
|
4274
|
+
/* Compute `(a*b)/0x10000' with maximum accuracy. Its main use is to */
|
4275
|
+
/* multiply a given value by a 16.16 fixed-point factor. */
|
4065
4276
|
/* */
|
4066
4277
|
/* <Input> */
|
4067
4278
|
/* a :: The first multiplier. */
|
4279
|
+
/* */
|
4068
4280
|
/* b :: The second multiplier. Use a 16.16 factor here whenever */
|
4069
4281
|
/* possible (see note below). */
|
4070
4282
|
/* */
|
@@ -4093,12 +4305,12 @@ FT_BEGIN_HEADER
|
|
4093
4305
|
/* FT_DivFix */
|
4094
4306
|
/* */
|
4095
4307
|
/* <Description> */
|
4096
|
-
/*
|
4097
|
-
/*
|
4098
|
-
/* used to divide a given value by a 16.16 fixed-point factor. */
|
4308
|
+
/* Compute `(a*0x10000)/b' with maximum accuracy. Its main use is to */
|
4309
|
+
/* divide a given value by a 16.16 fixed-point factor. */
|
4099
4310
|
/* */
|
4100
4311
|
/* <Input> */
|
4101
4312
|
/* a :: The numerator. */
|
4313
|
+
/* */
|
4102
4314
|
/* b :: The denominator. Use a 16.16 factor here. */
|
4103
4315
|
/* */
|
4104
4316
|
/* <Return> */
|
@@ -4115,15 +4327,18 @@ FT_BEGIN_HEADER
|
|
4115
4327
|
/* FT_RoundFix */
|
4116
4328
|
/* */
|
4117
4329
|
/* <Description> */
|
4118
|
-
/*
|
4330
|
+
/* Round a 16.16 fixed number. */
|
4119
4331
|
/* */
|
4120
4332
|
/* <Input> */
|
4121
4333
|
/* a :: The number to be rounded. */
|
4122
4334
|
/* */
|
4123
4335
|
/* <Return> */
|
4124
|
-
/* `a' rounded to nearest 16.16 fixed integer, halfway cases away
|
4336
|
+
/* `a' rounded to the nearest 16.16 fixed integer, halfway cases away */
|
4125
4337
|
/* from zero. */
|
4126
4338
|
/* */
|
4339
|
+
/* <Note> */
|
4340
|
+
/* The function uses wrap-around arithmetic. */
|
4341
|
+
/* */
|
4127
4342
|
FT_EXPORT( FT_Fixed )
|
4128
4343
|
FT_RoundFix( FT_Fixed a );
|
4129
4344
|
|
@@ -4134,8 +4349,7 @@ FT_BEGIN_HEADER
|
|
4134
4349
|
/* FT_CeilFix */
|
4135
4350
|
/* */
|
4136
4351
|
/* <Description> */
|
4137
|
-
/*
|
4138
|
-
/* 16.16 fixed number. */
|
4352
|
+
/* Compute the smallest following integer of a 16.16 fixed number. */
|
4139
4353
|
/* */
|
4140
4354
|
/* <Input> */
|
4141
4355
|
/* a :: The number for which the ceiling function is to be computed. */
|
@@ -4143,6 +4357,9 @@ FT_BEGIN_HEADER
|
|
4143
4357
|
/* <Return> */
|
4144
4358
|
/* `a' rounded towards plus infinity. */
|
4145
4359
|
/* */
|
4360
|
+
/* <Note> */
|
4361
|
+
/* The function uses wrap-around arithmetic. */
|
4362
|
+
/* */
|
4146
4363
|
FT_EXPORT( FT_Fixed )
|
4147
4364
|
FT_CeilFix( FT_Fixed a );
|
4148
4365
|
|
@@ -4153,8 +4370,7 @@ FT_BEGIN_HEADER
|
|
4153
4370
|
/* FT_FloorFix */
|
4154
4371
|
/* */
|
4155
4372
|
/* <Description> */
|
4156
|
-
/*
|
4157
|
-
/* 16.16 fixed number. */
|
4373
|
+
/* Compute the largest previous integer of a 16.16 fixed number. */
|
4158
4374
|
/* */
|
4159
4375
|
/* <Input> */
|
4160
4376
|
/* a :: The number for which the floor function is to be computed. */
|
@@ -4240,7 +4456,7 @@ FT_BEGIN_HEADER
|
|
4240
4456
|
*
|
4241
4457
|
*/
|
4242
4458
|
#define FREETYPE_MAJOR 2
|
4243
|
-
#define FREETYPE_MINOR
|
4459
|
+
#define FREETYPE_MINOR 8
|
4244
4460
|
#define FREETYPE_PATCH 1
|
4245
4461
|
|
4246
4462
|
|