cairo 1.15.9-x64-mingw32 → 1.15.10-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|