summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-08-14 12:30:01 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-08-14 12:30:01 (GMT)
commit8d846a525a67f2b0b680ed836601712a5250ce57 (patch)
tree34fef9650992717f5d4274d8c578419ac0475698
parent4c31f59d45130eae8f140e6d0177a4b227454187 (diff)
parentb770651f19741907cd415ea9ad6e087cb32cc948 (diff)
downloadQt-8d846a525a67f2b0b680ed836601712a5250ce57.zip
Qt-8d846a525a67f2b0b680ed836601712a5250ce57.tar.gz
Qt-8d846a525a67f2b0b680ed836601712a5250ce57.tar.bz2
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt into qtscript-jsc-backend
-rw-r--r--demos/boxes/boxes.pro6
-rw-r--r--doc/src/classes/qnamespace.qdoc2
-rw-r--r--doc/src/gestures.qdoc170
-rw-r--r--doc/src/snippets/gestures/qgesture.cpp283
-rw-r--r--doc/src/snippets/gestures/qgesture.h101
-rw-r--r--doc/src/snippets/gestures/qstandardgestures.cpp483
-rw-r--r--doc/src/snippets/gestures/qstandardgestures.h126
-rw-r--r--doc/src/unicode.qdoc24
-rw-r--r--examples/multitouch/pinchzoom/graphicsview.cpp6
-rw-r--r--examples/multitouch/pinchzoom/graphicsview.h2
-rw-r--r--examples/phonon/musicplayer/mainwindow.cpp2
-rw-r--r--mkspecs/features/mac/default_post.prf15
-rw-r--r--qmake/generators/unix/unixmake.cpp2
-rw-r--r--src/3rdparty/clucene/src/CLucene/StdHeader.cpp2
-rw-r--r--src/3rdparty/clucene/src/CLucene/StdHeader.h10
-rw-r--r--src/3rdparty/clucene/src/CLucene/config/define_std.h3
-rw-r--r--src/3rdparty/clucene/src/CLucene/config/repl_tchar.h20
-rw-r--r--src/3rdparty/clucene/src/CLucene/util/Misc.cpp10
-rw-r--r--src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp5
-rw-r--r--src/3rdparty/freetype/ChangeLog1620
-rw-r--r--src/3rdparty/freetype/ChangeLog.218
-rw-r--r--src/3rdparty/freetype/ChangeLog.222
-rw-r--r--src/3rdparty/freetype/Jamfile4
-rw-r--r--src/3rdparty/freetype/README10
-rw-r--r--src/3rdparty/freetype/README.CVS16
-rw-r--r--src/3rdparty/freetype/autogen.sh121
-rw-r--r--src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h40
-rw-r--r--src/3rdparty/freetype/builds/amiga/makefile20
-rw-r--r--src/3rdparty/freetype/builds/amiga/makefile.os420
-rw-r--r--src/3rdparty/freetype/builds/amiga/smakefile14
-rw-r--r--src/3rdparty/freetype/builds/freetype.mk6
-rw-r--r--src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt20
-rw-r--r--src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt20
-rw-r--r--src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt19
-rw-r--r--src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt19
-rw-r--r--src/3rdparty/freetype/builds/mac/README6
-rw-r--r--src/3rdparty/freetype/builds/mac/ftmac.c185
-rw-r--r--src/3rdparty/freetype/builds/symbian/bld.inf5
-rw-r--r--src/3rdparty/freetype/builds/symbian/freetype.mmp8
-rw-r--r--src/3rdparty/freetype/builds/toplevel.mk16
-rw-r--r--src/3rdparty/freetype/builds/unix/aclocal.m4160
-rwxr-xr-xsrc/3rdparty/freetype/builds/unix/config.guess35
-rwxr-xr-xsrc/3rdparty/freetype/builds/unix/config.sub32
-rwxr-xr-xsrc/3rdparty/freetype/builds/unix/configure951
-rw-r--r--src/3rdparty/freetype/builds/unix/configure.ac159
-rw-r--r--src/3rdparty/freetype/builds/unix/configure.raw157
-rw-r--r--src/3rdparty/freetype/builds/unix/freetype-config.in27
-rw-r--r--src/3rdparty/freetype/builds/unix/freetype2.in3
-rw-r--r--src/3rdparty/freetype/builds/unix/ftconfig.in151
-rw-r--r--src/3rdparty/freetype/builds/unix/ftsystem.c9
-rwxr-xr-xsrc/3rdparty/freetype/builds/unix/ltmain.sh782
-rw-r--r--src/3rdparty/freetype/builds/unix/unix-def.in6
-rw-r--r--src/3rdparty/freetype/builds/vms/ftconfig.h10
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2005/freetype.sln31
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2005/freetype.vcproj636
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2005/index.html37
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2008/freetype.sln31
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2008/freetype.vcproj (renamed from src/3rdparty/freetype/builds/win32/visualc/freetype.vcproj)39
-rw-r--r--src/3rdparty/freetype/builds/win32/vc2008/index.html37
-rw-r--r--src/3rdparty/freetype/builds/win32/visualc/freetype.dsp24
-rw-r--r--src/3rdparty/freetype/builds/win32/visualc/freetype.sln31
-rw-r--r--src/3rdparty/freetype/builds/win32/visualc/index.html10
-rw-r--r--src/3rdparty/freetype/builds/win32/visualce/freetype.dsp396
-rw-r--r--src/3rdparty/freetype/builds/win32/visualce/freetype.dsw29
-rw-r--r--src/3rdparty/freetype/builds/wince/ftdebug.c248
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.sln158
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.vcproj3825
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2005-ce/index.html47
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.sln158
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.vcproj (renamed from src/3rdparty/freetype/builds/win32/visualce/freetype.vcproj)4222
-rw-r--r--src/3rdparty/freetype/builds/wince/vc2008-ce/index.html (renamed from src/3rdparty/freetype/builds/win32/visualce/index.html)14
-rwxr-xr-xsrc/3rdparty/freetype/configure14
-rw-r--r--src/3rdparty/freetype/devel/ftoption.h34
-rw-r--r--src/3rdparty/freetype/docs/CHANGES171
-rw-r--r--src/3rdparty/freetype/docs/INSTALL4
-rw-r--r--src/3rdparty/freetype/docs/INSTALL.ANY18
-rw-r--r--src/3rdparty/freetype/docs/INSTALL.CROSS4
-rw-r--r--src/3rdparty/freetype/docs/INSTALL.GNU4
-rw-r--r--src/3rdparty/freetype/docs/INSTALL.UNIX2
-rw-r--r--src/3rdparty/freetype/docs/VERSION.DLL5
-rw-r--r--src/3rdparty/freetype/docs/formats.txt28
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-base_interface.html508
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-basic_types.html266
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html36
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html60
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html151
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html112
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-computations.html56
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-font_formats.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-gasp_table.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-glyph_management.html101
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html64
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html24
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-gx_validation.html24
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-gzip.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html294
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-incremental.html48
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-index.html493
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html12
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-list_processing.html38
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-lzw.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-mac_specific.html24
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-module_management.html40
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html32
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-ot_validation.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-outline_processing.html104
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html20
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-quick_advance.html177
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-raster.html42
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html16
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-sizes_management.html16
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-system_interface.html32
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-toc.html32
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html50
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-type1_tables.html88
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-user_allocation.html10
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-version.html14
-rw-r--r--src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html22
-rw-r--r--src/3rdparty/freetype/docs/release16
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftconfig.h103
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftheader.h82
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftmodule.h36
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftoption.h48
-rw-r--r--src/3rdparty/freetype/include/freetype/config/ftstdlib.h10
-rw-r--r--src/3rdparty/freetype/include/freetype/freetype.h684
-rw-r--r--src/3rdparty/freetype/include/freetype/ftadvanc.h179
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbbox.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbdf.h89
-rw-r--r--src/3rdparty/freetype/include/freetype/ftbitmap.h41
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcache.h76
-rw-r--r--src/3rdparty/freetype/include/freetype/ftchapters.h1
-rw-r--r--src/3rdparty/freetype/include/freetype/ftcid.h76
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgasp.h11
-rw-r--r--src/3rdparty/freetype/include/freetype/ftglyph.h82
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgxval.h10
-rw-r--r--src/3rdparty/freetype/include/freetype/ftgzip.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftimage.h190
-rw-r--r--src/3rdparty/freetype/include/freetype/ftincrem.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlcdfil.h12
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlist.h14
-rw-r--r--src/3rdparty/freetype/include/freetype/ftlzw.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmac.h16
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmm.h28
-rw-r--r--src/3rdparty/freetype/include/freetype/ftmodapi.h26
-rw-r--r--src/3rdparty/freetype/include/freetype/ftotval.h2
-rw-r--r--src/3rdparty/freetype/include/freetype/ftoutln.h70
-rw-r--r--src/3rdparty/freetype/include/freetype/ftpfr.h16
-rw-r--r--src/3rdparty/freetype/include/freetype/ftrender.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsizes.h12
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsnames.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/ftstroke.h58
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsynth.h27
-rw-r--r--src/3rdparty/freetype/include/freetype/ftsystem.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/fttypes.h18
-rw-r--r--src/3rdparty/freetype/include/freetype/ftwinfnt.h6
-rw-r--r--src/3rdparty/freetype/include/freetype/ftxf86.h4
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdebug.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftdriver.h11
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/ftgloadr.h8
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/psaux.h9
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svcid.h11
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h7
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h9
-rw-r--r--src/3rdparty/freetype/include/freetype/internal/t1types.h24
-rw-r--r--src/3rdparty/freetype/include/freetype/t1tables.h36
-rw-r--r--src/3rdparty/freetype/include/freetype/ttnameid.h273
-rw-r--r--src/3rdparty/freetype/include/freetype/tttables.h36
-rw-r--r--src/3rdparty/freetype/include/freetype/tttags.h9
-rw-r--r--src/3rdparty/freetype/modules.cfg57
-rw-r--r--src/3rdparty/freetype/src/autofit/afcjk.c59
-rw-r--r--src/3rdparty/freetype/src/autofit/afhints.c8
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin.c55
-rw-r--r--src/3rdparty/freetype/src/autofit/aflatin2.c10
-rw-r--r--src/3rdparty/freetype/src/autofit/aftypes.h7
-rw-r--r--src/3rdparty/freetype/src/autofit/module.mk2
-rw-r--r--src/3rdparty/freetype/src/base/Jamfile25
-rw-r--r--src/3rdparty/freetype/src/base/ftadvanc.c163
-rw-r--r--src/3rdparty/freetype/src/base/ftbase.c5
-rw-r--r--src/3rdparty/freetype/src/base/ftbase.h57
-rw-r--r--src/3rdparty/freetype/src/base/ftbitmap.c35
-rw-r--r--src/3rdparty/freetype/src/base/ftcalc.c134
-rw-r--r--src/3rdparty/freetype/src/base/ftcid.c56
-rw-r--r--src/3rdparty/freetype/src/base/ftdbgmem.c7
-rw-r--r--src/3rdparty/freetype/src/base/ftdebug.c2
-rw-r--r--src/3rdparty/freetype/src/base/ftfstype.c62
-rw-r--r--src/3rdparty/freetype/src/base/ftglyph.c64
-rw-r--r--src/3rdparty/freetype/src/base/ftinit.c6
-rw-r--r--src/3rdparty/freetype/src/base/ftlcdfil.c12
-rw-r--r--src/3rdparty/freetype/src/base/ftmac.c205
-rw-r--r--src/3rdparty/freetype/src/base/ftmm.c4
-rw-r--r--src/3rdparty/freetype/src/base/ftobjs.c286
-rw-r--r--src/3rdparty/freetype/src/base/ftotval.c3
-rw-r--r--src/3rdparty/freetype/src/base/ftoutln.c62
-rw-r--r--src/3rdparty/freetype/src/base/ftpatent.c4
-rw-r--r--src/3rdparty/freetype/src/base/ftpfr.c33
-rw-r--r--src/3rdparty/freetype/src/base/ftrfork.c18
-rw-r--r--src/3rdparty/freetype/src/base/ftstream.c5
-rw-r--r--src/3rdparty/freetype/src/base/ftstroke.c137
-rw-r--r--src/3rdparty/freetype/src/base/ftsynth.c30
-rw-r--r--src/3rdparty/freetype/src/base/ftsystem.c4
-rw-r--r--src/3rdparty/freetype/src/base/rules.mk18
-rw-r--r--src/3rdparty/freetype/src/bdf/bdfdrivr.c13
-rw-r--r--src/3rdparty/freetype/src/bdf/bdflib.c9
-rw-r--r--src/3rdparty/freetype/src/bdf/module.mk2
-rw-r--r--src/3rdparty/freetype/src/bdf/rules.mk7
-rw-r--r--src/3rdparty/freetype/src/cache/ftccmap.c20
-rw-r--r--src/3rdparty/freetype/src/cache/ftcmanag.c9
-rw-r--r--src/3rdparty/freetype/src/cache/rules.mk10
-rw-r--r--src/3rdparty/freetype/src/cff/cffdrivr.c105
-rw-r--r--src/3rdparty/freetype/src/cff/cffgload.c491
-rw-r--r--src/3rdparty/freetype/src/cff/cffgload.h1
-rw-r--r--src/3rdparty/freetype/src/cff/cffload.c13
-rw-r--r--src/3rdparty/freetype/src/cff/cffload.h5
-rw-r--r--src/3rdparty/freetype/src/cff/cffobjs.c243
-rw-r--r--src/3rdparty/freetype/src/cff/cffparse.c17
-rw-r--r--src/3rdparty/freetype/src/cff/module.mk2
-rw-r--r--src/3rdparty/freetype/src/cid/cidload.c34
-rw-r--r--src/3rdparty/freetype/src/cid/cidobjs.c81
-rw-r--r--src/3rdparty/freetype/src/cid/cidriver.c49
-rw-r--r--src/3rdparty/freetype/src/cid/cidtoken.h13
-rw-r--r--src/3rdparty/freetype/src/cid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvcommn.c12
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvcommn.h8
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmort.c2
-rw-r--r--src/3rdparty/freetype/src/gxvalid/gxvmorx.c5
-rw-r--r--src/3rdparty/freetype/src/gxvalid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/gzip/ftgzip.c6
-rw-r--r--src/3rdparty/freetype/src/gzip/inftrees.c3
-rw-r--r--src/3rdparty/freetype/src/lzw/ftlzw.c5
-rw-r--r--src/3rdparty/freetype/src/otvalid/Jamfile2
-rw-r--r--src/3rdparty/freetype/src/otvalid/module.mk2
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvalid.h1
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvcommn.h10
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgdef.c5
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvgpos.c9
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvmath.c4
-rw-r--r--src/3rdparty/freetype/src/otvalid/otvmod.c4
-rw-r--r--src/3rdparty/freetype/src/pcf/module.mk2
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfdrivr.c17
-rw-r--r--src/3rdparty/freetype/src/pcf/pcfread.c14
-rw-r--r--src/3rdparty/freetype/src/pcf/rules.mk11
-rw-r--r--src/3rdparty/freetype/src/pfr/module.mk2
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrdrivr.c11
-rw-r--r--src/3rdparty/freetype/src/pfr/pfrobjs.c11
-rw-r--r--src/3rdparty/freetype/src/psaux/afmparse.c9
-rw-r--r--src/3rdparty/freetype/src/psaux/module.mk2
-rw-r--r--src/3rdparty/freetype/src/psaux/psobjs.c46
-rw-r--r--src/3rdparty/freetype/src/psaux/t1decode.c17
-rw-r--r--src/3rdparty/freetype/src/pshinter/module.mk2
-rw-r--r--src/3rdparty/freetype/src/pshinter/pshalgo.c4
-rw-r--r--src/3rdparty/freetype/src/psnames/module.mk2
-rw-r--r--src/3rdparty/freetype/src/psnames/psmodule.c95
-rw-r--r--src/3rdparty/freetype/src/psnames/pstables.h9
-rw-r--r--src/3rdparty/freetype/src/raster/ftmisc.h5
-rw-r--r--src/3rdparty/freetype/src/raster/ftraster.c447
-rw-r--r--src/3rdparty/freetype/src/raster/module.mk2
-rw-r--r--src/3rdparty/freetype/src/raster/rules.mk3
-rw-r--r--src/3rdparty/freetype/src/sfnt/Jamfile2
-rw-r--r--src/3rdparty/freetype/src/sfnt/module.mk2
-rw-r--r--src/3rdparty/freetype/src/sfnt/rules.mk9
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfdriver.c29
-rw-r--r--src/3rdparty/freetype/src/sfnt/sfobjs.c278
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttcmap.c160
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttkern.c29
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttload.c181
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttmtx.c14
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttpost.c15
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttsbit.c23
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttsbit.h4
-rw-r--r--src/3rdparty/freetype/src/sfnt/ttsbit0.c129
-rw-r--r--src/3rdparty/freetype/src/smooth/ftgrays.c285
-rw-r--r--src/3rdparty/freetype/src/smooth/ftsmooth.c8
-rw-r--r--src/3rdparty/freetype/src/smooth/module.mk6
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/content.py14
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/sources.py10
-rw-r--r--src/3rdparty/freetype/src/tools/docmaker/tohtml.py106
-rw-r--r--src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c10
-rw-r--r--src/3rdparty/freetype/src/tools/glnames.py13
-rw-r--r--src/3rdparty/freetype/src/truetype/module.mk2
-rw-r--r--src/3rdparty/freetype/src/truetype/ttdriver.c68
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgload.c120
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgload.h16
-rw-r--r--src/3rdparty/freetype/src/truetype/ttgxvar.c14
-rw-r--r--src/3rdparty/freetype/src/truetype/ttinterp.c35
-rw-r--r--src/3rdparty/freetype/src/truetype/ttobjs.c94
-rw-r--r--src/3rdparty/freetype/src/truetype/ttobjs.h6
-rw-r--r--src/3rdparty/freetype/src/truetype/ttpload.c59
-rw-r--r--src/3rdparty/freetype/src/type1/module.mk2
-rw-r--r--src/3rdparty/freetype/src/type1/t1afm.c9
-rw-r--r--src/3rdparty/freetype/src/type1/t1driver.c58
-rw-r--r--src/3rdparty/freetype/src/type1/t1gload.c77
-rw-r--r--src/3rdparty/freetype/src/type1/t1gload.h9
-rw-r--r--src/3rdparty/freetype/src/type1/t1load.c70
-rw-r--r--src/3rdparty/freetype/src/type1/t1objs.c134
-rw-r--r--src/3rdparty/freetype/src/type1/t1tokens.h13
-rw-r--r--src/3rdparty/freetype/src/type42/module.mk2
-rw-r--r--src/3rdparty/freetype/src/type42/rules.mk5
-rw-r--r--src/3rdparty/freetype/src/type42/t42drivr.c56
-rw-r--r--src/3rdparty/freetype/src/type42/t42objs.c76
-rw-r--r--src/3rdparty/freetype/src/type42/t42parse.c10
-rw-r--r--src/3rdparty/freetype/src/type42/t42types.h6
-rw-r--r--src/3rdparty/freetype/src/winfonts/module.mk2
-rw-r--r--src/3rdparty/freetype/src/winfonts/winfnt.c35
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp378
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp7
-rw-r--r--src/corelib/animation/qvariantanimation.cpp65
-rw-r--r--src/corelib/animation/qvariantanimation_p.h4
-rw-r--r--src/corelib/global/qglobal.h2
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp198
-rw-r--r--src/corelib/io/qurl.cpp23
-rw-r--r--src/corelib/io/qurl.h5
-rw-r--r--src/corelib/kernel/qfunctions_wince.cpp7
-rw-r--r--src/corelib/kernel/qvariant.cpp58
-rw-r--r--src/corelib/kernel/qvariant.h2
-rw-r--r--src/corelib/tools/qsharedpointer.cpp266
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h57
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp40
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp6
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h1
-rw-r--r--src/gui/image/qpnghandler.cpp2
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp1
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp5
-rw-r--r--src/gui/itemviews/qlistview.cpp3
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp4
-rw-r--r--src/gui/itemviews/qstandarditemmodel.cpp4
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp3
-rw-r--r--src/gui/itemviews/qtreeview.cpp9
-rw-r--r--src/gui/itemviews/qtreeview_p.h2
-rw-r--r--src/gui/kernel/qapplication.cpp4
-rw-r--r--src/gui/kernel/qapplication_mac.mm26
-rw-r--r--src/gui/kernel/qapplication_p.h6
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm425
-rw-r--r--src/gui/kernel/qeventdispatcher_mac_p.h26
-rw-r--r--src/gui/kernel/qkde.cpp2
-rw-r--r--src/gui/kernel/qwidget_mac.mm14
-rw-r--r--src/gui/painting/qcssutil.cpp8
-rw-r--r--src/gui/painting/qpainter.cpp10
-rw-r--r--src/gui/painting/qpainterpath.h4
-rw-r--r--src/gui/painting/qpdf.cpp10
-rw-r--r--src/gui/painting/qprintengine_win.cpp8
-rw-r--r--src/gui/painting/qprinter.cpp8
-rw-r--r--src/gui/styles/qcommonstyle.cpp3
-rw-r--r--src/gui/styles/qmacstyle_mac.mm10
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp13
-rw-r--r--src/gui/text/qcssparser.cpp13
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp4
-rw-r--r--src/gui/text/qtextformat.cpp37
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp5
-rw-r--r--src/gui/widgets/qlineedit_p.cpp1
-rw-r--r--src/gui/widgets/qmainwindow.cpp4
-rw-r--r--src/gui/widgets/qscrollbar.cpp6
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp16
-rw-r--r--tests/auto/auto.pro2
-rw-r--r--tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp236
-rw-r--r--tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp60
-rw-r--r--tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp114
-rw-r--r--tests/auto/qaudioinput/tst_qaudioinput.cpp61
-rw-r--r--tests/auto/qaudiooutput/tst_qaudiooutput.cpp123
-rw-r--r--tests/auto/qcolumnview/qcolumnview.pro4
-rw-r--r--tests/auto/qdesktopservices/qdesktopservices.pro4
-rw-r--r--tests/auto/qdockwidget/tst_qdockwidget.cpp2
-rw-r--r--tests/auto/qfilesystemmodel/qfilesystemmodel.pro3
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp7
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp42
-rw-r--r--tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro16
-rw-r--r--tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp2
-rw-r--r--tests/auto/qhelpenginecore/tst_qhelpenginecore.pro17
-rw-r--r--tests/auto/qobject/tst_qobject.pro2
-rw-r--r--tests/auto/qtextcodec/test/test.pro17
-rw-r--r--tests/auto/qtouchevent/tst_qtouchevent.cpp508
-rw-r--r--tests/auto/uiloader/baseline/css_borderradius_allwidgets.ui458
-rw-r--r--tools/assistant/compat/mainwindow.cpp2
-rw-r--r--tools/assistant/tools/assistant/remotecontrol.cpp6
-rw-r--r--tools/linguist/shared/profileevaluator.cpp6
-rw-r--r--tools/qdoc3/cppcodeparser.cpp5
-rw-r--r--tools/xmlpatterns/xmlpatterns.pro2
-rw-r--r--tools/xmlpatternsvalidator/xmlpatternsvalidator.pro2
-rwxr-xr-xutil/webkit/mkdist-webkit7
380 files changed, 21808 insertions, 9354 deletions
diff --git a/demos/boxes/boxes.pro b/demos/boxes/boxes.pro
index 33f1f14..59c9132 100644
--- a/demos/boxes/boxes.pro
+++ b/demos/boxes/boxes.pro
@@ -42,6 +42,8 @@ wince*: {
}
win32-msvc* {
- QMAKE_CXXFLAGS += /Zm1200
- QMAKE_CFLAGS += /Zm1200
+ QMAKE_CXXFLAGS -= -Zm200
+ QMAKE_CFLAGS -= -Zm200
+ QMAKE_CXXFLAGS += -Zm1200
+ QMAKE_CFLAGS += -Zm1200
}
diff --git a/doc/src/classes/qnamespace.qdoc b/doc/src/classes/qnamespace.qdoc
index 2ccc639..48f18d0 100644
--- a/doc/src/classes/qnamespace.qdoc
+++ b/doc/src/classes/qnamespace.qdoc
@@ -2742,7 +2742,7 @@
This enum type describes the state of a gesture.
- \omitvalue NoGesture
+ \value NoGesture Initial state
\value GestureStarted A continuous gesture has started.
\value GestureUpdated A gesture continues.
\value GestureFinished A gesture has finished.
diff --git a/doc/src/gestures.qdoc b/doc/src/gestures.qdoc
new file mode 100644
index 0000000..49a9ae3
--- /dev/null
+++ b/doc/src/gestures.qdoc
@@ -0,0 +1,170 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page gestures-overview.html
+ \startpage index.html Qt Reference Documentation
+
+ \title Gestures Programming
+ \ingroup howto
+ \brief An overview of the Qt support for Gesture programming.
+
+ The QGesture class provides the ability to form gestures from a series
+ of events independent of the input method. A gesture could be a particular
+ movement of a mouse, a touch screen action, or a series of events from
+ some other source. The nature of the input, the interpretation
+ of the gesture and the action taken are the choice of the implementing
+ developer.
+
+ \tableofcontents
+
+
+ \section1 Creating Your Own Gesture Recognizer
+
+ QGesture is a base class for a user defined gesture recognizer class. In
+ order to implement the recognizer you will need to subclass the
+ QGesture class and implement the pure virtual function \l{QGesture::filterEvent()}{filterEvent()}. Once
+ you have implemented the \l{QGesture::filterEvent()}{filterEvent()} function to
+ make your own recognizer you can process events. A sequence of events may,
+ according to your own rules, represent a gesture. The events can be singly
+ passed to the recognizer via the \l{QGesture::filterEvent()}{filterEvent()} function or as a stream of
+ events by specifying a parent source of events. The events can be from any
+ source and could result in any action as defined by the user. The source
+ and action need not be graphical though that would be the most likely
+ scenario. To find how to connect a source of events to automatically feed into the recognizer see QGesture.
+
+ Recognizers based on QGesture can emit any of the following signals:
+
+ \snippet doc/src/snippets/gestures/qgesture.h qgesture-signals
+
+ These signals are emitted when the state changes with the call to
+ \l{QGesture::updateState()}{updateState()}, more than one signal may
+ be emitted when a change of state occurs. There are four GestureStates
+
+ \table
+ \header \o New State \o Description \o QGesture Actions on Entering this State
+ \row \o Qt::NoGesture \o Initial value \o emit \l {QGesture::cancelled()}{cancelled()}
+ \row \o Qt::GestureStarted \o A continuous gesture has started \o emit \l{QGesture::started()}{started()} and emit \l{QGesture::triggered()}{triggered()}
+ \row \o Qt::GestureUpdated \o A gesture continues \o emit \l{QGesture::triggered()}{triggered()}
+ \row \o Qt::GestureFinished \o A gesture has finished. \o emit \l{QGesture::finished()}{finished()}
+ \endtable
+
+ \note \l{QGesture::started()}{started()} can be emitted if entering any
+ state greater than NoGesture if NoGesture was the previous state. This
+ means that your state machine does not need to explicitly use the
+ Qt::GestureStarted state, you can simply proceed from NoGesture to
+ Qt::GestureUpdated to emit a \l{QGesture::started()}{started()} signal
+ and a \l{QGesture::triggered()}{triggered()} signal.
+
+ You may use some or all of these states when implementing the pure
+ virtual function \l{QGesture::filterEvent()}{filterEvent()}.
+ \l{QGesture::filterEvent()}{filterEvent()} will usually implement a
+ state machine using the GestureState enums, but the details of which
+ states are used is up to the developer.
+
+ You may also need to reimplement the virtual function \l{QGesture::reset()}{reset()}
+ if internal data or objects need to be re-initialized. The function must
+ conclude with a call to \l{QGesture::updateState()}{updateState()} to
+ change the current state to Qt::NoGesture.
+
+ \section1 An Example, ImageViewer
+
+ To illustrate how to use QGesture we will look at the ImageViewer
+ example. This example uses QPanGesture, standard gesture, and an
+ implementation of TapAndHoldGesture. Note that TapAndHoldGesture is
+ platform dependent.
+
+ \snippet doc/src/snippets/gestures/imageviewer/tapandholdgesture.cpp tapandhold-reset
+
+ In ImageViewer we see that the ImageWidget class uses two gestures:
+ \l QPanGesture and TapAndHoldGesture. The
+ QPanGesture is a standard gesture which is part of Qt.
+ TapAndHoldGesture is defined and implemented as part of the example.
+ The ImageWidget listens for signals from the gestures, but is not
+ interested in the \l{QGesture::started()}{started()} signal.
+
+ \snippet doc/src/snippets/gestures/imageviewer/imagewidget.h imagewidget-slots
+
+ TapAndHoldGesture uses QTouchEvent events and mouse events to detect
+ start, update and end events that can be mapped onto the GestureState
+ changes. The implementation in this case uses a timer as well. If the
+ timeout event occurs a given number of times after the start of the gesture
+ then the gesture is considered to have finished whether or not the
+ appropriate touch or mouse event has occurred. Also if a large jump in
+ the position of the event occurs, as calculated by the \l {QPoint::manhattanLength()}{manhattanLength()}
+ call, then the gesture is cancelled by calling \l{QGesture::reset()}{reset()}
+ which tidies up and uses \l{QGesture::updateState()}{updateState()} to
+ change state to NoGesture which will result in the \l{QGesture::cancelled()}{cancelled()}
+ signal being emitted by the recognizer.
+
+ ImageWidget handles the signals by connecting the slots to the signals,
+ although \c cancelled() is not connected here.
+
+ \snippet doc/src/snippets/gestures/imageviewer/imagewidget.cpp imagewidget-connect
+
+ These functions in turn will have to be aware of which gesture
+ object was the source of the signal since we have more than one source
+ per slot. This is easily done by using the QObject::sender() function
+ as shown here
+
+ \snippet doc/src/snippets/gestures/imageviewer/imagewidget.cpp imagewidget-triggered-1
+
+ As \l{QGesture::triggered()}{triggered()} signals are handled by
+ gestureTriggered() there may be position updates invoking calls to,
+ for example, goNextImage(), this will cause a change in the image
+ handling logic of ImageWidget and a call to updateImage() to display
+ the changed state.
+
+ Following the logic of how the QEvent is processed we can summmarize
+ it as follows:
+ \list
+ \o filterEvent() becomes the event filter of the parent ImageWidget object for a QPanGesture object and a
+ TapAndHoldGesture object.
+ \o filterEvent() then calls updateState() to change states
+ \o updateState() emits the appropriate signal(s) for the state change.
+ \o The signals are caught by the defined slots in ImageWidget
+ \o The widget logic changes and an update() results in a paint event.
+ \endlist
+
+
+
+*/
+
diff --git a/doc/src/snippets/gestures/qgesture.cpp b/doc/src/snippets/gestures/qgesture.cpp
new file mode 100644
index 0000000..79dcae1
--- /dev/null
+++ b/doc/src/snippets/gestures/qgesture.cpp
@@ -0,0 +1,283 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qgesture.h"
+#include <private/qgesture_p.h>
+#include "qgraphicsitem.h"
+
+QT_BEGIN_NAMESPACE
+
+
+class QEventFilterProxyGraphicsItem : public QGraphicsItem
+{
+public:
+ QEventFilterProxyGraphicsItem(QGesture *g)
+ : gesture(g)
+ {
+ }
+ bool sceneEventFilter(QGraphicsItem *, QEvent *event)
+ {
+ return gesture ? gesture->filterEvent(event) : false;
+ }
+ QRectF boundingRect() const { return QRectF(); }
+ void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) { }
+
+private:
+ QGesture *gesture;
+};
+
+/*!
+ \class QGesture
+ \since 4.6
+
+ \brief The QGesture class is the base class for implementing custom
+ gestures.
+
+ This class represents both an object that recognizes a gesture out of a set
+ of input events (a gesture recognizer), and a gesture object itself that
+ can be used to get extended information about the triggered gesture.
+
+ The class has a list of properties that can be queried by the user to get
+ some gesture-specific parameters (for example, an offset of a Pan gesture).
+
+ Usually gesture recognizer implements a state machine, storing its state
+ internally in the recognizer object. The recognizer receives input events
+ through the \l{QGesture::}{filterEvent()} virtual function and decides
+ whether the event should change the state of the recognizer by emitting an
+ appropriate signal.
+
+ Input events should be either fed to the recognizer one by one with a
+ filterEvent() function, or the gesture recognizer should be attached to an
+ object it filters events for by specifying it as a parent object. The
+ QGesture object installs itself as an event filter to the parent object
+ automatically, the unsetObject() function should be used to remove an event
+ filter from the parent object. To make a
+ gesture that operates on a QGraphicsItem, both the appropriate QGraphicsView
+ should be passed as a parent object and setGraphicsItem() functions should
+ be used to attach a gesture to a graphics item.
+
+ This is a base class, to create a custom gesture type, you should subclass
+ it and implement its pure virtual functions.
+
+ \sa QPanGesture
+*/
+
+/*! \fn bool QGesture::filterEvent(QEvent *event)
+
+ Parses input \a event and emits a signal when detects a gesture.
+
+ In your reimplementation of this function, if you want to filter the \a
+ event out, i.e. stop it being handled further, return true; otherwise
+ return false;
+
+ This is a pure virtual function that needs to be implemented in subclasses.
+*/
+
+/*! \fn void QGesture::started()
+
+ The signal is emitted when the gesture is started. Extended information
+ about the gesture is contained in the signal sender object.
+
+ In addition to started(), a triggered() signal should also be emitted.
+*/
+
+/*! \fn void QGesture::triggered()
+
+ The signal is emitted when the gesture is detected. Extended information
+ about the gesture is contained in the signal sender object.
+*/
+
+/*! \fn void QGesture::finished()
+
+ The signal is emitted when the gesture is finished. Extended information
+ about the gesture is contained in the signal sender object.
+*/
+
+/*! \fn void QGesture::cancelled()
+
+ The signal is emitted when the gesture is cancelled, for example the reset()
+ function is called while the gesture was in the process of emitting a
+ triggered() signal. Extended information about the gesture is contained in
+ the sender object.
+*/
+
+
+/*!
+ Creates a new gesture handler object and marks it as a child of \a parent.
+
+ The \a parent object is also the default event source for the gesture,
+ meaning that the gesture installs itself as an event filter for the \a
+ parent.
+
+ \sa setGraphicsItem()
+*/
+QGesture::QGesture(QObject *parent)
+ : QObject(*new QGesturePrivate, parent)
+{
+ if (parent)
+ parent->installEventFilter(this);
+}
+
+/*! \internal
+ */
+QGesture::QGesture(QGesturePrivate &dd, QObject *parent)
+ : QObject(dd, parent)
+{
+ if (parent)
+ parent->installEventFilter(this);
+}
+
+/*!
+ Destroys the gesture object.
+*/
+QGesture::~QGesture()
+{
+}
+
+/*! \internal
+ */
+bool QGesture::eventFilter(QObject *receiver, QEvent *event)
+{
+ Q_D(QGesture);
+ if (d->graphicsItem && receiver == parent())
+ return false;
+ return filterEvent(event);
+}
+
+/*!
+ \property QGesture::state
+
+ \brief The current state of the gesture.
+*/
+
+/*!
+ Returns the gesture recognition state.
+ */
+Qt::GestureState QGesture::state() const
+{
+ return d_func()->state;
+}
+
+/*!
+ Sets this gesture's recognition state to \a state and emits appropriate
+ signals.
+
+ This functions emits the signals according to the old state and the new
+ \a state, and it should be called after all the internal properties have been
+ initialized.
+
+ \sa started(), triggered(), finished(), cancelled()
+ */
+void QGesture::updateState(Qt::GestureState state)
+{
+ Q_D(QGesture);
+ if (d->state == state) {
+ if (state == Qt::GestureUpdated)
+ emit triggered();
+ return;
+ }
+ const Qt::GestureState oldState = d->state;
+ d->state = state;
+ if (state != Qt::NoGesture && oldState > state) {
+ // comparing the state as ints: state should only be changed from
+ // started to (optionally) updated and to finished.
+ qWarning("QGesture::updateState: incorrect new state");
+ return;
+ }
+ if (oldState == Qt::NoGesture)
+ emit started();
+ if (state == Qt::GestureUpdated)
+ emit triggered();
+ else if (state == Qt::GestureFinished)
+ emit finished();
+ else if (state == Qt::NoGesture)
+ emit cancelled();
+
+ if (state == Qt::GestureFinished) {
+ // gesture is finished, so we reset the internal state.
+ d->state = Qt::NoGesture;
+ }
+}
+
+/*!
+ Sets the \a graphicsItem the gesture is filtering events for.
+
+ The gesture will install an event filter to the \a graphicsItem and
+ redirect them to the filterEvent() function.
+
+ \sa graphicsItem()
+*/
+void QGesture::setGraphicsItem(QGraphicsItem *graphicsItem)
+{
+ Q_D(QGesture);
+ if (d->graphicsItem && d->eventFilterProxyGraphicsItem)
+ d->graphicsItem->removeSceneEventFilter(d->eventFilterProxyGraphicsItem);
+ d->graphicsItem = graphicsItem;
+ if (!d->eventFilterProxyGraphicsItem)
+ d->eventFilterProxyGraphicsItem = new QEventFilterProxyGraphicsItem(this);
+ if (graphicsItem)
+ graphicsItem->installSceneEventFilter(d->eventFilterProxyGraphicsItem);
+}
+
+/*!
+ Returns the graphics item the gesture is filtering events for.
+
+ \sa setGraphicsItem()
+*/
+QGraphicsItem* QGesture::graphicsItem() const
+{
+ return d_func()->graphicsItem;
+}
+
+/*! \fn void QGesture::reset()
+
+ Resets the internal state of the gesture. This function might be called by
+ the filterEvent() implementation in a derived class, or by the user to
+ cancel a gesture. The base class implementation calls
+ updateState(Qt::NoGesture) which emits the cancelled()
+ signal if the state() of the gesture indicated it was active.
+*/
+void QGesture::reset()
+{
+ updateState(Qt::NoGesture);
+}
+
+QT_END_NAMESPACE
diff --git a/doc/src/snippets/gestures/qgesture.h b/doc/src/snippets/gestures/qgesture.h
new file mode 100644
index 0000000..beb3de0
--- /dev/null
+++ b/doc/src/snippets/gestures/qgesture.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QGESTURE_H
+#define QGESTURE_H
+
+#include <QtCore/qobject.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qdatetime.h>
+#include <QtCore/qpoint.h>
+#include <QtCore/qrect.h>
+#include <QtCore/qmetatype.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QGraphicsItem;
+class QGesturePrivate;
+class Q_GUI_EXPORT QGesture : public QObject
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QGesture)
+
+ Q_PROPERTY(Qt::GestureState state READ state)
+
+public:
+ explicit QGesture(QObject *parent = 0);
+ ~QGesture();
+
+ virtual bool filterEvent(QEvent *event) = 0;
+
+ void setGraphicsItem(QGraphicsItem *);
+ QGraphicsItem *graphicsItem() const;
+
+ Qt::GestureState state() const;
+
+protected:
+ QGesture(QGesturePrivate &dd, QObject *parent);
+ bool eventFilter(QObject*, QEvent*);
+
+ virtual void reset();
+ void updateState(Qt::GestureState state);
+
+//! [qgesture-signals]
+Q_SIGNALS:
+ void started();
+ void triggered();
+ void finished();
+ void cancelled();
+//! [qgesture-signals]
+
+private:
+ friend class QWidget;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QGESTURE_H
diff --git a/doc/src/snippets/gestures/qstandardgestures.cpp b/doc/src/snippets/gestures/qstandardgestures.cpp
new file mode 100644
index 0000000..fbeb050
--- /dev/null
+++ b/doc/src/snippets/gestures/qstandardgestures.cpp
@@ -0,0 +1,483 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qstandardgestures.h"
+#include "qstandardgestures_p.h"
+
+#include <qabstractscrollarea.h>
+#include <qscrollbar.h>
+#include <private/qapplication_p.h>
+#include <private/qevent_p.h>
+#include <private/qwidget_p.h>
+
+QT_BEGIN_NAMESPACE
+
+#ifdef Q_WS_WIN
+QWidgetPrivate *qt_widget_private(QWidget *widget);
+#endif
+
+/*!
+ \class QPanGesture
+ \since 4.6
+
+ \brief The QPanGesture class represents a Pan gesture,
+ providing additional information related to panning.
+*/
+
+/*!
+ Creates a new Pan gesture handler object and marks it as a child of \a
+ parent.
+
+ On some platform like Windows it's necessary to provide a non-null widget
+ as \a parent to get native gesture support.
+*/
+QPanGesture::QPanGesture(QWidget *parent)
+ : QGesture(*new QPanGesturePrivate, parent)
+{
+ if (parent) {
+ QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
+ qAppPriv->widgetGestures[parent].pan = this;
+#ifdef Q_WS_WIN
+ qt_widget_private(parent)->winSetupGestures();
+#endif
+ }
+}
+
+/*! \internal */
+bool QPanGesture::event(QEvent *event)
+{
+ switch (event->type()) {
+ case QEvent::ParentAboutToChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent())) {
+ QApplicationPrivate::instance()->widgetGestures[w].pan = 0;
+#ifdef Q_WS_WIN
+ qt_widget_private(w)->winSetupGestures();
+#endif
+ }
+ break;
+ case QEvent::ParentChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent())) {
+ QApplicationPrivate::instance()->widgetGestures[w].pan = this;
+#ifdef Q_WS_WIN
+ qt_widget_private(w)->winSetupGestures();
+#endif
+ }
+ break;
+ default:
+ break;
+ }
+
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ Q_D(QPanGesture);
+ if (event->type() == QEvent::Timer) {
+ const QTimerEvent *te = static_cast<QTimerEvent *>(event);
+ if (te->timerId() == d->panFinishedTimer) {
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = 0;
+ d->lastOffset = QSize(0, 0);
+ updateState(Qt::GestureFinished);
+ }
+ }
+#endif
+
+ return QObject::event(event);
+}
+
+bool QPanGesture::eventFilter(QObject *receiver, QEvent *event)
+{
+#ifdef Q_WS_WIN
+ Q_D(QPanGesture);
+ if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) {
+ QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
+ QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
+ QApplicationPrivate::WidgetStandardGesturesMap::iterator it;
+ it = qAppPriv->widgetGestures.find(static_cast<QWidget*>(receiver));
+ if (it == qAppPriv->widgetGestures.end())
+ return false;
+ if (this != it.value().pan)
+ return false;
+ Qt::GestureState nextState = Qt::NoGesture;
+ switch(ev->gestureType) {
+ case QNativeGestureEvent::GestureBegin:
+ // next we might receive the first gesture update event, so we
+ // prepare for it.
+ d->state = Qt::NoGesture;
+ return false;
+ case QNativeGestureEvent::Pan:
+ nextState = Qt::GestureUpdated;
+ event->accept();
+ break;
+ case QNativeGestureEvent::GestureEnd:
+ if (state() == Qt::NoGesture)
+ return false; // some other gesture has ended
+ nextState = Qt::GestureFinished;
+ break;
+ default:
+ return false;
+ }
+ if (state() == Qt::NoGesture) {
+ d->lastOffset = d->totalOffset = QSize();
+ } else {
+ d->lastOffset = QSize(ev->position.x() - d->lastPosition.x(),
+ ev->position.y() - d->lastPosition.y());
+ d->totalOffset += d->lastOffset;
+ }
+ d->lastPosition = ev->position;
+ updateState(nextState);
+ return true;
+ }
+#endif
+ return QGesture::eventFilter(receiver, event);
+}
+
+/*! \internal */
+bool QPanGesture::filterEvent(QEvent *event)
+{
+ Q_D(QPanGesture);
+ if (!event->spontaneous())
+ return false;
+ const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ if (event->type() == QEvent::TouchBegin) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ d->lastPosition = p.pos().toPoint();
+ d->lastOffset = d->totalOffset = QSize();
+ } else if (event->type() == QEvent::TouchEnd) {
+ if (state() != Qt::NoGesture) {
+ if (!ev->touchPoints().isEmpty()) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ const QPoint pos = p.pos().toPoint();
+ const QPoint lastPos = p.lastPos().toPoint();
+ const QPoint startPos = p.startPos().toPoint();
+ d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y());
+ d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y());
+ }
+ updateState(Qt::GestureFinished);
+ }
+ reset();
+ } else if (event->type() == QEvent::TouchUpdate) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ const QPoint pos = p.pos().toPoint();
+ const QPoint lastPos = p.lastPos().toPoint();
+ const QPoint startPos = p.startPos().toPoint();
+ d->lastOffset = QSize(pos.x() - lastPos.x(), pos.y() - lastPos.y());
+ d->totalOffset = QSize(pos.x() - startPos.x(), pos.y() - startPos.y());
+ if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 ||
+ d->totalOffset.width() < -10 || d->totalOffset.height() < -10) {
+ updateState(Qt::GestureUpdated);
+ }
+ }
+#ifdef Q_OS_MAC
+ else if (event->type() == QEvent::Wheel) {
+ // On Mac, there is really no native panning gesture. Instead, a two
+ // finger pan is delivered as mouse wheel events. Otoh, on Windows, you
+ // either get mouse wheel events or pan events. We have decided to make this
+ // the Qt behaviour as well, meaning that on Mac, wheel
+ // events will be masked away when listening for pan events.
+#ifndef QT_MAC_USE_COCOA
+ // In Carbon we receive neither touch-, nor pan gesture events.
+ // So we create pan gestures by converting wheel events. After all, this
+ // is how things are supposed to work on mac in the first place.
+ const QWheelEvent *wev = static_cast<const QWheelEvent*>(event);
+ int offset = wev->delta() / -120;
+ d->lastOffset = wev->orientation() == Qt::Horizontal ? QSize(offset, 0) : QSize(0, offset);
+
+ if (state() == Qt::NoGesture) {
+ d->totalOffset = d->lastOffset;
+ } else {
+ d->totalOffset += d->lastOffset;
+ }
+
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = startTimer(200);
+ updateState(Qt::GestureUpdated);
+#endif
+ return true;
+ }
+#endif
+ return false;
+}
+
+/*! \internal */
+void QPanGesture::reset()
+{
+ Q_D(QPanGesture);
+ d->lastOffset = d->totalOffset = QSize();
+ d->lastPosition = QPoint();
+#if defined(Q_OS_MAC) && !defined(QT_MAC_USE_COCOA)
+ if (d->panFinishedTimer) {
+ killTimer(d->panFinishedTimer);
+ d->panFinishedTimer = 0;
+ }
+#endif
+ QGesture::reset();
+}
+
+/*!
+ \property QPanGesture::totalOffset
+
+ Specifies a total pan offset since the start of the gesture.
+*/
+QSize QPanGesture::totalOffset() const
+{
+ Q_D(const QPanGesture);
+ return d->totalOffset;
+}
+
+/*!
+ \property QPanGesture::lastOffset
+
+ Specifies a pan offset since the last time the gesture was
+ triggered.
+*/
+QSize QPanGesture::lastOffset() const
+{
+ Q_D(const QPanGesture);
+ return d->lastOffset;
+}
+
+
+/*!
+ \class QPinchGesture
+ \since 4.6
+
+ \brief The QPinchGesture class represents a Pinch gesture,
+ providing additional information related to zooming and/or rotation.
+*/
+
+/*!
+ Creates a new Pinch gesture handler object and marks it as a child of \a
+ parent.
+
+ On some platform like Windows it's necessary to provide a non-null widget
+ as \a parent to get native gesture support.
+*/
+QPinchGesture::QPinchGesture(QWidget *parent)
+ : QGesture(*new QPinchGesturePrivate, parent)
+{
+ if (parent) {
+ QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
+ qAppPriv->widgetGestures[parent].pinch = this;
+#ifdef Q_WS_WIN
+ qt_widget_private(parent)->winSetupGestures();
+#endif
+ }
+}
+
+/*! \internal */
+bool QPinchGesture::event(QEvent *event)
+{
+ switch (event->type()) {
+ case QEvent::ParentAboutToChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent())) {
+ QApplicationPrivate::instance()->widgetGestures[w].pinch = 0;
+#ifdef Q_WS_WIN
+ qt_widget_private(w)->winSetupGestures();
+#endif
+ }
+ break;
+ case QEvent::ParentChange:
+ if (QWidget *w = qobject_cast<QWidget*>(parent())) {
+ QApplicationPrivate::instance()->widgetGestures[w].pinch = this;
+#ifdef Q_WS_WIN
+ qt_widget_private(w)->winSetupGestures();
+#endif
+ }
+ break;
+ default:
+ break;
+ }
+ return QObject::event(event);
+}
+
+bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event)
+{
+#ifdef Q_WS_WIN
+ Q_D(QPinchGesture);
+ if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) {
+ QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
+ QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
+ QApplicationPrivate::WidgetStandardGesturesMap::iterator it;
+ it = qAppPriv->widgetGestures.find(static_cast<QWidget*>(receiver));
+ if (it == qAppPriv->widgetGestures.end())
+ return false;
+ if (this != it.value().pinch)
+ return false;
+ Qt::GestureState nextState = Qt::NoGesture;
+ switch(ev->gestureType) {
+ case QNativeGestureEvent::GestureBegin:
+ // next we might receive the first gesture update event, so we
+ // prepare for it.
+ d->state = Qt::NoGesture;
+ d->scaleFactor = d->lastScaleFactor = 1;
+ d->rotationAngle = d->lastRotationAngle = 0;
+ d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPoint();
+ d->initialDistance = 0;
+ return false;
+ case QNativeGestureEvent::Rotate:
+ d->lastRotationAngle = d->rotationAngle;
+ d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument);
+ nextState = Qt::GestureUpdated;
+ event->accept();
+ break;
+ case QNativeGestureEvent::Zoom:
+ if (d->initialDistance != 0) {
+ d->lastScaleFactor = d->scaleFactor;
+ int distance = int(qint64(ev->argument));
+ d->scaleFactor = (qreal) distance / d->initialDistance;
+ } else {
+ d->initialDistance = int(qint64(ev->argument));
+ }
+ nextState = Qt::GestureUpdated;
+ event->accept();
+ break;
+ case QNativeGestureEvent::GestureEnd:
+ if (state() == Qt::NoGesture)
+ return false; // some other gesture has ended
+ nextState = Qt::GestureFinished;
+ break;
+ default:
+ return false;
+ }
+ if (d->startCenterPoint.isNull())
+ d->startCenterPoint = d->centerPoint;
+ d->lastCenterPoint = d->centerPoint;
+ d->centerPoint = static_cast<QWidget*>(receiver)->mapFromGlobal(ev->position);
+ updateState(nextState);
+ return true;
+ }
+#endif
+ return QGesture::eventFilter(receiver, event);
+}
+
+/*! \internal */
+bool QPinchGesture::filterEvent(QEvent *event)
+{
+ Q_UNUSED(event);
+ return false;
+}
+
+/*! \internal */
+void QPinchGesture::reset()
+{
+ Q_D(QPinchGesture);
+ d->scaleFactor = d->lastScaleFactor = 0;
+ d->rotationAngle = d->lastRotationAngle = 0;
+ d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPoint();
+ QGesture::reset();
+}
+
+/*!
+ \property QPinchGesture::scaleFactor
+
+ Specifies a scale factor of the pinch gesture.
+*/
+qreal QPinchGesture::scaleFactor() const
+{
+ return d_func()->scaleFactor;
+}
+
+/*!
+ \property QPinchGesture::lastScaleFactor
+
+ Specifies a previous scale factor of the pinch gesture.
+*/
+qreal QPinchGesture::lastScaleFactor() const
+{
+ return d_func()->lastScaleFactor;
+}
+
+/*!
+ \property QPinchGesture::rotationAngle
+
+ Specifies a rotation angle of the gesture.
+*/
+qreal QPinchGesture::rotationAngle() const
+{
+ return d_func()->rotationAngle;
+}
+
+/*!
+ \property QPinchGesture::lastRotationAngle
+
+ Specifies a previous rotation angle of the gesture.
+*/
+qreal QPinchGesture::lastRotationAngle() const
+{
+ return d_func()->lastRotationAngle;
+}
+
+/*!
+ \property QPinchGesture::centerPoint
+
+ Specifies a center point of the gesture. The point can be used as a center
+ point that the object is rotated around.
+*/
+QPoint QPinchGesture::centerPoint() const
+{
+ return d_func()->centerPoint;
+}
+
+/*!
+ \property QPinchGesture::lastCenterPoint
+
+ Specifies a previous center point of the gesture.
+*/
+QPoint QPinchGesture::lastCenterPoint() const
+{
+ return d_func()->lastCenterPoint;
+}
+
+/*!
+ \property QPinchGesture::startCenterPoint
+
+ Specifies an initial center point of the gesture. Difference between the
+ startCenterPoint and the centerPoint is the distance at which pinching
+ fingers has shifted.
+*/
+QPoint QPinchGesture::startCenterPoint() const
+{
+ return d_func()->startCenterPoint;
+}
+
+QT_END_NAMESPACE
+
+#include "moc_qstandardgestures.cpp"
+
diff --git a/doc/src/snippets/gestures/qstandardgestures.h b/doc/src/snippets/gestures/qstandardgestures.h
new file mode 100644
index 0000000..8b5421b
--- /dev/null
+++ b/doc/src/snippets/gestures/qstandardgestures.h
@@ -0,0 +1,126 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSTANDARDGESTURES_H
+#define QSTANDARDGESTURES_H
+
+#include <QtGui/qevent.h>
+#include <QtCore/qbasictimer.h>
+
+#include <QtGui/qgesture.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+class QPanGesturePrivate;
+class Q_GUI_EXPORT QPanGesture : public QGesture
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QPanGesture)
+
+ Q_PROPERTY(QSize totalOffset READ totalOffset)
+ Q_PROPERTY(QSize lastOffset READ lastOffset)
+
+public:
+ QPanGesture(QWidget *parent);
+
+ bool filterEvent(QEvent *event);
+
+ QSize totalOffset() const;
+ QSize lastOffset() const;
+
+protected:
+ void reset();
+
+private:
+ bool event(QEvent *event);
+ bool eventFilter(QObject *receiver, QEvent *event);
+
+ friend class QWidget;
+};
+
+class QPinchGesturePrivate;
+class Q_GUI_EXPORT QPinchGesture : public QGesture
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QPinchGesture)
+
+ Q_PROPERTY(qreal scaleFactor READ scaleFactor)
+ Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor)
+
+ Q_PROPERTY(qreal rotationAngle READ rotationAngle)
+ Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle)
+
+ Q_PROPERTY(QPoint startCenterPoint READ startCenterPoint)
+ Q_PROPERTY(QPoint lastCenterPoint READ lastCenterPoint)
+ Q_PROPERTY(QPoint centerPoint READ centerPoint)
+
+public:
+ QPinchGesture(QWidget *parent);
+
+ bool filterEvent(QEvent *event);
+ void reset();
+
+ QPoint startCenterPoint() const;
+ QPoint lastCenterPoint() const;
+ QPoint centerPoint() const;
+
+ qreal scaleFactor() const;
+ qreal lastScaleFactor() const;
+
+ qreal rotationAngle() const;
+ qreal lastRotationAngle() const;
+
+private:
+ bool event(QEvent *event);
+ bool eventFilter(QObject *receiver, QEvent *event);
+
+ friend class QWidget;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QSTANDARDGESTURES_H
diff --git a/doc/src/unicode.qdoc b/doc/src/unicode.qdoc
index 439070a..b4ba26a 100644
--- a/doc/src/unicode.qdoc
+++ b/doc/src/unicode.qdoc
@@ -71,22 +71,18 @@
\section1 The Standard
- The current version of the standard is 4.0.0.
+ The current version of the standard is \l{http://www.unicode.org/versions/Unicode5.1.0/}{Unicode 5.1.0}.
- \list
-
- \i \link http://www.amazon.com/exec/obidos/ASIN/0321185781/trolltech/t
- The Unicode Standard, version 4.0.\endlink See also
- \link http://www.unicode.org/unicode/standard/versions/
- its home page.\endlink
- \i \link http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t
- The Unicode Standard, version 3.2.\endlink
- \i \link http://www.amazon.com/exec/obidos/ASIN/0201473459/trolltech/t
- The Unicode Standard, version 2.0.\endlink See also the
- \link http://www.unicode.org/unicode/reports/tr8.html 2.1
- update\endlink and
- \link http://www.unicode.org/unicode/standard/versions/enumeratedversions.html#Unicode 2.1.9 the 2.1.9 data files\endlink at www.unicode.org.
+ Previous printed versions of the specification:
+ \list
+ \o \l{http://www.amazon.com/Unicode-Standard-Version-5-0-5th/dp/0321480910/trolltech/t}{The Unicode Standard, Version 5.0}
+ \o \l{http://www.amazon.com/exec/obidos/ASIN/0321185781/trolltech/t}{The Unicode Standard, version 4.0}
+ \o \l{http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t}{The Unicode Standard, version 3.2}
+ \o \l{http://www.amazon.com/exec/obidos/ASIN/0201473459/trolltech/t}{The Unicode Standard, version 2.0} \mdash
+ see also the \l{http://www.unicode.org/unicode/reports/tr8.html}{2.1 update} and
+ \l{http://www.unicode.org/unicode/standard/versions/enumeratedversions.html#Unicode 2.1.9}{the 2.1.9 data files} at
+ \l{http://www.unicode.org}.
\endlist
\section1 Unicode in Qt
diff --git a/examples/multitouch/pinchzoom/graphicsview.cpp b/examples/multitouch/pinchzoom/graphicsview.cpp
index 3d0e49f..969f604 100644
--- a/examples/multitouch/pinchzoom/graphicsview.cpp
+++ b/examples/multitouch/pinchzoom/graphicsview.cpp
@@ -47,11 +47,11 @@
GraphicsView::GraphicsView(QGraphicsScene *scene, QWidget *parent)
: QGraphicsView(scene, parent)
{
- setAttribute(Qt::WA_AcceptTouchEvents);
+ viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
setDragMode(ScrollHandDrag);
}
-bool GraphicsView::event(QEvent *event)
+bool GraphicsView::viewportEvent(QEvent *event)
{
switch (event->type()) {
case QEvent::TouchBegin:
@@ -72,5 +72,5 @@ bool GraphicsView::event(QEvent *event)
default:
break;
}
- return QGraphicsView::event(event);
+ return QGraphicsView::viewportEvent(event);
}
diff --git a/examples/multitouch/pinchzoom/graphicsview.h b/examples/multitouch/pinchzoom/graphicsview.h
index 928fd16..e4ca65d 100644
--- a/examples/multitouch/pinchzoom/graphicsview.h
+++ b/examples/multitouch/pinchzoom/graphicsview.h
@@ -49,5 +49,5 @@ class GraphicsView : public QGraphicsView
public:
GraphicsView(QGraphicsScene *scene = 0, QWidget *parent = 0);
- bool event(QEvent *event);
+ bool viewportEvent(QEvent *event);
};
diff --git a/examples/phonon/musicplayer/mainwindow.cpp b/examples/phonon/musicplayer/mainwindow.cpp
index 7403e33..a20d05f 100644
--- a/examples/phonon/musicplayer/mainwindow.cpp
+++ b/examples/phonon/musicplayer/mainwindow.cpp
@@ -184,7 +184,7 @@ void MainWindow::metaStateChanged(Phonon::State newState, Phonon::State /* oldSt
QMessageBox::warning(this, tr("Error opening files"),
metaInformationResolver->errorString());
while (!sources.isEmpty() &&
- !(sources.takeLast() == metaInformationResolver->currentSource()));
+ !(sources.takeLast() == metaInformationResolver->currentSource())) /* loop */;
return;
}
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
index ea9e9bd..4999762 100644
--- a/mkspecs/features/mac/default_post.prf
+++ b/mkspecs/features/mac/default_post.prf
@@ -1,2 +1,17 @@
load(default_post)
!no_objective_c:CONFIG += objective_c
+
+# Pick a suitable default architecture for qmake-based applications.
+# If the Qt package contains one of x86 and x86_64, pick that one. If it
+# contains both then use the compiler default. Make a similiar decision for
+# PowerPC-based systems. Note that this logic assumes that Qt has been
+# configured with an architecture that is usable on the system.
+qt:!isEmpty(QT_CONFIG) {
+ contains(QMAKE_HOST.arch, ppc) {
+ !contains(QT_CONFIG, ppc64):contains(QT_CONFIG, ppc):CONFIG += ppc
+ contains(QT_CONFIG, ppc64):!contains(QT_CONFIG, ppc):CONFIG += ppc64
+ } else {
+ !contains(QT_CONFIG, x86_64):contains(QT_CONFIG, x86):CONFIG += x86
+ contains(QT_CONFIG, x86_64):!contains(QT_CONFIG, x86):CONFIG += x86_64
+ }
+}
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index a2bd71f..36470f2 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -261,7 +261,7 @@ UnixMakefileGenerator::init()
bundle += project->first("QMAKE_BUNDLE_EXTENSION");
else if(!bundle.endsWith(".plugin"))
bundle += ".plugin";
- if(!project->isEmpty("QMAKE_BUNDLE_LOCATION"))
+ if(project->isEmpty("QMAKE_BUNDLE_LOCATION"))
project->values("QMAKE_BUNDLE_LOCATION").append("Contents/MacOS");
} else {
if(!project->isEmpty("QMAKE_FRAMEWORK_BUNDLE_NAME"))
diff --git a/src/3rdparty/clucene/src/CLucene/StdHeader.cpp b/src/3rdparty/clucene/src/CLucene/StdHeader.cpp
index 9813a58..d64c51f 100644
--- a/src/3rdparty/clucene/src/CLucene/StdHeader.cpp
+++ b/src/3rdparty/clucene/src/CLucene/StdHeader.cpp
@@ -17,8 +17,10 @@
#if defined(_CLCOMPILER_MSVC) && defined(_DEBUG)
# define CRTDBG_MAP_ALLOC
# include <stdlib.h>
+#ifndef UNDER_CE
# include <crtdbg.h>
#endif
+#endif
CL_NS_USE(util)
diff --git a/src/3rdparty/clucene/src/CLucene/StdHeader.h b/src/3rdparty/clucene/src/CLucene/StdHeader.h
index d267d03..fbb3fd9 100644
--- a/src/3rdparty/clucene/src/CLucene/StdHeader.h
+++ b/src/3rdparty/clucene/src/CLucene/StdHeader.h
@@ -58,8 +58,10 @@ extern int _lucene_counter_break; //can set a watch on this
#if defined(_CL_HAVE_UNISTD_H)
#include <unistd.h>
#elif defined(_CL_HAVE_IO_H) && defined(_CL_HAVE_DIRECT_H)
+#ifndef UNDER_CE
#include <io.h>
#include <direct.h>
+#endif
#else
#error "Neither unistd.h or (io.h & direct.h) were available"
#endif
@@ -75,7 +77,11 @@ extern int _lucene_counter_break; //can set a watch on this
#if defined(_CL_STAT_MACROS_BROKEN)
#error "Haven't implemented STAT_MACROS_BROKEN fix yet"
#elif defined(_CL_HAVE_SYS_STAT_H)
+#ifdef UNDER_CE
+ #include <types.h>
+#else
#include <sys/stat.h>
+#endif
#else
#error "Haven't implemented platforms with no sys/stat.h"
#endif
@@ -179,13 +185,17 @@ extern int _lucene_counter_break; //can set a watch on this
#include "CLucene/config/repl_tchar.h"
#if defined(_CL_HAVE_ERRNO_H)
+#ifndef UNDER_CE
#include <errno.h>
+#endif
#else
#error "Haven't implemented platforms with no errno.h"
#endif
#if defined(_CL_HAVE_FCNTL_H)
+#ifndef UNDER_CE
#include <fcntl.h>
+#endif
#else
#error "Haven't implemented platforms with no fcntl.h"
#endif
diff --git a/src/3rdparty/clucene/src/CLucene/config/define_std.h b/src/3rdparty/clucene/src/CLucene/config/define_std.h
index 3f92117..22a0790 100644
--- a/src/3rdparty/clucene/src/CLucene/config/define_std.h
+++ b/src/3rdparty/clucene/src/CLucene/config/define_std.h
@@ -72,6 +72,9 @@
#else
#define _CL_HAVE_UNISTD_H
#endif
+#ifdef UNDER_CE
+#undef _CL_HAVE_SYS_TIMEB_H
+#endif
////////////////////////////////////////////////
//now for individual functions. some compilers
diff --git a/src/3rdparty/clucene/src/CLucene/config/repl_tchar.h b/src/3rdparty/clucene/src/CLucene/config/repl_tchar.h
index d562cc8..ba8aef5 100644
--- a/src/3rdparty/clucene/src/CLucene/config/repl_tchar.h
+++ b/src/3rdparty/clucene/src/CLucene/config/repl_tchar.h
@@ -93,6 +93,26 @@
#endif
#else //HAVE_TCHAR_H
#include <tchar.h>
+
+#ifdef UNDER_CE
+#include <QString>
+#define _i64tot i64tot
+inline TCHAR* i64tot(__int64 value, TCHAR* str, int radix)
+{
+ QT_USE_NAMESPACE
+ _tcscpy(str, (TCHAR *) QString::number(value, radix).utf16());
+ return str;
+}
+
+#define _tcstoi64 tcstoi64
+inline __int64 tcstoi64(const TCHAR *nptr, TCHAR **endptr, int base)
+{
+ QT_USE_NAMESPACE
+ bool ok;
+ return QString::fromUtf16((ushort*) nptr).toInt(&ok, base);
+}
+
+#endif
//some tchar headers miss these...
#ifndef _tcstoi64
diff --git a/src/3rdparty/clucene/src/CLucene/util/Misc.cpp b/src/3rdparty/clucene/src/CLucene/util/Misc.cpp
index cb2efe2..42e3fd0 100644
--- a/src/3rdparty/clucene/src/CLucene/util/Misc.cpp
+++ b/src/3rdparty/clucene/src/CLucene/util/Misc.cpp
@@ -24,10 +24,15 @@
# include <sys/timeb.h>
#endif
+#ifdef UNDER_CE
+#include <QTime>
+#endif
+
CL_NS_DEF(util)
uint64_t Misc::currentTimeMillis()
{
+#ifndef UNDER_CE
#if defined(_CLCOMPILER_MSVC) || defined(__MINGW32__) || defined(__BORLANDC__)
struct _timeb tstruct;
_ftime(&tstruct);
@@ -41,6 +46,11 @@ uint64_t Misc::currentTimeMillis()
return (((uint64_t) tstruct.tv_sec) * 1000) + tstruct.tv_usec / 1000;
#endif
+#else //UNDER_CE
+ QT_USE_NAMESPACE
+ QTime t = QTime::currentTime();
+ return t.second() * 1000 + t.msec();
+#endif //UNDER_CE
}
// #pragma mark -- char related utils
diff --git a/src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp b/src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp
index 3803dfd..9125d84 100644
--- a/src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp
+++ b/src/3rdparty/clucene/src/CLucene/util/fileinputstream.cpp
@@ -25,7 +25,10 @@
*/
#include "jstreamsconfig.h"
#include "fileinputstream.h"
+
+#ifndef UNDER_CE
#include <cerrno>
+#endif
#include <cstring>
namespace jstreams {
@@ -39,7 +42,9 @@ FileInputStream::FileInputStream(const char *filepath, int32_t buffersize) {
error = "Could not read file '";
error += filepath;
error += "': ";
+#ifndef UNDER_CE
error += strerror(errno);
+#endif
status = Error;
return;
}
diff --git a/src/3rdparty/freetype/ChangeLog b/src/3rdparty/freetype/ChangeLog
index 8096136..7de9ecf 100644
--- a/src/3rdparty/freetype/ChangeLog
+++ b/src/3rdparty/freetype/ChangeLog
@@ -1,3 +1,1590 @@
+2009-03-12 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.3.9 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-9'.
+
+2009-03-12 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
+
+2009-03-12 Werner Lemberg <wl@gnu.org>
+
+ Fix some FreeType Coverity issues as reported for Ghostscript.
+
+ * src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
+ `args.stream' (#3874, #3875).
+ (open_face_PS_from_sfnt_stream): Improve error management (#3786).
+ * src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
+ (#3870).
+ * src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
+ code (#3790).
+ * src/base/ftrfork.c (raccess_guess_apple_generic): Check error
+ value of `FT_Stream_Skip' (#3784).
+
+ * src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
+ it (#3872)
+
+ * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
+ it (#3871).
+ * src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
+ `pcf_get_metric' (#3789, #3782).
+ (pcf_get_properties): Use FT_STREAM_SKIP (#3783).
+
+ * src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
+ `acache' (#3797)
+
+ * src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
+ (#3796).
+ * src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
+ * src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
+
+ * src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
+ (#3793).
+ (_bdf_parse_start): Add comment (#3792).
+
+ * src/raster/ftraster.c (Finalize_Profile_Table): Check
+ `ras.fProfile' (#3791).
+
+ * src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
+
+ * src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
+ seek error (#3781).
+
+2009-03-11 Michael Toftdal <toftdal@gmail.com>
+
+ Extend CID service functions to handle CID-keyed CFFs as CID fonts.
+
+ * include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
+ FT_Get_CID_From_Glyph_Index): New functions.
+
+ * include/freetype/internal/services/svcid.h
+ (FT_CID_GetIsInternallyCIDKeyedFunc,
+ FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
+ (CID Service): Use them.
+
+ * src/base/ftcid.c: Include FT_CID_H.
+ (FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
+ New functions.
+
+ * src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
+ New functions.
+ (cff_service_cid_info): Add them.
+ * src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
+ -- it is needed for access as a CID-keyed font. It gets deleted
+ later on.
+
+ * src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
+ New functions.
+ (cid_service_cid_info): Add them.
+
+ * docs/CHANGES: Updated.
+
+2009-03-11 Bram Tassyns <bramt@enfocus.be>
+
+ Fix Savannah bug #25597.
+
+ * src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
+ to become larger than 9.
+
+2009-03-11 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #25814.
+
+ * builds/unix/freetype2.in: As suggested in the bug report, move
+ @LIBZ@ to `Libs.private'.
+
+2009-03-11 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #25781.
+ We now simply check for a valid `offset', no longer handling `delta
+ = 1' specially.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
+ last segment.
+ (tt_cmap4_set_range, tt_cmap4_char_map_linear,
+ tt_cmap4_char_map_binary): Check offset.
+
+2009-03-11 Werner Lemberg <wl@gnu.org>
+
+ * src/base/Jamfile: Fix handling of ftadvanc.c.
+ Reported by Oran Agra <oran@monfort.co.il>.
+
+2009-03-10 Vincent Richomme <richom.v@free.fr>
+
+ Restructure Win32 and Wince compiler support.
+
+ * src/builds/win32: Remove files for WinCE.
+ Move VC 2005 support to a separate directory.
+ Add directory for VC 2008 support.
+
+ * src/builds/wince: New directory hierarchy for WinCE compilers
+ (VC 2005 and VC 2008).
+
+2009-03-09 Werner Lemberg <wl@gnu.org>
+
+ More preparations for 2.3.9 release.
+
+ * docs/CHANGES: Updated.
+
+ * Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
+
+2009-03-09 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
+
+2009-03-09 Alexey Kryukov <anagnost@yandex.ru>
+
+ Fix handling of EBDT formats 8 and 9 (part 2).
+
+ This patch fixes the following problems in ttsbit0.c:
+
+ . Bitmaps for compound glyphs were never allocated.
+
+ . `SBitDecoder' refused to load metrics if some other metrics have
+ already been loaded. This condition certainly makes no sense for
+ recursive calls, so I've just disabled it. Another possibility
+ would be resetting `decoder->metrics_loaded' to false before
+ loading each composite component. However, we must restore the
+ original metrics after finishing the recursion; otherwise we can
+ get a misaligned glyph.
+
+ . `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
+ causing some glyph components to be shifted too far to the right
+ (especially noticeable for small sizes).
+
+ Note that support for grayscale bitmaps (not necessarily compound) is
+ completely broken in ttsbit0.c.
+
+ * src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
+ (tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
+ of `h == height'.
+ (tt_sbit_decoder_load_compound): Reset metrics after loading
+ components.
+ Allocate bitmap.
+
+2009-03-09 Werner Lemberg <wl@gnu.org>
+
+ * builds/unix/configure.raw (version_info): Set to 9:20:3.
+
+2009-03-03 David Turner <david@freetype.org>
+
+ Protect SFNT kerning table parser against malformed tables.
+
+ This closes Savannah BUG #25750.
+
+ * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
+ bug where a malformed table would be successfully loaded but later
+ crash the engine during parsing.
+
+2009-03-03 David Turner <david@freetype.org>
+
+ Update documentation and bump version number to 2.3.9.
+
+ * include/freetype/freetype.h: Bump patch version to 9.
+ * docs/CHANGES: Document the ABI break in 2.3.8.
+ * docs/VERSION.DLL: Update version numbers table for 2.3.9.
+
+2009-03-03 David Turner <david@freetype.org>
+
+ Remove ABI-breaking field in public PS_InfoFontRec definition.
+
+ Instead, we define a new internal PS_FontExtraRec structure to
+ hold the additionnal field, then place it in various internal
+ positions of the corresponding FT_Face derived objects.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): Remove the
+ `fs_type' field from the public structure.
+ * include/freetype/internal/psaux.h (T1_FieldLocation): New
+ enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
+ * include/freetype/internal/t1types.h (PS_FontExtraRec): New
+ structure.
+ (T1_FontRec, CID_FaceRec): Add it.
+
+ * src/cid/cidload.c (cid_load_keyword): Handle
+ T1_FIELD_LOCATION_FONT_EXTRA.
+ * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
+ Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
+ * src/type1/t1load.c (t1_load_keyword): Handle
+ T1_FIELD_LOCATION_FONT_EXTRA.
+
+ * include/freetype/internal/services/svpsinfo.h (PsInfo service):
+ Add `PS_GetFontExtraFunc' function typedef.
+
+ * src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
+ FT_SERVICE_POSTSCRIPT_INFO_H.
+ (FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
+
+ * src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+ * src/cid/cidriver.c (cid_ps_get_font_extra): New function.
+ (cid_service_ps_info): Updated.
+ * src/type1/t1driver.c (t1_ps_get_font_extra): New function.
+ (t1_service_ps_info): Updated.
+ * src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
+ (t42_service_ps_info): Updated.
+
+2009-03-02 Alexey Kryukov <anagnost@yandex.ru>
+
+ Fix handling of EBDT formats 8 and 9.
+
+ The main cycle in `blit_sbit' makes too many iterations: it actually
+ needs the count of lines in the source bitmap rather than in the
+ target image.
+
+ * src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
+ Add parameter `source_height' and use it for main loop.
+ (Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
+
+2009-02-23 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #25669.
+
+ * src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
+
+ * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
+ scaling factor for non-scalable fonts.
+
+ * src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
+ value to prevent incorrect scaling.
+
+ * docs/CHANGES: Document it.
+
+2009-02-15 Matt Godbolt <matt@godbolt.org>
+
+ Fix Savannah bug #25588.
+
+ * builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
+ `orr' instruction.
+
+2009-02-11 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
+ Reported by David Bevan <dbevan@emtex.com>.
+
+2009-02-09 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #25495.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
+ setting metrics and bbox values. This ensures that the check for a
+ font with neither a `glyf' table nor bitmap strikes can be performed
+ early enough to set metrics and bbox values too.
+
+2009-02-04 Werner Lemberg <wl@gnu.org>
+
+ Fix Savannah bug #25480.
+
+ * builds/unix/freetype-config.in: For --ftversion, don't use $prefix
+ but $includedir.
+
+2009-01-31 Werner Lemberg <wl@gnu.org>
+
+ Minor docmaker improvements.
+
+ * src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
+ code blocks.
+
+2009-01-25 Werner Lemberg <wl@gnu.org>
+
+ Fix SCANCTRL handling in TTFs.
+ Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
+
+ * src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
+
+2009-01-23 Werner Lemberg <wl@gnu.org>
+
+ Move FT_Get_FSType_Flags to a separate file.
+ Problem reported by Mickey Gabel <mickey@monfort.co.il>.
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
+ * src/base/ftfstype.c: This new file.
+
+ * modules.cfg (BASE_EXTENSION): Add ftfstype.c.
+
+ * docs/INSTALL.ANY: Updated.
+
+ * builds/mac/*.txt, builds/amiga/*makefile*,
+ builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
+ Updated.
+
+2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
+ messages ending without "\n".
+
+2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Fix Savannah bug #25347.
+
+ * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
+ the stream to the original position passed to this function,
+ when ft_lookup_PS_in_sfnt_stream() failed.
+ (Mac_Read_sfnt_Resource): Rewind the stream to the head of
+ sfnt resource body, when open_face_PS_from_sfnt_stream()
+ failed.
+
+2009-01-19 Michael Lotz <mmlr@mlotz.ch>
+
+ Fix Savannah bug #25355.
+
+ * include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
+ assembler code work with gcc 2.95.3 (as used by the Haiku project).
+ Add `cc' register to the clobber list.
+
+2009-01-18 Werner Lemberg <wl@gnu.org>
+
+ Protect FT_Get_Next_Char.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
+ change from 2008-07-22.
+
+ Patch from Ronen Ghoshal <rghoshal@emtex.com>.
+
+2009-01-18 Werner Lemberg <wl@gnu.org>
+
+ Implement FT_Get_Name_Index for SFNT driver.
+
+ * src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
+ (sfnt_service_glyph_dict): Use it.
+
+ Problem reported by Truc Truong <tructv@necsv.com>.
+
+2009-01-18 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
+ documentation. Problem reported by Truc Truong <tructv@necsv.com>.
+
+ * docs/CHANGES: Updated.
+
+2009-01-14 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.3.8 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-8'.
+
+ * docs/VERSION.DLL: Update documentation and bump version number to
+ 2.3.8.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+
+ * builds/unix/configure.raw (version_info): Set to 9:19:3.
+
+ * docs/release: Updated.
+
+2009-01-14 Werner Lemberg <wl@gnu.org>
+
+ * builds/toplevel.mk (dist): Compress better.
+
+2009-01-13 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
+ with C++.
+
+2009-01-13 Werner Lemberg <wl@gnu.org>
+
+ Don't use stdlib.h and friends directly.
+ Reported by Mickey Gabel <mickey@monfort.co.il>.
+
+ * src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+ * src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
+ s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+
+ * src/autofit/aftypes.h, src/autofit/afhints.c,
+ src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
+
+ * src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
+
+2009-01-12 Werner Lemberg <wl@gnu.org>
+
+ Avoid compiler warnings.
+
+ * */*: s/do ; while ( 0 )/do { } while ( 0 )/.
+ Reported by Sean McBride <sean@rogue-research.com>.
+
+2009-01-12 Werner Lemberg <wl@gnu.org>
+
+ Fix stdlib dependencies.
+
+ Problem reported by Mickey Gabel <mickey@monfort.co.il>.
+
+ * include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
+
+ * src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
+ s/memcpy/ft_memcpy/.
+ * src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
+
+2009-01-11 Werner Lemberg <wl@gnu.org>
+
+ * docs/formats.txt: Add link to PCF specification.
+
+ * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
+ documentation.
+
+2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
+ FT_Int32, to match with the flags for FT_Load_Glyph().
+ * src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ * src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ Ditto.
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ Ditto.
+
+2009-01-09 Daniel Zimmermann <netzimme@aol.com>
+
+ * src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
+ length check. From Savannah patch #6682.
+
+2009-01-09 Werner Lemberg <wl@gnu.org>
+
+ Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
+
+ * src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
+ `count_offset' if it is zero (i.e., unused). Otherwise, the first
+ element of the structure which holds the data is erroneously
+ modified. Problem reported by Chi Nguyen <chint@necsv.com>.
+
+2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ FT_Get_Advances): Extend the type of load_flags from FT_UInt to
+ FT_UInt32, to pass 32-bit flags on 16bit platforms.
+ * src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ * src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ * include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ Ditto.
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ Ditto.
+
+2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (FT_Done_Library): Issue an error message when
+ FT_Done_Face() cannot free all faces. If the list of the opened
+ faces includes broken face which FT_Done_Face() cannot free,
+ FT_Done_Library() retries FT_Done_Face() and it can fall into
+ an endless loop. See the discussion:
+ http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
+ http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
+
+2009-01-07 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Document new key `a' in ftdiff.
+
+2009-01-06 Werner Lemberg <wl@gnu.org>
+
+ * autogen.sh: Don't use GNUisms while calling sed. Problem reported
+ by Sean McBride.
+
+2009-01-06 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
+ and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
+ <chint@necsv.com>.
+
+2009-01-06 Diego Pettenò <flameeyes@gmail.com>
+
+ * builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
+ AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
+ this change can be found at
+ http://blog.flameeyes.eu/s/canonical-target.
+
+ From Savannah patch #6712.
+
+2009-01-06 Sean McBride <sean@rogue-research.com>
+
+ * src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
+
+ * src/base/ftmac.c: Remove some #undefs.
+
+2008-12-26 Werner Lemberg <wl@gnu.org>
+
+ Set `face_index' field in FT_Face for all font formats.
+
+ * cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
+ sfnt/sfobjs.c (sfnt_init_face): Do it.
+
+ * docs/CHANGES: Document it.
+
+2008-12-22 Steve Grubb
+
+ * builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
+ Patch from Savannah bug #25151.
+
+2008-12-21 Werner Lemberg <wl@gnu.org>
+
+ * src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
+ src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
+ s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
+ errors in the bytecode interpreter only.
+
+2008-12-21 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
+ arguments.
+ Fix return value for non-PFR fonts. Both problems reported by Chi
+ Nguyen <chint@necsv.com>.
+
+2008-12-21 anonymous
+
+ FT_USE_MODULE declares things as:
+
+ extern const FT_Module_Class
+
+ (or similar for C++). However, the actual types of the variables
+ being declared are often different, e.g., FT_Driver_ClassRec or
+ FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
+
+ This works with most C compilers (since those structs begin with an
+ FT_Module_Class struct), but technically it's undefined behavior.
+
+ To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
+ paragraph 2:
+
+ All declarations that refer to the same object or function shall
+ have compatible type; otherwise, the behavior is undefined.
+
+ (And they are not compatible types.)
+
+ Most C compilers don't reject (or even detect!) code which has this
+ issue, but the GCC LTO development branch compiler does. (It
+ outputs the types of the objects while generating .o files, along
+ with a bunch of other information, then compares them when doing the
+ final link-time code generation pass.)
+
+ Patch from Savannah bug #25133.
+
+ * src/base/ftinit.c (FT_USE_MODULE): Include variable type.
+
+ * builds/amiga/include/freetype/config/ftmodule.h,
+ include/freetype/config/ftmodule.h, */module.mk: Updated to declare
+ pass correct types to FT_USE_MODULE.
+
+2008-12-21 Hongbo Ni <hongbo@njstar.com>
+
+ * src/autofit/aflatin.c (af_latin_hint_edges),
+ src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
+ (af_cjk_hint_edges): Protect against division by zero. This fixes
+ Savannah bug #25124.
+
+2008-12-18 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2008-12-18 Bevan, David <dbevan@emtex.com>
+
+ Provide API for accessing embedding and subsetting restriction
+ information.
+
+ * include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
+ FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
+ FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
+ FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
+ macros.
+ (FT_Get_FSType_Flags): New function declaration.
+
+ * src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
+
+ * src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
+ (t42_keywords): Handle `FSType'.
+
+ * include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
+
+2008-12-17 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
+ macros so that copying the source code into an application works
+ out of the box.
+
+2008-12-17 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/ftsynth.h, src/base/ftsynth.c: Move
+ FT_GlyphSlot_Own_Bitmap to...
+ * include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
+
+ * docs/CHANGES: Document it.
+
+2008-12-10 Werner Lemberg <wl@gnu.org>
+
+ Generalize the concept of `tricky' fonts by introducing
+ FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
+ engine is necessary for correct rendering.
+
+ At the same time, slightly modify the behaviour of tricky fonts:
+ FT_LOAD_NO_HINTING is now ignored. To really force raw loading
+ of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
+ FT_LOAD_NO_AUTOHINT must be used.
+
+ Finally, tricky TrueType fonts always use the bytecode interpreter
+ even if the patented code is used.
+
+ * include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
+ New macros.
+
+ * src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
+ semantics as described above.
+
+ * src/truetype/ttobjs.c (tt_check_trickyness): New function, using
+ code of ...
+ (tt_face_init): This function, now simplified and updated to new
+ semantics.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
+ fonts.
+
+ * docs/CHANGES: Document it.
+
+2008-12-09 Werner Lemberg <wl@gnu.org>
+
+ Really fix Savannah bug #25010: An SFNT font with neither outlines
+ nor bitmaps can be considered as containing space `glyphs' only.
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
+ a `glyf' table is missing.
+
+ * src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
+ `glyf' table but a non-zero `loca' entry.
+ (tt_loader_init): Handle missing `glyf' table.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
+ nor bitmaps is scalable.
+
+2008-12-05 Werner Lemberg <wl@nu.org>
+
+ * src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
+ fixes Savannah bug #21190 which also provides a basic patch.
+
+2008-12-05 Werner Lemberg <wl@nu.org>
+
+ * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
+ 0x100 instead of 0x10000; the latter value is already occupied by
+ FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
+
+
+ Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
+ bug #25010.
+
+ * src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
+ outlines nor bitmaps.
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
+ is no table with glyphs.
+
+
+ * src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
+ message.
+
+2008-12-01 Werner Lemberg <wl@gnu.org>
+
+ GDEF tables need `glyph_count' too for validation. Problem reported
+ by Chi Nguyen <chint@necsv.com>.
+
+ * src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
+ (otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
+ `glyph_count'.
+
+2008-11-29 Werner Lemberg <wl@gnu.org>
+
+ * src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
+ src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
+ src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
+ src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
+ src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
+ (Atari PureC).
+
+2008-11-29 James Cloos <cloos@jhcloos.com>
+
+ * src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
+ it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
+ in the /BlendDesignMap space).
+
+2008-11-29 James Cloos <cloos@jhcloos.com>
+
+ * src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
+ whereas `design_points' is FT_Long*. Therefore, return blend rather
+ than design points.
+
+2008-11-27 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffparse.c (cff_parse_real): Handle more than nine
+ significant digits correctly. This fixes Savannah bug #24953.
+
+2008-11-25 Daniel Zimmermann <netzimme@aol.com>
+
+ * src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
+ before the NULL check. From Savannah patch #6681.
+
+2008-11-24 Werner Lemberg <wl@gnu.org>
+
+ Fixes from the gnuwin32 port.
+
+ * src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
+
+ * src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
+
+ * src/psaux/psobjs.c (ps_table_add): Check `length'.
+
+2008-11-15 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (tt_default_graphics_state): The default
+ value for `scan_type' is zero, as confirmed by Greg Hitchcock from
+ Microsoft. Problem reported by Michal Nowakowski
+ <miszka@limes.com.pl>.
+
+2008-11-12 Tor Andersson <tor.andersson@gmail.com>
+
+ * src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
+ This fixes Savannah bug #24819.
+
+2008-11-08 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
+ since OpenType version 1.5 has been released.
+
+ * include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
+ TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
+ (TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
+ TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
+ TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
+ TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
+ TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
+ TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
+ TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
+ TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
+ TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
+ TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
+ TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
+ macros for OpenType 1.5.
+
+2008-11-08 Wenlin Institute <wenlin@wenlin.com>
+
+ * src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
+ slot->internal == NULL. Reported by Graham Asher.
+
+2008-11-08 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
+ code so that memory allocation problems can be distinguished from
+ missing table entries. Reported by Graham Asher.
+ (GET_NAME): New macro.
+ (sfnt_load_face): Use it.
+
+2008-11-05 Werner Lemberg <wl@gnu.org>
+
+ * devel/ftoption.h, include/freetype/config/ftoption.h
+ [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
+ TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
+ `FT_Get_TrueType_Engine_Type' (and makes it work as documented).
+ Reported in bug #441638 of bugzilla.novell.com.
+
+ * docs/CHANGES: Document it.
+
+2008-11-03 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_subrs): Use an endless loop. There are
+ fonts (like HELVI.PFB version 003.001, used on OS/2) which define
+ some `subrs' elements more than once. Problem reported by Peter
+ Weilbacher <mozilla@weilbacher.org>.
+
+2008-10-15 Graham Asher <graham.asher@btinternet.com>
+
+ * src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
+
+2008-10-15 David Turner <david@freetype.org>
+
+ * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
+ meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
+
+2008-10-14 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
+ Suggested by Bram Tassyns in Savannah patch #6651.
+
+2008-10-12 Graham Asher <graham.asher@btinternet.com>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
+ `underline_position'.
+
+2008-10-12 Werner Lemberg <wl@gnu.org>
+
+ * docs/CHANGES: Updated.
+
+2008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ Fix Savannah bug #24468.
+
+ According to include/freetype/internal/ftobjs.h, the appropriate
+ type to interchange single character codepoint is FT_UInt32. It
+ should be distinguished from FT_UInt which can be 16bit integer.
+
+ * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
+ of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
+ (tt_cmap4_char_map_binary): Ditto.
+ (tt_cmap14_get_nondef_chars): Change the type of return value
+ from FT_UInt* to FT_UInt32*.
+
+2008-10-08 John Tytgat <John.Tytgat@esko.com>
+
+ Fix Savannah bug #24485.
+
+ * src/type1/t1load.c (parse_charstrings): Assure that we always have
+ a .notdef glyph.
+
+2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
+ * src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
+
+2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
+ the beginning of sfnt container.
+ * src/sfnt/ttload.c (check_table_dir): Return
+ `SFNT_Err_Table_Missing' when sfnt table directory structure is
+ correct but essential tables for TrueType fonts (`head', `bhed' or
+ `SING') are missing. Other errors are returned by
+ SFNT_Err_Unknown_File_Format.
+
+ * src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
+ `FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
+ enabled only when old mac font support is configured.
+
+2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
+ TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
+ the repeated calculations of these values in ftobjs.c and ftmac.c.
+ * src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
+ * src/base/ftmac.c: Ditto.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
+ initialization of *is_sfnt_cid.
+
+2008-10-04 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
+ warnings.
+
+2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
+ (ft_lookup_PS_in_sfnt_stream): This.
+ (open_face_PS_from_sfnt_stream): New function. It checks whether
+ the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
+ font, then try to open a face for given face_index.
+ (Mac_Read_sfnt_Resource): Replace the combination of
+ `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
+ `open_face_PS_from_sfnt_stream'.
+ * src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ * src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
+ `open_face_PS_from_sfnt_stream'.
+
+2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
+ FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
+
+2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
+ MrC compiler of MPW is used. These compilers do not define the
+ macro __APPLE__ by themselves.
+ * builds/unix/ftconfig.in: Ditto.
+ * builds/vms/ftconfig.h: Ditto.
+ * src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
+ include ftmac.c if FreeType 2 is built by MPW.
+ * src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
+ enable shared functions for ftmac.c if FreeType 2 is built by MPW.
+
+ * builds/mac/ftmac.c: Include ftbase.h.
+ (memory_stream_close): Removed.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Removed. Use the implementation in
+ ftobjs.c.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+ * builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
+ included part of ftbase.c, to share the functions in ftobjs.c. The
+ rule compiling ftmac.c separately is removed and the rule copying
+ ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
+ * builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+
+2008-10-02 Bram Tassyns <bramt@enfocus.be>
+
+ * src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
+ fixes Savannah bug #24430.
+
+2008-10-02 Werner Lemberg <wl@gnu.org>
+
+ * builds/freetype.mk (BASE_H): Rename to...
+ (INTERNAL_H): This.
+ (FREETYPE_H): Updated.
+ * src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
+ * src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
+ * src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
+ * src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
+ * src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
+ * src/type42/rules.mk (T42_DRV_H): Add t42types.h.
+
+2008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftbase.h: New file to declare the private utility
+ functions shared by the sources of base modules. Currently,
+ `ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
+ share between ftobjs.c and ftmac.c.
+
+ * src/base/rule.mk: Add ftbase.h.
+
+ * src/base/ftobjs.c: Include ftbase.h.
+ (memory_stream_close): Build on any platform when old MacOS font
+ support is enabled.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Build on any platform when old MacOS font
+ support is enabled. The counting of the face in a font file is
+ slightly different between Carbon-dependent parser and Carbon-free
+ parser. They are merged with the platform-specific conditional.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+ * src/base/ftmac.c: Include ftbase.h.
+ (memory_stream_close): Removed.
+ (new_memory_stream): Ditto.
+ (open_face_from_buffer): Removed. Use the implementation in
+ ftobjs.c.
+ (ft_lookup_PS_in_sfnt): Ditto.
+
+2008-10-02 Werner Lemberg <wl@gnu.org>
+
+ * src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
+ if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
+
+2008-10-01 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
+ (cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
+ src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
+ (cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
+ src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
+ Reported by Graham Asher.
+
+2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/rules.mk: Add conditional source to BASE_SRC, for `make
+ multi' on Mac OS X. If the macro $(ftmac_c) is defined,
+ $(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
+ lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
+ ftmac.c.
+ * builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
+ * builds/unix/configure.raw: Add procedure to set up appropriate
+ value of $(ftmac_c) with the consideration of the availability of
+ Carbon framework.
+
+2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/Jamfile: Add target for multi build by jam on Mac OS X.
+ * src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
+ function for MPW building. It is synchronized the condition to
+ include ftmac.c source into ftbase.c.
+
+2008-09-22 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
+ cff_decoder_parse_charstrings): Handle (invalid)
+ `callothersubr' and `pop' instructions.
+
+2008-09-22 John Tytgat <John.Tytgat@esko.com>
+
+ Fix Savannah bug #24307.
+
+ * include/freetype/internal/t1types.h (CID_FaceRec),
+ src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
+
+2008-09-21 Werner Lemberg <wl@gnu.org>
+
+ * src/smooth/ftgrays.c (gray_raster_render): Don't dereference
+ `target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
+ Stephan T. Lavavej <stl@nuwen.net>.
+
+2008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/otvalid/Jamfile: Add missing target `otvmath' for multi build
+ by jam.
+ * src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
+ jam.
+
+2008-09-20 Werner Lemberg <wl@gnu.org>
+
+ * src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
+ passed to this function are already `normalized'. Problem reported
+ by Stephan T. Lavavej <stl@nuwen.net>.
+
+ * docs/CHANGES: Document it.
+
+2008-09-20 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
+ (FT_Outline_Decompose): Decorate with tracing messages.
+
+ * src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
+ FT_DEBUG_LEVEL_TRACE.
+ [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
+ stdarg.h.
+
+ (FT_TRACE) [_STANDALONE_]: Remove.
+ (FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
+ (FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
+ (FT_ERROR) [_STANDALONE_]: Updated.
+
+ (gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
+ Use FT_TRACE7.
+ (gray_dump_cells): Make it `static void'.
+ (gray_convert_glyph): Use FT_TRACE7.
+
+ (FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
+ ftoutln.c.
+
+ * src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
+ FT_ERROR_BASE.
+
+ * docs/formats.txt: Updated.
+
+2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
+ CID-keyed font support.
+ * builds/mac/ftmac.c: Ditto.
+
+2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
+ sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
+ `open_face_from_buffer' frees the passed buffer if it cannot open a
+ face from the buffer, so the caller must not free it.
+
+2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
+ for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
+ (ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
+ table in sfnt table directory. It is used before loading TrueType
+ font driver.
+
+ * docs/CHANGES: Add note about the current status of sfnt-wrapped
+ Type1 and sfnt-wrapped CID-keyed font support.
+
+2008-09-18 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
+ orthogonality (ft_free and ft_sfree could belong to different memory
+ pools). This fixes Savannah bug #24297.
+
+2008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
+ in ttags.h instead of numerical value 0x4F54544FL.
+
+2008-09-16 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.h, src/cff/cffgload.c
+ (cff_decoder_set_width_only): Eliminate function call.
+
+2008-09-15 George Williams <gww@silcom.com>
+
+ Fix Savannah bug #24179, reported by Bram Tassyns.
+
+ * src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
+ of default values.
+
+2008-09-15 Werner Lemberg <wl@gnu.org>
+
+ * src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
+ and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
+ prevent unconditional definition. This fixes Savannah bug #24241.
+
+ * src/psnames/pstables.h: Regenerated.
+
+2008-09-13 Werner Lemberg <wl@gnu.org>
+
+ * autogen.sh, builds/unix/configure.raw,
+ include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
+ beautifying.
+
+ * include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
+ include/freetype/ftlcdfil.h: Protect against FreeType 1.
+ Some other minor fixes.
+
+ * devel/ftoption.h: Synchronize with
+ include/freetype/config/ftoption.h.
+
+2008-09-11 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftbase.c: Include ftadvanc.c.
+
+2008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/ftconfig.in: Duplicate the cpp computation of
+ FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
+ (FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
+ computation is disabled and the statically configured sizes are
+ used. This fixes Savannah bug #21250.
+
+ * builds/unix/configure.raw: Add the checks to compare the cpp
+ computation results of the bit length of int and long versus the
+ sizes detected by running `configure'. If the results are
+ different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
+ results.
+ New option --{enable|disable}-biarch-config is added to define or
+ undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
+
+2008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
+ ApplicationService framework is missing. Although this value is not
+ used in building of FreeType2, it is written in `freetype2.pc' and
+ `freetype-config'.
+
+2008-09-01 david turner <david@freetype.org>
+
+ * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
+ index to mean `use default cached FT_Face's charmap'. This fixes
+ Savannah bug #22625.
+ * include/freetype/ftcache.h: Document it.
+
+
+ Make FT_MulFix an inlined function. This is done to speed up
+ FreeType a little (on x86 3% when loading+hinting, 10% when
+ rendering, ARM savings are more important though). Disable this by
+ undefining FT_CONFIG_OPTION_INLINE_MULFIX.
+
+ Use of assembler code can now be controlled with
+ FT_CONFIG_OPTION_NO_ASSEMBLER.
+
+ * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
+ implementation.
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
+ implementation taken from `ftcalc.c'.
+ [!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
+ which is defined to the platform-specific assembler implementation
+ of FT_MulFix.
+ [FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
+ (FT_MULFIX_INLINED): New macro.
+
+ * include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
+ FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
+
+ * include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
+
+ * src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
+ FT_MULFIX_INLINED.
+
+
+ Add a new header named FT_ADVANCES_H declaring some new APIs to
+ extract the advances of one or more glyphs without necessarily
+ loading their outlines. Also provide `fast loaders' for the
+ TrueType, Type1, and CFF font drivers (more to come later).
+
+ * src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
+
+ * include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
+ * include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
+
+ * include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ `flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
+ respectively.
+
+ * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
+ ftadvanc.c.
+
+ * src/cff/cffdrivr.c (cff_get_advances): New function.
+ (cff_driver_class): Register it.
+
+ * src/cff/cffgload.c (cff_decoder_set_width_only): New function.
+ (cff_decoder_parse_charstrings): Handle `width_only'.
+ (cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
+
+ * src/cff/cffgload.h (cff_decoder): New element `width_only'.
+ (cff_decoder_set_width_only): New declaration.
+
+ * src/truetype/ttdriver.c (tt_get_advances): New function.
+ (tt_driver_class): Register it.
+
+ * src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
+ (TT_Get_HMetrics, TT_Get_VMetrics): This.
+ Update callers.
+ * src/truetype/ttgload.h: Declare them.
+
+ * src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
+ function.
+ * src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
+
+
+ Add checks for minimum version of the `autotools' stuff.
+
+ * autogen.sh: Implement it.
+ (get_major_version, get_minor_version, get_patch_version,
+ compare_to_minimum_version, check_tool_version): New auxiliary
+ functions.
+
+ * README.CVS: Document it.
+
+2008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
+ ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
+
+2008-08-28 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1load.c (parse_encoding): Protect against infinite
+ loop. This fixes Savannah bug #24150 (where a patch has been posted
+ too).
+
+2008-08-23 Werner Lemberg <wl@gnu.org>
+
+ * src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
+ (afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
+ #24119.
+
+2008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
+ even if passed library or arguments are invalid. This fixes a bug
+ that an uninitialized stream is freed when an invalid library handle
+ is passed. Originally proposed by Mike Fabian, 2008/08/18 on
+ freetype-devel.
+ (FT_Open_Face): Ditto (stream).
+ (load_face_in_embedded_rfork): Ditto (stream2).
+
+2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/base/ftmac.c: Add a fallback to guess the availability of the
+ `ResourceIndex' type. It is used when built without configure
+ (e.g., a build with Jam).
+ * builds/mac/ftmac.c: Ditto.
+ * builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
+ explicitly, even if `ResourceIndex' is unavailable.
+
+2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: In checking of Mac OS X features,
+ all-in-one header file `Carbon.h' is replaced by the minimum
+ header file `CoreServices.h', similar to current src/base/ftmac.c.
+
+2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
+ sub-header when its code_count is 0. Many Japanese Dynalab fonts
+ include such an empty sub-header (code_count == 0, first_code == 0
+ delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
+
+2008-08-04 Werner Lemberg <wl@gnu.org>
+
+ * src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
+ Savannah bug #23995.
+
+ * src/cid/cidload.c (parse_expansion_factor): New callback function.
+ (cid_field_records): Use it for `ExpansionFactor'.
+ * src/cod/cidtoken.h: Handle `ForceBold' keyword.
+ Don't handle `ExpansionFactor'.
+
+2008-08-04 Bram Tassyns <bramt@enfocus.be>
+
+ * src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
+ resulted in incorrect scaling. This fixes Savannah bug #23973.
+
+2008-08-04 Werner Lemberg <wl@gnu.org>
+
+ Be more tolerant w.r.t. invalid entries in SFNT table directory.
+
+ * src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
+ adjust table count.
+ Add more trace messages.
+ (tt_face_load_font_dir): Updated.
+
+2008-07-30 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
+ assume that the first argument on the stack is the bottom-most
+ element. Two reasons:
+
+ o According to people from Adobe it is missing in the Type 2
+ specification that pushing of additional, superfluous arguments
+ on the stack is prohibited.
+
+ o Acroread in general handles fonts differently, namely by popping
+ the number of arguments needed for a particular operand (as a PS
+ interpreter would do). In case of buggy fonts this causes a
+ different interpretation which of the elements on the stack are
+ superfluous and which not.
+
+ Since there are CFF subfonts (embedded in PDFs) which rely on
+ Acroread's behaviour, FreeType now does the same.
+
+2008-07-27 Werner Lemberg <wl@gnu.org>
+
+ Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
+ fixes Savannah bug #23940.
+
+ * src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
+ (EXTRA_GLYPH_LIST_SIZE): This.
+ Increase by 2.
+ (ft_wgl_extra_unicodes): Rename to...
+ (ft_extra_glyph_unicodes): This.
+ Add two code values.
+ (ft_wgl_extra_glyph_names): Rename to...
+ (ft_extra_glyph_names): This.
+ Add two glyphs.
+ (ft_wgl_extra_glyph_name_offsets): Rename to...
+ (ft_extra_glyph_name_offsets): This.
+ Add two offsets.
+
+ (ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
+ (ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
+ Updated.
+ (ps_unicodes_init): Updated.
+
+2008-07-26 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffgload.c (cff_decoder_prepare,
+ cff_decoder_parse_charstrings): Improve debug output.
+
+2008-07-22 Martin McBride <mmcbride@emtex.com>
+
+ * src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
+ tt_cmap4_char_map_binary): Handle fonts which treat the last segment
+ specially. According to the specification, such fonts would be
+ invalid but acroread accepts them.
+
+2008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
+
+ * src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
+
+ * src/base/ftcalc.c (FT_MulFix): Fix portability issue.
+
+ * src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
+ Fix compiler warning.
+
+2008-07-16 Werner Lemberg <wl@gnu.org>
+
+ Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
+
+ * src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
+ Invert sids table only if `pure_cff' is set.
+ * src/cff/cffload.h: Udpated.
+
+ * src/cff/cffobjs.c (cff_face_init): Updated.
+ Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
+
+ * docs/CHANGES: Updated.
+
+2008-07-09 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
+ where num_locations < num_glyphs. Problem reported by Ding Li.
+
+2008-07-05 Werner Lemberg <wl@gnu.org>
+
+ Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
+ newer. This fixes Savannah bug #23648.
+
+ * configure: zsh doesn't like ${1+"$@"}.
+ Update needed GNU make version.
+ * builds/toplevel.mk: Check for `$(eval ...)'.
+ * docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
+ it.
+
+2008-07-04 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
+ pixel, only check for dropouts if neither start nor end point lies
+ on a pixel center. This fixes Savannah bug #23762.
+
+2008-06-29 Werner Lemberg <wl@gnu.org>
+
+ * Version 2.3.7 released.
+ =========================
+
+
+ Tag sources with `VER-2-3-7'.
+
+ * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ version number to 2.3.7.
+
+ * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ builds/win32/visualc/freetype.dsp,
+ builds/win32/visualc/freetype.vcproj,
+ builds/win32/visualce/index.html,
+ builds/win32/visualce/freetype.dsp,
+ builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
+
+ * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+
+ * builds/unix/configure.raw (version_info): Set to 9:18:3.
+
+ * docs/release: Updated.
+
+2008-06-28 Werner Lemberg <wl@gnu.org>
+
+ * src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
+ * src/ftcalc.c: Here. This fixes Savannah bug #23729.
+
+2008-06-27 Werner Lemberg <wl@gnu.org>
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): Test for intersections which
+ degenerate to a single point can be ignored; this has been confirmed
+ by Greg Hitchcock from Microsoft. (This was commented out code.)
+
+2008-06-26 Werner Lemberg <wl@gnu.org>
+
+ Improve navigation in API reference.
+
+ * src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
+ (html_header_6): This.
+ (html_header_3, html_header_3i, html_header_4, html_header_5,
+ html_header_5t): New strings.
+ (toc_footer_start, toc_footer_end): New strings.
+ (HtmlFormatter::html_header): Updated.
+ (HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
+ New strings.
+ (HtmlFormatter::index_enter): Use `html_index_header'.
+ (HtmlFormatter::index_exit): Print `html_footer'.
+ (HtmlFormatter::toc_enter): Use `html_toc_header'.
+ (HtmlFormatter::toc_exit): Print proper footer.
+
+ Convert ~ to non-breakable space.
+
+ * src/tools/docmaker/tohtml.py (make_html_para): Implement it.
+ Update header files accordingly.
+
+2008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: Check type `ResourceIndex' explicitly
+ and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
+ bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
+ ResourceIndex type definition. The macro does not inform the type
+ availability.
+ * src/base/ftmac.c: More parentheses are inserted to clarify the
+ conditionals to disable legacy APIs in `10.5 and later' cases. If
+ HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
+
+2008-06-24 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
+ mode.
+
+ * src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
+ Draw_Sweep): No-dropout mode is value 2, not value 0.
+ (Draw_Sweep): Really skip dropout handling for no-dropout mode.
+
+2008-06-24 Werner Lemberg <wl@gnu.org>
+
+ * src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
+ if it consists of one point only. Based on a patch from Savannah
+ bug #23683 (from John Tytgat).
+
+2008-06-22 Werner Lemberg <wl@gnu.org>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
+ with IS_HINTED.
+
+ * docs/CHANGES: Updated.
+
+2008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
+ * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
+ but LDFLAGS does not, import it to LDFLAGS. The option is used to
+ specify non-default SDK on Mac OS X (e.g., universal binary SDK for
+ Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
+ recommends to add the option only to CFLAGS, LDFLAGS should include
+ it because libfreetype.la is built with -no-undefined. This fixes a
+ bug reported by Ryan Schmidt in MacPorts,
+ http://trac.macports.org/ticket/15331.
+
+2008-06-21 Werner Lemberg <wl@gnu.org>
+
+ Enable access to the various dropout rules of the B&W rasterizer.
+ Pass dropout rules from the TT bytecode interpreter to the
+ rasterizer.
+
+ * include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
+ FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
+
+ * src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
+ OpenType specification.
+ Fix mode 4 computation.
+ (Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
+
+ * src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
+ mode to FT_OUTLINE_XXX flags.
+
+ * src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
+
+2008-06-19 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffobjs.c (cff_face_init): Compute final
+ `dict->units_per_em' value before assigning it to
+ `cffface->units_per_EM'. Otherwise, CFFs without subfonts are
+ scaled incorrectly if the font matrix is non-standard. This fixes
+ Savannah bug #23630.
+
+ * docs/CHANGES: Updated.
+
+2008-06-19 Werner Lemberg <wl@gnu.org>
+
+ * src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
+ from 2008-06-19.
+
+2008-06-18 Werner Lemberg <wl@gnu.org>
+
+ * src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
+ Reported by Peter Weilbacher <mozilla@weilbacher.org>.
+
+ * docs/CHANGES: Updated.
+
+2008-06-15 George Williams <gww@silcom.com>
+
+ * src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
+ `valid->extra2' to 1. This is undocumented in the OpenType 1.5
+ specification.
+
+2008-06-15 Werner Lemberg <wl@gnu.org>
+
+ * src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
+ from clobbering. Patch from Savannah bug report #23556.
+
+ * docs/CHANGES: Document it.
+
+2008-06-10 Werner Lemberg <wl@gnu.org>
+
+ * autogen.sh: Add option `--install' to libtoolize.
+
2008-06-10 Werner Lemberg <wl@gnu.org>
* Version 2.3.6 released.
@@ -159,7 +1746,7 @@
* docs/CHANGES: Updated.
-2008-05-18 David Turner <david@freetype.org>
+2008-05-18 David Turner <david@freetype.org>
* src/psnames/psmodule.c (ft_wgl_extra_unicodes,
ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
@@ -343,7 +1930,7 @@
2008-03-13 Derek Clegg <dclegg@apple.com>
- * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
+ * src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
Patch from Savannah bug #22541.
2008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
@@ -599,13 +2186,14 @@
* doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
* include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
- FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
+ FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
Carbon functions from a forked process is classified as unsafe
- by Apple. All Carbon-dependent functions should be deprecated.
+ by Apple. All Carbon-dependent functions should be deprecated.
- * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
- and <ApplicationServices/ApplicationServices.h> instead of
- all-in-one header file <CoreServices/CoreServices.h>.
+ * src/base/ftmac.c: Use essential header files
+ <CoreServices/CoreServices.h> and
+ <ApplicationServices/ApplicationServices.h> instead of
+ all-in-one header file <Carbon/Carbon.h>.
Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
genuine macro PATH_MAX.
@@ -645,7 +2233,7 @@
2007-10-21 Werner Lemberg <wl@gnu.org>
* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
- support for bit 8 of the `fsSelection' field in the `OS/2' table.
+ support for bit 8 of the `fsSelection' field in the `OS/2' table.
MS is already using this; hopefully, this becomes part of OpenType
1.5.
Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
@@ -1479,7 +3067,7 @@
* src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
zero in case of error. This fixes Savannah bug #19689.
-2007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
+2007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
* src/truetype/ttobjs.c: Fix a typo that created a speed regression
in the TrueType bytecode loader.
@@ -2278,7 +3866,7 @@
* src/base/ftmac.c: Specialized for Mac OS X only.
* builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
- * builds/unix/configure.raw: Ditto. When explicit switches for
+ * builds/unix/configure.raw: Ditto. When explicit switches for
FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
@@ -2898,7 +4486,7 @@
buggy by design. Always return -1.
- Improvements to native TrueType hinting. This is a first try,
+ Improvements to native TrueType hinting. This is a first try,
controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
* include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
@@ -2946,7 +4534,7 @@
Jens:
http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
- * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
+ * src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
It reverts the change introduced on 2005-08-20.
* src/gxvalid/gxvmod.c: Ditto.
@@ -2965,7 +4553,7 @@
* src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
- * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
+ * src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
not T1_TOKEN_TYPE_ANY.
(ps_parser_load_field): Make sure a token that should be a string or
@@ -3048,8 +4636,8 @@
want to skip the array.
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
- for (partially commented out) othersubrs 19-25, 27, and 28.
- (t1_decoder_init): Initialize new fields `face' and `buildchar'.
+ for (partially commented out) othersubrs 19-25, 27, and 28.
+ (t1_decoder_init): Initialize new fields `face' and `buildchar'.
(t1_decoder_done): Release new field `buildchar'.
* src/type1/t1load.c (parse_buildchar, parse_private): New
@@ -3352,7 +4940,7 @@
----------------------------------------------------------------------------
-Copyright 2006, 2007, 2008 by
+Copyright 2006, 2007, 2008, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/src/3rdparty/freetype/ChangeLog.21 b/src/3rdparty/freetype/ChangeLog.21
index 3a1bcf0..d6371d1 100644
--- a/src/3rdparty/freetype/ChangeLog.21
+++ b/src/3rdparty/freetype/ChangeLog.21
@@ -922,7 +922,7 @@
(tt_driver_class): Updated.
* src/truetype/ttgload.c (TT_Get_Metrics): Renamed to...
- (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
+ (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY.
Update all callers.
(Get_Advance_Widths): Replaced with...
(Get_Advance_WidthPtr): This. Provide version for
@@ -1221,7 +1221,7 @@
2004-11-16 Owen Taylor <otaylor@redhat.com>
* builds/unix/freetype-config.in: Suppress -L$libdir for
- /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
+ /usr/lib64 as well as /usr/lib. (Reported by Dan Winship -
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199)
2004-11-11 Werner Lemberg <wl@gnu.org>
@@ -3554,7 +3554,7 @@
- the image and sbit cache are now abstract classes, that
can be extended much more easily by client applications
- - better performance in certain areas. Further optimizations
+ - better performance in certain areas. Further optimizations
to come shortly anyway...
- the FTC_CMapCache_Lookup function has changed its signature,
@@ -9423,7 +9423,7 @@
----------------------------------------------------------------------------
-Copyright 2002, 2003, 2004, 2005, 2007 by
+Copyright 2002, 2003, 2004, 2005, 2007, 2008 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used, modified,
diff --git a/src/3rdparty/freetype/ChangeLog.22 b/src/3rdparty/freetype/ChangeLog.22
index c042f21..4144288 100644
--- a/src/3rdparty/freetype/ChangeLog.22
+++ b/src/3rdparty/freetype/ChangeLog.22
@@ -199,7 +199,7 @@
* src/base/ftmac.c (read_lwfn): Catch integer overflow.
* src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
* src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
- (ft_mem_alloc. ft_mem_realloc, ft_mem_qrealloc): Rewrite.
+ (ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
* include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
diff --git a/src/3rdparty/freetype/Jamfile b/src/3rdparty/freetype/Jamfile
index eeaad3f..e5273d8 100644
--- a/src/3rdparty/freetype/Jamfile
+++ b/src/3rdparty/freetype/Jamfile
@@ -1,6 +1,6 @@
# FreeType 2 top Jamfile.
#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -194,7 +194,7 @@ rule RefDoc
actions RefDoc
{
- python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.3.6 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h
+ python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.3.9 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h
}
RefDoc refdoc ;
diff --git a/src/3rdparty/freetype/README b/src/3rdparty/freetype/README
index a6ab092..6e5ad46 100644
--- a/src/3rdparty/freetype/README
+++ b/src/3rdparty/freetype/README
@@ -9,7 +9,7 @@
is called `libttf'. They are *not* compatible!
- FreeType 2.3.6
+ FreeType 2.3.9
==============
Please read the docs/CHANGES file, it contains IMPORTANT
@@ -26,9 +26,9 @@
and download one of the following files.
- freetype-doc-2.3.6.tar.bz2
- freetype-doc-2.3.6.tar.gz
- ftdoc236.zip
+ freetype-doc-2.3.9.tar.bz2
+ freetype-doc-2.3.9.tar.gz
+ ftdoc239.zip
Bugs
@@ -51,7 +51,7 @@
----------------------------------------------------------------------
-Copyright 2006, 2007, 2008 by
+Copyright 2006, 2007, 2008, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/README.CVS b/src/3rdparty/freetype/README.CVS
index 2764ae9..ff1a2d0 100644
--- a/src/3rdparty/freetype/README.CVS
+++ b/src/3rdparty/freetype/README.CVS
@@ -13,17 +13,13 @@ The versions given in parentheses are known to work. Newer versions
should work too, of course. Note that autogen.sh also sets up proper
file permissions for the `configure' and auxiliary scripts.
-A very common problem is that this script complains that the `aclocal'
-program doesn't accept a `--force' option:
+The autogen.sh script now checks the version of above three packages
+whether they match the numbers above. Otherwise it will complain and
+suggest either upgrading or using an environment variable to point to
+a more recent version of the required tool(s).
- generating `configure.ac'
- running `aclocal -I . --force'
- aclocal: unrecognized option -- `--force'
- Try `aclocal --help' for more information.
- error while running `aclocal -I . --force'
-
-This means that your version of the automake package is too old.
-Please update it before trying to build FreeType.
+Note that `aclocal' is provided by the `automake' package on Linux,
+and that `libtoolize' is called `glibtoolize' on Darwin (OS X).
For static builds which don't use platform specific optimizations, no
diff --git a/src/3rdparty/freetype/autogen.sh b/src/3rdparty/freetype/autogen.sh
index d8fb5b2..16c335f 100644
--- a/src/3rdparty/freetype/autogen.sh
+++ b/src/3rdparty/freetype/autogen.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -20,12 +20,120 @@ run ()
fi
}
+get_major_version ()
+{
+ echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
+}
+
+get_minor_version ()
+{
+ echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'
+}
+
+get_patch_version ()
+{
+ # tricky: some version numbers don't include a patch
+ # separated with a point, but something like 1.4-p6
+ patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
+ if test "$patch" = "$1"; then
+ patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'`
+ # if there isn't any patch number, default to 0
+ if test "$patch" = "$1"; then
+ patch=0
+ fi
+ fi
+ echo $patch
+}
+
+# $1: version to check
+# $2: minimum version
+
+compare_to_minimum_version ()
+{
+ MAJOR1=`get_major_version $1`
+ MAJOR2=`get_major_version $2`
+ if test $MAJOR1 -lt $MAJOR2; then
+ echo 0
+ return
+ else
+ if test $MAJOR1 -gt $MAJOR2; then
+ echo 1
+ return
+ fi
+ fi
+
+ MINOR1=`get_minor_version $1`
+ MINOR2=`get_minor_version $2`
+ if test $MINOR1 -lt $MINOR2; then
+ echo 0
+ return
+ else
+ if test $MINOR1 -gt $MINOR2; then
+ echo 1
+ return
+ fi
+ fi
+
+ PATCH1=`get_patch_version $1`
+ PATCH2=`get_patch_version $2`
+ if test $PATCH1 -lt $PATCH2; then
+ echo 0
+ else
+ echo 1
+ fi
+}
+
+# check the version of a given tool against a minimum version number
+#
+# $1: tool path
+# $2: tool usual name (e.g. `aclocal')
+# $3: tool variable (e.g. `ACLOCAL')
+# $4: minimum version to check against
+# $5: option field index used to extract the tool version from the
+# output of --version
+
+check_tool_version ()
+{
+ field=$5
+ if test "$field"x = x; then
+ field=4 # default to 4 for all GNU autotools
+ fi
+ version=`$1 --version | head -1 | cut -d ' ' -f $field`
+ version_check=`compare_to_minimum_version $version $4`
+ if test "$version_check"x = 0x; then
+ echo "ERROR: Your version of the \`$2' tool is too old."
+ echo " Minimum version $4 is required (yours is version $version)."
+ echo " Please upgrade or use the $3 variable to point to a more recent one."
+ echo ""
+ exit 1
+ fi
+}
+
if test ! -f ./builds/unix/configure.raw; then
echo "You must be in the same directory as \`autogen.sh'."
echo "Bootstrapping doesn't work if srcdir != builddir."
exit 1
fi
+# On MacOS X, the GNU libtool is named `glibtool'.
+HOSTOS=`uname`
+LIBTOOLIZE=libtoolize
+if test "$HOSTOS"x = Darwinx; then
+ LIBTOOLIZE=glibtoolize
+fi
+
+if test "$ACLOCAL"x = x; then
+ ACLOCAL=aclocal
+fi
+
+if test "$AUTOCONF"x = x; then
+ AUTOCONF=autoconf
+fi
+
+check_tool_version $ACLOCAL aclocal ACLOCAL 1.10.1
+check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
+check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
+
# This sets freetype_major, freetype_minor, and freetype_patch.
eval `sed -nf version.sed include/freetype/freetype.h`
@@ -38,17 +146,10 @@ cd builds/unix
echo "generating \`configure.ac'"
sed -e "s;@VERSION@;$freetype_major$freetype_minor$freetype_patch;" \
- < configure.raw > configure.ac
-
-# On MacOS X, the GNU libtool is named `glibtool'.
-HOSTOS=`uname`
-LIBTOOLIZE=libtoolize
-if test "$HOSTOS"x = Darwinx; then
- LIBTOOLIZE=glibtoolize
-fi
+ < configure.raw > configure.ac
run aclocal -I . --force
-run $LIBTOOLIZE --force --copy
+run $LIBTOOLIZE --force --copy --install
run autoconf --force
chmod +x mkinstalldirs
diff --git a/src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h b/src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h
index c8a5bee..5873bab 100644
--- a/src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h
+++ b/src/3rdparty/freetype/builds/amiga/include/freetype/config/ftmodule.h
@@ -80,77 +80,77 @@
/* Now include the modules */
#ifdef FT_USE_AUTOFIT
-FT_USE_MODULE(autofit_module_class)
+FT_USE_MODULE( FT_Module_Class, autofit_module_class )
#endif
#ifdef FT_USE_TT
-FT_USE_MODULE(tt_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
#endif
#ifdef FT_USE_T1
-FT_USE_MODULE(t1_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
#endif
#ifdef FT_USE_CFF
-FT_USE_MODULE(cff_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
#endif
#ifdef FT_USE_T1CID
-FT_USE_MODULE(t1cid_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
#endif
#ifdef FT_USE_PFR
-FT_USE_MODULE(pfr_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
#endif
#ifdef FT_USE_T42
-FT_USE_MODULE(t42_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
#endif
#ifdef FT_USE_WINFNT
-FT_USE_MODULE(winfnt_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
#endif
#ifdef FT_USE_PCF
-FT_USE_MODULE(pcf_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
#endif
#ifdef FT_USE_PSAUX
-FT_USE_MODULE(psaux_module_class)
+FT_USE_MODULE( FT_Module_Class, psaux_module_class )
#endif
#ifdef FT_USE_PSNAMES
-FT_USE_MODULE(psnames_module_class)
+FT_USE_MODULE( FT_Module_Class, psnames_module_class )
#endif
#ifdef FT_USE_PSHINT
-FT_USE_MODULE(pshinter_module_class)
+FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
#endif
#ifdef FT_USE_RASTER
-FT_USE_MODULE(ft_raster1_renderer_class)
+FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
#endif
#ifdef FT_USE_SFNT
-FT_USE_MODULE(sfnt_module_class)
+FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
#endif
#ifdef FT_USE_SMOOTH
-FT_USE_MODULE(ft_smooth_renderer_class)
-FT_USE_MODULE(ft_smooth_lcd_renderer_class)
-FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
#endif
#ifdef FT_USE_OTV
-FT_USE_MODULE(otv_module_class)
+FT_USE_MODULE( FT_Module_Class, otv_module_class )
#endif
#ifdef FT_USE_BDF
-FT_USE_MODULE(bdf_driver_class)
+FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
#endif
#ifdef FT_USE_GXV
-FT_USE_MODULE(gxv_module_class)
+FT_USE_MODULE( FT_Module_Class, gxv_module_class )
#endif
/*
diff --git a/src/3rdparty/freetype/builds/amiga/makefile b/src/3rdparty/freetype/builds/amiga/makefile
index 24e8545..e874a1f 100644
--- a/src/3rdparty/freetype/builds/amiga/makefile
+++ b/src/3rdparty/freetype/builds/amiga/makefile
@@ -5,7 +5,7 @@
#
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -93,6 +93,12 @@ ftbdf.ppc.o: $(FTSRC)/base/ftbdf.c
ftbitmap.ppc.o: $(FTSRC)/base/ftbitmap.c
$(CC) -c $(CFLAGS) -o $@ $<
+ftcid.ppc.o: $(FTSRC)/base/ftcid.c
+ $(CC) -c $(CFLAGS) -o $@ $<
+
+ftfstype.ppc.o: $(FTSRC)/base/ftfstype.c
+ $(CC) -c $(CFLAGS) -o $@ $<
+
ftgasp.ppc.o: $(FTSRC)/base/ftgasp.c
$(CC) -c $(CFLAGS) -o $@ $<
@@ -111,6 +117,9 @@ ftmm.ppc.o: $(FTSRC)/base/ftmm.c
ftotval.ppc.o: $(FTSRC)/base/ftotval.c
$(CC) -c $(CFLAGS) -o $@ $<
+ftpatent.ppc.o: $(FTSRC)/base/ftpatent.c
+ $(CC) -c $(CFLAGS) -o $@ $<
+
ftpfr.ppc.o: $(FTSRC)/base/ftpfr.c
$(CC) -c $(CFLAGS) -o $@ $<
@@ -255,10 +264,11 @@ gxvalid.ppc.o: $(FTSRC)/gxvalid/gxvalid.c
otvalid.ppc.o: $(FTSRC)/otvalid/otvalid.c
$(CC) -c $(CFLAGS) -o $@ $<
-BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o \
- ftgasp.ppc.o ftglyph.ppc.o ftgxvalid.ppc.o ftlcdfil.ppc.o \
- ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o \
- ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
+BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
+ ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
+ ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
+ ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
+ ftxf86.ppc.o
DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o
diff --git a/src/3rdparty/freetype/builds/amiga/makefile.os4 b/src/3rdparty/freetype/builds/amiga/makefile.os4
index 6853c9f..edd88eb 100644
--- a/src/3rdparty/freetype/builds/amiga/makefile.os4
+++ b/src/3rdparty/freetype/builds/amiga/makefile.os4
@@ -4,7 +4,7 @@
#
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -89,6 +89,9 @@ ftbdf.ppc.o: FT:src/base/ftbdf.c
ftbitmap.ppc.o: FT:src/base/ftbitmap.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
+ftcid.ppc.o: FT:src/base/ftcid.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
+
ftdebug.ppc.o: FT:src/base/ftdebug.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
@@ -96,6 +99,9 @@ ftdebug.ppc.o: FT:src/base/ftdebug.c
ftdebugpure.ppc.o: src/base/ftdebug.c
$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
+ftfstype.ppc.o: FT:src/base/ftfstype.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
+
ftgasp.ppc.o: FT:src/base/ftgasp.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
@@ -114,6 +120,9 @@ ftmm.ppc.o: FT:src/base/ftmm.c
ftotval.ppc.o: FT:src/base/ftotval.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
+ftpatent.ppc.o: FT:src/base/ftpatent.c
+ $(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
+
ftpfr.ppc.o: FT:src/base/ftpfr.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
@@ -258,10 +267,11 @@ gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
otvalid.ppc.o: FT:src/otvalid/otvalid.c
$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
-BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o \
- ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o ftlcdfil.ppc.o \
- ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o \
- ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
+BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
+ ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o \
+ ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
+ ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o \
+ ftxf86.ppc.o
DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
diff --git a/src/3rdparty/freetype/builds/amiga/smakefile b/src/3rdparty/freetype/builds/amiga/smakefile
index c9209f7..2a561a8 100644
--- a/src/3rdparty/freetype/builds/amiga/smakefile
+++ b/src/3rdparty/freetype/builds/amiga/smakefile
@@ -3,7 +3,7 @@
#
-# Copyright 2005,2006, 2007 by
+# Copyright 2005,2006, 2007, 2009 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -42,9 +42,9 @@
# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
-OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftgasp.o ftglyph.o \
- ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpfr.o ftstroke.o \
- ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
+OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o \
+ ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
+ ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
OBJSYSTEM = ftsystem.o ftsystempure.o
@@ -131,6 +131,10 @@ ftbdf.o: $(CORE)base/ftbdf.c
sc $(SCFLAGS) objname=$@ $<
ftbitmap.o: $(CORE)base/ftbitmap.c
sc $(SCFLAGS) objname=$@ $<
+ftcid.o: $(CORE)base/ftcid.c
+ sc $(SCFLAGS) objname=$@ $<
+ftfstype.o: $(CORE)base/ftfstype.c
+ sc $(SCFLAGS) objname=$@ $<
ftgasp.o: $(CORE)base/ftgasp.c
sc $(SCFLAGS) objname=$@ $<
ftglyph.o: $(CORE)base/ftglyph.c
@@ -143,6 +147,8 @@ ftmm.o: $(CORE)base/ftmm.c
sc $(SCFLAGS) objname=$@ $<
ftotval.o: $(CORE)base/ftotval.c
sc $(SCFLAGS) objname=$@ $<
+ftpatent.o: $(CORE)base/ftpatent.c
+ sc $(SCFLAGS) objname=$@ $<
ftpfr.o: $(CORE)base/ftpfr.c
sc $(SCFLAGS) objname=$@ $<
ftstroke.o: $(CORE)base/ftstroke.c
diff --git a/src/3rdparty/freetype/builds/freetype.mk b/src/3rdparty/freetype/builds/freetype.mk
index 877bda2..7a89c8e 100644
--- a/src/3rdparty/freetype/builds/freetype.mk
+++ b/src/3rdparty/freetype/builds/freetype.mk
@@ -168,14 +168,14 @@ OBJECTS_LIST :=
# Define $(PUBLIC_H) as the list of all public header files located in
-# `$(TOP_DIR)/include/freetype'. $(BASE_H), and $(CONFIG_H) are defined
+# `$(TOP_DIR)/include/freetype'. $(INTERNAL_H), and $(CONFIG_H) are defined
# similarly.
#
# This is used to simplify the dependency rules -- if one of these files
# changes, the whole library is recompiled.
#
PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
-BASE_H := $(wildcard $(INTERNAL_DIR)/*.h) \
+INTERNAL_H := $(wildcard $(INTERNAL_DIR)/*.h) \
$(wildcard $(SERVICES_DIR)/*.h)
CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
$(wildcard $(BUILD_DIR)/freetype/config/*.h) \
@@ -183,7 +183,7 @@ CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
$(FTOPTION_H)
DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
-FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(DEVEL_H)
+FREETYPE_H := $(PUBLIC_H) $(INTERNAL_H) $(CONFIG_H) $(DEVEL_H)
# ftsystem component
diff --git a/src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt b/src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt
index 78d65d2..3360d91 100644
--- a/src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt
+++ b/src/3rdparty/freetype/builds/mac/FreeType.m68k_cfm.make.txt
@@ -31,13 +31,13 @@ COptions = \xB6
### Source Files ###
SrcFiles = \xB6
- :builds:mac:ftmac.c \xB6
:src:autofit:autofit.c \xB6
- :src:base:ftbase.c \xB6
+ :builds:mac:ftbase.c \xB6
:src:base:ftbbox.c \xB6
:src:base:ftbdf.c \xB6
:src:base:ftbitmap.c \xB6
:src:base:ftdebug.c \xB6
+ :src:base:ftfstype.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftgxval.c \xB6
:src:base:ftinit.c \xB6
@@ -75,13 +75,13 @@ SrcFiles = \xB6
### Object Files ###
ObjFiles-68K = \xB6
- "{ObjDir}ftmac.c.o" \xB6
"{ObjDir}autofit.c.o" \xB6
"{ObjDir}ftbase.c.o" \xB6
"{ObjDir}ftbbox.c.o" \xB6
"{ObjDir}ftbdf.c.o" \xB6
"{ObjDir}ftbitmap.c.o" \xB6
"{ObjDir}ftdebug.c.o" \xB6
+ "{ObjDir}ftfstype.c.o" \xB6
"{ObjDir}ftglyph.c.o" \xB6
"{ObjDir}ftgxval.c.o" \xB6
"{ObjDir}ftinit.c.o" \xB6
@@ -129,8 +129,14 @@ LibFiles-68K =
### Build Rules ###
-"{ObjDir}ftmac.c.o" \xC4\xC4 :builds:mac:ftmac.c
- {C} :builds:mac:ftmac.c -o "{ObjDir}ftmac.c.o" {COptions}
+:builds:mac:ftbase.c \xC4\xC4 :src:base:ftbase.c
+ Duplicate :src:base:ftbase.c :builds:mac:ftbase.c
+
+"{ObjDir}ftbase.c.o" \xC4\xC4 :builds:mac:ftbase.c
+ {C} :builds:mac:ftbase.c -o "{ObjDir}ftbase.c.o" \xB6
+ -i :builds:mac: \xB6
+ -i :src:base: \xB6
+ {COptions}
FreeType.m68k_cfm \xC4\xC4 FreeType.m68k_cfm.o
@@ -147,15 +153,15 @@ FreeType.m68k_cfm.o \xC4\xC4 {ObjFiles-68K} {LibFiles-68K} {\xA5MondoBuild\xA5
### Required Dependencies ###
"{ObjDir}autofit.c.o" \xC4 :src:autofit:autofit.c
-"{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
+# "{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
"{ObjDir}ftbbox.c.o" \xC4 :src:base:ftbbox.c
"{ObjDir}ftbdf.c.o" \xC4 :src:base:ftbdf.c
"{ObjDir}ftbitmap.c.o" \xC4 :src:base:ftbitmap.c
"{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.o" \xC4 :src:base:ftfstype.c
"{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
"{ObjDir}ftgxval.c.o" \xC4 :src:base:ftgxval.c
"{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
-# "{ObjDir}ftmac.c.o" \xC4 :builds:mac:ftmac.c
"{ObjDir}ftmm.c.o" \xC4 :src:base:ftmm.c
"{ObjDir}ftotval.c.o" \xC4 :src:base:ftotval.c
"{ObjDir}ftpfr.c.o" \xC4 :src:base:ftpfr.c
diff --git a/src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt b/src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt
index c23dead..224f8e1 100644
--- a/src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt
+++ b/src/3rdparty/freetype/builds/mac/FreeType.m68k_far.make.txt
@@ -30,13 +30,13 @@ COptions = \xB6
### Source Files ###
SrcFiles = \xB6
- :builds:mac:ftmac.c \xB6
:src:autofit:autofit.c \xB6
- :src:base:ftbase.c \xB6
+ :builds:mac:ftbase.c \xB6
:src:base:ftbbox.c \xB6
:src:base:ftbdf.c \xB6
:src:base:ftbitmap.c \xB6
:src:base:ftdebug.c \xB6
+ :src:base:ftfstype.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftgxval.c \xB6
:src:base:ftinit.c \xB6
@@ -80,10 +80,10 @@ ObjFiles-68K = \xB6
"{ObjDir}ftbdf.c.o" \xB6
"{ObjDir}ftbitmap.c.o" \xB6
"{ObjDir}ftdebug.c.o" \xB6
+ "{ObjDir}ftfstype.c.o" \xB6
"{ObjDir}ftglyph.c.o" \xB6
"{ObjDir}ftgxval.c.o" \xB6
"{ObjDir}ftinit.c.o" \xB6
- "{ObjDir}ftmac.c.o" \xB6
"{ObjDir}ftmm.c.o" \xB6
"{ObjDir}ftotval.c.o" \xB6
"{ObjDir}ftpfr.c.o" \xB6
@@ -128,8 +128,14 @@ LibFiles-68K =
### Build Rules ###
-"{ObjDir}ftmac.c.o" \xC4\xC4 :builds:mac:ftmac.c
- {C} :builds:mac:ftmac.c -o "{ObjDir}ftmac.c.o" {COptions}
+:builds:mac:ftbase.c \xC4\xC4 :src:base:ftbase.c
+ Duplicate :src:base:ftbase.c :builds:mac:ftbase.c
+
+"{ObjDir}ftbase.c.o" \xC4\xC4 :builds:mac:ftbase.c
+ {C} :builds:mac:ftbase.c -o "{ObjDir}ftbase.c.o" \xB6
+ -i :builds:mac: \xB6
+ -i :src:base: \xB6
+ {COptions}
FreeType.m68k_far \xC4\xC4 FreeType.m68k_far.o
@@ -146,15 +152,15 @@ FreeType.m68k_far.o \xC4\xC4 {ObjFiles-68K} {LibFiles-68K} {\xA5MondoBuild\xA5
### Required Dependencies ###
"{ObjDir}autofit.c.o" \xC4 :src:autofit:autofit.c
-"{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
+# "{ObjDir}ftbase.c.o" \xC4 :src:base:ftbase.c
"{ObjDir}ftbbox.c.o" \xC4 :src:base:ftbbox.c
"{ObjDir}ftbdf.c.o" \xC4 :src:base:ftbdf.c
"{ObjDir}ftbitmap.c.o" \xC4 :src:base:ftbitmap.c
"{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.o" \xC4 :src:base:ftfstype.c
"{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
"{ObjDir}ftgxval.c.o" \xC4 :src:base:ftgxval.c
"{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
-# "{ObjDir}ftmac.c.o" \xC4 :src:base:ftmac.c
"{ObjDir}ftmm.c.o" \xC4 :src:base:ftmm.c
"{ObjDir}ftotval.c.o" \xC4 :src:base:ftotval.c
"{ObjDir}ftpfr.c.o" \xC4 :src:base:ftpfr.c
diff --git a/src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt b/src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt
index f8e2d66..0b80deb 100644
--- a/src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt
+++ b/src/3rdparty/freetype/builds/mac/FreeType.ppc_carbon.make.txt
@@ -31,13 +31,13 @@ PPCCOptions = \xB6
### Source Files ###
SrcFiles = \xB6
- :builds:mac:ftmac.c \xB6
:src:autofit:autofit.c \xB6
- :src:base:ftbase.c \xB6
+ :builds:mac:ftbase.c \xB6
:src:base:ftbbox.c \xB6
:src:base:ftbdf.c \xB6
:src:base:ftbitmap.c \xB6
:src:base:ftdebug.c \xB6
+ :src:base:ftfstype.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftgxval.c \xB6
:src:base:ftinit.c \xB6
@@ -81,10 +81,10 @@ ObjFiles-PPC = \xB6
"{ObjDir}ftbdf.c.x" \xB6
"{ObjDir}ftbitmap.c.x" \xB6
"{ObjDir}ftdebug.c.x" \xB6
+ "{ObjDir}ftfstype.c.x" \xB6
"{ObjDir}ftglyph.c.x" \xB6
"{ObjDir}ftgxval.c.x" \xB6
"{ObjDir}ftinit.c.x" \xB6
- "{ObjDir}ftmac.c.x" \xB6
"{ObjDir}ftmm.c.x" \xB6
"{ObjDir}ftotval.c.x" \xB6
"{ObjDir}ftpfr.c.x" \xB6
@@ -129,6 +129,15 @@ LibFiles-PPC =
### Build Rules ###
+:builds:mac:ftbase.c \xC4\xC4 :src:base:ftbase.c
+ Duplicate :src:base:ftbase.c :builds:mac:ftbase.c
+
+"{ObjDir}ftbase.c.x" \xC4\xC4 :builds:mac:ftbase.c
+ {PPCC} :builds:mac:ftbase.c -o {ObjDir}ftbase.c.x \xB6
+ -i :builds:mac: \xB6
+ -i :src:base: \xB6
+ {PPCCOptions}
+
FreeType.ppc_carbon \xC4\xC4 FreeType.ppc_carbon.o
FreeType.ppc_carbon.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\xA5}
@@ -146,13 +155,13 @@ FreeType.ppc_carbon.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\x
### Required Dependencies ###
-"{ObjDir}ftmac.c.x" \xC4 :builds:mac:ftmac.c
"{ObjDir}autofit.c.x" \xC4 :src:autofit:autofit.c
-"{ObjDir}ftbase.c.x" \xC4 :src:base:ftbase.c
+# "{ObjDir}ftbase.c.x" \xC4 :builds:mac:ftbase.c
"{ObjDir}ftbbox.c.x" \xC4 :src:base:ftbbox.c
"{ObjDir}ftbdf.c.x" \xC4 :src:base:ftbdf.c
"{ObjDir}ftbitmap.c.x" \xC4 :src:base:ftbitmap.c
"{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.x" \xC4 :src:base:ftfstype.c
"{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
"{ObjDir}ftgxval.c.x" \xC4 :src:base:ftgxval.c
"{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
diff --git a/src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt b/src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt
index 5c743fd..ffa23b2 100644
--- a/src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt
+++ b/src/3rdparty/freetype/builds/mac/FreeType.ppc_classic.make.txt
@@ -31,13 +31,13 @@ PPCCOptions = \xB6
### Source Files ###
SrcFiles = \xB6
- :builds:mac:ftmac.c \xB6
:src:autofit:autofit.c \xB6
- :src:base:ftbase.c \xB6
+ :builds:mac:ftbase.c \xB6
:src:base:ftbbox.c \xB6
:src:base:ftbdf.c \xB6
:src:base:ftbitmap.c \xB6
:src:base:ftdebug.c \xB6
+ :src:base:ftfstype.c \xB6
:src:base:ftglyph.c \xB6
:src:base:ftgxval.c \xB6
:src:base:ftinit.c \xB6
@@ -81,10 +81,10 @@ ObjFiles-PPC = \xB6
"{ObjDir}ftbdf.c.x" \xB6
"{ObjDir}ftbitmap.c.x" \xB6
"{ObjDir}ftdebug.c.x" \xB6
+ "{ObjDir}ftfstype.c.x" \xB6
"{ObjDir}ftglyph.c.x" \xB6
"{ObjDir}ftgxval.c.x" \xB6
"{ObjDir}ftinit.c.x" \xB6
- "{ObjDir}ftmac.c.x" \xB6
"{ObjDir}ftmm.c.x" \xB6
"{ObjDir}ftotval.c.x" \xB6
"{ObjDir}ftpfr.c.x" \xB6
@@ -129,6 +129,15 @@ LibFiles-PPC =
### Build Rules ###
+:builds:mac:ftbase.c \xC4\xC4 :src:base:ftbase.c
+ Duplicate :src:base:ftbase.c :builds:mac:ftbase.c
+
+"{ObjDir}ftbase.c.x" \xC4\xC4 :builds:mac:ftbase.c
+ {PPCC} :builds:mac:ftbase.c -o "{ObjDir}ftbase.c.x" \xB6
+ -i :builds:mac: \xB6
+ -i :src:base: \xB6
+ {PPCCOptions}
+
FreeType.ppc_classic \xC4\xC4 FreeType.ppc_classic.o
FreeType.ppc_classic.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\xA5}
@@ -146,13 +155,13 @@ FreeType.ppc_classic.o \xC4\xC4 {ObjFiles-PPC} {LibFiles-PPC} {\xA5MondoBuild\
### Required Dependencies ###
-"{ObjDir}ftmac.c.x" \xC4 :builds:mac:ftmac.c
"{ObjDir}autofit.c.x" \xC4 :src:autofit:autofit.c
-"{ObjDir}ftbase.c.x" \xC4 :src:base:ftbase.c
+# "{ObjDir}ftbase.c.x" \xC4 :builds:mac:ftbase.c
"{ObjDir}ftbbox.c.x" \xC4 :src:base:ftbbox.c
"{ObjDir}ftbdf.c.x" \xC4 :src:base:ftbdf.c
"{ObjDir}ftbitmap.c.x" \xC4 :src:base:ftbitmap.c
"{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.x" \xC4 :src:base:ftfstype.c
"{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
"{ObjDir}ftgxval.c.x" \xC4 :src:base:ftgxval.c
"{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
diff --git a/src/3rdparty/freetype/builds/mac/README b/src/3rdparty/freetype/builds/mac/README
index edd57b1..3bedfca 100644
--- a/src/3rdparty/freetype/builds/mac/README
+++ b/src/3rdparty/freetype/builds/mac/README
@@ -61,11 +61,11 @@ environment by Metrowerks. GCC for MPW and Symantec
/Developer/Tools/SetFile of DevTool is useful to
manipulate from commandline.
- 2-2. Metrowerks CodeWarriror
- ----------------------------
+ 2-2. Metrowerks CodeWarrior
+ ---------------------------
XML project file is generated and tested by
- CodeWarriror 9.0. Older versions are not tested
+ CodeWarrior 9.0. Older versions are not tested
at all. At present, static library for ppc target
is available in the project file.
diff --git a/src/3rdparty/freetype/builds/mac/ftmac.c b/src/3rdparty/freetype/builds/mac/ftmac.c
index 6e91a8f..c974f67 100644
--- a/src/3rdparty/freetype/builds/mac/ftmac.c
+++ b/src/3rdparty/freetype/builds/mac/ftmac.c
@@ -64,7 +64,9 @@
#include <ft2build.h>
#include FT_FREETYPE_H
+#include FT_TRUETYPE_TAGS_H
#include FT_INTERNAL_STREAM_H
+#include "ftbase.h"
#if defined( __GNUC__ ) || defined( __IBMC__ )
/* This is for Mac OS X. Without redefinition, OS_INLINE */
@@ -145,9 +147,21 @@
#endif
#endif
- /* Some portable types are unavailable on legacy SDKs */
-#ifndef MAC_OS_X_VERSION_10_5
-typedef short ResourceIndex;
+ /* `configure' checks the availability of `ResourceIndex' strictly */
+ /* and sets HAVE_TYPE_RESOURCE_INDEX to 1 or 0 always. If it is */
+ /* not set (e.g., a build without `configure'), the availability */
+ /* is guessed from the SDK version. */
+#ifndef HAVE_TYPE_RESOURCE_INDEX
+#if !defined( MAC_OS_X_VERSION_10_5 ) || \
+ ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 )
+#define HAVE_TYPE_RESOURCE_INDEX 0
+#else
+#define HAVE_TYPE_RESOURCE_INDEX 1
+#endif
+#endif /* !HAVE_TYPE_RESOURCE_INDEX */
+
+#if ( HAVE_TYPE_RESOURCE_INDEX == 0 )
+typedef short ResourceIndex;
#endif
/* Set PREFER_LWFN to 1 if LWFN (Type 1) is preferred over
@@ -968,8 +982,7 @@ typedef short ResourceIndex;
for (;;)
{
- post_data = Get1Resource( FT_MAKE_TAG( 'P', 'O', 'S', 'T' ),
- res_id++ );
+ post_data = Get1Resource( TTAG_POST, res_id++ );
if ( post_data == NULL )
break; /* we are done */
@@ -1008,8 +1021,7 @@ typedef short ResourceIndex;
for (;;)
{
- post_data = Get1Resource( FT_MAKE_TAG( 'P', 'O', 'S', 'T' ),
- res_id++ );
+ post_data = Get1Resource( TTAG_POST, res_id++ );
if ( post_data == NULL )
break; /* we are done */
@@ -1061,109 +1073,6 @@ typedef short ResourceIndex;
}
- /* Finalizer for a memory stream; gets called by FT_Done_Face().
- It frees the memory it uses. */
- static void
- memory_stream_close( FT_Stream stream )
- {
- FT_Memory memory = stream->memory;
-
-
- FT_FREE( stream->base );
-
- stream->size = 0;
- stream->base = 0;
- stream->close = 0;
- }
-
-
- /* Create a new memory stream from a buffer and a size. */
- static FT_Error
- new_memory_stream( FT_Library library,
- FT_Byte* base,
- FT_ULong size,
- FT_Stream_CloseFunc close,
- FT_Stream* astream )
- {
- FT_Error error;
- FT_Memory memory;
- FT_Stream stream;
-
-
- if ( !library )
- return FT_Err_Invalid_Library_Handle;
-
- if ( !base )
- return FT_Err_Invalid_Argument;
-
- *astream = 0;
- memory = library->memory;
- if ( FT_NEW( stream ) )
- goto Exit;
-
- FT_Stream_OpenMemory( stream, base, size );
-
- stream->close = close;
-
- *astream = stream;
-
- Exit:
- return error;
- }
-
-
- /* Create a new FT_Face given a buffer and a driver name. */
- static FT_Error
- open_face_from_buffer( FT_Library library,
- FT_Byte* base,
- FT_ULong size,
- FT_Long face_index,
- char* driver_name,
- FT_Face* aface )
- {
- FT_Open_Args args;
- FT_Error error;
- FT_Stream stream;
- FT_Memory memory = library->memory;
-
-
- error = new_memory_stream( library,
- base,
- size,
- memory_stream_close,
- &stream );
- if ( error )
- {
- FT_FREE( base );
- return error;
- }
-
- args.flags = FT_OPEN_STREAM;
- args.stream = stream;
- if ( driver_name )
- {
- args.flags = args.flags | FT_OPEN_DRIVER;
- args.driver = FT_Get_Module( library, driver_name );
- }
-
- /* At this point, face_index has served its purpose; */
- /* whoever calls this function has already used it to */
- /* locate the correct font data. We should not propagate */
- /* this index to FT_Open_Face() (unless it is negative). */
-
- if ( face_index > 0 )
- face_index = 0;
-
- error = FT_Open_Face( library, &args, face_index, aface );
- if ( error == FT_Err_Ok )
- (*aface)->face_flags &= ~FT_FACE_FLAG_EXTERNAL_STREAM;
- else
- FT_Stream_Free( stream, 0 );
-
- return error;
- }
-
-
/* Create a new FT_Face from a file spec to an LWFN file. */
static FT_Error
FT_New_Face_From_LWFN( FT_Library library,
@@ -1208,10 +1117,10 @@ typedef short ResourceIndex;
size_t sfnt_size;
FT_Error error = FT_Err_Ok;
FT_Memory memory = library->memory;
- int is_cff;
+ int is_cff, is_sfnt_ps;
- sfnt = GetResource( FT_MAKE_TAG( 's', 'f', 'n', 't' ), sfnt_id );
+ sfnt = GetResource( TTAG_sfnt, sfnt_id );
if ( sfnt == NULL )
return FT_Err_Invalid_Handle;
@@ -1227,17 +1136,41 @@ typedef short ResourceIndex;
HUnlock( sfnt );
ReleaseResource( sfnt );
- is_cff = sfnt_size > 4 && sfnt_data[0] == 'O' &&
- sfnt_data[1] == 'T' &&
- sfnt_data[2] == 'T' &&
- sfnt_data[3] == 'O';
+ is_cff = sfnt_size > 4 && !ft_memcmp( sfnt_data, "OTTO", 4 );
+ is_sfnt_ps = sfnt_size > 4 && !ft_memcmp( sfnt_data, "typ1", 4 );
- return open_face_from_buffer( library,
- sfnt_data,
- sfnt_size,
- face_index,
- is_cff ? "cff" : "truetype",
- aface );
+ if ( is_sfnt_ps )
+ {
+ FT_Stream stream;
+
+
+ if ( FT_NEW( stream ) )
+ goto Try_OpenType;
+
+ FT_Stream_OpenMemory( stream, sfnt_data, sfnt_size );
+ if ( !open_face_PS_from_sfnt_stream( library,
+ stream,
+ face_index,
+ 0, NULL,
+ aface ) )
+ {
+ FT_Stream_Close( stream );
+ FT_FREE( stream );
+ FT_FREE( sfnt_data );
+ goto Exit;
+ }
+
+ FT_FREE( stream );
+ }
+ Try_OpenType:
+ error = open_face_from_buffer( library,
+ sfnt_data,
+ sfnt_size,
+ face_index,
+ is_cff ? "cff" : "truetype",
+ aface );
+ Exit:
+ return error;
}
@@ -1265,8 +1198,7 @@ typedef short ResourceIndex;
num_faces_in_res = 0;
for ( res_index = 1; ; ++res_index )
{
- fond = Get1IndResource( FT_MAKE_TAG( 'F', 'O', 'N', 'D' ),
- res_index );
+ fond = Get1IndResource( TTAG_FOND, res_index );
if ( ResError() )
break;
@@ -1305,8 +1237,7 @@ typedef short ResourceIndex;
GetResInfo( fond, &fond_id, &fond_type, fond_name );
- if ( ResError() != noErr ||
- fond_type != FT_MAKE_TAG( 'F', 'O', 'N', 'D' ) )
+ if ( ResError() != noErr || fond_type != TTAG_FOND )
return FT_Err_Invalid_File_Format;
HLock( fond );
@@ -1416,7 +1347,7 @@ typedef short ResourceIndex;
/* LWFN is a (very) specific file format, check for it explicitly */
file_type = get_file_type_from_path( pathname );
- if ( file_type == FT_MAKE_TAG( 'L', 'W', 'F', 'N' ) )
+ if ( file_type == TTAG_LWFN )
return FT_New_Face_From_LWFN( library, pathname, face_index, aface );
/* Otherwise the file type doesn't matter (there are more than */
diff --git a/src/3rdparty/freetype/builds/symbian/bld.inf b/src/3rdparty/freetype/builds/symbian/bld.inf
index e34b03c..7932dcb 100644
--- a/src/3rdparty/freetype/builds/symbian/bld.inf
+++ b/src/3rdparty/freetype/builds/symbian/bld.inf
@@ -2,7 +2,7 @@
// FreeType 2 project for the symbian platform
//
-// Copyright 2008 by
+// Copyright 2008, 2009 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
@@ -29,7 +29,7 @@ PRJ_EXPORTS
../../include/freetype/ftbdf.h freetype/ftbdf.h
../../include/freetype/ftbitmap.h freetype/ftbitmap.h
../../include/freetype/ftcache.h freetype/ftcache.h
-../../include/freetype/ftchapters.h freetype/ftchapters.h
+../../include/freetype/ftcid.h freetype/ftcid.h
../../include/freetype/fterrdef.h freetype/fterrdef.h
../../include/freetype/fterrors.h freetype/fterrors.h
../../include/freetype/ftgasp.h freetype/ftgasp.h
@@ -63,4 +63,3 @@ PRJ_EXPORTS
../../include/freetype/tttables.h freetype/tttables.h
../../include/freetype/tttags.h freetype/tttags.h
../../include/freetype/ttunpat.h freetype/ttunpat.h
-
diff --git a/src/3rdparty/freetype/builds/symbian/freetype.mmp b/src/3rdparty/freetype/builds/symbian/freetype.mmp
index 259ac87..c10f357 100644
--- a/src/3rdparty/freetype/builds/symbian/freetype.mmp
+++ b/src/3rdparty/freetype/builds/symbian/freetype.mmp
@@ -2,7 +2,7 @@
// FreeType 2 makefile for the symbian platform
//
-// Copyright 2008 by
+// Copyright 2008, 2009 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,
@@ -27,10 +27,16 @@ source ftbase.c
source ftbbox.c
source ftbdf.c
source ftbitmap.c
+source ftcid.c
+source ftfstype.c
source ftgasp.c
source ftglyph.c
+source ftgxval.c
source ftinit.c
+source ftlcdfil.c
source ftmm.c
+source ftotval.c
+source ftpatent.c
source ftpfr.c
source ftstroke.c
source ftsynth.c
diff --git a/src/3rdparty/freetype/builds/toplevel.mk b/src/3rdparty/freetype/builds/toplevel.mk
index 57b5ca5..e6a8e93 100644
--- a/src/3rdparty/freetype/builds/toplevel.mk
+++ b/src/3rdparty/freetype/builds/toplevel.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2001, 2003, 2006, 2008 by
+# Copyright 1996-2000, 2001, 2003, 2006, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -34,6 +34,16 @@
# details on host platform detection and library builds.
+# First of all, check whether we have `$(value ...)'. We do this by testing
+# for `$(eval ...)' which has been introduced in the same GNU make version.
+
+eval_available :=
+$(eval eval_available := T)
+ifneq ($(eval_available),T)
+ $(error FreeType's build system needs a Make program which supports $$(value))
+endif
+
+
.PHONY: all dist distclean modules setup
@@ -209,12 +219,12 @@ dist:
mv tmp freetype-$(version)
tar cfh - freetype-$(version) \
- | gzip -c > freetype-$(version).tar.gz
+ | gzip -9 -c > freetype-$(version).tar.gz
tar cfh - freetype-$(version) \
| bzip2 -c > freetype-$(version).tar.bz2
@# Use CR/LF for zip files.
- zip -lr ft$(winversion).zip freetype-$(version)
+ zip -lr9 ft$(winversion).zip freetype-$(version)
rm -fr freetype-$(version)
diff --git a/src/3rdparty/freetype/builds/unix/aclocal.m4 b/src/3rdparty/freetype/builds/unix/aclocal.m4
index f68c66c..36a5242 100644
--- a/src/3rdparty/freetype/builds/unix/aclocal.m4
+++ b/src/3rdparty/freetype/builds/unix/aclocal.m4
@@ -387,12 +387,12 @@ m4_define([lt_decl_dquote_varnames],
# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_varnames_tagged],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_quote(m4_if([$2], [],
- m4_quote(lt_decl_tag_varnames),
- m4_quote(m4_shift($@)))),
- m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
-m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
@@ -952,10 +952,10 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
_lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
+ darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
+ # target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
_lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
@@ -997,7 +997,11 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
_LT_TAGVAR(link_all_deplibs, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- if test "$GCC" = "yes"; then
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
output_verbose_link_cmd=echo
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
@@ -1519,7 +1523,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -1687,10 +1691,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -1706,7 +1706,7 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}]
_LT_EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
@@ -1745,7 +1745,7 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
;;
@@ -2042,6 +2042,7 @@ m4_defun([_LT_SYS_DYNAMIC_LINKER],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
@@ -2206,14 +2207,14 @@ bsdi[[45]]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
@@ -2236,7 +2237,7 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
@@ -2662,7 +2663,7 @@ tpf*)
version_type=linux
need_lib_prefix=no
need_version=no
- library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -2686,7 +2687,7 @@ variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
if test "$GCC" = yes; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-
+
if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
fi
@@ -2963,6 +2964,7 @@ _LT_DECL([], [reload_cmds], [2])dnl
# -- PORTME fill in with the dynamic library characteristics
m4_defun([_LT_CHECK_MAGIC_METHOD],
[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -3013,6 +3015,12 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3324,7 +3332,7 @@ case $host_os in
aix*)
symcode='[[BCDT]]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
@@ -3570,7 +3578,7 @@ m4_if([$1], [CXX], [
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32*)
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -3597,10 +3605,11 @@ m4_if([$1], [CXX], [
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
;;
*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
@@ -3698,12 +3707,19 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
- icpc* | ecpc* )
- # Intel C++
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@@ -3869,7 +3885,7 @@ m4_if([$1], [CXX], [
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -3885,10 +3901,11 @@ m4_if([$1], [CXX], [
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
# +Z the default
;;
*)
@@ -3938,7 +3955,7 @@ m4_if([$1], [CXX], [
fi
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
@@ -3969,11 +3986,25 @@ m4_if([$1], [CXX], [
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc* | ifort*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -4155,7 +4186,7 @@ m4_if([$1], [CXX], [
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
;;
*)
@@ -4207,7 +4238,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -4294,7 +4325,7 @@ _LT_EOF
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -4360,6 +4391,9 @@ _LT_EOF
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
@@ -4591,6 +4625,7 @@ _LT_EOF
fi
fi
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
@@ -4645,7 +4680,7 @@ _LT_EOF
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -4749,7 +4784,7 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
@@ -5530,6 +5565,7 @@ if test "$_lt_caught_CXX_error" != yes; then
fi
fi
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
@@ -5588,7 +5624,7 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -6969,6 +7005,18 @@ AC_SUBST([GREP])
])
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
@@ -7429,7 +7477,7 @@ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -7670,14 +7718,14 @@ LT_OPTION_DEFINE([LTDL_INIT], [convenience],
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 5 ltsugar.m4
+# serial 6 ltsugar.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
@@ -7733,14 +7781,14 @@ m4_define([lt_append],
# Produce a SEP delimited list of all paired combinations of elements of
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
m4_define([lt_combine],
-[m4_if([$2], [], [],
- [m4_if([$4], [], [],
- [lt_join(m4_quote(m4_default([$1], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
- [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
- [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
-])
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
@@ -7803,15 +7851,15 @@ m4_define([lt_dict_filter],
# Generated from ltversion.in.
-# serial 2976 ltversion.m4
+# serial 3012 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.2.4])
-m4_define([LT_PACKAGE_REVISION], [1.2976])
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.4'
-macro_revision='1.2976'
+[macro_version='2.2.6'
+macro_revision='1.3012'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/src/3rdparty/freetype/builds/unix/config.guess b/src/3rdparty/freetype/builds/unix/config.guess
index c7607c7..e5716ee 100755
--- a/src/3rdparty/freetype/builds/unix/config.guess
+++ b/src/3rdparty/freetype/builds/unix/config.guess
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
-timestamp='2008-04-14'
+timestamp='2009-02-03'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -331,7 +331,20 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
@@ -796,7 +809,7 @@ EOF
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
- EM64T | authenticamd)
+ EM64T | authenticamd | genuineintel)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
@@ -935,6 +948,9 @@ EOF
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -1138,6 +1154,16 @@ EOF
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
@@ -1324,6 +1350,9 @@ EOF
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/src/3rdparty/freetype/builds/unix/config.sub b/src/3rdparty/freetype/builds/unix/config.sub
index 63bfff0..d546a94 100755
--- a/src/3rdparty/freetype/builds/unix/config.sub
+++ b/src/3rdparty/freetype/builds/unix/config.sub
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
-timestamp='2008-04-14'
+timestamp='2009-02-03'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -122,6 +122,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -249,6 +250,7 @@ case $basic_machine in
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
+ | lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
@@ -279,7 +281,7 @@ case $basic_machine in
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| score \
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -288,7 +290,7 @@ case $basic_machine in
| v850 | v850e \
| we32k \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
- | z8k)
+ | z8k | z80)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
@@ -331,6 +333,7 @@ case $basic_machine in
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
+ | lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
@@ -362,7 +365,7 @@ case $basic_machine in
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
@@ -375,7 +378,7 @@ case $basic_machine in
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
- | z8k-*)
+ | z8k-* | z80-*)
;;
# Recognize the basic CPU types without company name, with glob match.
xtensa*)
@@ -443,6 +446,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-bsd
;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -463,6 +470,10 @@ case $basic_machine in
basic_machine=c90-cray
os=-unicos
;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
convex-c1)
basic_machine=c1-convex
os=-bsd
@@ -1136,6 +1147,10 @@ case $basic_machine in
basic_machine=z8k-unknown
os=-sim
;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
none)
basic_machine=none-none
os=-none
@@ -1174,7 +1189,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1246,8 +1261,9 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1256,7 +1272,7 @@ case $os in
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
diff --git a/src/3rdparty/freetype/builds/unix/configure b/src/3rdparty/freetype/builds/unix/configure
index a7efaf5..97849a4 100755
--- a/src/3rdparty/freetype/builds/unix/configure
+++ b/src/3rdparty/freetype/builds/unix/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for FreeType 2.3.6.
+# Generated by GNU Autoconf 2.63 for FreeType 2.3.9.
#
# Report bugs to <freetype@nongnu.org>.
#
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='FreeType'
PACKAGE_TARNAME='freetype'
-PACKAGE_VERSION='2.3.6'
-PACKAGE_STRING='FreeType 2.3.6'
+PACKAGE_VERSION='2.3.9'
+PACKAGE_STRING='FreeType 2.3.9'
PACKAGE_BUGREPORT='freetype@nongnu.org'
ac_unique_file="ftconfig.in"
@@ -786,108 +786,106 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-version_info
-ft_version
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-target
-target_cpu
-target_vendor
-target_os
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-CPP
-CC_BUILD
-EXEEXT_BUILD
-XX_CFLAGS
-XX_ANSIFLAGS
-RMF
-RMDIR
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-GREP
-EGREP
-FTSYS_SRC
-LIBZ
-FT2_EXTRA_LIBS
-SYSTEM_ZLIB
-AS
-DLLTOOL
-OBJDUMP
-LIBTOOL
-SED
-FGREP
-LD
-DUMPBIN
-ac_ct_DUMPBIN
-NM
-LN_S
-AR
-STRIP
-RANLIB
-lt_ECHO
-DSYMUTIL
-NMEDIT
-LIPO
-OTOOL
-OTOOL64
-hardcode_libdir_flag_spec
-wl
-build_libtool_libs
+ac_subst_vars='LTLIBOBJS
LIBOBJS
-LTLIBOBJS'
+build_libtool_libs
+wl
+hardcode_libdir_flag_spec
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+STRIP
+AR
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+OBJDUMP
+DLLTOOL
+AS
+SYSTEM_ZLIB
+FT2_EXTRA_LIBS
+LIBZ
+ftmac_c
+FTSYS_SRC
+EGREP
+GREP
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+RMDIR
+RMF
+XX_ANSIFLAGS
+XX_CFLAGS
+EXEEXT_BUILD
+CC_BUILD
+CPP
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+ft_version
+version_info
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
+enable_biarch_config
with_zlib
with_old_mac_fonts
with_fsspec
@@ -1333,9 +1331,9 @@ fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
- fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
{ (exit 1); exit 1; }; } ;;
- *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
@@ -1388,7 +1386,7 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { $as_echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
{ $as_echo "$as_me: error: pwd does not report name of working directory" >&2
@@ -1463,7 +1461,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures FreeType 2.3.6 to adapt to many kinds of systems.
+\`configure' configures FreeType 2.3.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1523,13 +1521,12 @@ _ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of FreeType 2.3.6:";;
+ short | recursive ) echo "Configuration of FreeType 2.3.9:";;
esac
cat <<\_ACEOF
@@ -1537,6 +1534,8 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-biarch-config install biarch ftconfig.h to support multiple
+ architectures by single file
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
@@ -1638,8 +1637,8 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-FreeType configure 2.3.6
-generated by GNU Autoconf 2.62
+FreeType configure 2.3.9
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -1652,8 +1651,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by FreeType $as_me 2.3.6, which was
-generated by GNU Autoconf 2.62. Invocation command line was
+It was created by FreeType $as_me 2.3.9, which was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1776,8 +1775,8 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
@@ -1980,6 +1979,8 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi
done
if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
{ { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
@@ -2023,7 +2024,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Don't forget to update docs/VERSION.DLL!
-version_info='9:17:3'
+version_info='9:20:3'
ft_version=`echo $version_info | tr : .`
@@ -2145,49 +2146,6 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-{ $as_echo "$as_me:$LINENO: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if test "${ac_cv_target+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
-$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
-$as_echo "$as_me: error: invalid value of canonical target" >&2;}
- { (exit 1); exit 1; }; };;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
# checks for programs
@@ -2279,12 +2237,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2483,12 +2437,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
@@ -2498,11 +2448,13 @@ fi
fi
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
# Provide some information about the compiler.
$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
@@ -2632,11 +2584,13 @@ if test -z "$ac_file"; then
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
fi
ac_exeext=$ac_cv_exeext
@@ -2664,13 +2618,15 @@ $as_echo "$ac_try_echo") >&5
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
- { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
fi
fi
@@ -2713,11 +2669,13 @@ for ac_file in conftest.exe conftest conftest.*; do
esac
done
else
- { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest$ac_cv_exeext
@@ -2771,11 +2729,13 @@ else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
@@ -3344,11 +3304,13 @@ rm -f conftest.err conftest.$ac_ext
if $ac_preproc_ok; then
:
else
- { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
+ { (exit 1); exit 1; }; }; }
fi
ac_ext=c
@@ -4108,8 +4070,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4260,8 +4223,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
$as_echo "$ac_res" >&6; }
fi
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4632,11 +4596,13 @@ done
case $ac_lo in
?*) ac_cv_sizeof_int=$ac_lo;;
'') if test "$ac_cv_type_int" = yes; then
- { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (int)
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
else
ac_cv_sizeof_int=0
fi ;;
@@ -4712,11 +4678,13 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
if test "$ac_cv_type_int" = yes; then
- { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (int)
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
else
ac_cv_sizeof_int=0
fi
@@ -4987,11 +4955,13 @@ done
case $ac_lo in
?*) ac_cv_sizeof_long=$ac_lo;;
'') if test "$ac_cv_type_long" = yes; then
- { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (long)
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
else
ac_cv_sizeof_long=0
fi ;;
@@ -5067,11 +5037,13 @@ sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
if test "$ac_cv_type_long" = yes; then
- { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (long)
See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
+ { (exit 77); exit 77; }; }; }
else
ac_cv_sizeof_long=0
fi
@@ -5093,6 +5065,80 @@ _ACEOF
+# check whether cpp computation of size of int and long in ftconfig.in works
+
+{ $as_echo "$as_me:$LINENO: checking cpp computation of bit length in ftconfig.in works" >&5
+$as_echo_n "checking cpp computation of bit length in ftconfig.in works... " >&6; }
+orig_CPPFLAGS="${CPPFLAGS}"
+CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
+ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
+touch ft2build.h ftoption.h ftstdlib.h
+
+cat > conftest.c <<\_ACEOF
+#include <limits.h>
+#define FT_CONFIG_OPTIONS_H "ftoption.h"
+#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
+#define FT_UINT_MAX UINT_MAX
+#define FT_ULONG_MAX ULONG_MAX
+#include "ftconfig.in"
+_ACEOF
+echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
+echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
+echo >> conftest.c "#endif"
+echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
+echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
+echo >> conftest.c "#endif"
+
+${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
+eval `cat conftest.sh`
+${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
+
+if test x != "x${ac_cpp_ft_sizeof_int}" \
+ -a x != x"${ac_cpp_ft_sizeof_long}"; then
+ unset ft_use_autoconf_sizeof_types
+else
+ ft_use_autoconf_sizeof_types=yes
+fi
+
+# Check whether --enable-biarch-config was given.
+if test "${enable_biarch_config+set}" = set; then
+ enableval=$enable_biarch_config;
+fi
+
+
+case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
+ :yes:yes:)
+ { $as_echo "$as_me:$LINENO: result: broken but use it" >&5
+$as_echo "broken but use it" >&6; }
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ ::no:)
+ { $as_echo "$as_me:$LINENO: result: works but ignore it" >&5
+$as_echo "works but ignore it" >&6; }
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+ ::yes: | :::)
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+esac
+
+if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
+ cat >>confdefs.h <<\_ACEOF
+#define FT_USE_AUTOCONF_SIZEOF_TYPES 1
+_ACEOF
+
+fi
+
+CPPFLAGS="${orig_CPPFLAGS}"
+
+
# checks for library functions
# Here we check whether we can use our mmap file component.
@@ -5238,8 +5284,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
$as_echo "$ac_res" >&6; }
fi
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -5339,8 +5386,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -5603,7 +5651,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_munmap" >&5
$as_echo "$ac_cv_have_decl_munmap" >&6; }
-if test $ac_cv_have_decl_munmap = yes; then
+if test "x$ac_cv_have_decl_munmap" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_MUNMAP 1
@@ -5768,8 +5816,9 @@ ac_res=`eval 'as_val=${'$as_ac_var'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -5779,7 +5828,7 @@ done
-# Check for system zlib
+# check for system zlib
# don't quote AS_HELP_STRING!
@@ -5854,7 +5903,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzsetparams" >&5
$as_echo "$ac_cv_lib_z_gzsetparams" >&6; }
-if test $ac_cv_lib_z_gzsetparams = yes; then
+if test "x$ac_cv_lib_z_gzsetparams" = x""yes; then
if test "${ac_cv_header_zlib_h+set}" = set; then
{ $as_echo "$as_me:$LINENO: checking for zlib.h" >&5
$as_echo_n "checking for zlib.h... " >&6; }
@@ -5987,7 +6036,7 @@ fi
$as_echo "$ac_cv_header_zlib_h" >&6; }
fi
-if test $ac_cv_header_zlib_h = yes; then
+if test "x$ac_cv_header_zlib_h" = x""yes; then
LIBZ='-lz'
fi
@@ -6002,8 +6051,43 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
fi
+# check Apple's `-isysroot' option and duplicate it to LDFLAGS if required --
+# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
+
+{ $as_echo "$as_me:$LINENO: checking whether CFLAGS includes -isysroot option" >&5
+$as_echo_n "checking whether CFLAGS includes -isysroot option... " >&6; }
+case "$CFLAGS" in
+*sysroot* )
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ { $as_echo "$as_me:$LINENO: checking whether LDFLAGS includes -isysroot option" >&5
+$as_echo_n "checking whether LDFLAGS includes -isysroot option... " >&6; }
+ case "$LDFLAGS" in
+ *sysroot* )
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ ;;
+ *)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
+ { $as_echo "$as_me:$LINENO: WARNING: -isysroot ${isysroot_dir} is added to LDFLAGS" >&5
+$as_echo "$as_me: WARNING: -isysroot ${isysroot_dir} is added to LDFLAGS" >&2;}
+ LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
+ ;;
+ esac
+ ;;
+*)
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+esac
+
+
# Whether to use Mac OS resource-based fonts.
+ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
+
# don't quote AS_HELP_STRING!
# Check whether --with-old-mac-fonts was given.
@@ -6027,7 +6111,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6073,6 +6157,7 @@ $as_echo "$ac_try_echo") >&5
}; then
{ $as_echo "$as_me:$LINENO: result: ok" >&5
$as_echo "ok" >&6; }
+ ftmac_c='ftmac.c'
{ $as_echo "$as_me:$LINENO: checking OS_INLINE macro is ANSI compatible" >&5
$as_echo_n "checking OS_INLINE macro is ANSI compatible... " >&6; }
orig_CFLAGS="$CFLAGS"
@@ -6087,7 +6172,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6146,12 +6231,84 @@ $as_echo "no, ANSI incompatible" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ { $as_echo "$as_me:$LINENO: checking type ResourceIndex" >&5
+$as_echo_n "checking type ResourceIndex... " >&6; }
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+
+ /* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+# include <Resources.h>
+#endif
+
+
+int
+main ()
+{
+
+
+ ResourceIndex i = 0;
+ return i;
+
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ $as_echo "$as_me:$LINENO: result: not found" >&5
$as_echo "not found" >&6; }
+ FT2_EXTRA_LIBS=""
LDFLAGS="${orig_LDFLAGS}"
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
fi
@@ -6160,7 +6317,7 @@ rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
else
- case x$target_os in
+ case x$host_os in
xdarwin*)
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
;;
@@ -6192,7 +6349,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6293,7 +6450,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6405,7 +6562,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6496,7 +6653,7 @@ cat >>conftest.$ac_ext <<_ACEOF
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -6596,7 +6753,13 @@ cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <Carbon/Carbon.h>
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
int
@@ -6681,6 +6844,7 @@ esac
+
case `pwd` in
*\ * | *\ *)
{ $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
@@ -6689,8 +6853,8 @@ esac
-macro_version='2.2.4'
-macro_revision='1.2976'
+macro_version='2.2.6'
+macro_revision='1.3012'
@@ -7139,12 +7303,8 @@ done
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DUMPBIN=$ac_ct_DUMPBIN
@@ -7170,13 +7330,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:7173: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:7333: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:7176: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:7336: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:7179: output\"" >&5)
+ (eval echo "\"\$as_me:7339: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -7222,7 +7382,7 @@ else
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -7423,6 +7583,104 @@ esac
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
$as_echo_n "checking how to recognize dependent libraries... " >&6; }
@@ -7477,6 +7735,12 @@ mingw* | pw32*)
fi
;;
+cegcc)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -7713,12 +7977,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AR=$ac_ct_AR
@@ -7822,12 +8082,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
STRIP=$ac_ct_STRIP
@@ -7925,12 +8181,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
@@ -8027,7 +8279,7 @@ case $host_os in
aix*)
symcode='[BCDT]'
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
symcode='[ABCDGISTW]'
;;
hpux*)
@@ -8286,7 +8538,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 8289 "configure"' > conftest.$ac_ext
+ echo '#line 8541 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -8562,12 +8814,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DSYMUTIL=$ac_ct_DSYMUTIL
@@ -8658,12 +8906,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
NMEDIT=$ac_ct_NMEDIT
@@ -8754,12 +8998,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
LIPO=$ac_ct_LIPO
@@ -8850,12 +9090,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL=$ac_ct_OTOOL
@@ -8946,12 +9182,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OTOOL64=$ac_ct_OTOOL64
@@ -9162,8 +9394,9 @@ ac_res=`eval 'as_val=${'$as_ac_Header'}
$as_echo "$as_val"'`
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -9178,7 +9411,7 @@ done
enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
set dummy ${ac_tool_prefix}as; ac_word=$2
@@ -9261,12 +9494,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
AS=$ac_ct_AS
@@ -9357,12 +9586,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
@@ -9453,12 +9678,8 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
OBJDUMP=$ac_ct_OBJDUMP
@@ -9980,11 +10201,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9983: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10204: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9987: \$? = $ac_status" >&5
+ echo "$as_me:10208: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -10052,7 +10273,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -10067,10 +10288,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
;;
hpux*)
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
case $host_cpu in
- hppa*64*|ia64*)
+ hppa*64*)
# +Z the default
;;
*)
@@ -10120,7 +10342,7 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
fi
;;
- mingw* | cygwin* | pw32* | os2*)
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
@@ -10150,11 +10372,25 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
linux* | k*bsd*-gnu)
case $cc_basename in
- icc* | ecc* | ifort*)
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
lt_prog_compiler_static='-static'
;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -10304,11 +10540,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10307: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10543: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10311: \$? = $ac_status" >&5
+ echo "$as_me:10547: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -10409,11 +10645,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10412: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10648: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10416: \$? = $ac_status" >&5
+ echo "$as_me:10652: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10464,11 +10700,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10467: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10703: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10471: \$? = $ac_status" >&5
+ echo "$as_me:10707: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10568,7 +10804,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
@@ -10655,7 +10891,7 @@ _LT_EOF
fi
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
@@ -10721,6 +10957,9 @@ _LT_EOF
tmp_addflag=' -i_dynamic -nofor_main' ;;
ifc* | ifort*) # Intel Fortran compiler
tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
@@ -10952,6 +11191,7 @@ _LT_EOF
fi
fi
+ export_dynamic_flag_spec='${wl}-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
@@ -11126,7 +11366,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
export_dynamic_flag_spec=-rdynamic
;;
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -11157,7 +11397,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
whole_archive_flag_spec=''
link_all_deplibs=yes
allow_undefined_flag="$_lt_dar_allow_undefined"
- if test "$GCC" = "yes"; then
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
output_verbose_link_cmd=echo
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
@@ -11249,7 +11493,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
@@ -11991,14 +12235,14 @@ bsdi[45]*)
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32*)
+cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
shrext_cmds=".dll"
need_version=no
need_lib_prefix=no
case $GCC,$host_os in
- yes,cygwin* | yes,mingw* | yes,pw32*)
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
@@ -12021,7 +12265,7 @@ cygwin* | mingw* | pw32*)
soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
;;
- mingw*)
+ mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
@@ -12494,7 +12738,7 @@ tpf*)
version_type=linux
need_lib_prefix=no
need_version=no
- library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -12671,7 +12915,7 @@ else
lt_cv_dlopen_self=yes
;;
- mingw* | pw32*)
+ mingw* | pw32* | cegcc*)
lt_cv_dlopen="LoadLibrary"
lt_cv_dlopen_libs=
;;
@@ -12748,7 +12992,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
@@ -12846,7 +13090,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
$as_echo "$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
+if test "x$ac_cv_func_shl_load" = x""yes; then
lt_cv_dlopen="shl_load"
else
{ $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
@@ -12914,7 +13158,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then
lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
else
{ $as_echo "$as_me:$LINENO: checking for dlopen" >&5
@@ -13002,7 +13246,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
$as_echo "$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
+if test "x$ac_cv_func_dlopen" = x""yes; then
lt_cv_dlopen="dlopen"
else
{ $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
@@ -13070,7 +13314,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
{ $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
@@ -13138,7 +13382,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
{ $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
@@ -13206,7 +13450,7 @@ LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then
lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
fi
@@ -13256,7 +13500,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13259 "configure"
+#line 13503 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13297,10 +13541,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -13316,7 +13556,7 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
@@ -13356,7 +13596,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13359 "configure"
+#line 13599 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13397,10 +13637,6 @@ else
# endif
#endif
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
void fnord() { int i=42;}
int main ()
{
@@ -13416,7 +13652,7 @@ int main ()
else
puts (dlerror ());
- exit (status);
+ return status;
}
_LT_EOF
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
@@ -13638,8 +13874,8 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
@@ -14030,8 +14266,8 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by FreeType $as_me 2.3.6, which was
-generated by GNU Autoconf 2.62. Invocation command line was
+This file was extended by FreeType $as_me 2.3.9, which was
+generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -14044,6 +14280,15 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
@@ -14057,16 +14302,17 @@ ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.
-Usage: $0 [OPTIONS] [FILE]...
+Usage: $0 [OPTION]... [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
+ -q, --quiet, --silent
+ do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
+ --file=FILE[:TEMPLATE]
instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
+ --header=FILE[:TEMPLATE]
instantiate the configuration header FILE
Configuration files:
@@ -14083,8 +14329,8 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-FreeType config.status 2.3.6
-configured by $0, generated by GNU Autoconf 2.62,
+FreeType config.status 2.3.9
+configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
Copyright (C) 2008 Free Software Foundation, Inc.
@@ -14546,7 +14792,8 @@ for ac_last_try in false false false false false :; do
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
{ (exit 1); exit 1; }; }
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
{ { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -14751,9 +14998,9 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
}
split(mac1, mac2, "(") #)
macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
- prefix = substr(line, 1, index(line, defundef) - 1)
print prefix "define", macro P[macro] D[macro]
next
} else {
@@ -14761,7 +15008,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
- print "/*", line, "*/"
+ print "/*", prefix defundef, macro, "*/"
next
}
}
@@ -14785,8 +15032,8 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
{ (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
@@ -15759,8 +16006,8 @@ if test "$no_create" != yes; then
$ac_cs_success || { (exit 1); exit 1; }
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
diff --git a/src/3rdparty/freetype/builds/unix/configure.ac b/src/3rdparty/freetype/builds/unix/configure.ac
index ca8f92d..26f40dd 100644
--- a/src/3rdparty/freetype/builds/unix/configure.ac
+++ b/src/3rdparty/freetype/builds/unix/configure.ac
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -11,13 +11,13 @@
# indicate that you have read the license and understand and accept it
# fully.
-AC_INIT([FreeType], [2.3.6], [freetype@nongnu.org], [freetype])
+AC_INIT([FreeType], [2.3.9], [freetype@nongnu.org], [freetype])
AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='9:17:3'
+version_info='9:20:3'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -25,9 +25,7 @@ AC_SUBST([ft_version])
# checks for system type
-AC_CANONICAL_BUILD
AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
# checks for programs
@@ -126,6 +124,70 @@ AC_CHECK_SIZEOF([int])
AC_CHECK_SIZEOF([long])
+# check whether cpp computation of size of int and long in ftconfig.in works
+
+AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
+orig_CPPFLAGS="${CPPFLAGS}"
+CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
+ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
+touch ft2build.h ftoption.h ftstdlib.h
+
+cat > conftest.c <<\_ACEOF
+#include <limits.h>
+#define FT_CONFIG_OPTIONS_H "ftoption.h"
+#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
+#define FT_UINT_MAX UINT_MAX
+#define FT_ULONG_MAX ULONG_MAX
+#include "ftconfig.in"
+_ACEOF
+echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
+echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
+echo >> conftest.c "#endif"
+echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
+echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
+echo >> conftest.c "#endif"
+
+${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
+eval `cat conftest.sh`
+${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
+
+if test x != "x${ac_cpp_ft_sizeof_int}" \
+ -a x != x"${ac_cpp_ft_sizeof_long}"; then
+ unset ft_use_autoconf_sizeof_types
+else
+ ft_use_autoconf_sizeof_types=yes
+fi
+
+AC_ARG_ENABLE(biarch-config,
+[ --enable-biarch-config install biarch ftconfig.h to support multiple
+ architectures by single file], [], [])
+
+case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
+ :yes:yes:)
+ AC_MSG_RESULT([broken but use it])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ ::no:)
+ AC_MSG_RESULT([works but ignore it])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+ ::yes: | :::)
+ AC_MSG_RESULT([yes])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+esac
+
+if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
+ AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
+fi
+
+CPPFLAGS="${orig_CPPFLAGS}"
+
+
# checks for library functions
# Here we check whether we can use our mmap file component.
@@ -155,7 +217,7 @@ AC_SUBST([FTSYS_SRC])
AC_CHECK_FUNCS([memcpy memmove])
-# Check for system zlib
+# check for system zlib
# don't quote AS_HELP_STRING!
AC_ARG_WITH([zlib],
@@ -171,8 +233,36 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
fi
+# check Apple's `-isysroot' option and duplicate it to LDFLAGS if required --
+# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
+
+AC_MSG_CHECKING([whether CFLAGS includes -isysroot option])
+case "$CFLAGS" in
+*sysroot* )
+ AC_MSG_RESULT([yes])
+ AC_MSG_CHECKING([whether LDFLAGS includes -isysroot option])
+ case "$LDFLAGS" in
+ *sysroot* )
+ AC_MSG_RESULT([yes])
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
+ AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
+ LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
+ ;;
+ esac
+ ;;
+*)
+ AC_MSG_RESULT([no])
+ ;;
+esac
+
+
# Whether to use Mac OS resource-based fonts.
+ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
+
# don't quote AS_HELP_STRING!
AC_ARG_WITH([old-mac-fonts],
AS_HELP_STRING([--with-old-mac-fonts],
@@ -186,7 +276,7 @@ if test x$with_old_mac_fonts = xyes; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -203,6 +293,7 @@ if test x$with_old_mac_fonts = xyes; then
])],
[AC_MSG_RESULT([ok])
+ ftmac_c='ftmac.c'
AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
orig_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
@@ -210,7 +301,7 @@ if test x$with_old_mac_fonts = xyes; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -234,14 +325,45 @@ if test x$with_old_mac_fonts = xyes; then
],
[AC_MSG_RESULT([no, ANSI incompatible])
CFLAGS="$orig_CFLAGS"
+ ])
+ AC_MSG_CHECKING([type ResourceIndex])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+# include <Resources.h>
+#endif
+
+ ],
+ [
+
+ ResourceIndex i = 0;
+ return i;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
+ ],
+ [AC_MSG_RESULT([no])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
])],
[AC_MSG_RESULT([not found])
+ FT2_EXTRA_LIBS=""
LDFLAGS="${orig_LDFLAGS}"
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
else
- case x$target_os in
+ case x$host_os in
xdarwin*)
- dnl AC_MSG_WARN([target system is MacOS but configured to build without Carbon])
+ dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
;;
*) ;;
@@ -262,7 +384,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -309,7 +431,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -372,7 +494,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -414,7 +536,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -465,7 +587,13 @@ elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
-#include <Carbon/Carbon.h>
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
],
[
@@ -499,6 +627,7 @@ case "$CFLAGS" in
esac
+AC_SUBST([ftmac_c])
AC_SUBST([LIBZ])
AC_SUBST([CFLAGS])
AC_SUBST([LDFLAGS])
diff --git a/src/3rdparty/freetype/builds/unix/configure.raw b/src/3rdparty/freetype/builds/unix/configure.raw
index 26a63c7..38c5241 100644
--- a/src/3rdparty/freetype/builds/unix/configure.raw
+++ b/src/3rdparty/freetype/builds/unix/configure.raw
@@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in])
# Don't forget to update docs/VERSION.DLL!
-version_info='9:17:3'
+version_info='9:20:3'
AC_SUBST([version_info])
ft_version=`echo $version_info | tr : .`
AC_SUBST([ft_version])
@@ -25,9 +25,7 @@ AC_SUBST([ft_version])
# checks for system type
-AC_CANONICAL_BUILD
AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
# checks for programs
@@ -126,6 +124,70 @@ AC_CHECK_SIZEOF([int])
AC_CHECK_SIZEOF([long])
+# check whether cpp computation of size of int and long in ftconfig.in works
+
+AC_MSG_CHECKING([cpp computation of bit length in ftconfig.in works])
+orig_CPPFLAGS="${CPPFLAGS}"
+CPPFLAGS="-I${srcdir} -I. ${CPPFLAGS}"
+ac_clean_files="ft2build.h ftoption.h ftstdlib.h"
+touch ft2build.h ftoption.h ftstdlib.h
+
+cat > conftest.c <<\_ACEOF
+#include <limits.h>
+#define FT_CONFIG_OPTIONS_H "ftoption.h"
+#define FT_CONFIG_STANDARD_LIBRARY_H "ftstdlib.h"
+#define FT_UINT_MAX UINT_MAX
+#define FT_ULONG_MAX ULONG_MAX
+#include "ftconfig.in"
+_ACEOF
+echo >> conftest.c "#if FT_SIZEOF_INT == "${ac_cv_sizeof_int}
+echo >> conftest.c "ac_cpp_ft_sizeof_int="${ac_cv_sizeof_int}
+echo >> conftest.c "#endif"
+echo >> conftest.c "#if FT_SIZEOF_LONG == "${ac_cv_sizeof_long}
+echo >> conftest.c "ac_cpp_ft_sizeof_long="${ac_cv_sizeof_long}
+echo >> conftest.c "#endif"
+
+${CPP} ${CPPFLAGS} conftest.c | ${GREP} ac_cpp_ft > conftest.sh
+eval `cat conftest.sh`
+${RMF} conftest.c conftest.sh confft2build.h ftoption.h ftstdlib.h
+
+if test x != "x${ac_cpp_ft_sizeof_int}" \
+ -a x != x"${ac_cpp_ft_sizeof_long}"; then
+ unset ft_use_autoconf_sizeof_types
+else
+ ft_use_autoconf_sizeof_types=yes
+fi
+
+AC_ARG_ENABLE(biarch-config,
+[ --enable-biarch-config install biarch ftconfig.h to support multiple
+ architectures by single file], [], [])
+
+case :${ft_use_autoconf_sizeof_types}:${enable_biarch_config}: in
+ :yes:yes:)
+ AC_MSG_RESULT([broken but use it])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ ::no:)
+ AC_MSG_RESULT([works but ignore it])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+ ::yes: | :::)
+ AC_MSG_RESULT([yes])
+ unset ft_use_autoconf_sizeof_types
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ft_use_autoconf_sizeof_types=yes
+ ;;
+esac
+
+if test x"${ft_use_autoconf_sizeof_types}" = xyes; then
+ AC_DEFINE([FT_USE_AUTOCONF_SIZEOF_TYPES])
+fi
+
+CPPFLAGS="${orig_CPPFLAGS}"
+
+
# checks for library functions
# Here we check whether we can use our mmap file component.
@@ -155,7 +217,7 @@ AC_SUBST([FTSYS_SRC])
AC_CHECK_FUNCS([memcpy memmove])
-# Check for system zlib
+# check for system zlib
# don't quote AS_HELP_STRING!
AC_ARG_WITH([zlib],
@@ -171,8 +233,36 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
fi
+# check Apple's `-isysroot' option and duplicate it to LDFLAGS if required --
+# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
+
+AC_MSG_CHECKING([whether CFLAGS includes -isysroot option])
+case "$CFLAGS" in
+*sysroot* )
+ AC_MSG_RESULT([yes])
+ AC_MSG_CHECKING([whether LDFLAGS includes -isysroot option])
+ case "$LDFLAGS" in
+ *sysroot* )
+ AC_MSG_RESULT([yes])
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
+ AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
+ LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
+ ;;
+ esac
+ ;;
+*)
+ AC_MSG_RESULT([no])
+ ;;
+esac
+
+
# Whether to use Mac OS resource-based fonts.
+ftmac_c="" # src/base/ftmac.c should not be included in makefiles by default
+
# don't quote AS_HELP_STRING!
AC_ARG_WITH([old-mac-fonts],
AS_HELP_STRING([--with-old-mac-fonts],
@@ -186,7 +276,7 @@ if test x$with_old_mac_fonts = xyes; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -203,6 +293,7 @@ if test x$with_old_mac_fonts = xyes; then
])],
[AC_MSG_RESULT([ok])
+ ftmac_c='ftmac.c'
AC_MSG_CHECKING([OS_INLINE macro is ANSI compatible])
orig_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
@@ -210,7 +301,7 @@ if test x$with_old_mac_fonts = xyes; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -234,14 +325,45 @@ if test x$with_old_mac_fonts = xyes; then
],
[AC_MSG_RESULT([no, ANSI incompatible])
CFLAGS="$orig_CFLAGS"
+ ])
+ AC_MSG_CHECKING([type ResourceIndex])
+ orig_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $XX_CFLAGS $XX_ANSIFLAGS"
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([
+
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+# include <Resources.h>
+#endif
+
+ ],
+ [
+
+ ResourceIndex i = 0;
+ return i;
+
+ ])],
+ [AC_MSG_RESULT([ok])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=1"
+ ],
+ [AC_MSG_RESULT([no])
+ CFLAGS="$orig_CFLAGS"
+ CFLAGS="$CFLAGS -DHAVE_TYPE_RESOURCE_INDEX=0"
])],
[AC_MSG_RESULT([not found])
+ FT2_EXTRA_LIBS=""
LDFLAGS="${orig_LDFLAGS}"
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"])
else
- case x$target_os in
+ case x$host_os in
xdarwin*)
- dnl AC_MSG_WARN([target system is MacOS but configured to build without Carbon])
+ dnl AC_MSG_WARN([host system is MacOS but configured to build without Carbon])
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
;;
*) ;;
@@ -262,7 +384,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsspec != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -309,7 +431,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -372,7 +494,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -414,7 +536,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_carbon != x; then
AC_LANG_PROGRAM([
#if defined(__GNUC__) && defined(__APPLE_CC__)
-# include <Carbon/Carbon.h>
+# include <CoreServices/CoreServices.h>
# include <ApplicationServices/ApplicationServices.h>
#else
# include <ConditionalMacros.h>
@@ -465,7 +587,13 @@ elif test x$with_old_mac_fonts = xyes -a x$with_ats != x ; then
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
-#include <Carbon/Carbon.h>
+#if defined(__GNUC__) && defined(__APPLE_CC__)
+# include <CoreServices/CoreServices.h>
+# include <ApplicationServices/ApplicationServices.h>
+#else
+# include <ConditionalMacros.h>
+# include <Files.h>
+#endif
],
[
@@ -499,6 +627,7 @@ case "$CFLAGS" in
esac
+AC_SUBST([ftmac_c])
AC_SUBST([LIBZ])
AC_SUBST([CFLAGS])
AC_SUBST([LDFLAGS])
diff --git a/src/3rdparty/freetype/builds/unix/freetype-config.in b/src/3rdparty/freetype/builds/unix/freetype-config.in
index a343522..9606d31 100644
--- a/src/3rdparty/freetype/builds/unix/freetype-config.in
+++ b/src/3rdparty/freetype/builds/unix/freetype-config.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008 by
+# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -76,17 +76,7 @@ while test $# -gt 0 ; do
exit 0
;;
--ftversion)
- major=`grep define @prefix@/include/freetype2/freetype/freetype.h \
- | grep FREETYPE_MAJOR \
- | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
- minor=`grep define @prefix@/include/freetype2/freetype/freetype.h \
- | grep FREETYPE_MINOR \
- | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
- patch=`grep define @prefix@/include/freetype2/freetype/freetype.h \
- | grep FREETYPE_PATCH \
- | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
- echo $major.$minor.$patch
- exit 0
+ echo_ft_version=yes
;;
--cflags)
echo_cflags=yes
@@ -127,6 +117,19 @@ else
fi
fi
+if test "$echo_ft_version" = "yes" ; then
+ major=`grep define $includedir/freetype2/freetype/freetype.h \
+ | grep FREETYPE_MAJOR \
+ | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
+ minor=`grep define $includedir/freetype2/freetype/freetype.h \
+ | grep FREETYPE_MINOR \
+ | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
+ patch=`grep define $includedir/freetype2/freetype/freetype.h \
+ | grep FREETYPE_PATCH \
+ | sed 's/.*[ ]\([0-9][0-9]*\).*/\1/'`
+ echo $major.$minor.$patch
+fi
+
if test "$echo_cflags" = "yes" ; then
cflags="-I$includedir/freetype2"
if test "$includedir" != "/usr/include" ; then
diff --git a/src/3rdparty/freetype/builds/unix/freetype2.in b/src/3rdparty/freetype/builds/unix/freetype2.in
index 0d7aefa..7e948f4 100644
--- a/src/3rdparty/freetype/builds/unix/freetype2.in
+++ b/src/3rdparty/freetype/builds/unix/freetype2.in
@@ -7,5 +7,6 @@ Name: FreeType 2
Description: A free, high-quality, and portable font engine.
Version: @ft_version@
Requires:
-Libs: -L${libdir} -lfreetype @LIBZ@ @FT2_EXTRA_LIBS@
+Libs: -L${libdir} -lfreetype
+Libs.private: @LIBZ@ @FT2_EXTRA_LIBS@
Cflags: -I${includedir}/freetype2 -I${includedir}
diff --git a/src/3rdparty/freetype/builds/unix/ftconfig.in b/src/3rdparty/freetype/builds/unix/ftconfig.in
index 1a96264..0adfdcf 100644
--- a/src/3rdparty/freetype/builds/unix/ftconfig.in
+++ b/src/3rdparty/freetype/builds/unix/ftconfig.in
@@ -4,7 +4,7 @@
/* */
/* UNIX-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -59,15 +59,63 @@ FT_BEGIN_HEADER
#undef HAVE_UNISTD_H
#undef HAVE_FCNTL_H
+#undef HAVE_STDINT_H
+
+
+ /* There are systems (like the Texas Instruments 'C54x) where a `char' */
+ /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */
+ /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */
+ /* is probably unexpected. */
+ /* */
+ /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */
+ /* `char' type. */
+
+#ifndef FT_CHAR_BIT
+#define FT_CHAR_BIT CHAR_BIT
+#endif
+
+
+#undef FT_USE_AUTOCONF_SIZEOF_TYPES
+#ifdef FT_USE_AUTOCONF_SIZEOF_TYPES
#undef SIZEOF_INT
#undef SIZEOF_LONG
+#define FT_SIZEOF_INT SIZEOF_INT
+#define FT_SIZEOF_LONG SIZEOF_LONG
+
+#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
+
+ /* Following cpp computation of the bit length of int and long */
+ /* is copied from default include/freetype/config/ftconfig.h. */
+ /* If any improvement is required for this file, it should be */
+ /* applied to the original header file for the builders that */
+ /* does not use configure script. */
+
+ /* The size of an `int' type. */
+#if FT_UINT_MAX == 0xFFFFUL
+#define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
+#elif FT_UINT_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
+#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
+#else
+#error "Unsupported size of `int' type!"
+#endif
+ /* The size of a `long' type. A five-byte `long' (as used e.g. on the */
+ /* DM642) is recognized but avoided. */
+#if FT_ULONG_MAX == 0xFFFFFFFFUL
+#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
+#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
+#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
+#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT)
+#else
+#error "Unsupported size of `long' type!"
+#endif
-#define FT_SIZEOF_INT SIZEOF_INT
-#define FT_SIZEOF_LONG SIZEOF_LONG
+#endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */
-#define FT_CHAR_BIT CHAR_BIT
/* Preferred alignment of data */
#define FT_ALIGNMENT 8
@@ -108,6 +156,14 @@ FT_BEGIN_HEADER
#else
#define FT_MACINTOSH 1
#endif
+
+#elif defined( __SC__ ) || defined( __MRC__ )
+ /* Classic MacOS compilers */
+#include "ConditionalMacros.h"
+#if TARGET_OS_MAC
+#define FT_MACINTOSH 1
+#endif
+
#endif
@@ -198,17 +254,12 @@ FT_BEGIN_HEADER
#endif /* FT_SIZEOF_LONG == 8 */
-#define FT_BEGIN_STMNT do {
-#define FT_END_STMNT } while ( 0 )
-#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
-
-
/*************************************************************************/
/* */
/* A 64-bit data type will create compilation problems if you compile */
- /* in strict ANSI mode. To avoid them, we disable their use if */
- /* __STDC__ is defined. You can however ignore this rule by */
- /* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
+ /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
+ /* is defined. You can however ignore this rule by defining the */
+ /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
/* */
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
@@ -226,6 +277,82 @@ FT_BEGIN_HEADER
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
+#define FT_BEGIN_STMNT do {
+#define FT_END_STMNT } while ( 0 )
+#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
+
+
+#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER
+ /* Provide assembler fragments for performance-critical functions. */
+ /* These must be defined `static __inline__' with GCC. */
+
+#ifdef __GNUC__
+
+#if defined( __arm__ ) && !defined( __thumb__ )
+#define FT_MULFIX_ASSEMBLER FT_MulFix_arm
+
+ static __inline__ FT_Int32
+ FT_MulFix_arm( FT_Int32 a,
+ FT_Int32 b )
+ {
+ register FT_Int32 t, t2;
+
+
+ asm __volatile__ (
+ "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
+ "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
+ "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
+ "adds %1, %1, %0\n\t" /* %1 += %0 */
+ "adc %2, %2, #0\n\t" /* %2 += carry */
+ "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
+ "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
+ : "=r"(a), "=&r"(t2), "=&r"(t)
+ : "r"(a), "r"(b) );
+ return a;
+ }
+
+#endif /* __arm__ && !__thumb__ */
+
+#if defined( i386 )
+#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
+
+ static __inline__ FT_Int32
+ FT_MulFix_i386( FT_Int32 a,
+ FT_Int32 b )
+ {
+ register FT_Int32 result;
+
+
+ __asm__ __volatile__ (
+ "imul %%edx\n"
+ "movl %%edx, %%ecx\n"
+ "sarl $31, %%ecx\n"
+ "addl $0x8000, %%ecx\n"
+ "addl %%ecx, %%eax\n"
+ "adcl $0, %%edx\n"
+ "shrl $16, %%eax\n"
+ "shll $16, %%edx\n"
+ "addl %%edx, %%eax\n"
+ : "=a"(result), "+d"(b)
+ : "a"(a)
+ : "%ecx" );
+ return result;
+ }
+
+#endif /* i386 */
+
+#endif /* __GNUC__ */
+
+#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
+
+
+#ifdef FT_CONFIG_OPTION_INLINE_MULFIX
+#ifdef FT_MULFIX_ASSEMBLER
+#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
+#endif
+#endif
+
+
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x
diff --git a/src/3rdparty/freetype/builds/unix/ftsystem.c b/src/3rdparty/freetype/builds/unix/ftsystem.c
index 40fa8d0..5c38090 100644
--- a/src/3rdparty/freetype/builds/unix/ftsystem.c
+++ b/src/3rdparty/freetype/builds/unix/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* Unix-specific FreeType low-level system interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -280,7 +280,12 @@
/* */
if ( stat_buf.st_size > LONG_MAX )
{
- FT_ERROR(( "FT_Stream_Open: file is too big" ));
+ FT_ERROR(( "FT_Stream_Open: file is too big\n" ));
+ goto Fail_Map;
+ }
+ else if ( stat_buf.st_size == 0 )
+ {
+ FT_ERROR(( "FT_Stream_Open: zero-length file\n" ));
goto Fail_Map;
}
diff --git a/src/3rdparty/freetype/builds/unix/ltmain.sh b/src/3rdparty/freetype/builds/unix/ltmain.sh
index 174e492..b36c4ad 100755
--- a/src/3rdparty/freetype/builds/unix/ltmain.sh
+++ b/src/3rdparty/freetype/builds/unix/ltmain.sh
@@ -1,6 +1,6 @@
# Generated from ltmain.m4sh.
-# ltmain.sh (GNU libtool) 2.2.4
+# ltmain.sh (GNU libtool) 2.2.6
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
@@ -65,7 +65,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.2.4
+# $progname: (GNU libtool) 2.2.6
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -73,9 +73,9 @@
PROGRAM=ltmain.sh
PACKAGE=libtool
-VERSION=2.2.4
+VERSION=2.2.6
TIMESTAMP=""
-package_revision=1.2976
+package_revision=1.3012
# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -805,7 +805,7 @@ func_enable_tag ()
case $host in
- *cygwin* | *mingw* | *pw32*)
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
# don't eliminate duplications in $postdeps and $predeps
opt_duplicate_compiler_generated_deps=:
;;
@@ -893,8 +893,9 @@ $opt_help || {
# determined imposters.
func_lalib_p ()
{
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}
# func_lalib_unsafe_p file
@@ -907,7 +908,7 @@ func_lalib_p ()
func_lalib_unsafe_p ()
{
lalib_p=no
- if test -r "$1" && exec 5<&0 <"$1"; then
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
@@ -1275,7 +1276,7 @@ func_mode_compile ()
# On Cygwin there's no "real" PIC flag so we must build both object types
case $host_os in
- cygwin* | mingw* | pw32* | os2*)
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
pic_mode=default
;;
esac
@@ -2046,7 +2047,7 @@ func_mode_install ()
'exit $?'
tstripme="$stripme"
case $host_os in
- cygwin* | mingw* | pw32*)
+ cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
tstripme=""
@@ -2152,7 +2153,7 @@ func_mode_install ()
# Do a test to see if this is really a libtool program.
case $host in
- *cygwin*|*mingw*)
+ *cygwin* | *mingw*)
if func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
wrapper=$func_ltwrapper_scriptname_result
@@ -2358,7 +2359,7 @@ extern \"C\" {
$RM $export_symbols
eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
- *cygwin* | *mingw* )
+ *cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
;;
@@ -2370,7 +2371,7 @@ extern \"C\" {
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
- *cygwin | *mingw* )
+ *cygwin | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
;;
@@ -2426,7 +2427,7 @@ typedef struct {
} lt_dlsymlist;
"
case $host in
- *cygwin* | *mingw* )
+ *cygwin* | *mingw* | *cegcc* )
$ECHO >> "$output_objdir/$my_dlsyms" "\
/* DATA imports from DLLs on WIN32 con't be const, because
runtime relocations are performed -- see ld's documentation
@@ -2512,7 +2513,7 @@ static const void *lt_preloaded_setup() {
# Transform the symbol file into the correct name.
symfileobj="$output_objdir/${my_outputname}S.$objext"
case $host in
- *cygwin* | *mingw* )
+ *cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
@@ -2691,25 +2692,16 @@ func_extract_archives ()
-# func_emit_wrapper arg
+# func_emit_wrapper_part1 [arg=no]
#
-# emit a libtool wrapper script on stdout
-# don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable. Must ONLY be called from within
-# func_mode_link because it depends on a number of variable
-# set therein.
-#
-# arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the '.lib' directory. This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
{
- func_emit_wrapper_arg1=no
+ func_emit_wrapper_part1_arg1=no
if test -n "$1" ; then
- func_emit_wrapper_arg1=$1
+ func_emit_wrapper_part1_arg1=$1
fi
$ECHO "\
@@ -2794,10 +2786,27 @@ else
file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+ func_emit_wrapper_part2_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_part2_arg1=$1
+ fi
+
+ $ECHO "\
# Usually 'no', except on cygwin/mingw when embedded into
# the cwrapper.
- WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
# special case for '.'
if test \"\$thisdir\" = \".\"; then
@@ -2888,7 +2897,7 @@ else
"
case $host in
# Backslashes separate directories on plain windows
- *-*-mingw | *-*-os2*)
+ *-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
"
@@ -2914,7 +2923,207 @@ else
fi\
"
}
-# end: func_emit_wrapper
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=no
+ if test -n "$1" ; then
+ func_emit_wrapper_arg1=$1
+ fi
+
+ # split this up so that func_emit_cwrapperexe_src
+ # can call each part independently.
+ func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+ func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin. Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+ func_to_host_path_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ case $build in
+ *mingw* ) # actually, msys
+ # awkward: cmd appends spaces to result
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_path_tmp1=`cygpath -w "$1"`
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # Unfortunately, winepath does not exit with a non-zero
+ # error code, so we are forced to check the contents of
+ # stdout. On the other hand, if the command is not
+ # found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both
+ # error code of zero AND non-empty stdout, which explains
+ # the odd construction:
+ func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+ func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ # Allow warning below.
+ func_to_host_path_result=""
+ fi
+ ;;
+ esac
+ if test -z "$func_to_host_path_result" ; then
+ func_error "Could not determine host path corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_path_result="$1"
+ fi
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+# $build $host
+# mingw (msys) mingw [e.g. native]
+# cygwin mingw
+# *nix + wine mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+ func_to_host_pathlist_result="$1"
+ if test -n "$1" ; then
+ case $host in
+ *mingw* )
+ lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_to_host_pathlist_tmp2="$1"
+ # Once set for this call, this variable should not be
+ # reassigned. It is used in tha fallback case.
+ func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e 's|^:*||' -e 's|:*$||'`
+ case $build in
+ *mingw* ) # Actually, msys.
+ # Awkward: cmd appends spaces to result.
+ lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+ func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ *cygwin* )
+ func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+ $SED -e "$lt_sed_naive_backslashify"`
+ ;;
+ * )
+ # unfortunately, winepath doesn't convert pathlists
+ func_to_host_pathlist_result=""
+ func_to_host_pathlist_oldIFS=$IFS
+ IFS=:
+ for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+ IFS=$func_to_host_pathlist_oldIFS
+ if test -n "$func_to_host_pathlist_f" ; then
+ func_to_host_path "$func_to_host_pathlist_f"
+ if test -n "$func_to_host_path_result" ; then
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_to_host_pathlist_result="$func_to_host_path_result"
+ else
+ func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+ fi
+ fi
+ fi
+ IFS=:
+ done
+ IFS=$func_to_host_pathlist_oldIFS
+ ;;
+ esac
+ if test -z "$func_to_host_pathlist_result" ; then
+ func_error "Could not determine the host path(s) corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This may break if $1 contains DOS-style drive
+ # specifications. The fix is not to complicate the expression
+ # below, but for the user to provide a working wine installation
+ # with winepath so that path translation in the cross-to-mingw
+ # case works properly.
+ lt_replace_pathsep_nix_to_dos="s|:|;|g"
+ func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+ $SED -e "$lt_replace_pathsep_nix_to_dos"`
+ fi
+ # Now, add the leading and trailing path separators back
+ case "$1" in
+ :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+ ;;
+ esac
+ case "$1" in
+ *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+}
+# end: func_to_host_pathlist
# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
@@ -2951,6 +3160,12 @@ EOF
# include <stdint.h>
# ifdef __CYGWIN__
# include <io.h>
+# define HAVE_SETENV
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
# endif
#endif
#include <malloc.h>
@@ -3057,29 +3272,105 @@ int make_executable (const char *path);
int check_executable (const char *path);
char *strendzap (char *str, const char *pat);
void lt_fatal (const char *message, ...);
-
-static const char *script_text =
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
EOF
- func_emit_wrapper yes |
+ func_emit_wrapper_part1 yes |
+ $SED -e 's/\([\\"]\)/\\\1/g' \
+ -e 's/^/ "/' -e 's/$/\\n"/'
+ echo ";"
+ cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+ func_emit_wrapper_part2 yes |
$SED -e 's/\([\\"]\)/\\\1/g' \
-e 's/^/ "/' -e 's/$/\\n"/'
echo ";"
cat <<EOF
const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_pathlist "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_pathlist "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH 5
+
+static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
+ /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
+ /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
+ /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
int
main (int argc, char *argv[])
{
char **newargz;
+ int newargc;
char *tmp_pathspec;
char *actual_cwrapper_path;
- char *shwrapper_name;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
intptr_t rval = 127;
- FILE *shwrapper;
- const char *dumpscript_opt = "--lt-dump-script";
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
@@ -3099,38 +3390,14 @@ EOF
;;
esac
- cat <<EOF
- printf ("%s", script_text);
+ cat <<"EOF"
+ printf ("%s", script_text_part1);
+ printf ("%s", script_text_part2);
return 0;
}
}
- newargz = XMALLOC (char *, argc + 2);
-EOF
-
- if test -n "$TARGETSHELL" ; then
- # no path translation at all
- lt_newargv0=$TARGETSHELL
- else
- case "$host" in
- *mingw* )
- # awkward: cmd appends spaces to result
- lt_sed_strip_trailing_spaces="s/[ ]*\$//"
- lt_newargv0=`( cmd //c echo $SHELL | $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo $SHELL`
- case $lt_newargv0 in
- *.exe | *.EXE) ;;
- *) lt_newargv0=$lt_newargv0.exe ;;
- esac
- ;;
- * ) lt_newargv0=$SHELL ;;
- esac
- fi
-
- cat <<EOF
- newargz[0] = (char *) xstrdup ("$lt_newargv0");
-EOF
-
- cat <<"EOF"
+ newargz = XMALLOC (char *, argc + 1);
tmp_pathspec = find_executable (argv[0]);
if (tmp_pathspec == NULL)
lt_fatal ("Couldn't find %s", argv[0]);
@@ -3142,39 +3409,60 @@ EOF
actual_cwrapper_path));
XFREE (tmp_pathspec);
- shwrapper_name = (char *) xstrdup (base_name (actual_cwrapper_path));
- strendzap (actual_cwrapper_path, shwrapper_name);
-
- /* shwrapper_name transforms */
- strendzap (shwrapper_name, ".exe");
- tmp_pathspec = XMALLOC (char, (strlen (shwrapper_name) +
- strlen ("_ltshwrapperTMP") + 1));
- strcpy (tmp_pathspec, shwrapper_name);
- strcat (tmp_pathspec, "_ltshwrapperTMP");
- XFREE (shwrapper_name);
- shwrapper_name = tmp_pathspec;
+ actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
tmp_pathspec = 0;
- LTWRAPPER_DEBUGPRINTF (("(main) libtool shell wrapper name: %s\n",
- shwrapper_name));
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+ target_name));
EOF
cat <<EOF
- newargz[1] =
+ newargz[0] =
XMALLOC (char, (strlen (actual_cwrapper_path) +
- strlen ("$objdir") + 1 + strlen (shwrapper_name) + 1));
- strcpy (newargz[1], actual_cwrapper_path);
- strcat (newargz[1], "$objdir");
- strcat (newargz[1], "/");
- strcat (newargz[1], shwrapper_name);
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
EOF
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
case $host_os in
mingw*)
cat <<"EOF"
{
char* p;
- while ((p = strchr (newargz[1], '\\')) != NULL)
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
{
*p = '/';
}
@@ -3184,55 +3472,114 @@ EOF
esac
cat <<"EOF"
- XFREE (shwrapper_name);
+ XFREE (target_name);
XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
- /* always write in binary mode */
- if ((shwrapper = fopen (newargz[1], FOPEN_WB)) == 0)
- {
- lt_fatal ("Could not open %s for writing", newargz[1]);
- }
- fprintf (shwrapper, "%s", script_text);
- fclose (shwrapper);
-
- make_executable (newargz[1]);
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ newargc=0;
for (i = 1; i < argc; i++)
- newargz[i + 1] = xstrdup (argv[i]);
- newargz[argc + 1] = NULL;
+ {
+ if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+ {
+ if (argv[i][env_set_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_set_opt_len + 1;
+ lt_opt_process_env_set (p);
+ }
+ else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_set (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_set_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+ {
+ if (argv[i][env_prepend_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_prepend_opt_len + 1;
+ lt_opt_process_env_prepend (p);
+ }
+ else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_prepend_opt);
+ continue;
+ }
+ if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+ {
+ if (argv[i][env_append_opt_len] == '=')
+ {
+ const char *p = argv[i] + env_append_opt_len + 1;
+ lt_opt_process_env_append (p);
+ }
+ else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+ {
+ lt_opt_process_env_append (argv[++i]); /* don't copy */
+ }
+ else
+ lt_fatal ("%s missing required argument", env_append_opt);
+ continue;
+ }
+ if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal ("Unrecognized option in %s namespace: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
- for (i = 0; i < argc + 1; i++)
+ LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+ for (i = 0; i < newargc; i++)
{
- LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, newargz[i]));
+ LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
}
EOF
case $host_os in
mingw*)
- cat <<EOF
+ cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
- rval = _spawnv (_P_WAIT, "$lt_newargv0", (const char * const *) newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
- LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"$lt_newargv0\": errno = %d\n", errno));
+ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
return 127;
}
return rval;
-}
EOF
;;
*)
- cat <<EOF
- execv ("$lt_newargv0", newargz);
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
return rval; /* =127, but avoids unused variable warning */
-}
EOF
;;
esac
cat <<"EOF"
+}
void *
xmalloc (size_t num)
@@ -3506,6 +3853,177 @@ lt_fatal (const char *message, ...)
lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
va_end (ap);
}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+ const char *p;
+ int len;
+ if (!arg || !*arg)
+ return 1;
+
+ p = strchr (arg, (int)'=');
+
+ if (!p)
+ return 1;
+
+ *value = xstrdup (++p);
+
+ len = strlen (arg) - strlen (*value);
+ *name = XMALLOC (char, len);
+ strncpy (*name, arg, len-1);
+ (*name)[len - 1] = '\0';
+
+ return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+ }
+
+ lt_setenv (name, value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+ char *name = NULL;
+ char *value = NULL;
+ char *new_value = NULL;
+
+ if (lt_split_name_value (arg, &name, &value) != 0)
+ {
+ XFREE (name);
+ XFREE (value);
+ lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+ }
+
+ new_value = lt_extend_str (getenv (name), value, 1);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ XFREE (name);
+ XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ (name ? name : "<NULL>"),
+ (value ? value : "<NULL>")));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+
EOF
}
# end: func_emit_cwrapperexe_src
@@ -3515,7 +4033,7 @@ func_mode_link ()
{
$opt_debug
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
# which system we are compiling for in order to pass an extra
@@ -3959,6 +4477,13 @@ func_mode_link ()
-L*)
func_stripname '-L' '' "$arg"
dir=$func_stripname_result
+ if test -z "$dir"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
# We need an absolute path.
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -3977,14 +4502,16 @@ func_mode_link ()
;;
esac
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
*) dllsearchpath="$dllsearchpath:$dir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -3995,7 +4522,7 @@ func_mode_link ()
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -4072,7 +4599,7 @@ func_mode_link ()
-no-install)
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
func_warning "\`-no-install' is ignored for $host"
@@ -5029,7 +5556,7 @@ func_mode_link ()
if test -n "$library_names" &&
{ test "$use_static_libs" = no || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw*)
+ *cygwin* | *mingw* | *cegcc*)
# No point in relinking DLLs because paths are not encoded
notinst_deplibs="$notinst_deplibs $lib"
need_relink=no
@@ -5099,7 +5626,7 @@ func_mode_link ()
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw*)
+ *cygwin* | mingw* | *cegcc*)
func_arith $current - $age
major=$func_arith_result
versuffix="-$major"
@@ -5878,7 +6405,7 @@ func_mode_link ()
tempremovelist=`$ECHO "$output_objdir/*"`
for p in $tempremovelist; do
case $p in
- *.$objext)
+ *.$objext | *.gcno)
;;
$output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
if test "X$precious_files_regex" != "X"; then
@@ -5949,7 +6476,7 @@ func_mode_link ()
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])
@@ -6448,7 +6975,7 @@ EOF
orig_export_symbols=
case $host_os in
- cygwin* | mingw*)
+ cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
@@ -7073,14 +7600,16 @@ EOF
esac
fi
case $host in
- *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
*) dllsearchpath="$dllsearchpath:$libdir";;
esac
case :$dllsearchpath: in
*":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
*) dllsearchpath="$dllsearchpath:$testbindir";;
esac
;;
@@ -7150,6 +7679,10 @@ EOF
wrappers_required=no
fi
;;
+ *cegcc)
+ # Disable wrappers for cegcc, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
*)
if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
wrappers_required=no
@@ -7302,11 +7835,10 @@ EOF
func_emit_cwrapperexe_src > $cwrappersource
- # we should really use a build-platform specific compiler
- # here, but OTOH, the wrappers (shell script and this C one)
- # are only useful if you want to execute the "real" binary.
- # Since the "real" binary is built for $host, then this
- # wrapper might as well be built for $host, too.
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
$opt_dry_run || {
$LTCC $LTCFLAGS -o $cwrapper $cwrappersource
$STRIP $cwrapper
@@ -7591,7 +8123,7 @@ EOF
# place dlname in correct position for cygwin
tdlname=$dlname
case $host,$output,$installed,$module,$dlname in
- *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
esac
$ECHO > $output "\
# $outputname - a libtool library file
diff --git a/src/3rdparty/freetype/builds/unix/unix-def.in b/src/3rdparty/freetype/builds/unix/unix-def.in
index b90ed0c..e0a7a3a 100644
--- a/src/3rdparty/freetype/builds/unix/unix-def.in
+++ b/src/3rdparty/freetype/builds/unix/unix-def.in
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2002, 2004, 2006 by
+# Copyright 1996-2000, 2002, 2004, 2006, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -65,6 +65,10 @@ version_info := @version_info@
#
LIB_DIR := $(OBJ_DIR)
+# The BASE_SRC macro lists all source files that should be included in
+# src/base/ftbase.c. When configure sets up CFLAGS to build ftmac.c,
+# ftmac.c should be added to BASE_SRC.
+ftmac_c := @ftmac_c@
# The SYSTEM_ZLIB macro is defined if the user wishes to link dynamically
# with its system wide zlib. If SYSTEM_ZLIB is 'yes', the zlib part of the
diff --git a/src/3rdparty/freetype/builds/vms/ftconfig.h b/src/3rdparty/freetype/builds/vms/ftconfig.h
index 185c334..1659d03 100644
--- a/src/3rdparty/freetype/builds/vms/ftconfig.h
+++ b/src/3rdparty/freetype/builds/vms/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* VMS-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -109,6 +109,14 @@ FT_BEGIN_HEADER
#else
#define FT_MACINTOSH 1
#endif
+
+#elif defined( __SC__ ) || defined( __MRC__ )
+ /* Classic MacOS compilers */
+#include "ConditionalMacros.h"
+#if TARGET_OS_MAC
+#define FT_MACINTOSH 1
+#endif
+
#endif
diff --git a/src/3rdparty/freetype/builds/win32/vc2005/freetype.sln b/src/3rdparty/freetype/builds/win32/vc2005/freetype.sln
new file mode 100644
index 0000000..2049203
--- /dev/null
+++ b/src/3rdparty/freetype/builds/win32/vc2005/freetype.sln
@@ -0,0 +1,31 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32
+ LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32
+ LIB Debug|Win32 = LIB Debug|Win32
+ LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32
+ LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32
+ LIB Release|Win32 = LIB Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/3rdparty/freetype/builds/win32/vc2005/freetype.vcproj b/src/3rdparty/freetype/builds/win32/vc2005/freetype.vcproj
new file mode 100644
index 0000000..bd8634c
--- /dev/null
+++ b/src/3rdparty/freetype/builds/win32/vc2005/freetype.vcproj
@@ -0,0 +1,636 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="freetype" ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" TargetFrameworkVersion="131072">
+ <Platforms>
+ <Platform Name="Win32" />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration Name="Release|Win32" OutputDirectory=".\..\..\..\objs\release" IntermediateDirectory=".\..\..\..\objs\release" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\release_mt" IntermediateDirectory=".\..\..\..\objs\release_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\release_st" IntermediateDirectory=".\..\..\..\objs\release_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Debug|Win32" OutputDirectory=".\..\..\..\objs\debug" IntermediateDirectory=".\..\..\..\objs\debug" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="3" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_st" IntermediateDirectory=".\..\..\..\objs\debug_st" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_mt" IntermediateDirectory=".\..\..\..\objs\debug_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File RelativePath="..\..\..\src\autofit\autofit.c">
+ </File>
+ <File RelativePath="..\..\..\src\bdf\bdf.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\cff\cff.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftbase.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftbitmap.c">
+ </File>
+ <File RelativePath="..\..\..\src\cache\ftcache.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\ftdebug.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftfstype.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftgasp.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftglyph.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\gzip\ftgzip.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftinit.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\lzw\ftlzw.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftstroke.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftsystem.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\smooth\smooth.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <Filter Name="FT_MODULES">
+ <File RelativePath="..\..\..\src\base\ftbbox.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftmm.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftpfr.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftsynth.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\fttype1.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftwinfnt.c">
+ </File>
+ <File RelativePath="..\..\..\src\pcf\pcf.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\pfr\pfr.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\psaux\psaux.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\pshinter\pshinter.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\psnames\psmodule.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\raster\raster.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\sfnt\sfnt.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\truetype\truetype.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\type1\type1.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\cid\type1cid.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\type42\type42.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\winfonts\winfnt.c">
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">
+ <File RelativePath="..\..\..\include\ft2build.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftconfig.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftheader.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftmodule.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftoption.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject> \ No newline at end of file
diff --git a/src/3rdparty/freetype/builds/win32/vc2005/index.html b/src/3rdparty/freetype/builds/win32/vc2005/index.html
new file mode 100644
index 0000000..41d5e0a
--- /dev/null
+++ b/src/3rdparty/freetype/builds/win32/vc2005/index.html
@@ -0,0 +1,37 @@
+<html>
+<header>
+<title>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
+</title>
+
+<body>
+<h1>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
+</h1>
+
+<p>This directory contains project files for Visual C++, named
+<tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
+compiles the following libraries from the FreeType 2.3.9 sources:</p>
+
+<ul>
+ <pre>
+ freetype239.lib - release build; single threaded
+ freetype239_D.lib - debug build; single threaded
+ freetype239MT.lib - release build; multi-threaded
+ freetype239MT_D.lib - debug build; multi-threaded</pre>
+</ul>
+
+<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
+archives are already stored this way, so no further action is required. If
+you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
+tool to convert the line endings. For example, with <a
+href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
+file smart CR/LF Conversion</it> option. Alternatively, you may consider
+using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
+around, which specifically deal with this particular problem.
+
+<p>Build directories are placed in the top-level <tt>objs</tt>
+directory.</p>
+
+</body>
+</html>
diff --git a/src/3rdparty/freetype/builds/win32/vc2008/freetype.sln b/src/3rdparty/freetype/builds/win32/vc2008/freetype.sln
new file mode 100644
index 0000000..0995f80
--- /dev/null
+++ b/src/3rdparty/freetype/builds/win32/vc2008/freetype.sln
@@ -0,0 +1,31 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32
+ LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32
+ LIB Debug|Win32 = LIB Debug|Win32
+ LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32
+ LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32
+ LIB Release|Win32 = LIB Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/3rdparty/freetype/builds/win32/visualc/freetype.vcproj b/src/3rdparty/freetype/builds/win32/vc2008/freetype.vcproj
index 8089110..07d950b 100644
--- a/src/3rdparty/freetype/builds/win32/visualc/freetype.vcproj
+++ b/src/3rdparty/freetype/builds/win32/vc2008/freetype.vcproj
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8.00"
+ Version="9,00"
Name="freetype"
ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+ TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
@@ -43,7 +44,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
@@ -69,7 +70,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -118,7 +119,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@@ -144,7 +145,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -193,7 +194,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@@ -219,7 +220,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -266,7 +267,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
DisableLanguageExtensions="true"
@@ -291,7 +292,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -339,7 +340,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
DisableLanguageExtensions="true"
@@ -364,7 +365,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -412,7 +413,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
GeneratePreprocessedFile="0"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
@@ -438,7 +439,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\win32\vc2008\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -675,10 +676,6 @@
>
</File>
<File
- RelativePath="..\..\..\src\base\ftgasp.c"
- >
- </File>
- <File
RelativePath="..\..\..\src\cache\ftcache.c"
>
<FileConfiguration
@@ -819,6 +816,14 @@
</FileConfiguration>
</File>
<File
+ RelativePath="..\..\..\src\base\ftfstype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftgasp.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\src\base\ftglyph.c"
>
<FileConfiguration
diff --git a/src/3rdparty/freetype/builds/win32/vc2008/index.html b/src/3rdparty/freetype/builds/win32/vc2008/index.html
new file mode 100644
index 0000000..5e349b7
--- /dev/null
+++ b/src/3rdparty/freetype/builds/win32/vc2008/index.html
@@ -0,0 +1,37 @@
+<html>
+<header>
+<title>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
+</title>
+
+<body>
+<h1>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
+</h1>
+
+<p>This directory contains project files for Visual C++, named
+<tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
+compiles the following libraries from the FreeType 2.3.9 sources:</p>
+
+<ul>
+ <pre>
+ freetype239.lib - release build; single threaded
+ freetype239_D.lib - debug build; single threaded
+ freetype239MT.lib - release build; multi-threaded
+ freetype239MT_D.lib - debug build; multi-threaded</pre>
+</ul>
+
+<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
+archives are already stored this way, so no further action is required. If
+you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
+tool to convert the line endings. For example, with <a
+href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
+file smart CR/LF Conversion</it> option. Alternatively, you may consider
+using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
+around, which specifically deal with this particular problem.
+
+<p>Build directories are placed in the top-level <tt>objs</tt>
+directory.</p>
+
+</body>
+</html>
diff --git a/src/3rdparty/freetype/builds/win32/visualc/freetype.dsp b/src/3rdparty/freetype/builds/win32/visualc/freetype.dsp
index c8b76e8..556dfb6 100644
--- a/src/3rdparty/freetype/builds/win32/visualc/freetype.dsp
+++ b/src/3rdparty/freetype/builds/win32/visualc/freetype.dsp
@@ -54,7 +54,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype239.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
@@ -78,7 +78,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype239_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
@@ -102,8 +102,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype236_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236MT_D.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype239_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype239MT_D.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
@@ -126,8 +126,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype236.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236MT.lib"
+# ADD BASE LIB32 /nologo /out:"lib\freetype239.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype239MT.lib"
!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
@@ -151,8 +151,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype236.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype236ST.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype239.lib"
+# ADD LIB32 /out:"..\..\..\objs\freetype239ST.lib"
# SUBTRACT LIB32 /nologo
!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
@@ -177,8 +177,8 @@ BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype236_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236ST_D.lib"
+# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype239_D.lib"
+# ADD LIB32 /nologo /out:"..\..\..\objs\freetype239ST_D.lib"
!ENDIF
@@ -226,6 +226,10 @@ SOURCE=..\..\..\src\base\ftbitmap.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\src\base\ftfstype.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\src\base\ftgasp.c
# End Source File
# Begin Source File
diff --git a/src/3rdparty/freetype/builds/win32/visualc/freetype.sln b/src/3rdparty/freetype/builds/win32/visualc/freetype.sln
deleted file mode 100644
index 470d4fa..0000000
--- a/src/3rdparty/freetype/builds/win32/visualc/freetype.sln
+++ /dev/null
@@ -1,31 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug Multithreaded|Win32 = Debug Multithreaded|Win32
- Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32
- Debug|Win32 = Debug|Win32
- Release Multithreaded|Win32 = Release Multithreaded|Win32
- Release Singlethreaded|Win32 = Release Singlethreaded|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32
- {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/src/3rdparty/freetype/builds/win32/visualc/index.html b/src/3rdparty/freetype/builds/win32/visualc/index.html
index d7a6f38..fffcf4f 100644
--- a/src/3rdparty/freetype/builds/win32/visualc/index.html
+++ b/src/3rdparty/freetype/builds/win32/visualc/index.html
@@ -11,14 +11,14 @@
<p>This directory contains project files for Visual C++, named
<tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It
-compiles the following libraries from the FreeType 2.3.6 sources:</p>
+compiles the following libraries from the FreeType 2.3.9 sources:</p>
<ul>
<pre>
- freetype236.lib - release build; single threaded
- freetype236_D.lib - debug build; single threaded
- freetype236MT.lib - release build; multi-threaded
- freetype236MT_D.lib - debug build; multi-threaded</pre>
+ freetype239.lib - release build; single threaded
+ freetype239_D.lib - debug build; single threaded
+ freetype239MT.lib - release build; multi-threaded
+ freetype239MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/src/3rdparty/freetype/builds/win32/visualce/freetype.dsp b/src/3rdparty/freetype/builds/win32/visualce/freetype.dsp
deleted file mode 100644
index c8b76e8..0000000
--- a/src/3rdparty/freetype/builds/win32/visualce/freetype.dsp
+++ /dev/null
@@ -1,396 +0,0 @@
-# Microsoft Developer Studio Project File - Name="freetype" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=freetype - Win32 Debug Singlethreaded
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "freetype.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library")
-!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library")
-!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library")
-!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "freetype - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\objs\release"
-# PROP Intermediate_Dir "..\..\..\objs\release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /MD /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c
-# SUBTRACT CPP /nologo /Z<none> /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236.lib"
-
-!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\objs\debug"
-# PROP Intermediate_Dir "..\..\..\objs\debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /MDd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c
-# SUBTRACT CPP /nologo /X /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236_D.lib"
-
-!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded"
-# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\objs\debug_mt"
-# PROP Intermediate_Dir "..\..\..\objs\debug_mt"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\freetype\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c
-# SUBTRACT BASE CPP /X
-# ADD CPP /MTd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c
-# SUBTRACT CPP /nologo /X /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype236_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236MT_D.lib"
-
-!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded"
-# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\objs\release_mt"
-# PROP Intermediate_Dir "..\..\..\objs\release_mt"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\freetype\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c
-# ADD CPP /MT /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c
-# SUBTRACT CPP /nologo /Z<none> /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"lib\freetype236.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236MT.lib"
-
-!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded"
-# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\..\..\objs\release_st"
-# PROP Intermediate_Dir "..\..\..\objs\release_st"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c
-# SUBTRACT BASE CPP /YX
-# ADD CPP /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c
-# SUBTRACT CPP /nologo /Z<none> /YX
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype236.lib"
-# ADD LIB32 /out:"..\..\..\objs\freetype236ST.lib"
-# SUBTRACT LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded"
-# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\..\..\objs\debug_st"
-# PROP Intermediate_Dir "..\..\..\objs\debug_st"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c
-# SUBTRACT BASE CPP /X /YX
-# ADD CPP /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c
-# SUBTRACT CPP /nologo /X /YX
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype236_D.lib"
-# ADD LIB32 /nologo /out:"..\..\..\objs\freetype236ST_D.lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "freetype - Win32 Release"
-# Name "freetype - Win32 Debug"
-# Name "freetype - Win32 Debug Multithreaded"
-# Name "freetype - Win32 Release Multithreaded"
-# Name "freetype - Win32 Release Singlethreaded"
-# Name "freetype - Win32 Debug Singlethreaded"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\..\src\autofit\autofit.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\bdf\bdf.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\cff\cff.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftbase.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftbbox.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftbdf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftbitmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftgasp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\cache\ftcache.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\ftdebug.c
-# ADD CPP /Ze
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftglyph.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftgxval.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\gzip\ftgzip.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftinit.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\lzw\ftlzw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftmm.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftotval.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftpfr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftstroke.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftsynth.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftsystem.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\fttype1.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftwinfnt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\base\ftxf86.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\pcf\pcf.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\pfr\pfr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\psaux\psaux.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\pshinter\pshinter.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\psnames\psmodule.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\raster\raster.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\sfnt\sfnt.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\smooth\smooth.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\truetype\truetype.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\type1\type1.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\cid\type1cid.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\type42\type42.c
-# SUBTRACT CPP /Fr
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\src\winfonts\winfnt.c
-# SUBTRACT CPP /Fr
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\include\ft2build.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\freetype\config\ftconfig.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\freetype\config\ftheader.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\freetype\config\ftmodule.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\freetype\config\ftoption.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\include\freetype\config\ftstdlib.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/src/3rdparty/freetype/builds/win32/visualce/freetype.dsw b/src/3rdparty/freetype/builds/win32/visualce/freetype.dsw
deleted file mode 100644
index b1b375d..0000000
--- a/src/3rdparty/freetype/builds/win32/visualce/freetype.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "freetype"=.\freetype.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/src/3rdparty/freetype/builds/wince/ftdebug.c b/src/3rdparty/freetype/builds/wince/ftdebug.c
new file mode 100644
index 0000000..8f7a9ab
--- /dev/null
+++ b/src/3rdparty/freetype/builds/wince/ftdebug.c
@@ -0,0 +1,248 @@
+/***************************************************************************/
+/* */
+/* ftdebug.c */
+/* */
+/* Debugging and logging component for Win32 (body). */
+/* */
+/* Copyright 1996-2001, 2002, 2005, 2008 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+ /*************************************************************************/
+ /* */
+ /* This component contains various macros and functions used to ease the */
+ /* debugging of the FreeType engine. Its main purpose is in assertion */
+ /* checking, tracing, and error detection. */
+ /* */
+ /* There are now three debugging modes: */
+ /* */
+ /* - trace mode */
+ /* */
+ /* Error and trace messages are sent to the log file (which can be the */
+ /* standard error output). */
+ /* */
+ /* - error mode */
+ /* */
+ /* Only error messages are generated. */
+ /* */
+ /* - release mode: */
+ /* */
+ /* No error message is sent or generated. The code is free from any */
+ /* debugging parts. */
+ /* */
+ /*************************************************************************/
+
+
+#include <ft2build.h>
+#include FT_INTERNAL_DEBUG_H
+
+
+#ifdef FT_DEBUG_LEVEL_ERROR
+
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <windows.h>
+
+
+#ifdef _WIN32_WCE
+
+ void
+ OutputDebugStringEx( const char* str )
+ {
+ static WCHAR buf[8192];
+
+
+ int sz = MultiByteToWideChar( CP_ACP, 0, str, -1, buf,
+ sizeof ( buf ) / sizeof ( *buf ) );
+ if ( !sz )
+ lstrcpyW( buf, L"OutputDebugStringEx: MultiByteToWideChar failed" );
+
+ OutputDebugStringW( buf );
+ }
+
+#else
+
+#define OutputDebugStringEx OutputDebugStringA
+
+#endif
+
+
+ FT_BASE_DEF( void )
+ FT_Message( const char* fmt, ... )
+ {
+ static char buf[8192];
+ va_list ap;
+
+
+ va_start( ap, fmt );
+ vprintf( fmt, ap );
+ /* send the string to the debugger as well */
+ vsprintf( buf, fmt, ap );
+ OutputDebugStringEx( buf );
+ va_end( ap );
+ }
+
+
+ FT_BASE_DEF( void )
+ FT_Panic( const char* fmt, ... )
+ {
+ static char buf[8192];
+ va_list ap;
+
+
+ va_start( ap, fmt );
+ vsprintf( buf, fmt, ap );
+ OutputDebugStringEx( buf );
+ va_end( ap );
+
+ exit( EXIT_FAILURE );
+ }
+
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+
+
+ /* array of trace levels, initialized to 0 */
+ int ft_trace_levels[trace_count];
+
+ /* define array of trace toggle names */
+#define FT_TRACE_DEF( x ) #x ,
+
+ static const char* ft_trace_toggles[trace_count + 1] =
+ {
+#include FT_INTERNAL_TRACE_H
+ NULL
+ };
+
+#undef FT_TRACE_DEF
+
+
+ /*************************************************************************/
+ /* */
+ /* Initialize the tracing sub-system. This is done by retrieving the */
+ /* value of the "FT2_DEBUG" environment variable. It must be a list of */
+ /* toggles, separated by spaces, `;' or `,'. Example: */
+ /* */
+ /* "any:3 memory:6 stream:5" */
+ /* */
+ /* This will request that all levels be set to 3, except the trace level */
+ /* for the memory and stream components which are set to 6 and 5, */
+ /* respectively. */
+ /* */
+ /* See the file <freetype/internal/fttrace.h> for details of the */
+ /* available toggle names. */
+ /* */
+ /* The level must be between 0 and 6; 0 means quiet (except for serious */
+ /* runtime errors), and 6 means _very_ verbose. */
+ /* */
+ FT_BASE_DEF( void )
+ ft_debug_init( void )
+ {
+#ifdef _WIN32_WCE
+
+ /* Windows Mobile doesn't have environment API: */
+ /* GetEnvironmentStrings, GetEnvironmentVariable, getenv. */
+ /* */
+ /* FIXME!!! How to set debug mode? */
+ const char* ft2_debug = 0;
+
+#else
+
+ const char* ft2_debug = getenv( "FT2_DEBUG" );
+
+#endif
+
+ if ( ft2_debug )
+ {
+ const char* p = ft2_debug;
+ const char* q;
+
+
+ for ( ; *p; p++ )
+ {
+ /* skip leading whitespace and separators */
+ if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
+ continue;
+
+ /* read toggle name, followed by ':' */
+ q = p;
+ while ( *p && *p != ':' )
+ p++;
+
+ if ( *p == ':' && p > q )
+ {
+ int n, i, len = p - q;
+ int level = -1, found = -1;
+
+
+ for ( n = 0; n < trace_count; n++ )
+ {
+ const char* toggle = ft_trace_toggles[n];
+
+
+ for ( i = 0; i < len; i++ )
+ {
+ if ( toggle[i] != q[i] )
+ break;
+ }
+
+ if ( i == len && toggle[i] == 0 )
+ {
+ found = n;
+ break;
+ }
+ }
+
+ /* read level */
+ p++;
+ if ( *p )
+ {
+ level = *p++ - '0';
+ if ( level < 0 || level > 7 )
+ level = -1;
+ }
+
+ if ( found >= 0 && level >= 0 )
+ {
+ if ( found == trace_any )
+ {
+ /* special case for "any" */
+ for ( n = 0; n < trace_count; n++ )
+ ft_trace_levels[n] = level;
+ }
+ else
+ ft_trace_levels[found] = level;
+ }
+ }
+ }
+ }
+ }
+
+
+#else /* !FT_DEBUG_LEVEL_TRACE */
+
+
+ FT_BASE_DEF( void )
+ ft_debug_init( void )
+ {
+ /* nothing */
+ }
+
+
+#endif /* !FT_DEBUG_LEVEL_TRACE */
+
+#endif /* FT_DEBUG_LEVEL_ERROR */
+
+
+/* END */
diff --git a/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.sln b/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.sln
new file mode 100644
index 0000000..67b2216
--- /dev/null
+++ b/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.sln
@@ -0,0 +1,158 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ LIB Debug Multithreaded|Pocket PC 2003 (ARMV4) = LIB Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ LIB Debug Multithreaded|Smartphone 2003 (ARMV4) = LIB Debug Multithreaded|Smartphone 2003 (ARMV4)
+ LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4) = LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ LIB Debug Singlethreaded|Smartphone 2003 (ARMV4) = LIB Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Debug|Pocket PC 2003 (ARMV4) = LIB Debug|Pocket PC 2003 (ARMV4)
+ LIB Debug|Smartphone 2003 (ARMV4) = LIB Debug|Smartphone 2003 (ARMV4)
+ LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release Multithreaded|Pocket PC 2003 (ARMV4) = LIB Release Multithreaded|Pocket PC 2003 (ARMV4)
+ LIB Release Multithreaded|Smartphone 2003 (ARMV4) = LIB Release Multithreaded|Smartphone 2003 (ARMV4)
+ LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release Singlethreaded|Pocket PC 2003 (ARMV4) = LIB Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ LIB Release Singlethreaded|Smartphone 2003 (ARMV4) = LIB Release Singlethreaded|Smartphone 2003 (ARMV4)
+ LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release|Pocket PC 2003 (ARMV4) = LIB Release|Pocket PC 2003 (ARMV4)
+ LIB Release|Smartphone 2003 (ARMV4) = LIB Release|Smartphone 2003 (ARMV4)
+ LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).Build.0 = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).ActiveCfg = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).Build.0 = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).Deploy.0 = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).Build.0 = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).ActiveCfg = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).Build.0 = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).Deploy.0 = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).Build.0 = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).ActiveCfg = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).Build.0 = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).Deploy.0 = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).Build.0 = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).ActiveCfg = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).Build.0 = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).Deploy.0 = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).Deploy.0 = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Releaase|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.vcproj b/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.vcproj
new file mode 100644
index 0000000..fcb9a8d
--- /dev/null
+++ b/src/3rdparty/freetype/builds/wince/vc2005-ce/freetype.vcproj
@@ -0,0 +1,3825 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="freetype" ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" TargetFrameworkVersion="0">
+ <Platforms>
+ <Platform Name="Pocket PC 2003 (ARMV4)" />
+ <Platform Name="Smartphone 2003 (ARMV4)" />
+ <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" />
+ <Platform Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" />
+ <Platform Name="Windows Mobile 6 Professional SDK (ARMV4I)" />
+ <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration Name="Release|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" MinimalRebuild="true" RuntimeLibrary="2" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release/" ObjectFile=".\..\..\..\objs\release/" ProgramDataBaseFileName=".\..\..\..\objs\release/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H" StringPooling="false" RuntimeLibrary="0" EnableFunctionLevelLinking="false" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_st/" ObjectFile=".\..\..\..\objs\release_st/" ProgramDataBaseFileName=".\..\..\..\objs\release_st/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST.lib" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="3" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug/" ObjectFile=".\..\..\..\objs\debug/" ProgramDataBaseFileName=".\..\..\..\objs\debug/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_st/" ObjectFile=".\..\..\..\objs\debug_st/" ProgramDataBaseFileName=".\..\..\..\objs\debug_st/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239ST_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)" OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)" OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;NO_ERRNO_H" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" TargetEnvironment="1" />
+ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" RuntimeLibrary="1" DisableLanguageExtensions="false" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCCodeSignTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ <DeploymentTool ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" AdditionalFiles="" />
+ <DebuggerTool />
+ </Configuration>
+ <Configuration Name="Release Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\release_mt" IntermediateDirectory=".\..\..\..\objs\release_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\release_mt/" ObjectFile=".\..\..\..\objs\release_mt/" ProgramDataBaseFileName=".\..\..\..\objs\release_mt/" WarningLevel="4" DebugInformationFormat="0" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ <Configuration Name="Debug Multithreaded|Win32" OutputDirectory=".\..\..\..\objs\debug_mt" IntermediateDirectory=".\..\..\..\objs\debug_mt" ConfigurationType="4" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2">
+ <Tool Name="VCPreBuildEventTool" />
+ <Tool Name="VCCustomBuildTool" />
+ <Tool Name="VCXMLDataGeneratorTool" />
+ <Tool Name="VCWebServiceProxyGeneratorTool" />
+ <Tool Name="VCMIDLTool" />
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\include" PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE" GeneratePreprocessedFile="0" BasicRuntimeChecks="3" RuntimeLibrary="1" DisableLanguageExtensions="true" PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch" AssemblerListingLocation=".\..\..\..\objs\debug_mt/" ObjectFile=".\..\..\..\objs\debug_mt/" ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/" WarningLevel="4" DebugInformationFormat="3" CompileAs="0" />
+ <Tool Name="VCManagedResourceCompilerTool" />
+ <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" />
+ <Tool Name="VCPreLinkEventTool" />
+ <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype239MT_D.lib" SuppressStartupBanner="true" />
+ <Tool Name="VCALinkTool" />
+ <Tool Name="VCXDCMakeTool" />
+ <Tool Name="VCBscMakeTool" />
+ <Tool Name="VCFxCopTool" />
+ <Tool Name="VCPostBuildEventTool" />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File RelativePath="..\..\..\src\autofit\autofit.c">
+ </File>
+ <File RelativePath="..\..\..\src\bdf\bdf.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\cff\cff.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftbase.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftbitmap.c">
+ </File>
+ <File RelativePath="..\..\..\src\cache\ftcache.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\ftdebug.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" DisableLanguageExtensions="false" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftfstype.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftgasp.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftglyph.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\gzip\ftgzip.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftinit.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\lzw\ftlzw.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftstroke.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftsystem.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\smooth\smooth.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <Filter Name="FT_MODULES">
+ <File RelativePath="..\..\..\src\base\ftbbox.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftmm.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\base\ftpfr.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftsynth.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\fttype1.c">
+ </File>
+ <File RelativePath="..\..\..\src\base\ftwinfnt.c">
+ </File>
+ <File RelativePath="..\..\..\src\pcf\pcf.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\pfr\pfr.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\psaux\psaux.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\pshinter\pshinter.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\psnames\psmodule.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\raster\raster.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\sfnt\sfnt.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\truetype\truetype.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\type1\type1.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\cid\type1cid.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\type42\type42.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ <File RelativePath="..\..\..\src\winfonts\winfnt.c">
+ <FileConfiguration Name="Release|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Smartphone 2003 (ARMV4)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Release Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Singlethreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ <FileConfiguration Name="Debug Multithreaded|Win32">
+ <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl">
+ <File RelativePath="..\..\..\include\ft2build.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftconfig.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftheader.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftmodule.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftoption.h">
+ </File>
+ <File RelativePath="..\..\..\include\freetype\config\ftstdlib.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject> \ No newline at end of file
diff --git a/src/3rdparty/freetype/builds/wince/vc2005-ce/index.html b/src/3rdparty/freetype/builds/wince/vc2005-ce/index.html
new file mode 100644
index 0000000..780ce41
--- /dev/null
+++ b/src/3rdparty/freetype/builds/wince/vc2005-ce/index.html
@@ -0,0 +1,47 @@
+<html>
+<header>
+<title>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
+ (Pocket PC)
+</title>
+
+<body>
+<h1>
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2005
+ (Pocket PC)
+</h1>
+
+<p>This directory contains project files for Visual C++, named
+<tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt> for
+the following targets:
+
+<ul>
+ <li>PPC/SP 2003 (Pocket PC 2003)</li>
+ <li>PPC/SP WM5 (Windows Mobile 5)</li>
+ <li>PPC/SP WM6 (Windows Mobile 6)</li>
+</ul>
+
+It compiles the following libraries from the FreeType 2.3.9 sources:</p>
+
+<ul>
+ <pre>
+ freetype239.lib - release build; single threaded
+ freetype239_D.lib - debug build; single threaded
+ freetype239MT.lib - release build; multi-threaded
+ freetype239MT_D.lib - debug build; multi-threaded</pre>
+</ul>
+
+<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
+archives are already stored this way, so no further action is required. If
+you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
+tool to convert the line endings. For example, with <a
+href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR
+file smart CR/LF Conversion</it> option. Alternatively, you may consider
+using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
+around, which specifically deal with this particular problem.
+
+<p>Build directories are placed in the top-level <tt>objs</tt>
+directory.</p>
+
+</body>
+</html>
diff --git a/src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.sln b/src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.sln
new file mode 100644
index 0000000..0468e90
--- /dev/null
+++ b/src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.sln
@@ -0,0 +1,158 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ LIB Debug Multithreaded|Pocket PC 2003 (ARMV4) = LIB Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ LIB Debug Multithreaded|Smartphone 2003 (ARMV4) = LIB Debug Multithreaded|Smartphone 2003 (ARMV4)
+ LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4) = LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ LIB Debug Singlethreaded|Smartphone 2003 (ARMV4) = LIB Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Debug|Pocket PC 2003 (ARMV4) = LIB Debug|Pocket PC 2003 (ARMV4)
+ LIB Debug|Smartphone 2003 (ARMV4) = LIB Debug|Smartphone 2003 (ARMV4)
+ LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release Multithreaded|Pocket PC 2003 (ARMV4) = LIB Release Multithreaded|Pocket PC 2003 (ARMV4)
+ LIB Release Multithreaded|Smartphone 2003 (ARMV4) = LIB Release Multithreaded|Smartphone 2003 (ARMV4)
+ LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release Singlethreaded|Pocket PC 2003 (ARMV4) = LIB Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ LIB Release Singlethreaded|Smartphone 2003 (ARMV4) = LIB Release Singlethreaded|Smartphone 2003 (ARMV4)
+ LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ LIB Release|Pocket PC 2003 (ARMV4) = LIB Release|Pocket PC 2003 (ARMV4)
+ LIB Release|Smartphone 2003 (ARMV4) = LIB Release|Smartphone 2003 (ARMV4)
+ LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) = LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ LIB Release|Windows Mobile 6 Professional SDK (ARMV4I) = LIB Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ LIB Release|Windows Mobile 6 Standard SDK (ARMV4I) = LIB Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).Build.0 = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).ActiveCfg = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).Build.0 = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Smartphone 2003 (ARMV4).Deploy.0 = Debug Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).Build.0 = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Debug Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).ActiveCfg = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).Build.0 = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Smartphone 2003 (ARMV4).Deploy.0 = Debug Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).Build.0 = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Release Multithreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).ActiveCfg = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).Build.0 = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Smartphone 2003 (ARMV4).Deploy.0 = Release Multithreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).ActiveCfg = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).Build.0 = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Pocket PC 2003 (ARMV4).Deploy.0 = Release Singlethreaded|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).ActiveCfg = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).Build.0 = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Smartphone 2003 (ARMV4).Deploy.0 = Release Singlethreaded|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Smartphone 2003 (ARMV4).Deploy.0 = Release|Smartphone 2003 (ARMV4)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I)
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/3rdparty/freetype/builds/win32/visualce/freetype.vcproj b/src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.vcproj
index 109542f..2233577 100644
--- a/src/3rdparty/freetype/builds/win32/visualce/freetype.vcproj
+++ b/src/3rdparty/freetype/builds/wince/vc2008-ce/freetype.vcproj
@@ -1,15 +1,13 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="8,00"
+ Version="9,00"
Name="freetype"
ProjectGUID="{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
+ TargetFrameworkVersion="0"
>
<Platforms>
<Platform
- Name="Win32"
- />
- <Platform
Name="Pocket PC 2003 (ARMV4)"
/>
<Platform
@@ -32,9 +30,9 @@
</ToolFiles>
<Configurations>
<Configuration
- Name="Release|Win32"
- OutputDirectory=".\..\..\..\objs\release"
- IntermediateDirectory=".\..\..\..\objs\release"
+ Name="Release|Pocket PC 2003 (ARMV4)"
+ OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -55,17 +53,20 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="1"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ MinimalRebuild="true"
RuntimeLibrary="2"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
+ EnableFunctionLevelLinking="false"
+ DisableLanguageExtensions="false"
PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
AssemblerListingLocation=".\..\..\..\objs\release/"
ObjectFile=".\..\..\..\objs\release/"
@@ -87,7 +88,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -103,88 +104,24 @@
Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release Multithreaded|Win32"
- OutputDirectory=".\..\..\..\objs\release_mt"
- IntermediateDirectory=".\..\..\..\objs\release_mt"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
- WarningLevel="4"
- DebugInformationFormat="0"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCBscMakeTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCFxCopTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Win32"
- OutputDirectory=".\..\..\..\objs\release_st"
- IntermediateDirectory=".\..\..\..\objs\release_st"
+ Name="Release|Smartphone 2003 (ARMV4)"
+ OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -205,21 +142,24 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="1"
/>
<Tool
Name="VCCLCompilerTool"
+ ExecutionBucket="7"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ MinimalRebuild="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="false"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release/"
+ ObjectFile=".\..\..\..\objs\release/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -237,7 +177,8 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
+ SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
@@ -252,86 +193,24 @@
Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\..\..\..\objs\debug"
- IntermediateDirectory=".\..\..\..\objs\debug"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
- WarningLevel="4"
- DebugInformationFormat="3"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCBscMakeTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCFxCopTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Win32"
- OutputDirectory=".\..\..\..\objs\debug_st"
- IntermediateDirectory=".\..\..\..\objs\debug_st"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -352,21 +231,26 @@
/>
<Tool
Name="VCMIDLTool"
+ TargetEnvironment="1"
/>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ ExecutionBucket="7"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ MinimalRebuild="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="false"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release/"
+ ObjectFile=".\..\..\..\objs\release/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -374,7 +258,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -382,7 +266,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -398,87 +282,24 @@
Name="VCFxCopTool"
/>
<Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug Multithreaded|Win32"
- OutputDirectory=".\..\..\..\objs\debug_mt"
- IntermediateDirectory=".\..\..\..\objs\debug_mt"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
- GeneratePreprocessedFile="0"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
- WarningLevel="4"
- DebugInformationFormat="3"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
- SuppressStartupBanner="true"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
+ Name="VCCodeSignTool"
/>
<Tool
- Name="VCBscMakeTool"
+ Name="VCPostBuildEventTool"
/>
- <Tool
- Name="VCFxCopTool"
+ <DeploymentTool
+ ForceDirty="-1"
+ RemoteDirectory=""
+ RegisterOutput="0"
+ AdditionalFiles=""
/>
- <Tool
- Name="VCPostBuildEventTool"
+ <DebuggerTool
/>
</Configuration>
<Configuration
- Name="Release|Pocket PC 2003 (ARMV4)"
- OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -507,7 +328,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
StringPooling="false"
MinimalRebuild="true"
RuntimeLibrary="2"
@@ -534,7 +355,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -547,6 +368,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -562,9 +386,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
- OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -593,15 +417,16 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ MinimalRebuild="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release/"
+ ObjectFile=".\..\..\..\objs\release/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -619,7 +444,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -632,6 +457,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -647,9 +475,9 @@
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
- OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -678,15 +506,16 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
StringPooling="false"
- RuntimeLibrary="0"
+ MinimalRebuild="true"
+ RuntimeLibrary="2"
EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release/"
+ ObjectFile=".\..\..\..\objs\release/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -704,7 +533,8 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239.lib"
+ SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
@@ -716,6 +546,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -731,7 +564,7 @@
/>
</Configuration>
<Configuration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
@@ -759,17 +592,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="3"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -777,7 +613,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -785,7 +621,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -798,6 +634,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -813,9 +652,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
- OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -841,17 +680,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -859,7 +701,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -867,7 +709,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -880,6 +722,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -895,9 +740,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
- OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -923,18 +768,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
- GeneratePreprocessedFile="0"
- RuntimeLibrary="1"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -942,7 +789,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -950,7 +797,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -963,6 +810,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -978,9 +828,9 @@
/>
</Configuration>
<Configuration
- Name="Release|Smartphone 2003 (ARMV4)"
- OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1009,16 +859,15 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- MinimalRebuild="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="false"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -1036,7 +885,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1049,6 +898,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1064,9 +916,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
- OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1095,7 +947,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
@@ -1121,7 +973,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1134,6 +986,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1149,9 +1004,9 @@
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
- OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1180,15 +1035,15 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="true"
RuntimeLibrary="0"
- EnableFunctionLevelLinking="false"
+ EnableFunctionLevelLinking="true"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -1206,7 +1061,8 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
+ SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
@@ -1218,6 +1074,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1233,9 +1092,9 @@
/>
</Configuration>
<Configuration
- Name="Debug|Smartphone 2003 (ARMV4)"
- OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1261,17 +1120,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="3"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -1279,7 +1141,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -1287,8 +1149,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
- SuppressStartupBanner="true"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1300,6 +1161,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1315,7 +1179,7 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
@@ -1343,17 +1207,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="false"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -1361,7 +1228,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -1369,8 +1236,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
- SuppressStartupBanner="true"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1382,6 +1248,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1397,9 +1266,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
- OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
- IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1425,18 +1294,20 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
- GeneratePreprocessedFile="0"
- RuntimeLibrary="1"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -1444,7 +1315,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -1452,8 +1323,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
- SuppressStartupBanner="true"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1465,6 +1335,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1480,9 +1353,9 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1511,16 +1384,15 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
StringPooling="false"
- MinimalRebuild="true"
- RuntimeLibrary="2"
+ RuntimeLibrary="0"
EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -1538,8 +1410,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
- SuppressStartupBanner="true"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1551,6 +1422,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1566,9 +1440,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1597,15 +1471,15 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ StringPooling="false"
RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
+ EnableFunctionLevelLinking="false"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_st/"
+ ObjectFile=".\..\..\..\objs\release_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
WarningLevel="4"
DebugInformationFormat="0"
CompileAs="0"
@@ -1623,8 +1497,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
- SuppressStartupBanner="true"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1636,6 +1509,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1651,9 +1527,9 @@
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1682,7 +1558,7 @@
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);WIN32;_LIB;FT2_BUILD_LIBRARY;NO_ERRNO_H"
StringPooling="false"
RuntimeLibrary="0"
EnableFunctionLevelLinking="false"
@@ -1708,7 +1584,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST.lib"
/>
<Tool
Name="VCALinkTool"
@@ -1720,6 +1596,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1735,9 +1614,9 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
+ OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1765,7 +1644,7 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
RuntimeLibrary="3"
DisableLanguageExtensions="false"
PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
@@ -1789,7 +1668,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1802,6 +1681,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1817,9 +1699,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
+ OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -1847,13 +1729,13 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ RuntimeLibrary="3"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug/"
+ ObjectFile=".\..\..\..\objs\debug/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -1871,7 +1753,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1884,6 +1766,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1899,7 +1784,7 @@
/>
</Configuration>
<Configuration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
@@ -1929,14 +1814,13 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
- GeneratePreprocessedFile="0"
- RuntimeLibrary="1"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ RuntimeLibrary="3"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug/"
+ ObjectFile=".\..\..\..\objs\debug/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -1954,7 +1838,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -1967,6 +1851,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -1982,7 +1869,7 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
@@ -2010,21 +1897,17 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- MinimalRebuild="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="false"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ RuntimeLibrary="3"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug/"
+ ObjectFile=".\..\..\..\objs\debug/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -2032,7 +1915,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -2040,7 +1923,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2053,6 +1936,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2068,9 +1954,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2096,20 +1982,17 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ RuntimeLibrary="3"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug/"
+ ObjectFile=".\..\..\..\objs\debug/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -2117,7 +2000,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -2125,7 +2008,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2138,88 +2021,7 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
- </Configuration>
- <Configuration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- ConfigurationType="4"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="false"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="1"
- />
- <Tool
- Name="VCCLCompilerTool"
- ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="false"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
- WarningLevel="4"
- DebugInformationFormat="0"
- CompileAs="0"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCCodeSignTool"
@@ -2237,9 +2039,9 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2267,7 +2069,7 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
RuntimeLibrary="3"
DisableLanguageExtensions="false"
PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
@@ -2291,7 +2093,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2304,6 +2106,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2319,9 +2124,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2373,7 +2178,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2386,6 +2191,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2401,9 +2209,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2431,14 +2239,13 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
- GeneratePreprocessedFile="0"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
RuntimeLibrary="1"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
- ObjectFile=".\..\..\..\objs\debug_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
+ DisableLanguageExtensions="true"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -2456,7 +2263,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2469,6 +2276,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2484,9 +2294,9 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2512,21 +2322,17 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- MinimalRebuild="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="false"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;NO_ERRNO_H"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="true"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -2534,7 +2340,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -2542,7 +2348,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2555,6 +2361,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2570,9 +2379,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2598,20 +2407,17 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="true"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -2619,7 +2425,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -2627,7 +2433,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2640,6 +2446,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2655,7 +2464,7 @@
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
@@ -2683,20 +2492,17 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="false"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="true"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -2704,7 +2510,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -2712,7 +2518,8 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
+ SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
@@ -2724,6 +2531,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2739,9 +2549,9 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2769,13 +2579,13 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="3"
- DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ RuntimeLibrary="1"
+ DisableLanguageExtensions="true"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_st/"
+ ObjectFile=".\..\..\..\objs\debug_st/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -2793,7 +2603,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239ST_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2806,6 +2616,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2821,9 +2634,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2851,13 +2664,14 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ GeneratePreprocessedFile="0"
RuntimeLibrary="1"
- DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ DisableLanguageExtensions="false"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -2875,7 +2689,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2888,6 +2702,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2903,9 +2720,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ OutputDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
+ IntermediateDirectory="Smartphone 2003 (ARMV4)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -2958,7 +2775,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -2971,6 +2788,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -2986,9 +2806,9 @@
/>
</Configuration>
<Configuration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -3014,21 +2834,18 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- MinimalRebuild="true"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="false"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;NO_ERRNO_H"
+ GeneratePreprocessedFile="0"
+ RuntimeLibrary="1"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release/"
- ObjectFile=".\..\..\..\objs\release/"
- ProgramDataBaseFileName=".\..\..\..\objs\release/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -3036,7 +2853,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -3044,7 +2861,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3057,6 +2874,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -3072,9 +2892,9 @@
/>
</Configuration>
<Configuration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 5.0 Smartphone SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -3100,20 +2920,18 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT2_BUILD_LIBRARY"
- StringPooling="true"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ GeneratePreprocessedFile="0"
+ RuntimeLibrary="1"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_mt/"
- ObjectFile=".\..\..\..\objs\release_mt/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -3121,7 +2939,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -3129,7 +2947,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3142,6 +2960,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -3157,9 +2978,9 @@
/>
</Configuration>
<Configuration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ OutputDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
+ IntermediateDirectory="Windows Mobile 6 Professional SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -3185,20 +3006,18 @@
<Tool
Name="VCCLCompilerTool"
ExecutionBucket="7"
- Optimization="2"
- InlineFunctionExpansion="1"
+ Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;NDEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
- StringPooling="false"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="false"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ GeneratePreprocessedFile="0"
+ RuntimeLibrary="1"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\release_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\release_st/"
- ObjectFile=".\..\..\..\objs\release_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\release_st/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
WarningLevel="4"
- DebugInformationFormat="0"
+ DebugInformationFormat="3"
CompileAs="0"
/>
<Tool
@@ -3206,7 +3025,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
+ PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
@@ -3214,7 +3033,8 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
+ SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
@@ -3226,6 +3046,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -3241,7 +3064,7 @@
/>
</Configuration>
<Configuration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
ConfigurationType="4"
@@ -3271,13 +3094,14 @@
ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="3"
+ PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ GeneratePreprocessedFile="0"
+ RuntimeLibrary="1"
DisableLanguageExtensions="false"
- PrecompiledHeaderFile=".\..\..\..\objs\debug/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug/"
- ObjectFile=".\..\..\..\objs\debug/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug/"
+ PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
+ ObjectFile=".\..\..\..\objs\debug_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\debug_mt/"
WarningLevel="4"
DebugInformationFormat="3"
CompileAs="0"
@@ -3295,7 +3119,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3308,6 +3132,9 @@
Name="VCBscMakeTool"
/>
<Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
Name="VCCodeSignTool"
/>
<Tool
@@ -3323,9 +3150,9 @@
/>
</Configuration>
<Configuration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Release Multithreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\release_mt"
+ IntermediateDirectory=".\..\..\..\objs\release_mt"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -3346,22 +3173,23 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="1"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
- Optimization="0"
+ Optimization="2"
+ InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY"
- RuntimeLibrary="1"
+ PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FT2_BUILD_LIBRARY"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
DisableLanguageExtensions="true"
- PrecompiledHeaderFile=".\..\..\..\objs\debug_st/freetype.pch"
- AssemblerListingLocation=".\..\..\..\objs\debug_st/"
- ObjectFile=".\..\..\..\objs\debug_st/"
- ProgramDataBaseFileName=".\..\..\..\objs\debug_st/"
+ PrecompiledHeaderFile=".\..\..\..\objs\release_mt/freetype.pch"
+ AssemblerListingLocation=".\..\..\..\objs\release_mt/"
+ ObjectFile=".\..\..\..\objs\release_mt/"
+ ProgramDataBaseFileName=".\..\..\..\objs\release_mt/"
WarningLevel="4"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
CompileAs="0"
/>
<Tool
@@ -3369,7 +3197,7 @@
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
+ PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
@@ -3377,7 +3205,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236ST_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3390,24 +3218,16 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
<Configuration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- OutputDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
- IntermediateDirectory="Windows Mobile 6 Standard SDK (ARMV4I)\$(ConfigurationName)"
+ Name="Debug Multithreaded|Win32"
+ OutputDirectory=".\..\..\..\objs\debug_mt"
+ IntermediateDirectory=".\..\..\..\objs\debug_mt"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
@@ -3428,17 +3248,16 @@
/>
<Tool
Name="VCMIDLTool"
- TargetEnvironment="1"
/>
<Tool
Name="VCCLCompilerTool"
- ExecutionBucket="7"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE=$(CEVER);WINCE;_DEBUG;$(PLATFORMDEFINES);$(ARCHFAM);$(_ARCHFAM_);_DEBUG;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
+ PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE"
GeneratePreprocessedFile="0"
+ BasicRuntimeChecks="3"
RuntimeLibrary="1"
- DisableLanguageExtensions="false"
+ DisableLanguageExtensions="true"
PrecompiledHeaderFile=".\..\..\..\objs\debug_mt/freetype.pch"
AssemblerListingLocation=".\..\..\..\objs\debug_mt/"
ObjectFile=".\..\..\..\objs\debug_mt/"
@@ -3460,7 +3279,7 @@
/>
<Tool
Name="VCLibrarianTool"
- OutputFile="..\..\..\objs\freetype236MT_D.lib"
+ OutputFile="..\..\..\objs\wince\vc2008-ce\freetype239MT_D.lib"
SuppressStartupBanner="true"
/>
<Tool
@@ -3473,19 +3292,11 @@
Name="VCBscMakeTool"
/>
<Tool
- Name="VCCodeSignTool"
+ Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
- <DeploymentTool
- ForceDirty="-1"
- RemoteDirectory=""
- RegisterOutput="0"
- AdditionalFiles=""
- />
- <DebuggerTool
- />
</Configuration>
</Configurations>
<References>
@@ -3503,7 +3314,7 @@
RelativePath="..\..\..\src\bdf\bdf.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3513,7 +3324,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3523,7 +3334,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3533,40 +3344,27 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3586,7 +3384,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3596,37 +3394,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3636,7 +3434,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3656,37 +3454,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3696,21 +3494,21 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -3726,7 +3524,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3736,7 +3534,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3746,37 +3544,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3796,7 +3594,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3806,37 +3604,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3846,7 +3644,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3866,37 +3664,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3906,23 +3674,24 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
@@ -3930,7 +3699,7 @@
RelativePath="..\..\..\src\cff\cff.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3940,7 +3709,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3950,7 +3719,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -3960,40 +3729,27 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4013,7 +3769,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4023,37 +3779,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4063,7 +3819,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4083,37 +3839,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4123,7 +3859,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4133,7 +3869,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4143,7 +3879,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4153,7 +3889,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4163,7 +3899,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4173,36 +3909,6 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
@@ -4213,7 +3919,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4223,7 +3929,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4233,37 +3939,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4283,7 +3989,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4293,37 +3999,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4333,7 +4039,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4357,7 +4063,7 @@
RelativePath="..\..\..\src\base\ftbase.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4367,7 +4073,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4377,7 +4083,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4387,40 +4093,27 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4440,7 +4133,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4450,37 +4143,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4490,7 +4183,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4510,37 +4203,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4550,7 +4223,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4560,7 +4233,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4570,7 +4243,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4580,7 +4253,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4590,7 +4263,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4600,36 +4273,6 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
@@ -4640,7 +4283,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4650,7 +4293,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4660,37 +4303,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4710,7 +4353,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4720,37 +4363,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4760,7 +4403,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4788,7 +4431,7 @@
RelativePath="..\..\..\src\cache\ftcache.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4798,7 +4441,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4808,7 +4451,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4818,40 +4461,27 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4871,7 +4501,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4881,37 +4511,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4921,7 +4551,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4941,37 +4571,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -4981,21 +4611,21 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -5011,7 +4641,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5021,7 +4651,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5031,37 +4661,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5081,7 +4711,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5091,37 +4721,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5131,7 +4761,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5151,37 +4781,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5191,23 +4791,25 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
@@ -5215,7 +4817,7 @@
RelativePath="..\ftdebug.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5226,7 +4828,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5237,7 +4839,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5248,43 +4850,29 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5306,7 +4894,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5317,40 +4905,40 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5361,7 +4949,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5383,40 +4971,18 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5427,7 +4993,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5438,7 +5004,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5449,7 +5015,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5460,7 +5026,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5471,7 +5037,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5482,39 +5048,6 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- DisableLanguageExtensions="false"
- />
- </FileConfiguration>
- <FileConfiguration
Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
@@ -5526,7 +5059,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5537,7 +5070,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5548,40 +5081,40 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5603,7 +5136,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5614,40 +5147,40 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5658,7 +5191,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5679,14 +5212,6 @@
DisableLanguageExtensions="false"
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftgasp.c"
- >
- </File>
- <File
- RelativePath="..\..\..\src\base\ftglyph.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -5695,6 +5220,7 @@
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
@@ -5705,6 +5231,7 @@
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
@@ -5715,6 +5242,7 @@
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
@@ -5726,6 +5254,7 @@
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
@@ -5737,6 +5266,7 @@
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
<FileConfiguration
@@ -5748,8 +5278,21 @@
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BasicRuntimeChecks="3"
+ DisableLanguageExtensions="false"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftfstype.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftgasp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftglyph.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -5761,7 +5304,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5771,7 +5314,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5781,37 +5324,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5831,7 +5374,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5841,37 +5384,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5881,7 +5424,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5901,61 +5444,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -5971,7 +5514,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5981,7 +5524,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -5991,37 +5534,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6041,7 +5584,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6051,37 +5594,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6091,7 +5634,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6110,10 +5653,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\gzip\ftgzip.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -6177,6 +5716,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\gzip\ftgzip.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -6188,7 +5731,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6198,7 +5741,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6208,37 +5751,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6258,7 +5801,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6268,37 +5811,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6308,7 +5851,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6328,61 +5871,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -6398,7 +5941,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6408,7 +5951,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6418,37 +5961,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6468,7 +6011,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6478,37 +6021,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6518,7 +6061,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6537,10 +6080,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftinit.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -6604,6 +6143,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftinit.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -6615,7 +6158,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6625,7 +6168,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6635,37 +6178,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6685,7 +6228,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6695,37 +6238,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6735,7 +6278,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6755,61 +6298,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -6825,7 +6368,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6835,7 +6378,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6845,37 +6388,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6895,7 +6438,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6905,37 +6448,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6945,7 +6488,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -6964,10 +6507,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\lzw\ftlzw.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -7031,6 +6570,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\lzw\ftlzw.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -7042,7 +6585,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7052,7 +6595,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7062,37 +6605,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7112,7 +6655,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7122,37 +6665,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7162,7 +6705,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7182,61 +6725,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -7252,7 +6795,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7262,7 +6805,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7272,37 +6815,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7322,7 +6865,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7332,37 +6875,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7372,7 +6915,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7391,14 +6934,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\base\ftstroke.c"
- >
- </File>
- <File
- RelativePath="..\..\..\src\base\ftsystem.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -7462,6 +6997,14 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftstroke.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\src\base\ftsystem.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -7473,7 +7016,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7483,7 +7026,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7493,37 +7036,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7543,7 +7086,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7553,37 +7096,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7593,7 +7136,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7613,61 +7156,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -7683,7 +7226,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7693,7 +7236,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7703,37 +7246,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7753,7 +7296,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7763,37 +7306,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7803,7 +7346,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7822,10 +7365,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\smooth\smooth.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -7889,6 +7428,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\smooth\smooth.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -7900,7 +7443,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7910,7 +7453,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7920,37 +7463,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7970,7 +7513,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -7980,37 +7523,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8020,7 +7563,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8040,6 +7583,56 @@
/>
</FileConfiguration>
<FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Pocket PC 2003 (ARMV4)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Smartphone 2003 (ARMV4)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
@@ -8050,7 +7643,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8060,7 +7653,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8070,37 +7663,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8120,7 +7713,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8130,37 +7723,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8170,7 +7763,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8190,7 +7783,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8200,7 +7803,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8210,7 +7813,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8220,33 +7823,36 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
@@ -8261,7 +7867,7 @@
RelativePath="..\..\..\src\base\ftmm.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8271,7 +7877,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8281,7 +7887,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8291,40 +7897,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8334,7 +7937,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8344,7 +7947,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8354,37 +7957,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8394,7 +7997,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8404,7 +8007,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8414,67 +8017,67 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8484,7 +8087,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8494,7 +8097,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8504,37 +8107,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8544,7 +8147,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8554,7 +8157,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8564,37 +8167,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8604,7 +8207,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8614,7 +8217,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8624,7 +8227,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8634,7 +8237,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8644,7 +8247,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -8654,33 +8257,36 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
@@ -8704,7 +8310,7 @@
RelativePath="..\..\..\src\pcf\pcf.c"
>
<FileConfiguration
- Name="Release|Win32"
+ Name="Release|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8714,7 +8320,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Win32"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8724,7 +8330,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8734,40 +8340,27 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Win32"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Win32"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8787,7 +8380,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8797,37 +8390,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8837,7 +8430,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8857,37 +8450,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8897,7 +8470,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8907,7 +8480,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8917,7 +8490,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8927,7 +8500,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8937,7 +8510,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8947,36 +8520,6 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
- >
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
@@ -8987,7 +8530,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -8997,7 +8540,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9007,37 +8550,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9057,7 +8600,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9067,37 +8610,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9107,7 +8650,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9126,10 +8669,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\pfr\pfr.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -9193,6 +8732,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\pfr\pfr.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -9204,7 +8747,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9214,7 +8757,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9224,37 +8767,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9274,7 +8817,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9284,37 +8827,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9324,7 +8867,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9344,61 +8887,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -9414,7 +8957,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9424,7 +8967,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9434,37 +8977,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9484,7 +9027,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9494,37 +9037,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9534,7 +9077,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9553,10 +9096,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\psaux\psaux.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -9620,6 +9159,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\psaux\psaux.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -9631,7 +9174,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9641,7 +9184,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9651,37 +9194,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9701,7 +9244,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9711,37 +9254,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9751,7 +9294,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9771,61 +9314,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -9841,7 +9384,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9851,7 +9394,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9861,37 +9404,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9911,7 +9454,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9921,37 +9464,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9961,7 +9504,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -9980,10 +9523,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\pshinter\pshinter.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -10047,6 +9586,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\pshinter\pshinter.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -10058,7 +9601,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10068,7 +9611,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10078,37 +9621,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10128,7 +9671,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10138,37 +9681,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10178,7 +9721,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10198,61 +9741,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -10268,7 +9811,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10278,7 +9821,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10288,37 +9831,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10338,7 +9881,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10348,37 +9891,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10388,7 +9931,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10407,10 +9950,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\psnames\psmodule.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -10474,6 +10013,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\psnames\psmodule.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -10485,7 +10028,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10495,7 +10038,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10505,37 +10048,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10555,7 +10098,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10565,37 +10108,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10605,7 +10148,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10625,61 +10168,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -10695,7 +10238,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10705,7 +10248,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10715,37 +10258,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10765,7 +10308,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10775,37 +10318,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10815,7 +10358,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10834,10 +10377,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\raster\raster.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -10901,6 +10440,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\raster\raster.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -10912,7 +10455,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10922,7 +10465,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10932,37 +10475,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10982,7 +10525,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -10992,37 +10535,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11032,7 +10575,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11052,61 +10595,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -11122,7 +10665,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11132,7 +10675,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11142,37 +10685,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11192,7 +10735,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11202,37 +10745,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11242,7 +10785,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11261,10 +10804,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\sfnt\sfnt.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -11328,6 +10867,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\sfnt\sfnt.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -11339,7 +10882,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11349,7 +10892,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11359,37 +10902,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11409,7 +10952,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11419,37 +10962,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11459,7 +11002,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11479,61 +11022,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -11549,7 +11092,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11559,7 +11102,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11569,37 +11112,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11619,7 +11162,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11629,37 +11172,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11669,7 +11212,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11688,10 +11231,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\truetype\truetype.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -11755,6 +11294,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\truetype\truetype.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -11766,7 +11309,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11776,7 +11319,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11786,37 +11329,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11836,7 +11379,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11846,37 +11389,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11886,7 +11429,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11906,61 +11449,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -11976,7 +11519,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11986,7 +11529,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -11996,37 +11539,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12046,7 +11589,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12056,37 +11599,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12096,7 +11639,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12115,10 +11658,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\type1\type1.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -12182,6 +11721,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\type1\type1.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -12193,7 +11736,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12203,7 +11746,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12213,37 +11756,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12263,7 +11806,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12273,37 +11816,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12313,7 +11856,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12333,61 +11876,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -12403,7 +11946,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12413,7 +11956,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12423,37 +11966,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12473,7 +12016,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12483,37 +12026,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12523,7 +12066,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12542,10 +12085,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\cid\type1cid.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -12609,6 +12148,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\cid\type1cid.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -12620,7 +12163,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12630,7 +12173,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12640,37 +12183,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12690,7 +12233,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12700,37 +12243,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12740,7 +12283,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12760,61 +12303,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -12830,7 +12373,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12840,7 +12383,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12850,37 +12393,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12900,7 +12443,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12910,37 +12453,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12950,7 +12493,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -12969,10 +12512,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\type42\type42.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -13036,6 +12575,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\type42\type42.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -13047,7 +12590,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13057,7 +12600,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13067,37 +12610,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13117,7 +12660,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13127,37 +12670,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13167,7 +12710,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13187,61 +12730,61 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
@@ -13257,7 +12800,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13267,7 +12810,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13277,37 +12820,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13327,7 +12870,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13337,37 +12880,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13377,7 +12920,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13396,10 +12939,6 @@
PreprocessorDefinitions=""
/>
</FileConfiguration>
- </File>
- <File
- RelativePath="..\..\..\src\winfonts\winfnt.c"
- >
<FileConfiguration
Name="Release|Win32"
>
@@ -13463,6 +13002,10 @@
BasicRuntimeChecks="3"
/>
</FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\..\src\winfonts\winfnt.c"
+ >
<FileConfiguration
Name="Release|Pocket PC 2003 (ARMV4)"
>
@@ -13474,7 +13017,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13484,7 +13027,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13494,37 +13037,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
+ Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13544,7 +13087,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13554,37 +13097,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
+ Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="0"
+ Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13594,7 +13137,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Release Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13614,6 +13157,56 @@
/>
</FileConfiguration>
<FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Pocket PC 2003 (ARMV4)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Smartphone 2003 (ARMV4)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
@@ -13624,7 +13217,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13634,7 +13227,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13644,37 +13237,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13694,7 +13287,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13704,37 +13297,37 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Pocket PC 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Smartphone 2003 (ARMV4)"
>
<Tool
Name="VCCLCompilerTool"
- Optimization="2"
+ Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13744,7 +13337,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Professional SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 5.0 Smartphone SDK (ARMV4I)"
>
<Tool
Name="VCCLCompilerTool"
@@ -13764,7 +13357,17 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -13774,7 +13377,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -13784,7 +13387,7 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Release Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Release Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
@@ -13794,33 +13397,36 @@
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Singlethreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Singlethreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
<FileConfiguration
- Name="Debug Multithreaded|Windows Mobile 6 Standard SDK (ARMV4I)"
+ Name="Debug Multithreaded|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
/>
</FileConfiguration>
</File>
diff --git a/src/3rdparty/freetype/builds/win32/visualce/index.html b/src/3rdparty/freetype/builds/wince/vc2008-ce/index.html
index 39a2ba5..20e576f 100644
--- a/src/3rdparty/freetype/builds/win32/visualce/index.html
+++ b/src/3rdparty/freetype/builds/wince/vc2008-ce/index.html
@@ -1,13 +1,13 @@
<html>
<header>
<title>
- FreeType&nbsp;2 Project Files for Visual&nbsp;C++ and VS.NET&nbsp;2005
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
(Pocket PC)
</title>
<body>
<h1>
- FreeType&nbsp;2 Project Files for Visual&nbsp;C++ and VS.NET&nbsp;2005
+ FreeType&nbsp;2 Project Files for VS.NET&nbsp;2008
(Pocket PC)
</h1>
@@ -21,14 +21,14 @@ the following targets:
<li>PPC/SP WM6 (Windows Mobile 6)</li>
</ul>
-It compiles the following libraries from the FreeType 2.3.6 sources:</p>
+It compiles the following libraries from the FreeType 2.3.9 sources:</p>
<ul>
<pre>
- freetype236.lib - release build; single threaded
- freetype236_D.lib - debug build; single threaded
- freetype236MT.lib - release build; multi-threaded
- freetype236MT_D.lib - debug build; multi-threaded</pre>
+ freetype239.lib - release build; single threaded
+ freetype239_D.lib - debug build; single threaded
+ freetype239MT.lib - release build; multi-threaded
+ freetype239MT_D.lib - debug build; multi-threaded</pre>
</ul>
<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP
diff --git a/src/3rdparty/freetype/configure b/src/3rdparty/freetype/configure
index c72e44b..b59d35d 100755
--- a/src/3rdparty/freetype/configure
+++ b/src/3rdparty/freetype/configure
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright 2002, 2003, 2004, 2005, 2006 by
+# Copyright 2002, 2003, 2004, 2005, 2006, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -21,7 +21,7 @@ fi
if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then
- echo "GNU make (>= 3.79.1) or makepp (>= 1.19) is required to build FreeType2." >&2
+ echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2
echo "Please try" >&2
echo " \`GNUMAKE=<GNU make command name> $0'." >&2
echo "or >&2"
@@ -92,9 +92,13 @@ fi
# call make
CFG=
-for x in ${1+"$@"}; do
- CFG="$CFG '$x'"
-done
+# work around zsh bug which doesn't like `${1+"$@"}'
+case $# in
+0) ;;
+*) for x in "$@"; do
+ CFG="$CFG '$x'"
+ done ;;
+esac
CFG=$CFG $GNUMAKE setup unix
# eof
diff --git a/src/3rdparty/freetype/devel/ftoption.h b/src/3rdparty/freetype/devel/ftoption.h
index b3bace1..f7f7fcc 100644
--- a/src/3rdparty/freetype/devel/ftoption.h
+++ b/src/3rdparty/freetype/devel/ftoption.h
@@ -117,6 +117,27 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
+ /* If this macro is defined, do not try to use an assembler version of */
+ /* performance-critical functions (e.g. FT_MulFix). You should only do */
+ /* that to verify that the assembler function works properly, or to */
+ /* execute benchmark tests of the various implementations. */
+/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
+
+
+ /*************************************************************************/
+ /* */
+ /* If this macro is defined, try to use an inlined assembler version of */
+ /* the `FT_MulFix' function, which is a `hotspot' when loading and */
+ /* hinting glyphs, and which should be executed as fast as possible. */
+ /* */
+ /* Note that if your compiler or CPU is not supported, this will default */
+ /* to the standard and portable implementation found in `ftcalc.c'. */
+ /* */
+#define FT_CONFIG_OPTION_INLINE_MULFIX
+
+
+ /*************************************************************************/
+ /* */
/* LZW-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
@@ -224,7 +245,7 @@ FT_BEGIN_HEADER
/* if you build it to support postscript names in the TrueType */
/* `post' table. */
/* */
- /* - The Type 1 driver will not be able to synthetize a Unicode */
+ /* - The Type 1 driver will not be able to synthesize a Unicode */
/* charmap out of the glyphs found in the fonts. */
/* */
/* You would normally undefine this configuration macro when building */
@@ -240,12 +261,12 @@ FT_BEGIN_HEADER
/* By default, FreeType 2 is built with the `PSNames' module compiled */
/* in. Among other things, the module is used to convert a glyph name */
/* into a Unicode value. This is especially useful in order to */
- /* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */
+ /* synthesize on the fly a Unicode charmap from the CFF/Type 1 driver */
/* through a big table named the `Adobe Glyph List' (AGL). */
/* */
/* Undefine this macro if you do not want the Adobe Glyph List */
/* compiled in your `PSNames' module. The Type 1 driver will not be */
- /* able to synthetize a Unicode charmap out of the glyphs found in the */
+ /* able to synthesize a Unicode charmap out of the glyphs found in the */
/* fonts. */
/* */
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
@@ -467,9 +488,9 @@ FT_BEGIN_HEADER
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
/* of the TrueType bytecode interpreter is used that doesn't implement */
/* any of the patented opcodes and algorithms. Note that the */
- /* the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you */
- /* define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; with other words, */
- /* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
+ /* TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you define */
+ /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, either define */
+ /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
/* */
/* This macro is only useful for a small number of font files (mostly */
@@ -659,6 +680,7 @@ FT_BEGIN_HEADER
*/
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_USE_BYTECODE_INTERPRETER
+#undef TT_CONFIG_OPTION_UNPATENTED_HINTING
#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING
#define TT_USE_BYTECODE_INTERPRETER
#endif
diff --git a/src/3rdparty/freetype/docs/CHANGES b/src/3rdparty/freetype/docs/CHANGES
index 8129ec7..9eb68c2 100644
--- a/src/3rdparty/freetype/docs/CHANGES
+++ b/src/3rdparty/freetype/docs/CHANGES
@@ -1,3 +1,172 @@
+CHANGES BETWEEN 2.3.9 and 2.3.8
+
+ I. IMPORTANT BUG FIXES
+
+ - Very unfortunately, FreeType 2.3.8 contained a change that broke
+ its official ABI. The end result is that programs compiled
+ against previous versions of the library, but dynamically linked
+ to 2.3.8 can experience memory corruption if they call the
+ `FT_Get_PS_Font_Info' function.
+
+ We recommend all users to upgrade to 2.3.9 as soon as possible,
+ or to downgrade to a previous release of the library if this is
+ not an option.
+
+ The origin of the bug is that a new field was added to the
+ publicly defined `PS_FontInfoRec' structure. Unfortunately,
+ objects of this type can be stack or heap allocated by callers
+ of `FT_Get_PS_Font_Info', resulting in a memory buffer
+ overwrite with its implementation in 2.3.8.
+
+ If you want to know whether your code is vulnerable to this
+ issue, simply search for the substrings `PS_FontInfo' and
+ `PS_Font_Info' in your source code. If none is found, your code
+ is safe and is not affected.
+
+ The FreeType team apologizes for the problem.
+
+ - The POSIX support of MacOS resource-fork fonts (Suitcase fonts
+ and LaserWriter Type1 PostScript fonts) was broken in 2.3.8. If
+ FreeType2 is built without Carbon framework, these fonts are not
+ handled correctly. Version 2.3.7 didn't have this bug.
+
+ - `FT_Get_Advance' (and `FT_Get_Advances') returned bad values for
+ almost all font formats except TrueType fonts.
+
+ - Fix a bug in the SFNT kerning table loader/parser which could
+ crash the engine if certain malformed tables were encountered.
+
+ - Composite SFNT bitmaps are now handled correctly.
+
+
+ II. IMPORTANT CHANGES
+
+ - The new functions `FT_Get_CID_Is_Internally_CID_keyed' and
+ `FT_Get_CID_From_Glyph_Index' can be used to access CID-keyed
+ CFF fonts via CID values. This code has been contributed by
+ Michael Toftdal.
+
+
+ III. MISCELLANEOUS
+
+ - `FT_Outline_Get_InsideBorder' returns FT_STROKER_BORDER_RIGHT
+ for empty outlines. This was incorrectly documented.
+
+ - The `ftview' demo program now supports UTF-8 encoded strings.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.8 and 2.3.7
+
+ I. IMPORTANT BUG FIXES
+
+ - CID-keyed fonts in an SFNT wrapper were not handled correctly.
+
+ - The smooth renderer produced truncated images (on the right) for
+ outline parts with negative horizontal values. Most fonts don't
+ contain outlines left to the y coordinate axis, but the effect
+ was very noticeable for outlines processed with FT_Glyph_Stroke,
+ using thick strokes.
+
+ - `FT_Get_TrueType_Engine_Type' returned a wrong value if both
+ configuration macros TT_CONFIG_OPTION_BYTECODE_INTERPRETER and
+ TT_CONFIG_OPTION_UNPATENTED_HINTING were defined.
+
+ - The `face_index' field in the `FT_Face' structure wasn't
+ initialized properly after calling FT_Open_Face and friends with
+ a positive face index for CFFs, WinFNTs, and, most importantly,
+ for TrueType Collections (TTCs).
+
+
+ II. IMPORTANT CHANGES
+
+ - Rudimentary support for Type 1 fonts and CID-keyed Type 1 fonts
+ in an SFNT wrapper has been added -- such fonts are used on the
+ Mac. The core SFNT tables `TYP1' and `CID ' are passed to the
+ PS Type 1 and CID-keyed PS font drivers; other tables (`ALMX',
+ `BBOX', etc.) are not supported yet.
+
+ - A new interface to extract advance values of glyphs without
+ loading their outlines has been added. The functions are called
+ `FT_Get_Advance' and `FT_Get_Advances'; they are defined in file
+ `ftadvanc.h' (to be accessed as FT_ADVANCES_H).
+
+ - A new function `FT_Get_FSType_Flags' (in FT_FREETYPE_H) has been
+ contributed by David Bevan to access the embedding and
+ subsetting restriction information of fonts.
+
+
+ III. MISCELLANEOUS
+
+ - FT_MulFix is now an inlined function; by default, assembler code
+ is provided for x86 and ARM. See FT_CONFIG_OPTION_INLINE_MULFIX
+ and FT_CONFIG_OPTION_NO_ASSEMBLER (in ftoption.h) for more.
+
+ - The handling of `tricky' fonts (this is, fonts which don't work
+ with the autohinter, needing the font format's hinting engine)
+ has been generalized and changed slightly:
+
+ . A new face flag FT_FACE_FLAG_TRICKY indicates that the font
+ format's hinting engine is necessary for correct rendering.
+ The macro FT_IS_TRICKY can be used to check this flag.
+
+ . FT_LOAD_NO_HINTING is now ignored for tricky fonts. To really
+ force raw loading of such fonts (without hinting), both
+ FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT must be used --
+ this is something which you probably never want to do.
+
+ . Tricky TrueType fonts always use the bytecode interpreter,
+ either the patented or unpatented version.
+
+ - The function `FT_GlyphSlot_Own_Bitmap' has been moved from
+ FT_SYNTHESIS_H to FT_BITMAP_H; it is now part of the `official'
+ API. (The functions in FT_SYNTHESIS_H are still subject to
+ change, however.)
+
+ - In the `ftdiff' demo program you can now toggle the use of
+ FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH with key `a'.
+
+
+======================================================================
+
+CHANGES BETWEEN 2.3.7 and 2.3.6
+
+ I. IMPORTANT BUG FIXES
+
+ - If the library was compiled on an i386 platform using gcc, and
+ compiler option -O3 was given, `FT_MulFix' sometimes returned
+ incorrect results which could have caused problems with
+ `FT_Request_Metrics' and `FT_Select_Metrics', returning an
+ incorrect descender size.
+
+ - Pure CFFs without subfonts were scaled incorrectly if the font
+ matrix was non-standard. This bug has been introduced in
+ version 2.3.6.
+
+ - The `style_name' field in the `FT_FaceRec' structure often
+ contained a wrong value for Type 1 fonts. This misbehaviour
+ has been introduced in version 2.3.6 while trying to fix
+ another problem. [Note, however, that this value is
+ informative only since the used algorithm to extract it is
+ very simplistic.]
+
+
+ II. IMPORTANT CHANGES
+
+ - Two new macros, FT_OUTLINE_SMART_DROPOUTS and
+ FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with
+ FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is
+ now possible to control the dropout mode of the `raster' module
+ (for B&W rasterization), using the `flags' field in the
+ `FT_Outline' structure.
+
+ - The TrueType bytecode interpreter now passes the dropout mode to
+ the B&W rasterizer. This greatly increases the output for small
+ ppem values of many fonts like `pala.ttf'.
+
+
+======================================================================
CHANGES BETWEEN 2.3.6 and 2.3.5
@@ -3130,7 +3299,7 @@ Extensions support:
------------------------------------------------------------------------
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/INSTALL b/src/3rdparty/freetype/docs/INSTALL
index 585c4db..de50d0c 100644
--- a/src/3rdparty/freetype/docs/INSTALL
+++ b/src/3rdparty/freetype/docs/INSTALL
@@ -20,6 +20,8 @@ I. Normal installation and upgrades
Make for automatic compilation, since other make tools won't work
(this includes BSD Make).
+ GNU Make VERSION 3.80 OR NEWER IS NEEDED!
+
3. On VMS with the `mms' build tool
@@ -76,7 +78,7 @@ II. Custom builds of the library
----------------------------------------------------------------------
-Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
+Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/INSTALL.ANY b/src/3rdparty/freetype/docs/INSTALL.ANY
index 06f65d7..86e94d5 100644
--- a/src/3rdparty/freetype/docs/INSTALL.ANY
+++ b/src/3rdparty/freetype/docs/INSTALL.ANY
@@ -38,14 +38,20 @@ I. Standard procedure
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
src/base/ftbitmap.c -- optional, see <freetype/ftbitmap.h>
+ src/base/ftcid.c -- optional, see <freetype/ftcid.h>
+ src/base/ftfstype.c -- optional
+ src/base/ftgasp.c -- optional, see <freetype/ftgasp.h>
src/base/ftgxval.c -- optional, see <freetype/ftgxval.h>
+ src/base/ftlcdfil.c -- optional, see <freetype/ftlcdfil.h>
src/base/ftmm.c -- optional, see <freetype/ftmm.h>
src/base/ftotval.c -- optional, see <freetype/ftotval.h>
+ src/base/ftpatent.c -- optional
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
src/base/ftstroke.c -- optional, see <freetype/ftstroke.h>
src/base/ftsynth.c -- optional, see <freetype/ftsynth.h>
src/base/fttype1.c -- optional, see <freetype/t1tables.h>
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
+ src/base/ftxf86.c -- optional, see <freetype/ftxf86.h>
src/base/ftmac.c -- only on the Macintosh
@@ -63,8 +69,8 @@ I. Standard procedure
src/type42/type42.c -- Type 42 font driver
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
- -- rasterizers (optional; at least one is needed for
- vector formats)
+ -- rasterizers (optional; at least one is needed for vector
+ formats)
src/raster/raster.c -- monochrome rasterizer
src/smooth/smooth.c -- anti-aliasing rasterizer
@@ -84,6 +90,12 @@ I. Standard procedure
Notes:
+ `ftcache.c' needs `ftglyph.c'
+ `ftfstype.c' needs `fttype1.c'
+ `ftglyph.c' needs `ftbitmap.c'
+ `ftstroke.c' needs `ftglyph.c'
+ `ftsynth.c' needs `ftbitmap.c'
+
`cff.c' needs `sfnt.c', `pshinter.c', and `psnames.c'
`truetype.c' needs `sfnt.c' and `psnames.c'
`type1.c' needs `psaux.c' `pshinter.c', and `psnames.c'
@@ -126,7 +138,7 @@ II. Support for flat-directory compilation
----------------------------------------------------------------------
-Copyright 2003, 2005, 2006 by
+Copyright 2003, 2005, 2006, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/INSTALL.CROSS b/src/3rdparty/freetype/docs/INSTALL.CROSS
index 1a0c00c..3def12c 100644
--- a/src/3rdparty/freetype/docs/INSTALL.CROSS
+++ b/src/3rdparty/freetype/docs/INSTALL.CROSS
@@ -8,7 +8,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure.
-----------------
For self-building the FreeType library on a Unix system, GNU Make
- 3.78.1 or newer is required. INSTALL.UNIX contains hints how to
+ 3.80 or newer is required. INSTALL.UNIX contains hints how to
check the installed `make'.
The GNU C compiler to cross-build the target system is required.
@@ -121,7 +121,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure.
----------------------------------------------------------------------
-Copyright 2006 by suzuki toshiya
+Copyright 2006, 2008 by suzuki toshiya
David Turner, Robert Wilhelm, and Werner Lemberg.
diff --git a/src/3rdparty/freetype/docs/INSTALL.GNU b/src/3rdparty/freetype/docs/INSTALL.GNU
index 7b588cb..72df50a 100644
--- a/src/3rdparty/freetype/docs/INSTALL.GNU
+++ b/src/3rdparty/freetype/docs/INSTALL.GNU
@@ -35,7 +35,7 @@ in the file INSTALL.UNIX instead.
to display its version number.
- VERSION 3.78.1 OR NEWER IS NEEDED!
+ VERSION 3.80 OR NEWER IS NEEDED!
2. Invoke `make'
@@ -146,7 +146,7 @@ in the file INSTALL.UNIX instead.
----------------------------------------------------------------------
-Copyright 2003, 2004, 2005, 2006 by
+Copyright 2003, 2004, 2005, 2006, 2008 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/INSTALL.UNIX b/src/3rdparty/freetype/docs/INSTALL.UNIX
index 3ddfb8e..1d5af99 100644
--- a/src/3rdparty/freetype/docs/INSTALL.UNIX
+++ b/src/3rdparty/freetype/docs/INSTALL.UNIX
@@ -19,7 +19,7 @@ or MSys on Win32:
GNU Make <version number>
Copyright (C) <year> Free Software Foundation Inc.
- Note that version 3.78.1 or higher is *required* or the build will
+ Note that version 3.80 or higher is *required* or the build will
fail.
It is also fine to have GNU Make under another name (e.g. 'gmake')
diff --git a/src/3rdparty/freetype/docs/VERSION.DLL b/src/3rdparty/freetype/docs/VERSION.DLL
index 5275431..6b028b1 100644
--- a/src/3rdparty/freetype/docs/VERSION.DLL
+++ b/src/3rdparty/freetype/docs/VERSION.DLL
@@ -53,6 +53,9 @@ systems, but not all of them:
release libtool so
-------------------------------
+ 2.3.9 9.20.3 6.3.20
+ 2.3.8 9.19.3 6.3.19
+ 2.3.7 9.18.3 6.3.18
2.3.6 9.17.3 6.3.17
2.3.5 9.16.3 6.3.16
2.3.4 9.15.3 6.3.15
@@ -119,7 +122,7 @@ other release numbers.
------------------------------------------------------------------------
-Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
+Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/formats.txt b/src/3rdparty/freetype/docs/formats.txt
index 2f7c3d9..571f5ff 100644
--- a/src/3rdparty/freetype/docs/formats.txt
+++ b/src/3rdparty/freetype/docs/formats.txt
@@ -51,12 +51,14 @@ type format format type access driver documents
--- --- BDF --- --- bdf 5005.BDF_Spec.pdf, X11
---- SFNT PS TYPE_1 --- --- Type 1 GX Font Format
- (for the Mac)
-MAC SFNT PS TYPE_1 --- --- Type 1 GX Font Format
- (for the Mac)
---- SFNT PS TYPE_1 CID --- 5180.sfnt.pdf (for the Mac)
-MAC SFNT PS TYPE_1 CID --- 5180.sfnt.pdf (for the Mac)
+--- SFNT PS TYPE_1 --- type1 Type 1 GX Font Format
+ (for the Mac) [3]
+MAC SFNT PS TYPE_1 --- type1 Type 1 GX Font Format
+ (for the Mac) [3]
+--- SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac)
+ [3]
+MAC SFNT PS TYPE_1 CID cid 5180.sfnt.pdf (for the Mac)
+ [3]
--- SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
(`OTTO' format)
MAC SFNT PS CFF --- cff OT spec, 5176.CFF.pdf
@@ -109,8 +111,8 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
--- ? ? CEF ? cff ?
---- --- PCF --- --- pcf X11
---- LZW PCF --- --- pcf X11
+--- --- PCF --- --- pcf X11, [4]
+--- LZW PCF --- --- pcf X11, [4]
--- --- PFR PFR0 --- pfr [2]
@@ -139,9 +141,17 @@ MAC --- PS TYPE_1 --- type1 T1_SPEC.pdf
(free registration required).
+[3] Support is rudimentary currently; some tables are not loaded yet.
+
+[4] There is no formal PCF specification; you have to deduce the exact
+ format from the source code within X11. George Williams did this for
+ his FontForge editor:
+
+ http://fontforge.sourceforge.net/pcf-format.html
+
------------------------------------------------------------------------
-Copyright 2004, 2005 by
+Copyright 2004, 2005, 2008, 2009 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,
diff --git a/src/3rdparty/freetype/docs/reference/ft2-base_interface.html b/src/3rdparty/freetype/docs/reference/ft2-base_interface.html
index 34e8a5e..27f454b 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-base_interface.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-base_interface.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,56 +31,53 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Base Interface
</h1></center>
<h2>Synopsis</h2>
<table align=center cellspacing=5 cellpadding=0 border=0>
-<tr><td></td><td><a href="#FT_Library">FT_Library</a></td><td></td><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td></tr>
-<tr><td></td><td><a href="#FT_Face">FT_Face</a></td><td></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr>
-<tr><td></td><td><a href="#FT_Size">FT_Size</a></td><td></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td><td></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr>
-<tr><td></td><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td></td><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr>
-<tr><td></td><td><a href="#FT_CharMap">FT_CharMap</a></td><td></td><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td></td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td></tr>
-<tr><td></td><td><a href="#FT_Encoding">FT_Encoding</a></td><td></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td></td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr>
-<tr><td></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td><td></td><td><a href="#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr>
-<tr><td></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td></td><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr>
-<tr><td></td><td><a href="#FT_Module">FT_Module</a></td><td></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr>
-<tr><td></td><td><a href="#FT_Driver">FT_Driver</a></td><td></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td></td><td><a href="#ft_kerning_default">ft_kerning_default</a></td></tr>
-<tr><td></td><td><a href="#FT_Renderer">FT_Renderer</a></td><td></td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td></td><td><a href="#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr>
-<tr><td></td><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td></td><td><a href="#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr>
-<tr><td></td><td><a href="#ft_encoding_xxx">ft_encoding_xxx</a></td><td></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr>
-<tr><td></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td><td></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr>
-<tr><td></td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td><td></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr>
-<tr><td></td><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr>
-<tr><td></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td></tr>
-<tr><td></td><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td></tr>
-<tr><td></td><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td></tr>
-<tr><td></td><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr>
-<tr><td></td><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td></td><td></td></tr>
+<tr><td></td><td><a href="#FT_Library">FT_Library</a></td><td></td><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr>
+<tr><td></td><td><a href="#FT_Face">FT_Face</a></td><td></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr>
+<tr><td></td><td><a href="#FT_Size">FT_Size</a></td><td></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td><td></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr>
+<tr><td></td><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td></td><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td></td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td></tr>
+<tr><td></td><td><a href="#FT_CharMap">FT_CharMap</a></td><td></td><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td></td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr>
+<tr><td></td><td><a href="#FT_Encoding">FT_Encoding</a></td><td></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td></td><td><a href="#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr>
+<tr><td></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td><td></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr>
+<tr><td></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td></td><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr>
+<tr><td></td><td><a href="#FT_Module">FT_Module</a></td><td></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td></td><td><a href="#ft_kerning_default">ft_kerning_default</a></td></tr>
+<tr><td></td><td><a href="#FT_Driver">FT_Driver</a></td><td></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td></td><td><a href="#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr>
+<tr><td></td><td><a href="#FT_Renderer">FT_Renderer</a></td><td></td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td></td><td><a href="#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr>
+<tr><td></td><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr>
+<tr><td></td><td><a href="#ft_encoding_xxx">ft_encoding_xxx</a></td><td></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr>
+<tr><td></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td><td></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr>
+<tr><td></td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td><td></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr>
+<tr><td></td><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr>
+<tr><td></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td></tr>
+<tr><td></td><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td></tr>
+<tr><td></td><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td></tr>
+<tr><td></td><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr>
+<tr><td></td><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr>
<tr><td></td><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td></td><td></td></tr>
+<tr><td></td><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td><td></td><td></td></tr>
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>This section describes the public high-level API of FreeType 2.</p>
+<p>This section describes the public high-level API of FreeType&nbsp;2.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_Library">FT_Library</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_ *<b>FT_Library</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a FreeType library instance. Each &lsquo;library&rsquo; is completely independent from the others; it is the &lsquo;root&rsquo; of a set of objects like fonts, faces, sizes, etc.</p>
<p>It also embeds a memory manager (see <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a>), as well as a scan-line converter object (see <a href="ft2-raster.html#FT_Raster">FT_Raster</a>).</p>
<p>For multi-threading applications each thread should have its own FT_Library object.</p>
@@ -97,14 +94,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Face">FT_Face</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_* <b>FT_Face</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given typographic face object. A face object models a given typeface, in a given style.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
@@ -113,7 +102,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy it (along with its slot and sizes).</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
-<p>The <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> details the publicly accessible fields of a given face object.</p>
+<p>See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the publicly accessible fields of a given face object.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -124,14 +113,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Size">FT_Size</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_* <b>FT_Size</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an object used to model a face scaled to a given character size.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
@@ -140,7 +121,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>You can use <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> to create additional size objects for a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a>, but they won't be used by other functions until you activate it through <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a>. Only one size can be activated at any given time per face.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
-<p>The <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> structure details the publicly accessible fields of a given size object.</p>
+<p>See <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> for the publicly accessible fields of a given size object.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -151,19 +132,11 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_GlyphSlot">FT_GlyphSlot</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_* <b>FT_GlyphSlot</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>A handle to a given &lsquo;glyph slot&rsquo;. A slot is a container where it is possible to load any one of the glyphs contained in its parent face.</p>
+<p>A handle to a given &lsquo;glyph slot&rsquo;. A slot is a container where it is possible to load any of the glyphs contained in its parent face.</p>
<p>In other words, each time you call <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
-<p><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> details the publicly accessible glyph fields.</p>
+<p>See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for the publicly accessible glyph fields.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -174,14 +147,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_CharMap">FT_CharMap</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_* <b>FT_CharMap</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.</p>
<p>Each face object owns zero or more charmaps, but only one of them can be &lsquo;active&rsquo; and used by <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p>
<p>The list of available charmaps in a face is available through the &lsquo;face-&gt;num_charmaps&rsquo; and &lsquo;face-&gt;charmaps&rsquo; fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p>
@@ -191,7 +156,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>When a new face is created (either through <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>), the library looks for a Unicode charmap within the list and automatically activates it.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td>
-<p>The <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> details the publicly accessible fields of a given character map.</p>
+<p>See <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> for the publicly accessible fields of a given character map.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -250,7 +215,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_ENCODING_NONE</b></td><td>
-<p>The encoding value 0 is reserved.</p>
+<p>The encoding value&nbsp;0 is reserved.</p>
</td></tr>
<tr valign=top><td><b>FT_ENCODING_UNICODE</b></td><td>
<p>Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.</p>
@@ -271,23 +236,23 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>Corresponds to the Korean encoding system known as Wansung. For more information see &lsquo;http://www.microsoft.com/typography/unicode/949.txt&rsquo;.</p>
</td></tr>
<tr valign=top><td><b>FT_ENCODING_JOHAB</b></td><td>
-<p>The Korean standard character set (KS C-5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p>
+<p>The Korean standard character set (KS&nbsp;C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_LATIN_1</b></td></tr>
<tr valign=top><td></td><td>
-<p>Corresponds to a Latin-1 encoding as defined in a Type 1 Postscript font. It is limited to 256 character codes.</p>
+<p>Corresponds to a Latin-1 encoding as defined in a Type&nbsp;1 PostScript font. It is limited to 256 character codes.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_STANDARD</b></td></tr>
<tr valign=top><td></td><td>
-<p>Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
+<p>Corresponds to the Adobe Standard encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_EXPERT</b></td></tr>
<tr valign=top><td></td><td>
-<p>Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
+<p>Corresponds to the Adobe Expert encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_CUSTOM</b></td></tr>
<tr valign=top><td></td><td>
-<p>Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
+<p>Corresponds to a custom encoding, as found in Type&nbsp;1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ENCODING_APPLE_ROMAN</b></td></tr>
<tr valign=top><td></td><td>
@@ -315,13 +280,13 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>By default, FreeType automatically synthetizes a Unicode charmap for Postscript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.</p>
+<p>By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.</p>
<p>FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use <a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a> to find out which encoding is really present. If, for example, the &lsquo;cs_registry&rsquo; field is &lsquo;KOI8&rsquo; and the &lsquo;cs_encoding&rsquo; field is &lsquo;R&rsquo;, the font is encoded in KOI8-R.</p>
<p>FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use <a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a> and examine the &lsquo;charset&rsquo; field of the <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure to find out which encoding is really present. For example, <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> (204) means Windows code page 1251 (for Russian).</p>
<p>FT_ENCODING_NONE is set if &lsquo;platform_id&rsquo; is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> and &lsquo;encoding_id&rsquo; is not <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> (otherwise it is set to FT_ENCODING_APPLE_ROMAN).</p>
-<p>If &lsquo;platform_id&rsquo; is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>, use the function c <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a> to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See</p>
+<p>If &lsquo;platform_id&rsquo; is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>, use the function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a> to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See</p>
<p>http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT</p>
-<p>to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine &lsquo;encoding_id&rsquo;. If, for example, &lsquo;encoding_id&rsquo; is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus 1) is &lsquo;TT_MAC_LANGID_GREEK&rsquo;, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with &lsquo;TT_MAC_LANGID_FARSI&rsquo; means the Farsi variant the Arabic encoding.</p>
+<p>to get an idea how to do that. Basically, if the language ID is&nbsp;0, don't use it, otherwise subtract 1 from the language ID. Then examine &lsquo;encoding_id&rsquo;. If, for example, &lsquo;encoding_id&rsquo; is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus&nbsp;1) is &lsquo;TT_MAC_LANGID_GREEK&rsquo;, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with &lsquo;TT_MAC_LANGID_FARSI&rsquo; means the Farsi variant the Arabic encoding.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -446,14 +411,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Module">FT_Module</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_* <b>FT_Module</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.</p>
</td></tr></table><br>
</td></tr></table>
@@ -465,14 +422,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Driver">FT_Driver</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_* <b>FT_Driver</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.</p>
</td></tr></table><br>
</td></tr></table>
@@ -484,14 +433,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Renderer">FT_Renderer</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_* <b>FT_Renderer</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.</p>
</td></tr></table><br>
</td></tr></table>
@@ -521,7 +462,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>This macro converts four-letter tags into an unsigned long. It is used to define &lsquo;encoding&rsquo; identifiers (see <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>).</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>Since many 16bit compilers don't like 32bit enumerations, you should redefine this macro in case of problems to something like this:</p>
+<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p>
<pre class="colored">
#define FT_ENC_TAG( value, a, b, c, d ) value
</pre>
@@ -612,16 +553,8 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Face_Internal">FT_Face_Internal</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_* <b>FT_Face_Internal</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An opaque handle to an &lsquo;FT_Face_InternalRec&rsquo; structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object.</p>
-<p>This structure might change between releases of FreeType 2 and is not generally available to client applications.</p>
+<p>This structure might change between releases of FreeType&nbsp;2 and is not generally available to client applications.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -705,7 +638,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face in the font file. It is set to 0 if there is only one face in the font file.</p>
+<p>The index of the face in the font file. It is set to&nbsp;0 if there is only one face in the font file.</p>
</td></tr>
<tr valign=top><td><b>face_flags</b></td><td>
<p>A set of bit flags that give important information about the face; see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a> for the details.</p>
@@ -715,6 +648,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr>
<tr valign=top><td><b>num_glyphs</b></td><td>
<p>The number of glyphs in the face. If the face is scalable and has sbits (see &lsquo;num_fixed_sizes&rsquo;), it is set to the number of outline glyphs.</p>
+<p>For CID-keyed fonts, this value gives the highest CID used in the font.</p>
</td></tr>
<tr valign=top><td><b>family_name</b></td><td>
<p>The face's family name. This is an ASCII string, usually in English, which describes the typeface's family (like &lsquo;Times New Roman&rsquo;, &lsquo;Bodoni&rsquo;, &lsquo;Garamond&rsquo;, etc). This is a least common denominator used to list fonts. Some formats (TrueType &amp; OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).</p>
@@ -739,9 +673,10 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr>
<tr valign=top><td><b>bbox</b></td><td>
<p>The font bounding box. Coordinates are expressed in font units (see &lsquo;units_per_EM&rsquo;). The box is large enough to contain any glyph from the font. Thus, &lsquo;bbox.yMax&rsquo; can be seen as the &lsquo;maximal ascender&rsquo;, and &lsquo;bbox.yMin&rsquo; as the &lsquo;minimal descender&rsquo;. Only relevant for scalable formats.</p>
+<p>Note that the bounding box might be off by (at least) one pixel for hinted fonts. See <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> for further discussion.</p>
</td></tr>
<tr valign=top><td><b>units_per_EM</b></td><td>
-<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.</p>
+<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type&nbsp;1 fonts. Only relevant for scalable formats.</p>
</td></tr>
<tr valign=top><td><b>ascender</b></td><td>
<p>The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to &lsquo;bbox.yMax&rsquo;. Only relevant for scalable formats.</p>
@@ -759,7 +694,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The maximal advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to &lsquo;height&rsquo; for fonts that do not provide vertical metrics. Only relevant for scalable formats.</p>
</td></tr>
<tr valign=top><td><b>underline_position</b></td><td>
-<p>The position, in font units, of the underline line for this face. It's the center of the underlining stem. Only relevant for scalable formats.</p>
+<p>The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.</p>
</td></tr>
<tr valign=top><td><b>underline_thickness</b></td><td>
<p>The thickness, in font units, of the underline for this face. Only relevant for scalable formats.</p>
@@ -804,6 +739,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a> ( 1L &lt;&lt; 10 )
#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a> ( 1L &lt;&lt; 11 )
#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> ( 1L &lt;&lt; 12 )
+#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> ( 1L &lt;&lt; 13 )
</pre></table><br>
<table align=center width="87%"><tr><td>
@@ -857,6 +793,12 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr>
<tr valign=top><td><b>FT_FACE_FLAG_CID_KEYED</b></td><td>
<p>Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an &lsquo;FT_Err_Invalid_Argument&rsquo; error.</p>
+<p>Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the &lsquo;CID-ness&rsquo; isn't visible to the application.</p>
+</td></tr>
+<tr valign=top><td><b>FT_FACE_FLAG_TRICKY</b></td><td>
+<p>Set if the font is &lsquo;tricky&rsquo;, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font &lsquo;mingli.ttf&rsquo; which uses TrueType bytecode instructions to move and scale all of its subglyphs.</p>
+<p>It is not possible to autohint such fonts using <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>; it will also ignore <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>. You have to set both FT_LOAD_NO_HINTING and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> to really disable hinting; however, you probably never want this except for demonstration purposes.</p>
+<p>Currently, there are six TrueType fonts in the list of tricky fonts; they are hard-coded in file &lsquo;ttobjs.c&rsquo;.</p>
</td></tr>
</table>
</td></tr></table>
@@ -941,7 +883,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.</p>
+<p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type&nbsp;1, Type&nbsp;42, CID, OpenType/CFF, and PFR font formats.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -1013,14 +955,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>Deprecated.</p>
</td></tr></table><br>
</td></tr></table>
@@ -1091,6 +1025,26 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
<table align=center width="75%"><tr><td>
+<h4><a name="FT_IS_TRICKY">FT_IS_TRICKY</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_FREETYPE_H (freetype/freetype.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+#define <b>FT_IS_TRICKY</b>( face ) \
+ ( face-&gt;face_flags &amp; <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> )
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>A macro that returns true whenever a face represents a &lsquo;tricky&rsquo; font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more details.</p>
+</td></tr></table><br>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
<h4><a name="FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></h4>
<table align=center width="87%"><tr><td>
Defined in FT_FREETYPE_H (freetype/freetype.h).
@@ -1127,14 +1081,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Size_Internal">FT_Size_Internal</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_InternalRec_* <b>FT_Size_Internal</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An opaque handle to an &lsquo;FT_Size_InternalRec&rsquo; structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object.</p>
</td></tr></table><br>
</td></tr></table>
@@ -1253,14 +1199,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_SubGlyph">FT_SubGlyph</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SubGlyphRec_* <b>FT_SubGlyph</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
@@ -1276,14 +1214,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Slot_Internal">FT_Slot_Internal</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Slot_InternalRec_* <b>FT_Slot_Internal</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An opaque handle to an &lsquo;FT_Slot_InternalRec&rsquo; structure, used to model private data of a given <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object.</p>
</td></tr></table><br>
</td></tr></table>
@@ -1365,7 +1295,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p>
</td></tr>
<tr valign=top><td><b>advance</b></td><td>
-<p>This is the transformed advance width for the glyph.</p>
+<p>This is the transformed advance width for the glyph (in 26.6 fractional pixel format).</p>
</td></tr>
<tr valign=top><td><b>format</b></td><td>
<p>This field indicates the format of the image contained in the glyph slot. Typically <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, or <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, but others are possible.</p>
@@ -1377,7 +1307,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>This is the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p>
</td></tr>
<tr valign=top><td><b>bitmap_top</b></td><td>
-<p>This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y-coordinates being <b>positive</b>.</p>
+<p>This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y&nbsp;coordinates being <b>positive</b>.</p>
</td></tr>
<tr valign=top><td><b>outline</b></td><td>
<p>The outline descriptor for the current glyph image if its format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>. Once a glyph is loaded, &lsquo;outline&rsquo; can be transformed, distorted, embolded, etc. However, it must not be freed.</p>
@@ -1389,7 +1319,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>An array of subglyph descriptors for composite glyphs. There are &lsquo;num_subglyphs&rsquo; elements in there. Currently internal to FreeType.</p>
</td></tr>
<tr valign=top><td><b>control_data</b></td><td>
-<p>Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.</p>
+<p>Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type&nbsp;1 charstrings, etc.). This field is a pointer to such data.</p>
</td></tr>
<tr valign=top><td><b>control_len</b></td><td>
<p>This is the length in bytes of the control data.</p>
@@ -1406,9 +1336,9 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> is called with default flags (see <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a>) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).</p>
-<p>This image can later be converted into a bitmap by calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This function finds the current renderer for the native image's format then invokes it.</p>
-<p>The renderer is in charge of transforming the native image through the slot's face transformation fields, then convert it into a bitmap that is returned in &lsquo;slot-&gt;bitmap&rsquo;.</p>
+<p>If <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> is called with default flags (see <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a>) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type&nbsp;1 formats).</p>
+<p>This image can later be converted into a bitmap by calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This function finds the current renderer for the native image's format, then invokes it.</p>
+<p>The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in &lsquo;slot-&gt;bitmap&rsquo;.</p>
<p>Note that &lsquo;slot-&gt;bitmap_left&rsquo; and &lsquo;slot-&gt;bitmap_top&rsquo; are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, &lsquo;slot-&gt;format&rsquo; is also changed to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
@@ -1466,7 +1396,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1497,7 +1427,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1538,7 +1468,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>Copy the stream from the &lsquo;stream&rsquo; field.</p>
</td></tr>
<tr valign=top><td><b>FT_OPEN_PATHNAME</b></td><td>
-<p>Create a new input stream from a C path name.</p>
+<p>Create a new input stream from a C&nbsp;path name.</p>
</td></tr>
<tr valign=top><td><b>FT_OPEN_DRIVER</b></td><td>
<p>Use the &lsquo;driver&rsquo; field.</p>
@@ -1653,7 +1583,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A handle to a source stream object.</p>
</td></tr>
<tr valign=top><td><b>driver</b></td><td>
-<p>This field is exclusively used by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.</p>
+<p>This field is exclusively used by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>; it simply specifies the font driver to use to open the face. If set to&nbsp;0, FreeType tries to load the face with each one of the drivers in its list.</p>
</td></tr>
<tr valign=top><td><b>num_params</b></td><td>
<p>The number of extra parameters.</p>
@@ -1670,7 +1600,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>Otherwise, if the &lsquo;FT_OPEN_PATHNAME&rsquo; bit is set, assume that this is a normal file and use &lsquo;pathname&rsquo; to open it.</p>
<p>If the &lsquo;FT_OPEN_DRIVER&rsquo; bit is set, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> only tries to open the file with the driver whose handler is in &lsquo;driver&rsquo;.</p>
<p>If the &lsquo;FT_OPEN_PARAMS&rsquo; bit is set, the parameters given by &lsquo;num_params&rsquo; and &lsquo;params&rsquo; is used. They are ignored otherwise.</p>
-<p>Ideally, both the &lsquo;pathname&rsquo; and &lsquo;params&rsquo; fields should be tagged as &lsquo;const&rsquo;; this is missing for API backwards compatibility. With other words, applications should treat them as read-only.</p>
+<p>Ideally, both the &lsquo;pathname&rsquo; and &lsquo;params&rsquo; fields should be tagged as &lsquo;const&rsquo;; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1710,7 +1640,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A path to the font file.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face within the font. The first face has index 0.</p>
+<p>The index of the face within the font. The first face has index&nbsp;0.</p>
</td></tr>
</table>
</td></tr></table>
@@ -1723,7 +1653,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1767,7 +1697,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The size of the memory chunk used by the font data.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face within the font. The first face has index 0.</p>
+<p>The index of the face within the font. The first face has index&nbsp;0.</p>
</td></tr>
</table>
</td></tr></table>
@@ -1780,7 +1710,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You must not deallocate the memory before calling <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p>
@@ -1823,7 +1753,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A pointer to an &lsquo;FT_Open_Args&rsquo; structure which must be filled by the caller.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face within the font. The first face has index 0.</p>
+<p>The index of the face within the font. The first face has index&nbsp;0.</p>
</td></tr>
</table>
</td></tr></table>
@@ -1836,11 +1766,11 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object which can be accessed directly through &lsquo;face-&gt;glyph&rsquo;.</p>
-<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the &lsquo;face_index&rsquo; field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in &lsquo;*aface&rsquo; (if &lsquo;aface&rsquo; isn't NULL). The only useful field in this special case is &lsquo;face-&gt;num_faces&rsquo; which gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p>
+<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the &lsquo;face_index&rsquo; field is negative, the function's return value is&nbsp;0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in &lsquo;*aface&rsquo; (if &lsquo;aface&rsquo; isn't NULL). The only useful field in this special case is &lsquo;face-&gt;num_faces&rsquo; which gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p>
<p>Each new face object created with this function also owns a default <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object, accessible as &lsquo;face-&gt;size&rsquo;.</p>
</td></tr></table>
</td></tr></table>
@@ -1881,7 +1811,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1902,7 +1832,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>&lsquo;Attach&rsquo; data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.</p>
+<p>&lsquo;Attach&rsquo; data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type&nbsp;1 font to get the kerning values and other metrics.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -1921,7 +1851,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The meaning of the &lsquo;attach&rsquo; (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).</p>
@@ -1956,7 +1886,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1996,7 +1926,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2115,14 +2045,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Size_Request">FT_Size_Request</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ *<b>FT_Size_Request</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a size request structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -2163,7 +2085,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> instead in that case.</p>
@@ -2218,12 +2140,13 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>If either the character width or height is zero, it is set equal to the other value.</p>
<p>If either the horizontal or vertical resolution is zero, it is set equal to the other value.</p>
<p>A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.</p>
+<p>Don't use this function if you are using the FreeType cache API.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2267,7 +2190,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2311,7 +2234,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The loaded glyph may be transformed. See <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> for the details.</p>
@@ -2359,7 +2282,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function simply calls <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> and <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p>
@@ -2391,7 +2314,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a> 0x800
#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a> 0x1000
#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> 0x2000
-#define FT_LOAD_SBITS_ONLY 0x4000 /* temporary hack! */
#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> 0x8000U
</pre></table><br>
@@ -2402,7 +2324,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_LOAD_DEFAULT</b></td><td>
-<p>Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:</p>
+<p>Corresponding to&nbsp;0, this value is used as the default glyph load operation. In this case, the following happens:</p>
<p>1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).</p>
<p>2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then &lsquo;hinted&rsquo; to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).</p>
<p>Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.</p>
@@ -2451,8 +2373,8 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>Indicates that the transform matrix set by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> should be ignored.</p>
</td></tr>
<tr valign=top><td><b>FT_LOAD_MONOCHROME</b></td><td>
-<p>This flag is used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.</p>
-<p>Note that this has no effect on the hinting algorithm used. You should use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> instead so that the monochrome-optimized hinting algorithm is used.</p>
+<p>This flag is used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8&nbsp;pixels packed into each byte of the bitmap data.</p>
+<p>Note that this has no effect on the hinting algorithm used. You should rather use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> so that the monochrome-optimized hinting algorithm is used.</p>
</td></tr>
<tr valign=top><td><b>FT_LOAD_LINEAR_DESIGN</b></td><td>
<p>Indicates that the &lsquo;linearHoriAdvance&rsquo; and &lsquo;linearVertAdvance&rsquo; fields of <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> should be kept in font units. See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for details.</p>
@@ -2464,6 +2386,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>By default, hinting is enabled and the font's native hinter (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a>) is preferred over the auto-hinter. You can disable hinting by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> or change the precedence by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>. You can also set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> in case you don't want the auto-hinter to be used at all.</p>
+<p>See the description of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for a special exception (affecting only a handful of Asian fonts).</p>
<p>Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p>
</td></tr></table>
</td></tr></table>
@@ -2479,13 +2402,13 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr></table><br>
<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) &amp; 15 ) &lt;&lt; 16 )
+#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) &amp; 15 ) &lt;&lt; 16 )
-#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> )
-#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a> )
-#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> )
-#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> )
-#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a> )
+#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> )
+#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a> )
+#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> )
+#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> )
+#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a> )
</pre></table><br>
<table align=center width="87%"><tr><td>
@@ -2500,7 +2423,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> instead.</p>
</td></tr>
<tr valign=top><td><b>FT_LOAD_TARGET_LIGHT</b></td><td>
-<p>A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.</p>
+<p>A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS&nbsp;X.</p>
<p>As a special exception, this target implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p>
</td></tr>
<tr valign=top><td><b>FT_LOAD_TARGET_MONO</b></td><td>
@@ -2534,14 +2457,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_LOAD_TARGET_MODE</b>( x ) ( (<a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a>)( ( (x) &gt;&gt; 16 ) &amp; 15 ) )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>Return the <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> corresponding to a given <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> value.</p>
</td></tr></table><br>
</td></tr></table>
@@ -2578,10 +2493,10 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>matrix</b></td><td>
-<p>A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.</p>
+<p>A pointer to the transformation's 2x2 matrix. Use&nbsp;0 for the identity matrix.</p>
</td></tr>
<tr valign=top><td><b>delta</b></td><td>
-<p>A pointer to the translation vector. Use 0 for the null vector.</p>
+<p>A pointer to the translation vector. Use&nbsp;0 for the null vector.</p>
</td></tr>
</table>
</td></tr></table>
@@ -2616,31 +2531,33 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.</p>
-<p>For bitmap fonts the &lsquo;bitmap-&gt;pixel_mode&rsquo; field in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure gives the format of the returned bitmap.</p>
+<p>An enumeration type that lists the render modes supported by FreeType&nbsp;2. Each mode corresponds to a specific type of scanline conversion performed on the outline.</p>
+<p>For bitmap fonts and embedded bitmaps the &lsquo;bitmap-&gt;pixel_mode&rsquo; field in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure gives the format of the returned bitmap.</p>
+<p>All modes except <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> use 256 levels of opacity.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_RENDER_MODE_NORMAL</b></td><td>
-<p>This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps, using 256 levels of opacity.</p>
+<p>This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.</p>
</td></tr>
<tr valign=top><td><b>FT_RENDER_MODE_LIGHT</b></td><td>
<p>This is equivalent to <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a>. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p>
</td></tr>
<tr valign=top><td><b>FT_RENDER_MODE_MONO</b></td><td>
-<p>This mode corresponds to 1-bit bitmaps.</p>
+<p>This mode corresponds to 1-bit bitmaps (with 2&nbsp;levels of opacity).</p>
</td></tr>
<tr valign=top><td><b>FT_RENDER_MODE_LCD</b></td><td>
-<p>This mode corresponds to horizontal RGB and BGR sub-pixel displays, like LCD-screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a> mode.</p>
+<p>This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3&nbsp;times the width of the original glyph outline in pixels, and which use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a> mode.</p>
</td></tr>
<tr valign=top><td><b>FT_RENDER_MODE_LCD_V</b></td><td>
-<p>This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a> mode.</p>
+<p>This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3&nbsp;times the height of the original glyph outline in pixels and use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a> mode.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (not active in the default builds). It is up to the caller to either call <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (if available) or do the filtering itself.</p>
+<p>The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>. You can use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> to transform them into 8-bit pixmaps.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2711,7 +2628,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2742,7 +2659,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_KERNING_DEFAULT</b></td><td>
-<p>Return scaled and grid-fitted kerning distances (value is 0).</p>
+<p>Return scaled and grid-fitted kerning distances (value is&nbsp;0).</p>
</td></tr>
<tr valign=top><td><b>FT_KERNING_UNFITTED</b></td><td>
<p>Return scaled but un-grid-fitted kerning distances.</p>
@@ -2761,14 +2678,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="ft_kerning_default">ft_kerning_default</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>ft_kerning_default</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a>
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> instead.</p>
</td></tr></table><br>
</td></tr></table>
@@ -2780,14 +2689,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="ft_kerning_unfitted">ft_kerning_unfitted</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>ft_kerning_unfitted</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a>
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a> instead.</p>
</td></tr></table><br>
</td></tr></table>
@@ -2799,14 +2700,6 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<table align=center width="75%"><tr><td>
<h4><a name="ft_kerning_unscaled">ft_kerning_unscaled</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_FREETYPE_H (freetype/freetype.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>ft_kerning_unscaled</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a>
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> instead.</p>
</td></tr></table><br>
</td></tr></table>
@@ -2859,7 +2752,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>Only horizontal layouts (left-to-right &amp; right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.</p>
@@ -2910,7 +2803,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -2933,7 +2826,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieve the ASCII name of a given glyph in a face. This only works for those faces where <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a>(face) returns 1.</p>
+<p>Retrieve the ASCII name of a given glyph in a face. This only works for those faces where <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a>(face) returns&nbsp;1.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -2958,10 +2851,10 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of &lsquo;buffer&rsquo; is set to 0 to indicate an empty name.</p>
+<p>An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of &lsquo;buffer&rsquo; is set to&nbsp;0 to indicate an empty name.</p>
<p>The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.</p>
<p>This function is not compiled within the library if the config macro &lsquo;FT_CONFIG_OPTION_NO_GLYPH_NAMES&rsquo; is defined in &lsquo;include/freetype/config/ftoptions.h&rsquo;.</p>
</td></tr></table>
@@ -2983,7 +2876,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieve the ASCII Postscript name of a given face, if available. This only works with Postscript and TrueType fonts.</p>
+<p>Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -2994,7 +2887,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>A pointer to the face's Postscript name. NULL if unavailable.</p>
+<p>A pointer to the face's PostScript name. NULL if unavailable.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The returned pointer is owned by the face and is destroyed with it.</p>
@@ -3037,7 +2930,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function returns an error if no charmap in the face corresponds to the encoding queried here.</p>
@@ -3081,11 +2974,11 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the &lsquo;face-&gt;charmaps&rsquo; table).</p>
-<p>It also fails if a type 14 charmap is selected.</p>
+<p>It also fails if a type&nbsp;14 charmap is selected.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -3151,10 +3044,10 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The glyph index. 0 means &lsquo;undefined character code&rsquo;.</p>
+<p>The glyph index. 0&nbsp;means &lsquo;undefined character code&rsquo;.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
+<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value&nbsp;0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -3189,7 +3082,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>agindex</b></td><td>
-<p>Glyph index of first character code. 0 if charmap is empty.</p>
+<p>Glyph index of first character code. 0&nbsp;if charmap is empty.</p>
</td></tr>
</table>
</td></tr></table>
@@ -3211,7 +3104,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
charcode = FT_Get_Next_Char( face, charcode, &amp;gindex );
}
</pre>
-<p>Note that &lsquo;*agindex&rsquo; is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or when the value 0 is the first valid character code.</p>
+<p>Note that &lsquo;*agindex&rsquo; is set to&nbsp;0 if the charmap is empty. The result itself can be&nbsp;0 in two cases: if the charmap is empty or if the value&nbsp;0 is the first valid character code.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -3250,7 +3143,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>agindex</b></td><td>
-<p>Glyph index of first character code. 0 if charmap is empty.</p>
+<p>Glyph index of next character code. 0&nbsp;if charmap is empty.</p>
</td></tr>
</table>
</td></tr></table>
@@ -3259,7 +3152,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You should use this function with <a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a> to walk over all character codes available in a given charmap. See the note for this function for a simple code example.</p>
-<p>Note that &lsquo;*agindex&rsquo; is set to 0 when there are no more codes in the charmap.</p>
+<p>Note that &lsquo;*agindex&rsquo; is set to&nbsp;0 when there are no more codes in the charmap.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -3294,7 +3187,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The glyph index. 0 means &lsquo;undefined character code&rsquo;.</p>
+<p>The glyph index. 0&nbsp;means &lsquo;undefined character code&rsquo;.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -3376,7 +3269,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieve a description of a given subglyph. Only use it if &lsquo;glyph-&gt;format&rsquo; is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, or an error is returned.</p>
+<p>Retrieve a description of a given subglyph. Only use it if &lsquo;glyph-&gt;format&rsquo; is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>; an error is returned otherwise.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -3385,7 +3278,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The source glyph slot.</p>
</td></tr>
<tr valign=top><td><b>sub_index</b></td><td>
-<p>The index of subglyph. Must be less than &lsquo;glyph-&gt;num_subglyphs&rsquo;.</p>
+<p>The index of the subglyph. Must be less than &lsquo;glyph-&gt;num_subglyphs&rsquo;.</p>
</td></tr>
</table>
</td></tr></table>
@@ -3410,7 +3303,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The values of &lsquo;*p_arg1&rsquo;, &lsquo;*p_arg2&rsquo;, and &lsquo;*p_transform&rsquo; must be interpreted depending on the flags returned in &lsquo;*p_flags&rsquo;. See the TrueType specification for details.</p>
@@ -3421,5 +3314,96 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_FREETYPE_H (freetype/freetype.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a> 0x0000
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a> 0x0002
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a> 0x0004
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a> 0x0008
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a> 0x0100
+#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a> 0x0200
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>A list of bit flags used in the &lsquo;fsType&rsquo; field of the OS/2 table in a TrueType or OpenType font and the &lsquo;FSType&rsquo; entry in a PostScript font. These bit flags are returned by <a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a>; they inform client applications of embedding and subsetting restrictions associated with a font.</p>
+<p>See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for more details.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_INSTALLABLE_EMBEDDING</b></td></tr>
+<tr valign=top><td></td><td>
+<p>Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</b></td></tr>
+<tr valign=top><td></td><td>
+<p>Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</b></td></tr>
+<tr valign=top><td></td><td>
+<p>If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview &amp; Print fonts must be opened &lsquo;read-only&rsquo;; no edits can be applied to the document.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_EDITABLE_EMBEDDING</b></td></tr>
+<tr valign=top><td></td><td>
+<p>If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview &amp; Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_NO_SUBSETTING</b></td></tr>
+<tr valign=top><td></td><td>
+<p>If this bit is set, the font may not be subsetted prior to embedding.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_FSTYPE_BITMAP_EMBEDDING_ONLY</b></td></tr>
+<tr valign=top><td></td><td>
+<p>If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_FREETYPE_H (freetype/freetype.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> )
+ <b>FT_Get_FSType_Flags</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Return the fsType flags for a font.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>face</b></td><td>
+<p>A handle to the source face object.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>The fsType flags, <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a>.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>Use this function rather than directly reading the &lsquo;fs_type&rsquo; field in the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure which is only guaranteed to return the correct results for Type&nbsp;1 fonts.</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
</body>
</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-basic_types.html b/src/3rdparty/freetype/docs/reference/ft2-basic_types.html
index 16ab90f..9e77145 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-basic_types.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-basic_types.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Basic Data Types
@@ -55,19 +59,11 @@ Basic Data Types
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p>
+<p>This section contains the basic data types defined by FreeType&nbsp;2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_Byte">FT_Byte</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A simple typedef for the <i>unsigned</i> char type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -79,14 +75,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Bytes">FT_Bytes</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* <b>FT_Bytes</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for constant memory areas.</p>
</td></tr></table><br>
</td></tr></table>
@@ -98,14 +86,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Char">FT_Char</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A simple typedef for the <i>signed</i> char type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -117,14 +97,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Int">FT_Int</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for the int type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -136,14 +108,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_UInt">FT_UInt</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for the unsigned int type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -155,14 +119,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Int16">FT_Int16</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for a 16bit signed integer type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -174,14 +130,6 @@ Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_UInt16">FT_UInt16</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for a 16bit unsigned integer type.</p>
</td></tr></table><br>
</td></tr></table>
@@ -193,14 +141,6 @@ Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Int32">FT_Int32</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p>
</td></tr></table><br>
</td></tr></table>
@@ -211,14 +151,6 @@ Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_UInt32">FT_UInt32</a></h4>
-<table align=center width="87%"><tr><td>
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>;
-
-</pre></table><br>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
@@ -228,14 +160,6 @@ Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Short">FT_Short</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for signed short.</p>
</td></tr></table><br>
</td></tr></table>
@@ -247,14 +171,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_UShort">FT_UShort</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for unsigned short.</p>
</td></tr></table><br>
</td></tr></table>
@@ -266,14 +182,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Long">FT_Long</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for signed long.</p>
</td></tr></table><br>
</td></tr></table>
@@ -285,14 +193,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ULong">FT_ULong</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A typedef for unsigned long.</p>
</td></tr></table><br>
</td></tr></table>
@@ -304,15 +204,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Bool">FT_Bool</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.</p>
+<p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and&nbsp;0 represent true and false, respectively.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -323,15 +215,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Offset">FT_Offset</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> size_t <b>FT_Offset</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>This is equivalent to the ANSI C &lsquo;size_t&rsquo; type, i.e., the largest <i>unsigned</i> integer type used to express a file size or position, or a memory block size.</p>
+<p>This is equivalent to the ANSI&nbsp;C &lsquo;size_t&rsquo; type, i.e., the largest <i>unsigned</i> integer type used to express a file size or position, or a memory block size.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -342,15 +226,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_PtrDist">FT_PtrDist</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>This is equivalent to the ANSI C &lsquo;ptrdiff_t&rsquo; type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p>
+<p>This is equivalent to the ANSI&nbsp;C &lsquo;ptrdiff_t&rsquo; type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -361,14 +237,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_String">FT_String</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A simple typedef for the char type, usually used for strings.</p>
</td></tr></table><br>
</td></tr></table>
@@ -380,15 +248,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Tag">FT_Tag</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>A typedef for 32bit tags (as used in the SFNT format).</p>
+<p>A typedef for 32-bit tags (as used in the SFNT format).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -399,15 +259,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Error">FT_Error</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>The FreeType error code type. A value of 0 is always interpreted as a successful operation.</p>
+<p>The FreeType error code type. A value of&nbsp;0 is always interpreted as a successful operation.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -418,14 +270,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Fixed">FT_Fixed</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This type is used to store 16.16 fixed float values, like scaling values or matrix coefficients.</p>
</td></tr></table><br>
</td></tr></table>
@@ -437,14 +281,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Pointer">FT_Pointer</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A simple typedef for a typeless pointer.</p>
</td></tr></table><br>
</td></tr></table>
@@ -456,15 +292,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Pos">FT_Pos</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>The type FT_Pos is a 32-bit integer used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16,16, or 26.6 fixed float pixel coordinates.</p>
+<p>The type FT_Pos is a 32-bit integer used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed float pixel coordinates.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -596,14 +424,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_FWord">FT_FWord</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A signed 16-bit integer used to store a distance in original font units.</p>
</td></tr></table><br>
</td></tr></table>
@@ -615,14 +435,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_UFWord">FT_UFWord</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UFWord</b>; /* <span class="keyword">unsigned</span> distance */
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An unsigned 16-bit integer used to store a distance in original font units.</p>
</td></tr></table><br>
</td></tr></table>
@@ -634,14 +446,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_F2Dot14">FT_F2Dot14</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A signed 2.14 fixed float type used for unit vectors.</p>
</td></tr></table><br>
</td></tr></table>
@@ -688,14 +492,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_F26Dot6">FT_F26Dot6</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A signed 26.6 fixed float type used for vectorial pixel coordinates.</p>
</td></tr></table><br>
</td></tr></table>
@@ -733,25 +529,25 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_PIXEL_MODE_NONE</b></td><td>
-<p>Value 0 is reserved.</p>
+<p>Value&nbsp;0 is reserved.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_MONO</b></td><td>
-<p>A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p>
+<p>A monochrome bitmap, using 1&nbsp;bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_GRAY</b></td><td>
-<p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of value &lsquo;gray&rsquo; levels is stored in the &lsquo;num_bytes&rsquo; field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p>
+<p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of &lsquo;gray&rsquo; levels is stored in the &lsquo;num_grays&rsquo; field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_GRAY2</b></td><td>
-<p>A 2-bit/pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
+<p>A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_GRAY4</b></td><td>
-<p>A 4-bit/pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
+<p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_LCD</b></td><td>
-<p>An 8-bit bitmap, used to represent RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>.</p>
+<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>.</p>
</td></tr>
<tr valign=top><td><b>FT_PIXEL_MODE_LCD_V</b></td><td>
-<p>An 8-bit bitmap, used to represent RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p>
+<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p>
</td></tr>
</table>
</td></tr></table>
@@ -829,10 +625,10 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>ft_palette_mode_rgb</b></td><td>
-<p>The palette is an array of 3-bytes RGB records.</p>
+<p>The palette is an array of 3-byte RGB records.</p>
</td></tr>
<tr valign=top><td><b>ft_palette_mode_rgba</b></td><td>
-<p>The palette is an array of 4-bytes RGBA records.</p>
+<p>The palette is an array of 4-byte RGBA records.</p>
</td></tr>
</table>
</td></tr></table>
@@ -927,7 +723,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>This macro converts four-letter tags to an unsigned long type.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>Since many 16bit compilers don't like 32bit enumerations, you should redefine this macro in case of problems to something like this:</p>
+<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p>
<pre class="colored">
#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value
</pre>
@@ -965,7 +761,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td>
-<p>The value 0 is reserved.</p>
+<p>The value&nbsp;0 is reserved.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_COMPOSITE</b></td></tr>
<tr valign=top><td></td><td>
@@ -980,7 +776,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</td></tr>
<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_PLOTTER</b></td></tr>
<tr valign=top><td></td><td>
-<p>The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.</p>
+<p>The glyph image is a vectorial path with no inside and outside contours. Some Type&nbsp;1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.</p>
</td></tr>
</table>
</td></tr></table>
@@ -1074,15 +870,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Generic_Finalizer">FT_Generic_Finalizer</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object);
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>Describes a function used to destroy the &lsquo;client&rsquo; data of any FreeType object. See the description of the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type for details of usage.</p>
+<p>Describe a function used to destroy the &lsquo;client&rsquo; data of any FreeType object. See the description of the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type for details of usage.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p>The address of the FreeType object which is under finalization. Its client data is accessed through its &lsquo;generic&rsquo; field.</p>
@@ -1148,7 +936,7 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<p>This macro converts four-letter tags which are used to label TrueType tables into an unsigned long to be used within FreeType.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The produced values <b>must</b> be 32bit integers. Don't redefine this macro.</p>
+<p>The produced values <b>must</b> be 32-bit integers. Don't redefine this macro.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
diff --git a/src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html b/src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html
index 13bab8f..e7bf5a0 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-bdf_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,10 +31,14 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
-BDF Files
+BDF and PCF Files
</h1></center>
<h2>Synopsis</h2>
<table align=center cellspacing=5 cellpadding=0 border=0>
@@ -43,7 +47,7 @@ BDF Files
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>This section contains the declaration of BDF specific functions.</p>
+<p>This section contains the declaration of functions specific to BDF and PCF fonts.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_PropertyType">FT_PropertyType</a></h4>
@@ -69,7 +73,7 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>BDF_PROPERTY_TYPE_NONE</b></td><td>
-<p>Value 0 is used to indicate a missing property.</p>
+<p>Value&nbsp;0 is used to indicate a missing property.</p>
</td></tr>
<tr valign=top><td><b>BDF_PROPERTY_TYPE_ATOM</b></td><td>
<p>Property is a string atom.</p>
@@ -93,14 +97,6 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
<table align=center width="75%"><tr><td>
<h4><a name="BDF_Property">BDF_Property</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_BDF_H (freetype/ftbdf.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_* <b>BDF_Property</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> structure to model a given BDF/PCF property.</p>
</td></tr></table><br>
</td></tr></table>
@@ -169,7 +165,7 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves a BDF font character set identity, according to the BDF specification.</p>
+<p>Retrieve a BDF font character set identity, according to the BDF specification.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -183,15 +179,15 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>acharset_encoding</b></td><td>
-<p>Charset encoding, as a C string, owned by the face.</p>
+<p>Charset encoding, as a C&nbsp;string, owned by the face.</p>
</td></tr>
<tr valign=top><td><b>acharset_registry</b></td><td>
-<p>Charset registry, as a C string, owned by the face.</p>
+<p>Charset registry, as a C&nbsp;string, owned by the face.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function only works with BDF faces, returning an error otherwise.</p>
@@ -216,7 +212,7 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves a BDF property from a BDF or PCF font file.</p>
+<p>Retrieve a BDF property from a BDF or PCF font file.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -238,10 +234,12 @@ Defined in FT_BDF_H (freetype/ftbdf.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function works with BDF <i>and</i> PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.</p>
+<p>A &lsquo;property&rsquo; is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the &lsquo;info-&gt;props&rsquo; array within a &lsquo;FontRec&rsquo; structure of a PCF font.</p>
+<p>Integer properties are always stored as &lsquo;signed&rsquo; within PCF fonts; consequently, <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> is a possible return value for BDF fonts only.</p>
<p>In case of error, &lsquo;aproperty-&gt;type&rsquo; is always set to <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a>.</p>
</td></tr></table>
</td></tr></table>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html b/src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html
index c22c059..5fd64d7 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-bitmap_handling.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,15 +31,19 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Bitmap Handling
</h1></center>
<h2>Synopsis</h2>
<table align=center cellspacing=5 cellpadding=0 border=0>
-<tr><td></td><td><a href="#FT_Bitmap_New">FT_Bitmap_New</a></td><td></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr>
-<tr><td></td><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td></td><td></td></tr>
+<tr><td></td><td><a href="#FT_Bitmap_New">FT_Bitmap_New</a></td><td></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td></td><td><a href="#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td></tr>
+<tr><td></td><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr>
</table><br><br>
<table align=center width="87%"><tr><td>
@@ -87,7 +91,7 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Copies an bitmap into another one.</p>
+<p>Copy a bitmap into another one.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -109,7 +113,7 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -157,11 +161,11 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The current implementation restricts &lsquo;xStrength&rsquo; to be less than or equal to 8 if bitmap is of pixel_mode <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p>
-<p>If you want to embolden the bitmap owned by a <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a>, you should call &lsquo;FT_GlyphSlot_Own_Bitmap&rsquo; on the slot first.</p>
+<p>The current implementation restricts &lsquo;xStrength&rsquo; to be less than or equal to&nbsp;8 if bitmap is of pixel_mode <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p>
+<p>If you want to embolden the bitmap owned by a <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a>, you should call <a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a> on the slot first.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -209,7 +213,7 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>It is possible to call <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> multiple times without calling <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> (the memory is simply reallocated).</p>
@@ -223,6 +227,40 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
<table align=center width="75%"><tr><td>
+<h4><a name="FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_BITMAP_H (freetype/ftbitmap.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
+ <b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Make sure that a glyph slot owns &lsquo;slot-&gt;bitmap&rsquo;.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>slot</b></td><td>
+<p>The glyph slot.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>FreeType error code. 0&nbsp;means success.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function is to be used in combination with <a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a>.</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
<h4><a name="FT_Bitmap_Done">FT_Bitmap_Done</a></h4>
<table align=center width="87%"><tr><td>
Defined in FT_BITMAP_H (freetype/ftbitmap.h).
@@ -249,7 +287,7 @@ Defined in FT_BITMAP_H (freetype/ftbitmap.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The &lsquo;library&rsquo; argument is taken to have access to FreeType's memory handling functions.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html b/src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html
index 0bce860..8cf3b5a 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-cache_subsystem.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Cache Sub-System
@@ -55,7 +59,7 @@ Cache Sub-System
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>This section describes the FreeType 2 cache sub-system, which is used to limit the number of concurrently opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p>
+<p>This section describes the FreeType&nbsp;2 cache sub-system, which is used to limit the number of concurrently opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p>
<p>Note that all types and functions begin with the &lsquo;FTC_&rsquo; prefix.</p>
<p>The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:</p>
<p>First, available or installed font faces are uniquely identified by <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> values, provided to the cache by the client. Note that the cache only stores and compares these values, and doesn't try to interpret them in any way.</p>
@@ -72,14 +76,6 @@ Cache Sub-System
<table align=center width="75%"><tr><td>
<h4><a name="FTC_Manager">FTC_Manager</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ManagerRec_* <b>FTC_Manager</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This object corresponds to one instance of the cache-subsystem. It is used to cache one or more <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects, along with corresponding <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p>
<p>The manager intentionally limits the total number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects to control memory usage. See the &lsquo;max_faces&rsquo; and &lsquo;max_sizes&rsquo; parameters of <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a>.</p>
<p>The manager is also used to cache &lsquo;nodes&rsquo; of various types while limiting their total memory usage.</p>
@@ -94,14 +90,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_FaceID">FTC_FaceID</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> <b>FTC_FaceID</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.</p>
<p>These pointers are typically used to point to a user-defined structure containing a font file path, and face index.</p>
</td></tr></table><br>
@@ -157,7 +145,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The third parameter &lsquo;req_data&rsquo; is the same as the one passed by the client when <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> is called.</p>
@@ -172,15 +160,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_Node">FTC_Node</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_NodeRec_* <b>FTC_Node</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.</p>
+<p>An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of&nbsp;0 might be flushed out of a full cache whenever a lookup request is performed.</p>
<p>If you lookup nodes, you have the ability to &lsquo;acquire&rsquo; them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly &lsquo;release&rsquo; it (see <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a>).</p>
<p>See also <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> and <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a>.</p>
</td></tr></table><br>
@@ -208,7 +188,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Creates a new cache manager.</p>
+<p>Create a new cache manager.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -217,13 +197,13 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p>The parent FreeType library handle to use.</p>
</td></tr>
<tr valign=top><td><b>max_faces</b></td><td>
-<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects managed by this cache instance. Use 0 for defaults.</p>
+<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
</td></tr>
<tr valign=top><td><b>max_sizes</b></td><td>
-<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects managed by this cache instance. Use 0 for defaults.</p>
+<p>Maximum number of opened <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects managed by this cache instance. Use&nbsp;0 for defaults.</p>
</td></tr>
<tr valign=top><td><b>max_bytes</b></td><td>
-<p>Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p>
+<p>Maximum number of bytes to use for cached data nodes. Use&nbsp;0 for defaults. Note that this value does not account for managed <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p>
</td></tr>
<tr valign=top><td><b>requester</b></td><td>
<p>An application-provided callback used to translate face IDs into real <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p>
@@ -237,12 +217,12 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>amanager</b></td><td>
-<p>A handle to a new manager object. 0 in case of failure.</p>
+<p>A handle to a new manager object. 0&nbsp;in case of failure.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -262,7 +242,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Empties a given cache manager. This simply gets rid of all the currently cached <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects within the manager.</p>
+<p>Empty a given cache manager. This simply gets rid of all the currently cached <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects within the manager.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -290,7 +270,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Destroys a given manager after emptying it.</p>
+<p>Destroy a given manager after emptying it.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -320,7 +300,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object that corresponds to a given face ID through a cache manager.</p>
+<p>Retrieve the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object that corresponds to a given face ID through a cache manager.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -342,7 +322,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object is always owned by the manager. You should never try to discard it yourself.</p>
@@ -395,10 +375,10 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p>A Boolean. If 1, the &lsquo;width&rsquo; and &lsquo;height&rsquo; fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.</p>
</td></tr>
<tr valign=top><td><b>x_res</b></td><td>
-<p>Only used when &lsquo;pixel&rsquo; is value 0 to indicate the horizontal resolution in dpi.</p>
+<p>Only used when &lsquo;pixel&rsquo; is value&nbsp;0 to indicate the horizontal resolution in dpi.</p>
</td></tr>
<tr valign=top><td><b>y_res</b></td><td>
-<p>Only used when &lsquo;pixel&rsquo; is value 0 to indicate the vertical resolution in dpi.</p>
+<p>Only used when &lsquo;pixel&rsquo; is value&nbsp;0 to indicate the vertical resolution in dpi.</p>
</td></tr>
</table>
</td></tr></table>
@@ -414,14 +394,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_Scaler">FTC_Scaler</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_* <b>FTC_Scaler</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -466,7 +438,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The returned <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is always owned by the manager. You should never try to discard it by yourself.</p>
@@ -553,14 +525,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_CMapCache">FTC_CMapCache</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_CMapCacheRec_* <b>FTC_CMapCache</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>An opaque handle used to model a charmap cache. This cache is to hold character codes -&gt; glyph indices mappings.</p>
</td></tr></table><br>
</td></tr></table>
@@ -601,7 +565,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>Like all other caches, this one will be destroyed with the cache manager.</p>
@@ -639,7 +603,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p>The source face ID.</p>
</td></tr>
<tr valign=top><td><b>cmap_index</b></td><td>
-<p>The index of the charmap in the source face.</p>
+<p>The index of the charmap in the source face. Any negative value means to use the cache <a href="ft2-base_interface.html#FT_Face">FT_Face</a>'s default charmap.</p>
</td></tr>
<tr valign=top><td><b>char_code</b></td><td>
<p>The character code (in the corresponding charmap).</p>
@@ -647,7 +611,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Glyph index. 0 means &lsquo;no glyph&rsquo;.</p>
+<p>Glyph index. 0&nbsp;means &lsquo;no glyph&rsquo;.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -701,14 +665,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_ImageType">FTC_ImageType</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_* <b>FTC_ImageType</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -720,14 +676,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_ImageCache">FTC_ImageCache</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageCacheRec_* <b>FTC_ImageCache</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.</p>
</td></tr></table><br>
</td></tr></table>
@@ -749,7 +697,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Creates a new glyph image cache.</p>
+<p>Create a new glyph image cache.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -768,7 +716,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -792,7 +740,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves a given glyph image from a glyph image cache.</p>
+<p>Retrieve a given glyph image from a glyph image cache.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -812,7 +760,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>aglyph</b></td><td>
-<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p>
+<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0&nbsp;in case of failure.</p>
</td></tr>
<tr valign=top><td><b>anode</b></td><td>
<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p>
@@ -820,7 +768,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p>
@@ -873,7 +821,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>aglyph</b></td><td>
-<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p>
+<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0&nbsp;in case of failure.</p>
</td></tr>
<tr valign=top><td><b>anode</b></td><td>
<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p>
@@ -881,12 +829,13 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p>
<p>If &lsquo;anode&rsquo; is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to &lsquo;release&rsquo; it.</p>
<p>If &lsquo;anode&rsquo; is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p>
+<p>Calls to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -897,14 +846,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_SBit">FTC_SBit</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_* <b>FTC_SBit</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a small bitmap descriptor. See the <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structure for details.</p>
</td></tr></table><br>
</td></tr></table>
@@ -954,13 +895,13 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<p>The horizontal distance from the pen position to the left bitmap border (a.k.a. &lsquo;left side bearing&rsquo;, or &lsquo;lsb&rsquo;).</p>
</td></tr>
<tr valign=top><td><b>top</b></td><td>
-<p>The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. &lsquo;top side bearing&rsquo;). The distance is positive for upwards Y coordinates.</p>
+<p>The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. &lsquo;top side bearing&rsquo;). The distance is positive for upwards y&nbsp;coordinates.</p>
</td></tr>
<tr valign=top><td><b>format</b></td><td>
<p>The format of the glyph bitmap (monochrome or gray).</p>
</td></tr>
<tr valign=top><td><b>max_grays</b></td><td>
-<p>Maximum gray level value (in the range 1 to 255).</p>
+<p>Maximum gray level value (in the range 1 to&nbsp;255).</p>
</td></tr>
<tr valign=top><td><b>pitch</b></td><td>
<p>The number of bytes per bitmap line. May be positive or negative.</p>
@@ -985,14 +926,6 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
<table align=center width="75%"><tr><td>
<h4><a name="FTC_SBitCache">FTC_SBitCache</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_CACHE_H (freetype/ftcache.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitCacheRec_* <b>FTC_SBitCache</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -1014,7 +947,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Creates a new cache to store small glyph bitmaps.</p>
+<p>Create a new cache to store small glyph bitmaps.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -1033,7 +966,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1057,7 +990,7 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Looks up a given small glyph bitmap in a given sbit cache and &lsquo;lock&rsquo; it to prevent its flushing from the cache until needed.</p>
+<p>Look up a given small glyph bitmap in a given sbit cache and &lsquo;lock&rsquo; it to prevent its flushing from the cache until needed.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -1085,11 +1018,11 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p>
-<p>The descriptor's &lsquo;buffer&rsquo; field is set to 0 to indicate a missing glyph bitmap.</p>
+<p>The descriptor's &lsquo;buffer&rsquo; field is set to&nbsp;0 to indicate a missing glyph bitmap.</p>
<p>If &lsquo;anode&rsquo; is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to &lsquo;release&rsquo; it.</p>
<p>If &lsquo;anode&rsquo; is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p>
</td></tr></table>
@@ -1147,11 +1080,11 @@ Defined in FT_CACHE_H (freetype/ftcache.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p>
-<p>The descriptor's &lsquo;buffer&rsquo; field is set to 0 to indicate a missing glyph bitmap.</p>
+<p>The descriptor's &lsquo;buffer&rsquo; field is set to&nbsp;0 to indicate a missing glyph bitmap.</p>
<p>If &lsquo;anode&rsquo; is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to &lsquo;release&rsquo; it.</p>
<p>If &lsquo;anode&rsquo; is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p>
</td></tr></table>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html b/src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html
index e94f2f6..2749e55 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-cid_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
CID Fonts
@@ -39,6 +43,8 @@ CID Fonts
<h2>Synopsis</h2>
<table align=center cellspacing=5 cellpadding=0 border=0>
<tr><td></td><td><a href="#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td></tr>
+<tr><td></td><td><a href="#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td></tr>
+<tr><td></td><td><a href="#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td></tr>
</table><br><br>
<table align=center width="87%"><tr><td>
@@ -73,10 +79,10 @@ Defined in FT_CID_H (freetype/ftcid.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>registry</b></td><td>
-<p>The registry, as a C string, owned by the face.</p>
+<p>The registry, as a C&nbsp;string, owned by the face.</p>
</td></tr>
<tr valign=top><td><b>ordering</b></td><td>
-<p>The ordering, as a C string, owned by the face.</p>
+<p>The ordering, as a C&nbsp;string, owned by the face.</p>
</td></tr>
<tr valign=top><td><b>supplement</b></td><td>
<p>The supplement.</p>
@@ -84,7 +90,7 @@ Defined in FT_CID_H (freetype/ftcid.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function only works with CID faces, returning an error otherwise.</p>
@@ -98,5 +104,101 @@ Defined in FT_CID_H (freetype/ftcid.h).
<td width="100%"></td>
<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_CID_H (freetype/ftcid.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
+ <b>FT_Get_CID_Is_Internally_CID_Keyed</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
+ <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> *is_cid );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Retrieve the type of the input face, CID keyed or not. In constrast to the <a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a> macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>face</b></td><td>
+<p>A handle to the input face.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>is_cid</b></td><td>
+<p>The type of the face as an <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>FreeType error code. 0&nbsp;means success.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
+<p>2.3.9</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_CID_H (freetype/ftcid.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
+ <b>FT_Get_CID_From_Glyph_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
+ <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index,
+ <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *cid );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Retrieve the CID of the input glyph index.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>face</b></td><td>
+<p>A handle to the input face.</p>
+</td></tr>
+<tr valign=top><td><b>glyph_index</b></td><td>
+<p>The input glyph index.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>cid</b></td><td>
+<p>The CID as an <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>FreeType error code. 0&nbsp;means success.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
+<p>2.3.9</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
</body>
</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-computations.html b/src/3rdparty/freetype/docs/reference/ft2-computations.html
index de05104..6081390 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-computations.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-computations.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Computations
@@ -160,7 +164,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>The result of &lsquo;(a*0x10000)/b&rsquo;.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The optimization for FT_DivFix() is simple: If (a &lt;&lt; 16) fits in 32 bits, then the division is computed directly. Otherwise, we use a specialized version of <a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a>.</p>
+<p>The optimization for FT_DivFix() is simple: If (a&nbsp;&lt;&lt;&nbsp;16) fits in 32&nbsp;bits, then the division is computed directly. Otherwise, we use a specialized version of <a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a>.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -314,7 +318,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Performs the matrix operation &lsquo;b = a*b&rsquo;.</p>
+<p>Perform the matrix operation &lsquo;b = a*b&rsquo;.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -353,7 +357,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Inverts a 2x2 matrix. Returns an error if it can't be inverted.</p>
+<p>Invert a 2x2 matrix. Return an error if it can't be inverted.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -364,7 +368,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -375,14 +379,6 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Angle">FT_Angle</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> <b>FT_Angle</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed float value expressed in degrees.</p>
</td></tr></table><br>
</td></tr></table>
@@ -394,14 +390,6 @@ Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ANGLE_PI">FT_ANGLE_PI</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_ANGLE_PI</b> ( 180L &lt;&lt; 16 )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The angle pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p>
</td></tr></table><br>
</td></tr></table>
@@ -413,14 +401,6 @@ Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ANGLE_2PI">FT_ANGLE_2PI</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_ANGLE_2PI</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> * 2 )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The angle 2*pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p>
</td></tr></table><br>
</td></tr></table>
@@ -432,14 +412,6 @@ Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ANGLE_PI2">FT_ANGLE_PI2</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_ANGLE_PI2</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 2 )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The angle pi/2 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p>
</td></tr></table><br>
</td></tr></table>
@@ -451,14 +423,6 @@ Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ANGLE_PI4">FT_ANGLE_PI4</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_ANGLE_PI4</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 4 )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The angle pi/4 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p>
</td></tr></table><br>
</td></tr></table>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-font_formats.html b/src/3rdparty/freetype/docs/reference/ft2-font_formats.html
index d1ef02b..589d749 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-font_formats.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-font_formats.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Font Formats
@@ -56,7 +60,7 @@ Defined in FT_XFREE86_H (freetype/ftxf86.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Return a string describing the format of a given face, using values which can be used as an X11 FONT_PROPERTY. Possible values are &lsquo;TrueType&rsquo;, &lsquo;Type 1&rsquo;, &lsquo;BDF&rsquo;, &lsquo;PCF&rsquo;, &lsquo;Type 42&rsquo;, &lsquo;CID Type 1&rsquo;, &lsquo;CFF&rsquo;, &lsquo;PFR&rsquo;, and &lsquo;Windows FNT&rsquo;.</p>
+<p>Return a string describing the format of a given face, using values which can be used as an X11 FONT_PROPERTY. Possible values are &lsquo;TrueType&rsquo;, &lsquo;Type&nbsp;1&rsquo;, &lsquo;BDF&rsquo;, &lsquo;PCF&rsquo;, &lsquo;Type&nbsp;42&rsquo;, &lsquo;CID&nbsp;Type&nbsp;1&rsquo;, &lsquo;CFF&rsquo;, &lsquo;PFR&rsquo;, and &lsquo;Windows&nbsp;FNT&rsquo;.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-gasp_table.html b/src/3rdparty/freetype/docs/reference/ft2-gasp_table.html
index 3d54792..2f0d2f5 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-gasp_table.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-gasp_table.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Gasp Table
@@ -42,7 +46,7 @@ Gasp Table
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>The function <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> can be used to query a TrueType or OpenType font for specific entries in their &lsquo;gasp&rsquo; table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p>
+<p>The function <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> can be used to query a TrueType or OpenType font for specific entries in its &lsquo;gasp&rsquo; table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_GASP_XXX">FT_GASP_XXX</a></h4>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-glyph_management.html b/src/3rdparty/freetype/docs/reference/ft2-glyph_management.html
index aff9422..79fc5b6 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-glyph_management.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-glyph_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Glyph Management
@@ -51,14 +55,6 @@ Glyph Management
<table align=center width="75%"><tr><td>
<h4><a name="FT_Glyph">FT_Glyph</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_GLYPH_H (freetype/ftglyph.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_* <b>FT_Glyph</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>Handle to an object used to model generic glyph images. It is a pointer to the <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> structure and can contain a glyph bitmap or pointer.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
@@ -116,14 +112,6 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_BitmapGlyph">FT_BitmapGlyph</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_GLYPH_H (freetype/ftglyph.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_* <b>FT_BitmapGlyph</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an object used to model a bitmap glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -162,7 +150,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<p>The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.</p>
</td></tr>
<tr valign=top><td><b>top</b></td><td>
-<p>The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards-y!</p>
+<p>The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards&nbsp;y!</p>
</td></tr>
<tr valign=top><td><b>bitmap</b></td><td>
<p>A descriptor for the bitmap.</p>
@@ -182,14 +170,6 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_OutlineGlyph">FT_OutlineGlyph</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_GLYPH_H (freetype/ftglyph.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_* <b>FT_OutlineGlyph</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an object used to model an outline glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -228,7 +208,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>You can typecast a <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a> if you have &lsquo;glyph-&gt;format == FT_GLYPH_FORMAT_OUTLINE&rsquo;. This lets you access the outline's content easily.</p>
+<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a> if you have &lsquo;glyph-&gt;format == FT_GLYPH_FORMAT_OUTLINE&rsquo;. This lets you access the outline's content easily.</p>
<p>As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> was used in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>() or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>().</p>
<p>The outline's tables are always owned by the object and are destroyed with it.</p>
</td></tr></table>
@@ -251,7 +231,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A function used to extract a glyph image from a slot.</p>
+<p>A function used to extract a glyph image from a slot. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -270,7 +250,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -305,12 +285,12 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>target</b></td><td>
-<p>A handle to the target glyph object. 0 in case of error.</p>
+<p>A handle to the target glyph object. 0&nbsp;in case of error.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -332,7 +312,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Transforms a glyph image if its format is scalable.</p>
+<p>Transform a glyph image if its format is scalable.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -494,7 +474,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>Coordinates are relative to the glyph origin, using the Y-upwards convention.</p>
+<p>Coordinates are relative to the glyph origin, using the y&nbsp;upwards convention.</p>
<p>If the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, &lsquo;bbox_mode&rsquo; must be set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> to get unscaled font units in 26.6 pixel format. The value <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> is another name for this constant.</p>
<p>Note that the maximum coordinates are exclusive, which means that one can compute the width and height of the glyph image (be it in integer or 26.6 pixels) as:</p>
<pre class="colored">
@@ -532,7 +512,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Converts a given glyph object to a bitmap glyph object.</p>
+<p>Convert a given glyph object to a bitmap glyph object.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -546,10 +526,10 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>render_mode</b></td><td>
-<p>An enumeration that describe how the data is rendered.</p>
+<p>An enumeration that describes how the data is rendered.</p>
</td></tr>
<tr valign=top><td><b>origin</b></td><td>
-<p>A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.</p>
+<p>A pointer to a vector used to translate the glyph image before rendering. Can be&nbsp;0 (if no translation). The origin is expressed in 26.6 pixels.</p>
</td></tr>
<tr valign=top><td><b>destroy</b></td><td>
<p>A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.</p>
@@ -557,11 +537,12 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function does nothing if the glyph format isn't scalable.</p>
<p>The glyph image is translated with the &lsquo;origin&rsquo; vector before rendering.</p>
-<p>The first parameter is a pointer to an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> handle, that will be replaced by this function. Typically, you would use (omitting error handling):</p>
+<p>The first parameter is a pointer to an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> handle, that will be <i>replaced</i> by this function (with newly allocated data). Typically, you would use (omitting error handling):</p>
<p></p>
<pre class="colored">
FT_Glyph glyph;
@@ -574,12 +555,12 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
// extract glyph image
error = FT_Get_Glyph( face-&gt;glyph, &amp;glyph );
- // convert to a bitmap (default render mode + destroy old)
+ // convert to a bitmap (default render mode + destroying old)
if ( glyph-&gt;format != FT_GLYPH_FORMAT_BITMAP )
{
error = FT_Glyph_To_Bitmap( &amp;glyph, FT_RENDER_MODE_DEFAULT,
0, 1 );
- if ( error ) // glyph unchanged
+ if ( error ) // `glyph' unchanged
...
}
@@ -593,7 +574,41 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
FT_Done_Glyph( glyph );
</pre>
<p></p>
-<p>This function does nothing if the glyph format isn't scalable.</p>
+<p>Here another example, again without error handling:</p>
+<p></p>
+<pre class="colored">
+ FT_Glyph glyphs[MAX_GLYPHS]
+
+
+ ...
+
+ for ( idx = 0; i &lt; MAX_GLYPHS; i++ )
+ error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) ||
+ FT_Get_Glyph ( face-&gt;glyph, &amp;glyph[idx] );
+
+ ...
+
+ for ( idx = 0; i &lt; MAX_GLYPHS; i++ )
+ {
+ FT_Glyph bitmap = glyphs[idx];
+
+
+ ...
+
+ // after this call, `bitmap' no longer points into
+ // the `glyphs' array (and the old value isn't destroyed)
+ FT_Glyph_To_Bitmap( &amp;bitmap, FT_RENDER_MODE_MONO, 0, 0 );
+
+ ...
+
+ FT_Done_Glyph( bitmap );
+ }
+
+ ...
+
+ for ( idx = 0; i &lt; MAX_GLYPHS; i++ )
+ FT_Done_Glyph( glyphs[idx] );
+</pre>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -613,7 +628,7 @@ Defined in FT_GLYPH_H (freetype/ftglyph.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Destroys a given glyph.</p>
+<p>Destroy a given glyph.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html b/src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html
index 7e16d60..f5f24e4 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-glyph_stroker.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Glyph Stroker
@@ -58,14 +62,6 @@ Glyph Stroker
<table align=center width="75%"><tr><td>
<h4><a name="FT_Stroker">FT_Stroker</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_STROKER_H (freetype/ftstroke.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>Opaque handler to a path stroker object.</p>
</td></tr></table><br>
</td></tr></table>
@@ -221,7 +217,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> for empty or invalid outlines.</p>
+<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> for empty or invalid outlines.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -292,7 +288,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -339,7 +335,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The radius is expressed in the same units that the outline coordinates.</p>
+<p>The radius is expressed in the same units as the outline coordinates.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -401,16 +397,16 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
<p>The source outline.</p>
</td></tr>
<tr valign=top><td><b>opened</b></td><td>
-<p>A boolean. If 1, the outline is treated as an open path instead of a closed one.</p>
+<p>A boolean. If&nbsp;1, the outline is treated as an open path instead of a closed one.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If &lsquo;opened&rsquo; is 0 (the default), the outline is treated as a closed path, and the stroker will generate two distinct &lsquo;border&rsquo; outlines.</p>
-<p>If &lsquo;opened&rsquo; is 1, the outline is processed as an open path, and the stroker will generate a single &lsquo;stroke&rsquo; outline.</p>
+<p>If &lsquo;opened&rsquo; is&nbsp;0 (the default), the outline is treated as a closed path, and the stroker generates two distinct &lsquo;border&rsquo; outlines.</p>
+<p>If &lsquo;opened&rsquo; is&nbsp;1, the outline is processed as an open path, and the stroker generates a single &lsquo;stroke&rsquo; outline.</p>
<p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</p>
</td></tr></table>
</td></tr></table>
@@ -445,12 +441,12 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
<p>A pointer to the start vector.</p>
</td></tr>
<tr valign=top><td><b>open</b></td><td>
-<p>A boolean. If 1, the sub-path is treated as an open one.</p>
+<p>A boolean. If&nbsp;1, the sub-path is treated as an open one.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function is useful when you need to stroke a path that is not stored as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object.</p>
@@ -484,10 +480,10 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not &lsquo;opened&rsquo;, this function will &lsquo;draw&rsquo; a single line segment to the start position when needed.</p>
+<p>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not &lsquo;opened&rsquo;, this function &lsquo;draws&rsquo; a single line segment to the start position when needed.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -522,7 +518,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
@@ -564,7 +560,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
@@ -610,7 +606,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p>
@@ -636,7 +632,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Call this function once you have finished parsing your paths with the stroker. It will return the number of points and contours necessary to export one of the &lsquo;border&rsquo; or &lsquo;stroke&rsquo; outlines generated by the stroker.</p>
+<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the &lsquo;border&rsquo; or &lsquo;stroke&rsquo; outlines generated by the stroker.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -661,7 +657,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>When an outline, or a sub-path, is &lsquo;closed&rsquo;, the stroker generates two independent &lsquo;border&rsquo; outlines, named &lsquo;left&rsquo; and &lsquo;right&rsquo;.</p>
@@ -689,7 +685,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the corresponding border to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p>
-<p>Note that this function will append the border points and contours to your outline, but will not try to resize its arrays.</p>
+<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -753,7 +749,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -775,7 +771,7 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the all borders to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p>
-<p>Note that this function will append the border points and contours to your outline, but will not try to resize its arrays.</p>
+<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -853,12 +849,12 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
<p>A stroker handle.</p>
</td></tr>
<tr valign=top><td><b>destroy</b></td><td>
-<p>A Boolean. If 1, the source glyph object is destroyed on success.</p>
+<p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The source glyph is untouched in case of error.</p>
@@ -901,15 +897,15 @@ Defined in FT_STROKER_H (freetype/ftstroke.h).
<p>A stroker handle.</p>
</td></tr>
<tr valign=top><td><b>inside</b></td><td>
-<p>A Boolean. If 1, return the inside border, otherwise the outside border.</p>
+<p>A Boolean. If&nbsp;1, return the inside border, otherwise the outside border.</p>
</td></tr>
<tr valign=top><td><b>destroy</b></td><td>
-<p>A Boolean. If 1, the source glyph object is destroyed on success.</p>
+<p>A Boolean. If&nbsp;1, the source glyph object is destroyed on success.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The source glyph is untouched in case of error.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html b/src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html
index e51ea1f..499c7e7 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-glyph_variants.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Glyph Variants
@@ -45,8 +49,8 @@ Glyph Variants
<table align=center width="87%"><tr><td>
<p>Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.</p>
-<p>An IVS is registered and unique; for further details please refer to Unicode Technical Report #37, the Ideographic Variation Database. To date (October 2007), the character with the most variants is U+908A, having 8 such IVS.</p>
-<p>Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.</p>
+<p>An IVS is registered and unique; for further details please refer to Unicode Technical Report #37, the Ideographic Variation Database. To date (October 2007), the character with the most variants is U+908A, having 8&nbsp;such IVS.</p>
+<p>Adobe and MS decided to support IVS with a new cmap subtable (format&nbsp;14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.</p>
<p>A variant may be either &lsquo;default&rsquo; or &lsquo;non-default&rsquo;. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
@@ -80,10 +84,10 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The glyph index. 0 means either &lsquo;undefined character code&rsquo;, or &lsquo;undefined selector code&rsquo;, or &lsquo;no variation selector cmap subtable&rsquo;, or &lsquo;current CharMap is not Unicode&rsquo;.</p>
+<p>The glyph index. 0&nbsp;means either &lsquo;undefined character code&rsquo;, or &lsquo;undefined selector code&rsquo;, or &lsquo;no variation selector cmap subtable&rsquo;, or &lsquo;current CharMap is not Unicode&rsquo;.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
+<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value&nbsp;0 always corresponds to the &lsquo;missing glyph&rsquo;.</p>
<p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
@@ -126,7 +130,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.</p>
+<p>1&nbsp;if found in the standard (Unicode) cmap, 0&nbsp;if found in the variation selector cmap, or -1 if it is not a variant.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function is only meaningful if the font has a variation selector cmap subtable.</p>
@@ -166,7 +170,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
+<p>The last item in the array is&nbsp;0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
<p>2.3.6</p>
@@ -207,7 +211,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A pointer to an array of variant selector code points which are active for the given character, or NULL if the corresponding list is empty.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
+<p>The last item in the array is&nbsp;0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
<p>2.3.6</p>
@@ -248,7 +252,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
<p>A list of all the code points which are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
+<p>The last item in the array is&nbsp;0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
<p>2.3.6</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-gx_validation.html b/src/3rdparty/freetype/docs/reference/ft2-gx_validation.html
index 611e0e6..8c3a98f 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-gx_validation.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-gx_validation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
TrueTypeGX/AAT Validation
@@ -49,14 +53,6 @@ TrueTypeGX/AAT Validation
<table align=center width="75%"><tr><td>
<h4><a name="FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_VALIDATE_GX_LENGTH</b> (FT_VALIDATE_GX_LAST_INDEX + 1)
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>The number of tables checked in this module. Use it as a parameter for the &lsquo;table-length&rsquo; argument of function <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -182,7 +178,7 @@ Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function only works with TrueTypeGX fonts, returning an error otherwise.</p>
@@ -279,8 +275,8 @@ Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Validate classic (16bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).</p>
-<p>The &lsquo;kern&rsquo; table validator in <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> deals with both the new 32bit format and the classic 16bit format, while FT_ClassicKern_Validate only supports the classic 16bit format.</p>
+<p>Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).</p>
+<p>The &lsquo;kern&rsquo; table validator in <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -302,7 +298,7 @@ Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>After use, the application should deallocate the buffers pointed to by &lsquo;ckern_table&rsquo;, by calling <a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a>. A NULL value indicates that the table doesn't exist in the font.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-gzip.html b/src/3rdparty/freetype/docs/reference/ft2-gzip.html
index e1dbf27..f9eca6a 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-gzip.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-gzip.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
GZIP Streams
@@ -71,7 +75,7 @@ Defined in FT_GZIP_H (freetype/ftgzip.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The source stream must be opened <i>before</i> calling this function.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html b/src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html
index 33905e9..f81f2f9 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-header_file_macros.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Header File Macros
@@ -60,18 +64,18 @@ Header File Macros
<tr><td></td><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
<tr><td></td><td><a href="#FT_CID_H">FT_CID_H</a></td><td></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr>
<tr><td></td><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr>
-<tr><td></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td><td></td><td></td></tr>
+<tr><td></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td><td></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr>
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:</p>
+<p>The following macros are defined to the name of specific FreeType&nbsp;2 header files. They can be used directly in #include statements as in:</p>
<pre class="colored">
#include FT_FREETYPE_H
#include FT_MULTIPLE_MASTERS_H
#include FT_GLYPH_H
</pre>
-<p>There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and &lsquo;FT_MULTIPLE_MASTERS_H&rsquo; is a lot more meaningful than &lsquo;ftmm.h&rsquo;).</p>
-<p>The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.</p>
+<p>There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3&nbsp;naming rule required by DOS (and &lsquo;FT_MULTIPLE_MASTERS_H&rsquo; is a lot more meaningful than &lsquo;ftmm.h&rsquo;).</p>
+<p>The second reason is that it allows for more flexibility in the way FreeType&nbsp;2 is installed on a given system.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></h4>
@@ -83,7 +87,7 @@ Header File Macros
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing FreeType 2 configuration data.</p>
+<p>A macro used in #include statements to name the file containing FreeType&nbsp;2 configuration data.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -101,7 +105,7 @@ Header File Macros
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.</p>
+<p>A macro used in #include statements to name the file containing FreeType&nbsp;2 interface to the standard C library functions.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -119,7 +123,7 @@ Header File Macros
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.</p>
+<p>A macro used in #include statements to name the file containing FreeType&nbsp;2 project-specific configuration options.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -137,7 +141,7 @@ Header File Macros
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p>
+<p>A macro used in #include statements to name the file containing the list of FreeType&nbsp;2 modules that are statically linked to new library instances in <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -147,13 +151,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_FREETYPE_H">FT_FREETYPE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_FREETYPE_H</b> &lt;freetype/freetype.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the base FreeType 2 API.</p>
+<p>A macro used in #include statements to name the file containing the base FreeType&nbsp;2 API.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -163,13 +162,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_ERRORS_H">FT_ERRORS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_ERRORS_H</b> &lt;freetype/fterrors.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).</p>
+<p>A macro used in #include statements to name the file containing the list of FreeType&nbsp;2 error codes (and messages).</p>
<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -180,13 +174,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_MODULE_ERRORS_H</b> &lt;freetype/ftmoderr.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).</p>
+<p>A macro used in #include statements to name the file containing the list of FreeType&nbsp;2 module error offsets (and messages).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -196,13 +185,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_SYSTEM_H">FT_SYSTEM_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_SYSTEM_H</b> &lt;freetype/ftsystem.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 interface to low-level operations (i.e., memory management and stream i/o).</p>
<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -213,11 +197,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_IMAGE_H">FT_IMAGE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_IMAGE_H</b> &lt;freetype/ftimage.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).</p>
<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p>
@@ -230,13 +209,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TYPES_H">FT_TYPES_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TYPES_H</b> &lt;freetype/fttypes.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType&nbsp;2.</p>
<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p>
</td></tr></table><br>
</td></tr></table>
@@ -247,13 +221,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_LIST_H">FT_LIST_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_LIST_H</b> &lt;freetype/ftlist.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the list management API of FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the list management API of FreeType&nbsp;2.</p>
<p>(Most applications will never need to include this file.)</p>
</td></tr></table><br>
</td></tr></table>
@@ -264,13 +233,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_OUTLINE_H">FT_OUTLINE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_OUTLINE_H</b> &lt;freetype/ftoutln.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType&nbsp;2.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -280,11 +244,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_SIZES_H">FT_SIZES_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_SIZES_H</b> &lt;freetype/ftsizes.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the API which manages multiple <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects per face.</p>
</td></tr></table><br>
@@ -296,13 +255,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_MODULE_H">FT_MODULE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_MODULE_H</b> &lt;freetype/ftmodapi.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the module management API of FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the module management API of FreeType&nbsp;2.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -312,13 +266,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_RENDER_H">FT_RENDER_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_RENDER_H</b> &lt;freetype/ftrender.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType&nbsp;2.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -328,13 +277,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TYPE1_TABLES_H</b> &lt;freetype/t1tables.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.</p>
+<p>A macro used in #include statements to name the file containing the types and API specific to the Type&nbsp;1 format.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -344,11 +288,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TRUETYPE_IDS_H</b> &lt;freetype/ttnameid.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a <i>large</i> set of constant macro definitions, taken from the TrueType and OpenType specifications.</p>
</td></tr></table><br>
@@ -360,11 +299,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TRUETYPE_TABLES_H</b> &lt;freetype/tttables.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.</p>
</td></tr></table><br>
@@ -376,11 +310,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TRUETYPE_TAGS_H</b> &lt;freetype/tttags.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of TrueType four-byte &lsquo;tags&rsquo; which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).</p>
</td></tr></table><br>
@@ -392,11 +321,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_BDF_H">FT_BDF_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_BDF_H</b> &lt;freetype/ftbdf.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.</p>
</td></tr></table><br>
@@ -408,11 +332,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_CID_H">FT_CID_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_CID_H</b> &lt;freetype/ftcid.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.</p>
</td></tr></table><br>
@@ -424,11 +343,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_GZIP_H">FT_GZIP_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_GZIP_H</b> &lt;freetype/ftgzip.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.</p>
</td></tr></table><br>
@@ -440,11 +354,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_LZW_H">FT_LZW_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_LZW_H</b> &lt;freetype/ftlzw.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.</p>
</td></tr></table><br>
@@ -456,11 +365,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_WINFONTS_H">FT_WINFONTS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_WINFONTS_H</b> &lt;freetype/ftwinfnt.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.</p>
</td></tr></table><br>
@@ -472,11 +376,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_GLYPH_H">FT_GLYPH_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_GLYPH_H</b> &lt;freetype/ftglyph.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the API of the optional glyph management component.</p>
</td></tr></table><br>
@@ -488,11 +387,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_BITMAP_H">FT_BITMAP_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_BITMAP_H</b> &lt;freetype/ftbitmap.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.</p>
</td></tr></table><br>
@@ -504,11 +398,6 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_BBOX_H">FT_BBOX_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_BBOX_H</b> &lt;freetype/ftbbox.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.</p>
</td></tr></table><br>
@@ -520,13 +409,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_CACHE_H">FT_CACHE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_CACHE_H</b> &lt;freetype/ftcache.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.</p>
+<p>A macro used in #include statements to name the file containing the API of the optional FreeType&nbsp;2 cache sub-system.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -536,13 +420,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_CACHE_IMAGE_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a>
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the &lsquo;glyph image&rsquo; API of the FreeType 2 cache sub-system.</p>
+<p>A macro used in #include statements to name the file containing the &lsquo;glyph image&rsquo; API of the FreeType&nbsp;2 cache sub-system.</p>
<p>It is used to define a cache for <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> elements. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a> if you only need to store small glyph bitmaps, as it will use less memory.</p>
<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all glyph image-related cache declarations.</p>
</td></tr></table><br>
@@ -554,13 +433,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_CACHE_SMALL_BITMAPS_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a>
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the &lsquo;small bitmaps&rsquo; API of the FreeType 2 cache sub-system.</p>
+<p>A macro used in #include statements to name the file containing the &lsquo;small bitmaps&rsquo; API of the FreeType&nbsp;2 cache sub-system.</p>
<p>It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a> if you want to cache arbitrary glyph images, including scalable outlines.</p>
<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all small bitmaps-related cache declarations.</p>
</td></tr></table><br>
@@ -572,13 +446,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_CACHE_CHARMAP_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a>
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the &lsquo;charmap&rsquo; API of the FreeType 2 cache sub-system.</p>
+<p>A macro used in #include statements to name the file containing the &lsquo;charmap&rsquo; API of the FreeType&nbsp;2 cache sub-system.</p>
<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all charmap-based cache declarations.</p>
</td></tr></table><br>
</td></tr></table>
@@ -589,13 +458,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_MAC_H">FT_MAC_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_MAC_H</b> &lt;freetype/ftmac.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.</p>
+<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType&nbsp;2 API. The latter is used to access fonts embedded in resource forks.</p>
<p>This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).</p>
</td></tr></table><br>
</td></tr></table>
@@ -606,13 +470,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_MULTIPLE_MASTERS_H</b> &lt;freetype/ftmm.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.</p>
+<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType&nbsp;2.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -622,13 +481,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_SFNT_NAMES_H</b> &lt;freetype/ftsnames.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded &lsquo;name&rsquo; strings in SFNT-based font formats (i.e., TrueType and OpenType).</p>
+<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which accesses embedded &lsquo;name&rsquo; strings in SFNT-based font formats (i.e., TrueType and OpenType).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -638,13 +492,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_OPENTYPE_VALIDATE_H</b> &lt;freetype/ftotval.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p>
+<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -654,13 +503,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_GX_VALIDATE_H</b> &lt;freetype/ftgxval.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p>
+<p>A macro used in #include statements to name the file containing the optional FreeType&nbsp;2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -670,13 +514,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_PFR_H">FT_PFR_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_PFR_H</b> &lt;freetype/ftpfr.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which accesses PFR-specific data.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -686,13 +525,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_STROKER_H">FT_STROKER_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_STROKER_H</b> &lt;freetype/ftstroke.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which provides functions to stroke outline paths.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -702,13 +536,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_SYNTHESIS_H</b> &lt;freetype/ftsynth.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs artificial obliquing and emboldening.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -718,13 +547,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_XFREE86_H">FT_XFREE86_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_XFREE86_H</b> &lt;freetype/ftxf86.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which provides functions specific to the XFree86 and X.Org X11 servers.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -734,13 +558,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_TRIGONOMETRY_H</b> &lt;freetype/fttrigon.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -750,13 +569,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_LCD_FILTER_H</b> &lt;freetype/ftlcdfil.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -766,13 +580,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_UNPATENTED_HINTING_H</b> &lt;freetype/ttunpat.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -782,13 +591,8 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_INCREMENTAL_H</b> &lt;freetype/ftincrem.h&gt;
-
-</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which performs color filtering for subpixel rendering.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -798,13 +602,19 @@ Header File Macros
<table align=center width="75%"><tr><td>
<h4><a name="FT_GASP_H">FT_GASP_H</a></h4>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_GASP_H</b> &lt;freetype/ftgasp.h&gt;
+<table align=center width="87%"><tr><td>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which returns entries from the TrueType GASP table.</p>
+</td></tr></table><br>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
-</pre></table><br>
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_ADVANCES_H">FT_ADVANCES_H</a></h4>
<table align=center width="87%"><tr><td>
-<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.</p>
+<p>A macro used in #include statements to name the file containing the FreeType&nbsp;2 API which returns individual and ranged glyph advances.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
diff --git a/src/3rdparty/freetype/docs/reference/ft2-incremental.html b/src/3rdparty/freetype/docs/reference/ft2-incremental.html
index e438eb1..8fbc111 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-incremental.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-incremental.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Incremental Loading
@@ -47,21 +51,13 @@ Incremental Loading
<table align=center width="87%"><tr><td>
<p>This section contains various functions used to perform so-called &lsquo;incremental&rsquo; glyph loading. This is a mode where all glyphs loaded from a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> are provided by the client application,</p>
-<p>Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a Postscript Imaging Processor.</p>
+<p>Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.</p>
<p>To enable this mode, you must use <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>, passing an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> with the <a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a> tag and an <a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a> value. See the comments for <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> for an example.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_Incremental">FT_Incremental</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_IncrementalRec_* <b>FT_Incremental</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
-<p>An opaque type describing a user-provided object used to implement &lsquo;incremental&rsquo; glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., Postscript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.</p>
+<p>An opaque type describing a user-provided object used to implement &lsquo;incremental&rsquo; glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>It is up to client applications to create and implement <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> objects, as long as they provide implementations for the methods <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a>, <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> and <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a>.</p>
@@ -118,14 +114,6 @@ Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Incremental_Metrics">FT_Incremental_Metrics</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_* <b>FT_Incremental_Metrics</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an <a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -149,7 +137,7 @@ Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A function called by FreeType to access a given glyph's data bytes during <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> if incremental loading is enabled.</p>
-<p>Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the &lsquo;glyf&rsquo; table. For Postscript formats, it must correspond to the <b>unencrypted</b> charstring bytes, without any &lsquo;lenIV&rsquo; header. It is undefined for any other format.</p>
+<p>Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the &lsquo;glyf&rsquo; table. For PostScript formats, it must correspond to the <b>unencrypted</b> charstring bytes, without any &lsquo;lenIV&rsquo; header. It is undefined for any other format.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -171,7 +159,7 @@ Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>If this function returns successfully the method <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> will be called later to release the data bytes.</p>
@@ -354,14 +342,6 @@ Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Incremental_Interface">FT_Incremental_Interface</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>* <b>FT_Incremental_Interface</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A pointer to an <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -373,14 +353,6 @@ Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_INCREMENTAL_H (freetype/ftincrem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_PARAM_TAG_INCREMENTAL</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'n', 'c', 'r' )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to indicate an incremental loading object to be used by FreeType.</p>
</td></tr></table><br>
</td></tr></table>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-index.html b/src/3rdparty/freetype/docs/reference/ft2-index.html
index d108d0a..ca4d169 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-index.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-index.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,249 +31,260 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<table align=center border=0 cellpadding=0 cellspacing=0>
-<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr>
-<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
-<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_Module">FT_Module</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
-<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
-<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-header_file_macros.html#FT_XFREE86_H">FT_XFREE86_H</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
-<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-base_interface.html#ft_encoding_xxx">ft_encoding_xxx</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a></td></tr>
-<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">FT_Palette_Mode</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a></td></tr>
-<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-base_interface.html#ft_kerning_default">ft_kerning_default</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-base_interface.html#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-bdf_fonts.html#FT_PropertyType">FT_PropertyType</a></td><td><a href="ft2-base_interface.html#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr>
-<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a></td></tr>
-<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_flags</a></td></tr>
-<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a></td></tr>
-<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a></td></tr>
-<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a></td></tr>
-<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr>
-<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
-<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
-<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
-<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
-<tr><td><a href="ft2-font_formats.html#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
-<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
-<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
-<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
-<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
-<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
-<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
-<tr><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
-<tr><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
-<tr><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
-<tr><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
-<tr><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
-<tr><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
-<tr><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr>
+<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr>
+<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_Module">FT_Module</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr>
+<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-header_file_macros.html#FT_XFREE86_H">FT_XFREE86_H</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr>
+<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr>
+<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr>
+<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-base_interface.html#ft_encoding_xxx">ft_encoding_xxx</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a></td></tr>
+<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">FT_Palette_Mode</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-base_interface.html#ft_kerning_default">ft_kerning_default</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-base_interface.html#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-base_interface.html#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a></td></tr>
+<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-bdf_fonts.html#FT_PropertyType">FT_PropertyType</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_flags</a></td></tr>
+<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a></td></tr>
+<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a></td></tr>
+<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a></td></tr>
+<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr>
+<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr>
+<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr>
+<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr>
+<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr>
+<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr>
+<tr><td><a href="ft2-font_formats.html#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr>
+<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr>
+<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr>
+<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr>
+<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr>
+<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr>
+<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr>
+<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr>
+<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td></td></tr>
+<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td></td></tr>
</table>
<hr>
<table><tr><td width="100%"></td>
-<td><font size=-2>[<a href="
-ft2-toc.html">TOC</a>]</font></td></tr></table>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><font size=-2>generated on Thu Mar 12 10:57:36 2009</font></center></body>
+</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html b/src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html
index 5543304..9ae6a5f 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-lcd_filtering.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
LCD Filtering
@@ -122,14 +126,14 @@ Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This feature is always disabled by default. Clients must make an explicit call to this function with a &lsquo;filter&rsquo; value other than <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> in order to enable it.</p>
<p>Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning &lsquo;FT_Err_Unimplemented_Feature&rsquo; if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.</p>
<p>The filter affects glyph bitmaps rendered through <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>, <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, and <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p>
<p>It does <i>not</i> affect the output of <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> and <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>.</p>
-<p>If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.</p>
+<p>If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, the filter adds up to 3&nbsp;pixels to the left, and up to 3&nbsp;pixels to the right.</p>
<p>The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-list_processing.html b/src/3rdparty/freetype/docs/reference/ft2-list_processing.html
index 5264236..bf0df50 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-list_processing.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-list_processing.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
List Processing
@@ -51,14 +55,6 @@ List Processing
<table align=center width="75%"><tr><td>
<h4><a name="FT_List">FT_List</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_* <b>FT_List</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a list record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>).</p>
</td></tr></table><br>
</td></tr></table>
@@ -70,14 +66,6 @@ Defined in FT_TYPES_H (freetype/fttypes.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_ListNode">FT_ListNode</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPES_H (freetype/fttypes.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_* <b>FT_ListNode</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>Many elements and objects in FreeType are listed through an <a href="ft2-list_processing.html#FT_List">FT_List</a> record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>). As its name suggests, an FT_ListNode is a handle to a single list element.</p>
</td></tr></table><br>
</td></tr></table>
@@ -173,7 +161,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Finds the list node for a given listed object.</p>
+<p>Find the list node for a given listed object.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -208,7 +196,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Appends an element to the end of a list.</p>
+<p>Append an element to the end of a list.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -240,7 +228,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Inserts an element at the head of a list.</p>
+<p>Insert an element at the head of a list.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -272,7 +260,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Removes a node from a list. This function doesn't check whether the node is in the list!</p>
+<p>Remove a node from a list. This function doesn't check whether the node is in the list!</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -309,7 +297,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Moves a node to the head/top of a list. Used to maintain LRU lists.</p>
+<p>Move a node to the head/top of a list. Used to maintain LRU lists.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -374,7 +362,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Parses a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.</p>
+<p>Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -450,7 +438,7 @@ Defined in FT_LIST_H (freetype/ftlist.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Destroys all elements in the list as well as the list itself.</p>
+<p>Destroy all elements in the list as well as the list itself.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-lzw.html b/src/3rdparty/freetype/docs/reference/ft2-lzw.html
index 232091b..5ef0a5f 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-lzw.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-lzw.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
LZW Streams
@@ -71,7 +75,7 @@ Defined in FT_LZW_H (freetype/ftlzw.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The source stream must be opened <i>before</i> calling this function.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-mac_specific.html b/src/3rdparty/freetype/docs/reference/ft2-mac_specific.html
index 4ae69b7..3528c72 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-mac_specific.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-mac_specific.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Mac Specific Interface
@@ -92,7 +96,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>notes</b></em></td></tr><tr><td>
<p>This function can be used to create <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects from fonts that are installed in the system as follows.</p>
@@ -144,7 +148,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -189,7 +193,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -238,7 +242,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -279,7 +283,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
<p>FSSpec to the font file.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face within the resource. The first face has index 0.</p>
+<p>The index of the face within the resource. The first face has index&nbsp;0.</p>
</td></tr>
</table>
</td></tr></table>
@@ -292,7 +296,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSSpec instead of a path.</p>
@@ -336,7 +340,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
<p>FSRef to the font file.</p>
</td></tr>
<tr valign=top><td><b>face_index</b></td><td>
-<p>The index of the face within the resource. The first face has index 0.</p>
+<p>The index of the face within the resource. The first face has index&nbsp;0.</p>
</td></tr>
</table>
</td></tr></table>
@@ -349,7 +353,7 @@ Defined in FT_MAC_H (freetype/ftmac.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSRef instead of a path.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-module_management.html b/src/3rdparty/freetype/docs/reference/ft2-module_management.html
index 173d2bb..e621f27 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-module_management.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-module_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Module Management
@@ -211,7 +215,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Adds a new module to a given library instance.</p>
+<p>Add a new module to a given library instance.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -230,7 +234,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p>
@@ -254,7 +258,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Finds a module by its name.</p>
+<p>Find a module by its name.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -268,7 +272,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>A module handle. 0 if none was found.</p>
+<p>A module handle. 0&nbsp;if none was found.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>FreeType's internal modules aren't documented very well, and you should look up the source code for details.</p>
@@ -292,7 +296,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Removes a given module from a library instance.</p>
+<p>Remove a given module from a library instance.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -311,7 +315,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The module object is destroyed by the function in case of success.</p>
@@ -354,7 +358,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -374,7 +378,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Discards a given library object. This closes all drivers and discards all resource objects.</p>
+<p>Discard a given library object. This closes all drivers and discards all resource objects.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -385,7 +389,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -407,7 +411,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Sets a debug hook function for debugging the interpreter of a font format.</p>
+<p>Set a debug hook function for debugging the interpreter of a font format.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -429,7 +433,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.</p>
+<p>Currently, four debug hook slots are available, but only two (for the TrueType and the Type&nbsp;1 interpreter) are defined.</p>
<p>Since the internal headers of FreeType are no longer installed, the symbol &lsquo;FT_DEBUG_HOOK_TRUETYPE&rsquo; isn't available publicly. This is a bug and will be fixed in a forthcoming release.</p>
</td></tr></table>
</td></tr></table>
@@ -450,7 +454,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Adds the set of default drivers to a given library object. This is only useful when you create a library object with <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> (usually to plug a custom memory manager).</p>
+<p>Add the set of default drivers to a given library object. This is only useful when you create a library object with <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> (usually to plug a custom memory manager).</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -540,7 +544,7 @@ Defined in FT_RENDER_H (freetype/ftrender.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves the current renderer for a given glyph format.</p>
+<p>Retrieve the current renderer for a given glyph format.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -554,7 +558,7 @@ Defined in FT_RENDER_H (freetype/ftrender.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>A renderer handle. 0 if none found.</p>
+<p>A renderer handle. 0&nbsp;if none found.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p>
@@ -581,7 +585,7 @@ Defined in FT_RENDER_H (freetype/ftrender.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Sets the current renderer to use, and set additional mode.</p>
+<p>Set the current renderer to use, and set additional mode.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -606,7 +610,7 @@ Defined in FT_RENDER_H (freetype/ftrender.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html b/src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html
index 94aecc2..a977f87 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-multiple_masters.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Multiple Masters
@@ -48,7 +52,7 @@ Multiple Masters
<table align=center width="87%"><tr><td>
<p>The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.</p>
-<p>George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.</p>
+<p>George Williams has extended this interface to make it work with both Type&nbsp;1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.</p>
</td></tr></table><br>
<table align=center width="75%"><tr><td>
<h4><a name="FT_MM_Axis">FT_MM_Axis</a></h4>
@@ -114,10 +118,10 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>num_axis</b></td><td>
-<p>Number of axes. Cannot exceed 4.</p>
+<p>Number of axes. Cannot exceed&nbsp;4.</p>
</td></tr>
<tr valign=top><td><b>num_designs</b></td><td>
-<p>Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.</p>
+<p>Number of designs; should be normally 2^num_axis even though the Type&nbsp;1 specification strangely allows for intermediate designs to be present. This number cannot exceed&nbsp;16.</p>
</td></tr>
<tr valign=top><td><b>axis</b></td><td>
<p>A table of axis descriptors.</p>
@@ -245,7 +249,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>num_axis</b></td><td>
-<p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p>
+<p>The number of axes. The maximum value is&nbsp;4 for MM; no limit in GX.</p>
</td></tr>
<tr valign=top><td><b>num_designs</b></td><td>
<p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p>
@@ -280,7 +284,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves the Multiple Master descriptor of a given font.</p>
+<p>Retrieve the Multiple Master descriptor of a given font.</p>
<p>This function can't be used with GX fonts.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
@@ -300,7 +304,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -321,7 +325,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves the Multiple Master/GX var descriptor of a given font.</p>
+<p>Retrieve the Multiple Master/GX var descriptor of a given font.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -335,12 +339,12 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>amaster</b></td><td>
-<p>The Multiple Masters descriptor. Allocates a data structure, which the user must free (a single call to FT_FREE will do it).</p>
+<p>The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free (a single call to FT_FREE will do it).</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -385,7 +389,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -429,7 +433,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -473,7 +477,7 @@ Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
diff --git a/src/3rdparty/freetype/docs/reference/ft2-ot_validation.html b/src/3rdparty/freetype/docs/reference/ft2-ot_validation.html
index 9db7884..e2289ef 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-ot_validation.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-ot_validation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
OpenType Validation
@@ -153,7 +157,7 @@ Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function only works with OpenType fonts, returning an error otherwise.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-outline_processing.html b/src/3rdparty/freetype/docs/reference/ft2-outline_processing.html
index 9153b8d..d0b670e 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-outline_processing.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-outline_processing.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Outline Processing
@@ -92,8 +96,8 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p>A pointer to an array of &lsquo;n_points&rsquo; <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> elements, giving the outline's point coordinates.</p>
</td></tr>
<tr valign=top><td><b>tags</b></td><td>
-<p>A pointer to an array of &lsquo;n_points&rsquo; chars, giving each outline point's type. If bit 0 is unset, the point is &lsquo;off&rsquo; the curve, i.e., a Bézier control point, while it is &lsquo;on&rsquo; when set.</p>
-<p>Bit 1 is meaningful for &lsquo;off&rsquo; points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.</p>
+<p>A pointer to an array of &lsquo;n_points&rsquo; chars, giving each outline point's type. If bit&nbsp;0 is unset, the point is &lsquo;off&rsquo; the curve, i.e., a Bézier control point, while it is &lsquo;on&rsquo; when set.</p>
+<p>Bit&nbsp;1 is meaningful for &lsquo;off&rsquo; points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.</p>
</td></tr>
<tr valign=top><td><b>contours</b></td><td>
<p>An array of &lsquo;n_contours&rsquo; shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points &lsquo;0&rsquo; to &lsquo;contours[0]&rsquo;, the second one is defined by the points &lsquo;contours[0]+1&rsquo; to &lsquo;contours[1]&rsquo;, etc.</p>
@@ -121,6 +125,8 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a> 0x2
#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> 0x4
#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> 0x8
+#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a> 0x10
+#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> 0x20
#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a> 0x100
#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a> 0x200
@@ -133,10 +139,10 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>FT_OUTLINE_NONE</b></td><td>
-<p>Value 0 is reserved.</p>
+<p>Value&nbsp;0 is reserved.</p>
</td></tr>
<tr valign=top><td><b>FT_OUTLINE_OWNER</b></td><td>
-<p>If set, this flag indicates that the outline's field arrays (i.e., &lsquo;points&rsquo;, &lsquo;flags&rsquo; &amp; &lsquo;contours&rsquo;) are &lsquo;owned&rsquo; by the outline object, and should thus be freed when it is destroyed.</p>
+<p>If set, this flag indicates that the outline's field arrays (i.e., &lsquo;points&rsquo;, &lsquo;flags&rsquo;, and &lsquo;contours&rsquo;) are &lsquo;owned&rsquo; by the outline object, and should thus be freed when it is destroyed.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_OUTLINE_EVEN_ODD_FILL</b></td></tr>
<tr valign=top><td></td><td>
@@ -144,21 +150,32 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</td></tr>
<tr valign=top><td colspan=0><b>FT_OUTLINE_REVERSE_FILL</b></td></tr>
<tr valign=top><td></td><td>
-<p>By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan-converter.</p>
+<p>By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type&nbsp;1 fonts). This flag is ignored by the scan converter.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_OUTLINE_IGNORE_DROPOUTS</b></td></tr>
<tr valign=top><td></td><td>
<p>By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases.</p>
</td></tr>
+<tr valign=top><td colspan=0><b>FT_OUTLINE_SMART_DROPOUTS</b></td></tr>
+<tr valign=top><td></td><td>
+<p>Select smart dropout control. If unset, use simple dropout control. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set.</p>
+</td></tr>
+<tr valign=top><td colspan=0><b>FT_OUTLINE_INCLUDE_STUBS</b></td></tr>
+<tr valign=top><td></td><td>
+<p>If set, turn pixels on for &lsquo;stubs&rsquo;, otherwise exclude them. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set.</p>
+</td></tr>
<tr valign=top><td colspan=0><b>FT_OUTLINE_HIGH_PRECISION</b></td></tr>
<tr valign=top><td></td><td>
-<p>This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint, that might be completely ignored by a given scan-converter.</p>
+<p>This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.</p>
</td></tr>
<tr valign=top><td><b>FT_OUTLINE_SINGLE_PASS</b></td><td>
-<p>This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint, that might be completely ignored by a given scan-converter.</p>
+<p>This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.</p>
</td></tr>
</table>
</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>Please refer to the description of the &lsquo;SCANTYPE&rsquo; instruction in the OpenType specification (in file &lsquo;ttinst1.doc&rsquo;) how simple drop-outs, smart drop-outs, and stubs are defined.</p>
+</td></tr></table>
</td></tr></table>
<hr width="75%">
<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
@@ -187,7 +204,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Creates a new outline of a given size.</p>
+<p>Create a new outline of a given size.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -207,12 +224,12 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>anoutline</b></td><td>
-<p>A handle to the new outline. NULL in case of error.</p>
+<p>A handle to the new outline.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The reason why this function takes a &lsquo;library&rsquo; parameter is simply to use the library's memory allocator.</p>
@@ -241,7 +258,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Destroys an outline created with <a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a>.</p>
+<p>Destroy an outline created with <a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a>.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -255,7 +272,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>If the outline's &lsquo;owner&rsquo; field is not set, only the outline descriptor will be released.</p>
@@ -280,7 +297,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Copies an outline into another one. Both objects must have the same sizes (number of points &amp; number of contours) when this function is called.</p>
+<p>Copy an outline into another one. Both objects must have the same sizes (number of points &amp; number of contours) when this function is called.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -299,7 +316,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -321,7 +338,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Applies a simple translation to the points of an outline.</p>
+<p>Apply a simple translation to the points of an outline.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -361,7 +378,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Applies a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.</p>
+<p>Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -401,7 +418,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Emboldens an outline. The new outline will be at most 4 times &lsquo;strength&rsquo; pixels wider and higher. You may think of the left and bottom borders as unchanged.</p>
+<p>Embolden an outline. The new outline will be at most 4&nbsp;times &lsquo;strength&rsquo; pixels wider and higher. You may think of the left and bottom borders as unchanged.</p>
<p>Negative &lsquo;strength&rsquo; values to reduce the outline thickness are possible also.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
@@ -421,10 +438,11 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.</p>
+<p>If you need &lsquo;better&rsquo; metrics values you should call <a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a> ot <a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a>.</p>
<p>Example call:</p>
<pre class="colored">
FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );
@@ -450,7 +468,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Reverses the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.</p>
+<p>Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td>
<p></p>
@@ -461,7 +479,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>This functions toggles the bit flag <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> in the outline's &lsquo;flags&rsquo; field.</p>
+<p>This function toggles the bit flag <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> in the outline's &lsquo;flags&rsquo; field.</p>
<p>It shouldn't be used by a normal client application, unless it knows what it is doing.</p>
</td></tr></table>
</td></tr></table>
@@ -493,7 +511,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -514,7 +532,7 @@ Defined in FT_BBOX_H (freetype/ftbbox.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Computes the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm which returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p>
+<p>Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm which returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -533,7 +551,7 @@ Defined in FT_BBOX_H (freetype/ftbbox.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -626,7 +644,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -664,7 +682,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -706,7 +724,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -752,7 +770,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -812,7 +830,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
x' = (x &lt;&lt; shift) - delta
y' = (x &lt;&lt; shift) - delta
</pre>
-<p>Set the value of &lsquo;shift&rsquo; and &lsquo;delta&rsquo; to 0 to get the original point coordinates.</p>
+<p>Set the value of &lsquo;shift&rsquo; and &lsquo;delta&rsquo; to&nbsp;0 to get the original point coordinates.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -834,7 +852,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Walks over an outline's structure to decompose it into individual segments and Bézier arcs. This function is also able to emit &lsquo;move to&rsquo; and &lsquo;close to&rsquo; operations to indicate the start and end of new contours in the outline.</p>
+<p>Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function is also able to emit &lsquo;move to&rsquo; and &lsquo;close to&rsquo; operations to indicate the start and end of new contours in the outline.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -843,7 +861,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
<p>A pointer to the source target.</p>
</td></tr>
<tr valign=top><td><b>func_interface</b></td><td>
-<p>A table of &lsquo;emitters&rsquo;, i.e,. function pointers called during decomposition to indicate path operations.</p>
+<p>A table of &lsquo;emitters&rsquo;, i.e., function pointers called during decomposition to indicate path operations.</p>
</td></tr>
</table>
</td></tr></table>
@@ -856,7 +874,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -877,7 +895,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Returns an outline's &lsquo;control box&rsquo;. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline which contains Bézier outside arcs).</p>
+<p>Return an outline's &lsquo;control box&rsquo;. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline which contains Bézier outside arcs).</p>
<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the &lsquo;ftbbox&rsquo; component which is dedicated to this single task.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
@@ -916,7 +934,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Renders an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.</p>
+<p>Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -938,11 +956,12 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it!</p>
+<p>This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in &lsquo;abitmap&rsquo; should be set accordingly.</p>
<p>It will use the raster corresponding to the default glyph format.</p>
+<p>The value of the &lsquo;num_grays&rsquo; field in &lsquo;abitmap&rsquo; is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> directly.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -964,7 +983,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Renders an outline within a bitmap using the current scan-convert. This functions uses an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure as an argument, allowing advanced features like direct composition, translucency, etc.</p>
+<p>Render an outline within a bitmap using the current scan-convert. This function uses an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure as an argument, allowing advanced features like direct composition, translucency, etc.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -986,11 +1005,12 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You should know what you are doing and how <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> works to use this function.</p>
<p>The field &lsquo;params.source&rsquo; will be set to &lsquo;outline&rsquo; before the scan converter is called, which means that the value you give to it is actually ignored.</p>
+<p>The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> value of the &lsquo;flags&rsquo; field in the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure for more details.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1018,7 +1038,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
<p>A list of values used to describe an outline's contour orientation.</p>
-<p>The TrueType and Postscript specifications use different conventions to determine whether outline contours should be filled or unfilled.</p>
+<p>The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td>
<p></p>
@@ -1029,7 +1049,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</td></tr>
<tr valign=top><td colspan=0><b>FT_ORIENTATION_POSTSCRIPT</b></td></tr>
<tr valign=top><td></td><td>
-<p>According to the Postscript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.</p>
+<p>According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.</p>
</td></tr>
<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_RIGHT</b></td></tr>
<tr valign=top><td></td><td>
@@ -1037,7 +1057,7 @@ Defined in FT_OUTLINE_H (freetype/ftoutln.h).
</td></tr>
<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_LEFT</b></td></tr>
<tr valign=top><td></td><td>
-<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, but is used to remember that in Postscript, everything that is to the left of the drawing direction of a contour must be filled.</p>
+<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.</p>
</td></tr>
<tr valign=top><td><b>FT_ORIENTATION_NONE</b></td><td>
<p>The orientation cannot be determined. That is, different parts of the glyph have different orientation.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html b/src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html
index 3a45e4e..8edf34e 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-pfr_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
PFR Fonts
@@ -74,21 +78,21 @@ Defined in FT_PFR_H (freetype/ftpfr.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>aoutline_resolution</b></td><td>
-<p>Outline resolution. This is equivalent to &lsquo;face-&gt;units_per_EM&rsquo;. Optional (parameter can be NULL).</p>
+<p>Outline resolution. This is equivalent to &lsquo;face-&gt;units_per_EM&rsquo; for non-PFR fonts. Optional (parameter can be NULL).</p>
</td></tr>
<tr valign=top><td><b>ametrics_resolution</b></td><td>
<p>Metrics resolution. This is equivalent to &lsquo;outline_resolution&rsquo; for non-PFR fonts. Optional (parameter can be NULL).</p>
</td></tr>
<tr valign=top><td><b>ametrics_x_scale</b></td><td>
-<p>A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to &lsquo;face-&gt;size-&gt;x_scale&rsquo;, but for metrics only. Optional (parameter can be NULL)</p>
+<p>A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to &lsquo;face-&gt;size-&gt;x_scale&rsquo;, but for metrics only. Optional (parameter can be NULL).</p>
</td></tr>
<tr valign=top><td><b>ametrics_y_scale</b></td><td>
-<p>Same as &lsquo;ametrics_x_scale&rsquo; but for the vertical direction. optional (parameter can be NULL)</p>
+<p>Same as &lsquo;ametrics_x_scale&rsquo; but for the vertical direction. optional (parameter can be NULL).</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.</p>
@@ -139,7 +143,7 @@ Defined in FT_PFR_H (freetype/ftpfr.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function always return distances in original PFR metrics units. This is unlike <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a> with the <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> mode, which always returns distances converted to outline units.</p>
@@ -187,7 +191,7 @@ Defined in FT_PFR_H (freetype/ftpfr.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You can use the &lsquo;x_scale&rsquo; or &lsquo;y_scale&rsquo; results of <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to convert the advance to device sub-pixels (i.e., 1/64th of pixels).</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-quick_advance.html b/src/3rdparty/freetype/docs/reference/ft2-quick_advance.html
new file mode 100644
index 0000000..c832d43
--- /dev/null
+++ b/src/3rdparty/freetype/docs/reference/ft2-quick_advance.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>FreeType-2.3.9 API Reference</title>
+<style type="text/css">
+ body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
+ color: #000000;
+ background: #FFFFFF; }
+
+ p { text-align: justify; }
+ h1 { text-align: center; }
+ li { text-align: justify; }
+ td { padding: 0 0.5em 0 0.5em; }
+ td.left { padding: 0 0.5em 0 0.5em;
+ text-align: left; }
+
+ a:link { color: #0000EF; }
+ a:visited { color: #51188E; }
+ a:hover { color: #FF0000; }
+
+ span.keyword { font-family: monospace;
+ text-align: left;
+ white-space: pre;
+ color: darkblue; }
+
+ pre.colored { color: blue; }
+
+ ul.empty { list-style-type: none; }
+</style>
+</head>
+<body>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
+
+<center><h1>
+Quick retrieval of advance values
+</h1></center>
+<h2>Synopsis</h2>
+<table align=center cellspacing=5 cellpadding=0 border=0>
+<tr><td></td><td><a href="#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td></td><td><a href="#FT_Get_Advances">FT_Get_Advances</a></td></tr>
+<tr><td></td><td><a href="#FT_Get_Advance">FT_Get_Advance</a></td><td></td><td></td></tr>
+</table><br><br>
+
+<table align=center width="87%"><tr><td>
+<p>This section contains functions to quickly extract advance values without handling glyph outlines, if possible.</p>
+</td></tr></table><br>
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></h4>
+<table align=center width="87%"><tr><td>
+<p>A bit-flag to be OR-ed with the &lsquo;flags&rsquo; parameter of the <a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a> and <a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a> functions.</p>
+<p>If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.</p>
+<p>Typically, glyphs which are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.</p>
+<p>Normal and bytecode hinted modes, which require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.</p>
+</td></tr></table><br>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_Get_Advance">FT_Get_Advance</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_ADVANCES_H (freetype/ftadvanc.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
+ <b>FT_Get_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
+ <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex,
+ <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags,
+ <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvance );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Retrieve the advance value of a given glyph outline in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>. By default, the unhinted advance is returned in font units.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>face</b></td><td>
+<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p>
+</td></tr>
+<tr valign=top><td><b>gindex</b></td><td>
+<p>The glyph index.</p>
+</td></tr>
+<tr valign=top><td><b>load_flags</b></td><td>
+<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, used to determine what kind of advances you need.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>padvance</b></td><td>
+<p>The advance value, in either font units or 16.16 format.</p>
+<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>FreeType error code. 0 means success.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p>
+<p>A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+<table align=center width="75%"><tr><td>
+<h4><a name="FT_Get_Advances">FT_Get_Advances</a></h4>
+<table align=center width="87%"><tr><td>
+Defined in FT_ADVANCES_H (freetype/ftadvanc.h).
+</td></tr></table><br>
+<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
+
+ FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> )
+ <b>FT_Get_Advances</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face,
+ <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> start,
+ <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> count,
+ <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags,
+ <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvances );
+
+</pre></table><br>
+<table align=center width="87%"><tr><td>
+<p>Retrieve the advance values of several glyph outlines in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>. By default, the unhinted advances are returned in font units.</p>
+</td></tr></table><br>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>face</b></td><td>
+<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p>
+</td></tr>
+<tr valign=top><td><b>start</b></td><td>
+<p>The first glyph index.</p>
+</td></tr>
+<tr valign=top><td><b>count</b></td><td>
+<p>The number of advance values you want to retrieve.</p>
+</td></tr>
+<tr valign=top><td><b>load_flags</b></td><td>
+<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td>
+<p></p>
+<table cellpadding=3 border=0>
+<tr valign=top><td><b>padvance</b></td><td>
+<p>The advances, in either font units or 16.16 format. This array must contain at least &lsquo;count&rsquo; elements.</p>
+<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.</p>
+</td></tr>
+</table>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
+<p>FreeType error code. 0 means success.</p>
+</td></tr></table>
+<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
+<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p>
+<p>Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p>
+</td></tr></table>
+</td></tr></table>
+<hr width="75%">
+<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+
+</body>
+</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-raster.html b/src/3rdparty/freetype/docs/reference/ft2-raster.html
index 8eeaa7d..9840eb4 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-raster.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-raster.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Scanline Converter
@@ -51,14 +55,6 @@ Scanline Converter
<table align=center width="75%"><tr><td>
<h4><a name="FT_Raster">FT_Raster</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_IMAGE_H (freetype/ftimage.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RasterRec_* <b>FT_Raster</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.</p>
</td></tr></table><br>
</td></tr></table>
@@ -101,8 +97,8 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>This structure is used by the span drawing callback type named <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> which takes the y-coordinate of the span as a a parameter.</p>
-<p>The coverage value is always between 0 and 255.</p>
+<p>This structure is used by the span drawing callback type named <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> which takes the y&nbsp;coordinate of the span as a a parameter.</p>
+<p>The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -133,7 +129,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>y</b></td><td>
-<p>The scanline's y-coordinate.</p>
+<p>The scanline's y&nbsp;coordinate.</p>
</td></tr>
<tr valign=top><td><b>count</b></td><td>
<p>The number of spans to draw on this scanline.</p>
@@ -149,7 +145,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p>
<p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p>
-<p>Note that the &lsquo;count&rsquo; field cannot be greater than a fixed value defined by the &lsquo;FT_MAX_GRAY_SPANS&rsquo; configuration macro in &lsquo;ftoption.h&rsquo;. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same &lsquo;y&rsquo; parameter in order to draw all callbacks.</p>
+<p>Note that the &lsquo;count&rsquo; field cannot be greater than a fixed value defined by the &lsquo;FT_MAX_GRAY_SPANS&rsquo; configuration macro in &lsquo;ftoption.h&rsquo;. By default, this value is set to&nbsp;32, which means that if there are more than 32&nbsp;spans on a given scanline, the callback is called several times with the same &lsquo;y&rsquo; parameter in order to draw all callbacks.</p>
<p>Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have &lsquo;gray&rsquo; pixels on them.</p>
</td></tr></table>
</td></tr></table>
@@ -179,10 +175,10 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>y</b></td><td>
-<p>The pixel's y-coordinate.</p>
+<p>The pixel's y&nbsp;coordinate.</p>
</td></tr>
<tr valign=top><td><b>x</b></td><td>
-<p>The pixel's x-coordinate.</p>
+<p>The pixel's x&nbsp;coordinate.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
<p>User-supplied data that is passed to the callback.</p>
@@ -190,7 +186,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>1 if the pixel is &lsquo;set&rsquo;, 0 otherwise.</p>
+<p>1&nbsp;if the pixel is &lsquo;set&rsquo;, 0&nbsp;otherwise.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -219,10 +215,10 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>y</b></td><td>
-<p>The pixel's y-coordinate.</p>
+<p>The pixel's y&nbsp;coordinate.</p>
</td></tr>
<tr valign=top><td><b>x</b></td><td>
-<p>The pixel's x-coordinate.</p>
+<p>The pixel's x&nbsp;coordinate.</p>
</td></tr>
<tr valign=top><td><b>user</b></td><td>
<p>User-supplied data that is passed to the callback.</p>
@@ -230,7 +226,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>1 if the pixel is &lsquo;set&rsquo;, 0 otherwise.</p>
+<p>1&nbsp;if the pixel is &lsquo;set&rsquo;, 0&nbsp;otherwise.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -387,7 +383,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The &lsquo;memory&rsquo; parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.</p>
@@ -523,7 +519,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Invokes a given raster to scan-convert a given glyph image into a target bitmap.</p>
+<p>Invoke a given raster to scan-convert a given glyph image into a target bitmap.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -537,7 +533,7 @@ Defined in FT_IMAGE_H (freetype/ftimage.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Error code. 0 means success.</p>
+<p>Error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The exact format of the source image depends on the raster's glyph format defined in its <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a> structure. It can be an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> or anything else in order to support a large array of glyph formats.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html b/src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html
index bf64117..94cddd8 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-sfnt_names.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
SFNT Names
@@ -42,7 +46,7 @@ SFNT Names
</table><br><br>
<table align=center width="87%"><tr><td>
-<p>The TrueType and OpenType specification allow the inclusion of a special &lsquo;names table&rsquo; in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.</p>
+<p>The TrueType and OpenType specifications allow the inclusion of a special &lsquo;names table&rsquo; in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.</p>
<p>The definitions below are used to access them if available.</p>
<p>Note that this has nothing to do with glyph names!</p>
</td></tr></table><br>
@@ -115,7 +119,7 @@ Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves the number of name strings in the SFNT &lsquo;name&rsquo; table.</p>
+<p>Retrieve the number of name strings in the SFNT &lsquo;name&rsquo; table.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -148,7 +152,7 @@ Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieves a string of the SFNT &lsquo;name&rsquo; table for a given index.</p>
+<p>Retrieve a string of the SFNT &lsquo;name&rsquo; table for a given index.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -170,7 +174,7 @@ Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The &lsquo;string&rsquo; array returned in the &lsquo;aname&rsquo; structure is not null-terminated.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-sizes_management.html b/src/3rdparty/freetype/docs/reference/ft2-sizes_management.html
index 66f6365..324e584 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-sizes_management.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-sizes_management.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Size Management
@@ -79,7 +83,7 @@ Defined in FT_SIZES_H (freetype/ftsizes.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>You need to call <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> in order to select the new size for upcoming calls to <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, etc.</p>
@@ -113,7 +117,7 @@ Defined in FT_SIZES_H (freetype/ftsizes.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -133,7 +137,7 @@ Defined in FT_SIZES_H (freetype/ftsizes.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Even though it is possible to create several size objects for a given face (see <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> for details), functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> only use the last-created one to determine the &lsquo;current character pixel size&rsquo;.</p>
+<p>Even though it is possible to create several size objects for a given face (see <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> for details), functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> only use the one which has been activated last to determine the &lsquo;current character pixel size&rsquo;.</p>
<p>This function can be used to &lsquo;activate&rsquo; a previously created size object.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
@@ -145,7 +149,7 @@ Defined in FT_SIZES_H (freetype/ftsizes.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>If &lsquo;face&rsquo; is the size's parent face object, this function changes the value of &lsquo;face-&gt;size&rsquo; to the input size handle.</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-system_interface.html b/src/3rdparty/freetype/docs/reference/ft2-system_interface.html
index a726795..809e2a7 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-system_interface.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-system_interface.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
System Interface
@@ -50,14 +54,6 @@ System Interface
<table align=center width="75%"><tr><td>
<h4><a name="FT_Memory">FT_Memory</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_SYSTEM_H (freetype/ftsystem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MemoryRec_* <b>FT_Memory</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a given memory manager object, defined with an <a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -93,7 +89,7 @@ Defined in FT_SYSTEM_H (freetype/ftsystem.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>Address of new memory block. 0 in case of failure.</p>
+<p>Address of new memory block. 0&nbsp;in case of failure.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -168,7 +164,7 @@ Defined in FT_SYSTEM_H (freetype/ftsystem.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>New block address. 0 in case of memory shortage.</p>
+<p>New block address. 0&nbsp;in case of memory shortage.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>In case of error, the old block must still be available.</p>
@@ -196,7 +192,7 @@ Defined in FT_SYSTEM_H (freetype/ftsystem.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A structure used to describe a given memory manager to FreeType 2.</p>
+<p>A structure used to describe a given memory manager to FreeType&nbsp;2.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td>
<p></p>
@@ -224,14 +220,6 @@ Defined in FT_SYSTEM_H (freetype/ftsystem.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_Stream">FT_Stream</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_SYSTEM_H (freetype/ftsystem.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_* <b>FT_Stream</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an input stream.</p>
</td></tr></table><br>
</td></tr></table>
@@ -302,7 +290,7 @@ Defined in FT_SYSTEM_H (freetype/ftsystem.h).
<p>The number of bytes effectively read by the stream.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>This function might be called to perform a seek or skip operation with a &lsquo;count&rsquo; of 0.</p>
+<p>This function might be called to perform a seek or skip operation with a &lsquo;count&rsquo; of&nbsp;0.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
diff --git a/src/3rdparty/freetype/docs/reference/ft2-toc.html b/src/3rdparty/freetype/docs/reference/ft2-toc.html
index e3df83c..cb51bdb 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-toc.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-toc.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,10 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>Table of Contents</h1></center>
<br><table align=center width="75%"><tr><td><h2>General Remarks</h2><ul class="empty"><li>
@@ -54,11 +57,11 @@
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-base_interface.html">Base Interface</a></td><td>
-<p>The FreeType 2 base font interface.</p>
+<p>The FreeType&nbsp;2 base font interface.</p>
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-glyph_variants.html">Glyph Variants</a></td><td>
-<p>The FreeType 2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format 14.</p>
+<p>The FreeType&nbsp;2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format&nbsp;14.</p>
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-glyph_management.html">Glyph Management</a></td><td>
@@ -90,15 +93,15 @@
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-type1_tables.html">Type 1 Tables</a></td><td>
-<p>Type 1 (PostScript) specific font tables.</p>
+<p>Type&nbsp;1 (PostScript) specific font tables.</p>
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-sfnt_names.html">SFNT Names</a></td><td>
<p>Access the names embedded in TrueType and OpenType files.</p>
</td></tr>
<tr valign=top><td class="left">
-<a href="ft2-bdf_fonts.html">BDF Files</a></td><td>
-<p>BDF specific API.</p>
+<a href="ft2-bdf_fonts.html">BDF and PCF Files</a></td><td>
+<p>BDF and PCF specific API.</p>
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-cid_fonts.html">CID Fonts</a></td><td>
@@ -118,7 +121,7 @@
</td></tr>
<tr valign=top><td class="left">
<a href="ft2-gasp_table.html">Gasp Table</a></td><td>
-<p>Retrieving TrueType &lsquo;gasp&rsquo; table entries</p>
+<p>Retrieving TrueType &lsquo;gasp&rsquo; table entries.</p>
</td></tr>
</table>
</li></ul></td></tr></table>
@@ -126,7 +129,7 @@
<table cellpadding=5>
<tr valign=top><td class="left">
<a href="ft2-cache_subsystem.html">Cache Sub-System</a></td><td>
-<p>How to cache face, size, and glyph data with FreeType 2.</p>
+<p>How to cache face, size, and glyph data with FreeType&nbsp;2.</p>
</td></tr>
</table>
</li></ul></td></tr></table>
@@ -145,6 +148,10 @@
<p>Functions to create, transform, and render vectorial glyph images.</p>
</td></tr>
<tr valign=top><td class="left">
+<a href="ft2-quick_advance.html">Quick retrieval of advance values</a></td><td>
+<p>Retrieve horizontal and vertical advance values without processing glyph outlines, if possible.</p>
+</td></tr>
+<tr valign=top><td class="left">
<a href="ft2-bitmap_handling.html">Bitmap Handling</a></td><td>
<p>Handling FT_Bitmap objects.</p>
</td></tr>
@@ -199,5 +206,10 @@
</table>
</li></ul></td></tr></table>
<br><table align=center width="75%"><tr><td><h2><a href="ft2-index.html">Global Index</a></h2><ul class="empty"><li></li></ul></td></tr></table>
-<center><font size=-2>generated on Tue Jun 10 08:02:21 2008</font></center></body>
+<hr>
+<table><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+</tr></table>
+
+<center><font size=-2>generated on Thu Mar 12 10:57:36 2009</font></center></body>
</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html b/src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html
index 4f1292a..007e833 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-truetype_engine.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
The TrueType Engine
@@ -102,7 +106,7 @@ Defined in FT_MODULE_H (freetype/ftmodapi.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Return a <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> value to indicate which level of the TrueType virtual machine a given library instance supports.</p>
+<p>Return an <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> value to indicate which level of the TrueType virtual machine a given library instance supports.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html b/src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html
index 75c0293..6d83a1a 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-truetype_tables.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
TrueType Tables
@@ -432,7 +436,7 @@ Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h).
<p>Adobe custom encoding.</p>
</td></tr>
<tr valign=top><td><b>TT_ADOBE_ID_LATIN_1</b></td><td>
-<p>Adobe Latin 1 encoding.</p>
+<p>Adobe Latin&nbsp;1 encoding.</p>
</td></tr>
</table>
</td></tr></table>
@@ -566,10 +570,10 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
<p>The run coefficient of the cursor's slope.</p>
</td></tr>
<tr valign=top><td><b>Reserved</b></td><td>
-<p>8 reserved bytes.</p>
+<p>8&nbsp;reserved bytes.</p>
</td></tr>
<tr valign=top><td><b>metric_Data_Format</b></td><td>
-<p>Always 0.</p>
+<p>Always&nbsp;0.</p>
</td></tr>
<tr valign=top><td><b>number_Of_HMetrics</b></td><td>
<p>Number of HMetrics entries in the &lsquo;hmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
@@ -675,10 +679,10 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
<p>The cursor's offset for slanted fonts. This value is &lsquo;reserved&rsquo; in vmtx version 1.0.</p>
</td></tr>
<tr valign=top><td><b>Reserved</b></td><td>
-<p>8 reserved bytes.</p>
+<p>8&nbsp;reserved bytes.</p>
</td></tr>
<tr valign=top><td><b>metric_Data_Format</b></td><td>
-<p>Always 0.</p>
+<p>Always&nbsp;0.</p>
</td></tr>
<tr valign=top><td><b>number_Of_HMetrics</b></td><td>
<p>Number of VMetrics entries in the &lsquo;vmtx&rsquo; table -- this value can be smaller than the total number of glyphs in the font.</p>
@@ -797,7 +801,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A structure used to model a TrueType Postscript table. All fields comply to the TrueType specification. This structure does not reference the Postscript glyph names, which can be nevertheless accessed with the &lsquo;ttpost&rsquo; module.</p>
+<p>A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the &lsquo;ttpost&rsquo; module.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -976,7 +980,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Returns a pointer to a given SFNT table within a face.</p>
+<p>Return a pointer to a given SFNT table within a face.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -990,7 +994,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p>
+<p>A type-less pointer to the table. This will be&nbsp;0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The table is owned by the face object and disappears with it.</p>
@@ -1018,7 +1022,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Loads any font table into client memory.</p>
+<p>Load any font table into client memory.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -1027,7 +1031,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
<p>A handle to the source face.</p>
</td></tr>
<tr valign=top><td><b>tag</b></td><td>
-<p>The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p>
+<p>The four-byte tag of the table to load. Use the value&nbsp;0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p>
</td></tr>
<tr valign=top><td><b>offset</b></td><td>
<p>The starting offset in the table (or file if tag == 0).</p>
@@ -1047,16 +1051,16 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
<table cellpadding=3 border=0>
<tr valign=top><td><b>length</b></td><td>
<p>If the &lsquo;length&rsquo; parameter is NULL, then try to load the whole table. Return an error code if it fails.</p>
-<p>Else, if &lsquo;*length&rsquo; is 0, exit immediately while returning the table's (or file) full size in it.</p>
+<p>Else, if &lsquo;*length&rsquo; is&nbsp;0, exit immediately while returning the table's (or file) full size in it.</p>
<p>Else the number of bytes to read from the table or file, from the starting offset.</p>
</td></tr>
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>If you need to determine the table's length you should first call this function with &lsquo;*length&rsquo; set to 0, as in the following example:</p>
+<p>If you need to determine the table's length you should first call this function with &lsquo;*length&rsquo; set to&nbsp;0, as in the following example:</p>
<pre class="colored">
FT_ULong length = 0;
@@ -1092,7 +1096,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Returns information on an SFNT table.</p>
+<p>Return information on an SFNT table.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
@@ -1117,10 +1121,10 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>SFNT tables with length zero are treated as missing by Windows.</p>
+<p>SFNT tables with length zero are treated as missing.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1151,7 +1155,7 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The language ID of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, just return 0 as the default value.</p>
+<p>The language ID of &lsquo;charmap&rsquo;. If &lsquo;charmap&rsquo; doesn't belong to a TrueType/sfnt face, just return&nbsp;0 as the default value.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -1193,14 +1197,6 @@ Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
-#define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' )
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A constant used as the tag of an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p>
</td></tr></table><br>
</td></tr></table>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-type1_tables.html b/src/3rdparty/freetype/docs/reference/ft2-type1_tables.html
index 9cc7e53..8eaa3f9 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-type1_tables.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-type1_tables.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Type 1 Tables
@@ -71,7 +75,7 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A structure used to model a Type1/Type2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p>
+<p>A structure used to model a Type&nbsp;1 or Type&nbsp;2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -82,14 +86,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="PS_FontInfo">PS_FontInfo</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -101,14 +97,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="T1_FontInfo">T1_FontInfo</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
</td></tr></table><br>
</td></tr></table>
@@ -166,7 +154,7 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>A structure used to model a Type1/Type2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p>
+<p>A structure used to model a Type&nbsp;1 or Type&nbsp;2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p>
</td></tr></table><br>
</td></tr></table>
<hr width="75%">
@@ -177,14 +165,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="PS_Private">PS_Private</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -196,14 +176,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="T1_Private">T1_Private</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
</td></tr></table><br>
</td></tr></table>
@@ -294,14 +266,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="CID_FaceDict">CID_FaceDict</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -359,14 +323,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="CID_FaceInfo">CID_FaceInfo</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -378,14 +334,6 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
<table align=center width="75%"><tr><td>
<h4><a name="CID_Info">CID_Info</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p>
</td></tr></table><br>
</td></tr></table>
@@ -406,7 +354,7 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Return true if a given face provides reliable Postscript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p>
+<p>Return true if a given face provides reliable PostScript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p>
<p>When this function returns true, the caller is sure that the glyph names returned by <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> are reliable.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
@@ -439,13 +387,13 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given Postscript font.</p>
+<p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given PostScript font.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>face</b></td><td>
-<p>Postscript face handle.</p>
+<p>PostScript face handle.</p>
</td></tr>
</table>
</td></tr></table>
@@ -458,11 +406,11 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p>
-<p>If the font's format is not Postscript-based, this function will return the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
+<p>If the font's format is not PostScript-based, this function will return the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
@@ -483,13 +431,13 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</pre></table><br>
<table align=center width="87%"><tr><td>
-<p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given Postscript font.</p>
+<p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given PostScript font.</p>
</td></tr></table><br>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td>
<p></p>
<table cellpadding=3 border=0>
<tr valign=top><td><b>face</b></td><td>
-<p>Postscript face handle.</p>
+<p>PostScript face handle.</p>
</td></tr>
</table>
</td></tr></table>
@@ -502,11 +450,11 @@ Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
-<p>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p>
-<p>If the font's format is not Postscript-based, this function will return the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
+<p>The string pointers within the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure are owned by the face and don't need to be freed by the caller.</p>
+<p>If the font's format is not PostScript-based, this function returns the &lsquo;FT_Err_Invalid_Argument&rsquo; error code.</p>
</td></tr></table>
</td></tr></table>
<hr width="75%">
diff --git a/src/3rdparty/freetype/docs/reference/ft2-user_allocation.html b/src/3rdparty/freetype/docs/reference/ft2-user_allocation.html
index 0799ce1..d3b48b1 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-user_allocation.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-user_allocation.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,13 +31,17 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
User allocation
</h1></center>
<table align=center width="87%"><tr><td>
-<p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. With other words, it is recommended to use &lsquo;calloc&rsquo; (or variants of it) instead of &lsquo;malloc&rsquo; for allocation.</p>
+<p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use &lsquo;calloc&rsquo; (or variants of it) instead of &lsquo;malloc&rsquo; for allocation.</p>
</td></tr></table><br>
</body>
</html>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-version.html b/src/3rdparty/freetype/docs/reference/ft2-version.html
index 307f089..2c7d9c1 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-version.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-version.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
FreeType Version
@@ -54,7 +58,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a> 2
#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a> 3
-#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a> 6
+#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a> 9
</pre></table><br>
<table align=center width="87%"><tr><td>
@@ -156,7 +160,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.</p>
+<p>1&nbsp;if this is a TrueType font that uses one of the patented opcodes, 0&nbsp;otherwise.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
<p>2.3.5</p>
@@ -194,7 +198,7 @@ Defined in FT_FREETYPE_H (freetype/freetype.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>The old setting value. This will always be false if this is not a SFNT font, or if the unpatented hinter is not compiled in this instance of the library.</p>
+<p>The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td>
<p>2.3.5</p>
diff --git a/src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html b/src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html
index dfaad85..7c850d7 100644
--- a/src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html
+++ b/src/3rdparty/freetype/docs/reference/ft2-winfnt_fonts.html
@@ -3,7 +3,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>FreeType-2.3.6 API Reference</title>
+<title>FreeType-2.3.9 API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -31,7 +31,11 @@
</style>
</head>
<body>
-<center><h1>FreeType-2.3.6 API Reference</h1></center>
+
+<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table>
+<center><h1>FreeType-2.3.9 API Reference</h1></center>
<center><h1>
Window FNT Files
@@ -107,10 +111,10 @@ Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).
<p>A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).</p>
</td></tr>
<tr valign=top><td><b>FT_WinFNT_ID_CP949</b></td><td>
-<p>A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).</p>
+<p>A superset of Korean Hangul KS&nbsp;C 5601-1987 (with different ordering and minor deviations).</p>
</td></tr>
<tr valign=top><td><b>FT_WinFNT_ID_CP950</b></td><td>
-<p>A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).</p>
+<p>A superset of traditional Chinese Big&nbsp;5 ETen (with different ordering and minor deviations).</p>
</td></tr>
<tr valign=top><td><b>FT_WinFNT_ID_CP1250</b></td><td>
<p>A superset of East European ISO 8859-2 (with slightly different ordering).</p>
@@ -211,14 +215,6 @@ Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).
<table align=center width="75%"><tr><td>
<h4><a name="FT_WinFNT_Header">FT_WinFNT_Header</a></h4>
<table align=center width="87%"><tr><td>
-Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).
-</td></tr></table><br>
-<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>
-
- <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_* <b>FT_WinFNT_Header</b>;
-
-</pre></table><br>
-<table align=center width="87%"><tr><td>
<p>A handle to an <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure.</p>
</td></tr></table><br>
</td></tr></table>
@@ -259,7 +255,7 @@ Defined in FT_WINFONTS_H (freetype/ftwinfnt.h).
</table>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td>
-<p>FreeType error code. 0 means success.</p>
+<p>FreeType error code. 0&nbsp;means success.</p>
</td></tr></table>
<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td>
<p>This function only works with Windows FNT faces, returning an error otherwise.</p>
diff --git a/src/3rdparty/freetype/docs/release b/src/3rdparty/freetype/docs/release
index d68da88..e93f430 100644
--- a/src/3rdparty/freetype/docs/release
+++ b/src/3rdparty/freetype/docs/release
@@ -49,15 +49,16 @@ How to prepare a new release
except the `reference' subdirectory. Do *not* use option `-l' from
zip!
- Run the following script (with updated `$VERSION' and
- `$SAVANNAH_USER' variables) to sign and upload the bundles to both
- Savannah and SourceForge. The signing code has been taken from the
- `gnupload' script (part of the automake bundle).
+. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
+ and $SOURCEFORGE_USER variables) to sign and upload the bundles to
+ both Savannah and SourceForge. The signing code has been taken from
+ the `gnupload' script (part of the automake bundle).
#!/bin/sh
- VERSION=2.3.1
+ VERSION=2.3.7
SAVANNAH_USER=wl
+ SOURCEFORGE_USER=wlemb
#####################################################################
@@ -114,9 +115,8 @@ How to prepare a new release
scp $PACKAGE_LIST $SIGNATURE_LIST \
$SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
- for f in $PACKAGE_LIST $SIGNATURE_LIST; do
- ncftpput upload.sf.net /incoming $f
- done
+ rsync -avP -e ssh $PACKAGE_LIST $SIGNATURE_LIST \
+ $SOURCEFORGE_USER@frs.sf.net:uploads/
# EOF
diff --git a/src/3rdparty/freetype/include/freetype/config/ftconfig.h b/src/3rdparty/freetype/include/freetype/config/ftconfig.h
index 09b2cf9..3c0b8b1 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftconfig.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftconfig.h
@@ -4,7 +4,7 @@
/* */
/* ANSI-specific configuration file (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -43,6 +43,7 @@
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_STANDARD_LIBRARY_H
+
FT_BEGIN_HEADER
@@ -134,6 +135,14 @@ FT_BEGIN_HEADER
#else
#define FT_MACINTOSH 1
#endif
+
+#elif defined( __SC__ ) || defined( __MRC__ )
+ /* Classic MacOS compilers */
+#include "ConditionalMacros.h"
+#if TARGET_OS_MAC
+#define FT_MACINTOSH 1
+#endif
+
#endif
@@ -212,6 +221,7 @@ FT_BEGIN_HEADER
#error "no 32bit type found -- please check your configuration files"
#endif
+
/* look up an integer type that is at least 32 bits */
#if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
@@ -267,17 +277,12 @@ FT_BEGIN_HEADER
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
-#define FT_BEGIN_STMNT do {
-#define FT_END_STMNT } while ( 0 )
-#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
-
-
/*************************************************************************/
/* */
/* A 64-bit data type will create compilation problems if you compile */
- /* in strict ANSI mode. To avoid them, we disable their use if */
- /* __STDC__ is defined. You can however ignore this rule by */
- /* defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
+ /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
+ /* is defined. You can however ignore this rule by defining the */
+ /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
/* */
#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
@@ -292,6 +297,86 @@ FT_BEGIN_HEADER
#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
+#define FT_BEGIN_STMNT do {
+#define FT_END_STMNT } while ( 0 )
+#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
+
+
+#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER
+ /* Provide assembler fragments for performance-critical functions. */
+ /* These must be defined `static __inline__' with GCC. */
+
+#ifdef __GNUC__
+
+#if defined( __arm__ ) && !defined( __thumb__ )
+#define FT_MULFIX_ASSEMBLER FT_MulFix_arm
+
+ /* documentation is in freetype.h */
+
+ static __inline__ FT_Int32
+ FT_MulFix_arm( FT_Int32 a,
+ FT_Int32 b )
+ {
+ register FT_Int32 t, t2;
+
+
+ asm __volatile__ (
+ "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
+ "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
+ "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
+ "adds %1, %1, %0\n\t" /* %1 += %0 */
+ "adc %2, %2, #0\n\t" /* %2 += carry */
+ "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
+ "orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
+ : "=r"(a), "=&r"(t2), "=&r"(t)
+ : "r"(a), "r"(b) );
+ return a;
+ }
+
+#endif /* __arm__ && !__thumb__ */
+
+#if defined( i386 )
+#define FT_MULFIX_ASSEMBLER FT_MulFix_i386
+
+ /* documentation is in freetype.h */
+
+ static __inline__ FT_Int32
+ FT_MulFix_i386( FT_Int32 a,
+ FT_Int32 b )
+ {
+ register FT_Int32 result;
+
+
+ __asm__ __volatile__ (
+ "imul %%edx\n"
+ "movl %%edx, %%ecx\n"
+ "sarl $31, %%ecx\n"
+ "addl $0x8000, %%ecx\n"
+ "addl %%ecx, %%eax\n"
+ "adcl $0, %%edx\n"
+ "shrl $16, %%eax\n"
+ "shll $16, %%edx\n"
+ "addl %%edx, %%eax\n"
+ : "=a"(result), "=d"(b)
+ : "a"(a), "d"(b)
+ : "%ecx", "cc" );
+ return result;
+ }
+
+#endif /* i386 */
+
+#endif /* __GNUC__ */
+
+#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
+
+
+#ifdef FT_CONFIG_OPTION_INLINE_MULFIX
+#ifdef FT_MULFIX_ASSEMBLER
+#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
+#endif
+#endif
+
+
#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
#define FT_LOCAL( x ) static x
diff --git a/src/3rdparty/freetype/include/freetype/config/ftheader.h b/src/3rdparty/freetype/include/freetype/config/ftheader.h
index a130d38..b63945d 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftheader.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftheader.h
@@ -74,7 +74,7 @@
/* */
/* <Description> */
/* The following macros are defined to the name of specific */
- /* FreeType 2 header files. They can be used directly in #include */
+ /* FreeType~2 header files. They can be used directly in #include */
/* statements as in: */
/* */
/* { */
@@ -85,11 +85,11 @@
/* */
/* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */
- /* limited to the infamous 8.3 naming rule required by DOS (and */
+ /* limited to the infamous 8.3~naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */
/* The second reason is that it allows for more flexibility in the */
- /* way FreeType 2 is installed on a given system. */
+ /* way FreeType~2 is installed on a given system. */
/* */
/*************************************************************************/
@@ -103,7 +103,7 @@
*
* @description:
* A macro used in #include statements to name the file containing
- * FreeType 2 configuration data.
+ * FreeType~2 configuration data.
*
*/
#ifndef FT_CONFIG_CONFIG_H
@@ -118,7 +118,7 @@
*
* @description:
* A macro used in #include statements to name the file containing
- * FreeType 2 interface to the standard C library functions.
+ * FreeType~2 interface to the standard C library functions.
*
*/
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
@@ -133,7 +133,7 @@
*
* @description:
* A macro used in #include statements to name the file containing
- * FreeType 2 project-specific configuration options.
+ * FreeType~2 project-specific configuration options.
*
*/
#ifndef FT_CONFIG_OPTIONS_H
@@ -148,7 +148,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * list of FreeType 2 modules that are statically linked to new library
+ * list of FreeType~2 modules that are statically linked to new library
* instances in @FT_Init_FreeType.
*
*/
@@ -167,7 +167,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * base FreeType 2 API.
+ * base FreeType~2 API.
*
*/
#define FT_FREETYPE_H <freetype/freetype.h>
@@ -180,7 +180,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * list of FreeType 2 error codes (and messages).
+ * list of FreeType~2 error codes (and messages).
*
* It is included by @FT_FREETYPE_H.
*
@@ -195,7 +195,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * list of FreeType 2 module error offsets (and messages).
+ * list of FreeType~2 module error offsets (and messages).
*
*/
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
@@ -208,7 +208,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 interface to low-level operations (i.e., memory management
+ * FreeType~2 interface to low-level operations (i.e., memory management
* and stream i/o).
*
* It is included by @FT_FREETYPE_H.
@@ -240,7 +240,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * basic data types defined by FreeType 2.
+ * basic data types defined by FreeType~2.
*
* It is included by @FT_FREETYPE_H.
*
@@ -255,7 +255,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * list management API of FreeType 2.
+ * list management API of FreeType~2.
*
* (Most applications will never need to include this file.)
*
@@ -270,7 +270,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * scalable outline management API of FreeType 2.
+ * scalable outline management API of FreeType~2.
*
*/
#define FT_OUTLINE_H <freetype/ftoutln.h>
@@ -296,7 +296,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * module management API of FreeType 2.
+ * module management API of FreeType~2.
*
*/
#define FT_MODULE_H <freetype/ftmodapi.h>
@@ -309,7 +309,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * renderer module management API of FreeType 2.
+ * renderer module management API of FreeType~2.
*
*/
#define FT_RENDER_H <freetype/ftrender.h>
@@ -322,7 +322,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * types and API specific to the Type 1 format.
+ * types and API specific to the Type~1 format.
*
*/
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
@@ -483,7 +483,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * API of the optional FreeType 2 cache sub-system.
+ * API of the optional FreeType~2 cache sub-system.
*
*/
#define FT_CACHE_H <freetype/ftcache.h>
@@ -496,7 +496,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * `glyph image' API of the FreeType 2 cache sub-system.
+ * `glyph image' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for @FT_Glyph elements. You can also
* use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
@@ -516,7 +516,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * `small bitmaps' API of the FreeType 2 cache sub-system.
+ * `small bitmaps' API of the FreeType~2 cache sub-system.
*
* It is used to define a cache for small glyph bitmaps in a relatively
* memory-efficient way. You can also use the API defined in
@@ -537,7 +537,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * `charmap' API of the FreeType 2 cache sub-system.
+ * `charmap' API of the FreeType~2 cache sub-system.
*
* This macro is deprecated. Simply include @FT_CACHE_H to have all
* charmap-based cache declarations.
@@ -553,7 +553,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * Macintosh-specific FreeType 2 API. The latter is used to access
+ * Macintosh-specific FreeType~2 API. The latter is used to access
* fonts embedded in resource forks.
*
* This header file must be explicitly included by client applications
@@ -570,7 +570,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * optional multiple-masters management API of FreeType 2.
+ * optional multiple-masters management API of FreeType~2.
*
*/
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
@@ -583,7 +583,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * optional FreeType 2 API which accesses embedded `name' strings in
+ * optional FreeType~2 API which accesses embedded `name' strings in
* SFNT-based font formats (i.e., TrueType and OpenType).
*
*/
@@ -597,7 +597,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * optional FreeType 2 API which validates OpenType tables (BASE, GDEF,
+ * optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
* GPOS, GSUB, JSTF).
*
*/
@@ -611,7 +611,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat,
+ * optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
* mort, morx, bsln, just, kern, opbd, trak, prop).
*
*/
@@ -625,7 +625,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which accesses PFR-specific data.
+ * FreeType~2 API which accesses PFR-specific data.
*
*/
#define FT_PFR_H <freetype/ftpfr.h>
@@ -638,7 +638,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which provides functions to stroke outline paths.
+ * FreeType~2 API which provides functions to stroke outline paths.
*/
#define FT_STROKER_H <freetype/ftstroke.h>
@@ -650,7 +650,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which performs artificial obliquing and emboldening.
+ * FreeType~2 API which performs artificial obliquing and emboldening.
*/
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
@@ -662,7 +662,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which provides functions specific to the XFree86 and
+ * FreeType~2 API which provides functions specific to the XFree86 and
* X.Org X11 servers.
*/
#define FT_XFREE86_H <freetype/ftxf86.h>
@@ -675,7 +675,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which performs trigonometric computations (e.g.,
+ * FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents).
*/
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
@@ -688,7 +688,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which performs color filtering for subpixel rendering.
+ * FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
@@ -700,7 +700,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which performs color filtering for subpixel rendering.
+ * FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
@@ -712,7 +712,7 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which performs color filtering for subpixel rendering.
+ * FreeType~2 API which performs color filtering for subpixel rendering.
*/
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
@@ -724,11 +724,23 @@
*
* @description:
* A macro used in #include statements to name the file containing the
- * FreeType 2 API which returns entries from the TrueType GASP table.
+ * FreeType~2 API which returns entries from the TrueType GASP table.
*/
#define FT_GASP_H <freetype/ftgasp.h>
+ /*************************************************************************
+ *
+ * @macro:
+ * FT_ADVANCES_H
+ *
+ * @description:
+ * A macro used in #include statements to name the file containing the
+ * FreeType~2 API which returns individual and ranged glyph advances.
+ */
+#define FT_ADVANCES_H <freetype/ftadvanc.h>
+
+
/* */
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
diff --git a/src/3rdparty/freetype/include/freetype/config/ftmodule.h b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
index d92b0ee..76d271a 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftmodule.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftmodule.h
@@ -10,23 +10,23 @@
*
*/
-FT_USE_MODULE(autofit_module_class)
-FT_USE_MODULE(tt_driver_class)
-FT_USE_MODULE(t1_driver_class)
-FT_USE_MODULE(cff_driver_class)
-FT_USE_MODULE(t1cid_driver_class)
-FT_USE_MODULE(pfr_driver_class)
-FT_USE_MODULE(t42_driver_class)
-FT_USE_MODULE(winfnt_driver_class)
-FT_USE_MODULE(pcf_driver_class)
-FT_USE_MODULE(psaux_module_class)
-FT_USE_MODULE(psnames_module_class)
-FT_USE_MODULE(pshinter_module_class)
-FT_USE_MODULE(ft_raster1_renderer_class)
-FT_USE_MODULE(sfnt_module_class)
-FT_USE_MODULE(ft_smooth_renderer_class)
-FT_USE_MODULE(ft_smooth_lcd_renderer_class)
-FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
-FT_USE_MODULE(bdf_driver_class)
+FT_USE_MODULE( FT_Module_Class, autofit_module_class )
+FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
+FT_USE_MODULE( FT_Module_Class, psaux_module_class )
+FT_USE_MODULE( FT_Module_Class, psnames_module_class )
+FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
+FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class )
+FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class )
+FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
/* EOF */
diff --git a/src/3rdparty/freetype/include/freetype/config/ftoption.h b/src/3rdparty/freetype/include/freetype/config/ftoption.h
index a2d61f9..597a2bb 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftoption.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftoption.h
@@ -112,7 +112,28 @@ FT_BEGIN_HEADER
/* file `ftconfig.h' either statically or through the */
/* `configure' script on supported platforms. */
/* */
-#undef FT_CONFIG_OPTION_FORCE_INT64
+#undef FT_CONFIG_OPTION_FORCE_INT64
+
+
+ /*************************************************************************/
+ /* */
+ /* If this macro is defined, do not try to use an assembler version of */
+ /* performance-critical functions (e.g. FT_MulFix). You should only do */
+ /* that to verify that the assembler function works properly, or to */
+ /* execute benchmark tests of the various implementations. */
+/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */
+
+
+ /*************************************************************************/
+ /* */
+ /* If this macro is defined, try to use an inlined assembler version of */
+ /* the `FT_MulFix' function, which is a `hotspot' when loading and */
+ /* hinting glyphs, and which should be executed as fast as possible. */
+ /* */
+ /* Note that if your compiler or CPU is not supported, this will default */
+ /* to the standard and portable implementation found in `ftcalc.c'. */
+ /* */
+#define FT_CONFIG_OPTION_INLINE_MULFIX
/*************************************************************************/
@@ -163,7 +184,7 @@ FT_BEGIN_HEADER
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
-/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
+/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
/*************************************************************************/
@@ -204,27 +225,27 @@ FT_BEGIN_HEADER
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
-/* #define FT_EXPORT(x) extern x */
-/* #define FT_EXPORT_DEF(x) x */
+/* #define FT_EXPORT(x) extern x */
+/* #define FT_EXPORT_DEF(x) x */
/*************************************************************************/
/* */
/* Glyph Postscript Names handling */
/* */
- /* By default, FreeType 2 is compiled with the `PSNames' module. This */
+ /* By default, FreeType 2 is compiled with the `psnames' module. This */
/* module is in charge of converting a glyph name string into a */
/* Unicode value, or return a Macintosh standard glyph name for the */
/* use with the TrueType `post' table. */
/* */
- /* Undefine this macro if you do not want `PSNames' compiled in your */
+ /* Undefine this macro if you do not want `psnames' compiled in your */
/* build of FreeType. This has the following effects: */
/* */
/* - The TrueType driver will provide its own set of glyph names, */
/* if you build it to support postscript names in the TrueType */
/* `post' table. */
/* */
- /* - The Type 1 driver will not be able to synthetize a Unicode */
+ /* - The Type 1 driver will not be able to synthesize a Unicode */
/* charmap out of the glyphs found in the fonts. */
/* */
/* You would normally undefine this configuration macro when building */
@@ -240,12 +261,12 @@ FT_BEGIN_HEADER
/* By default, FreeType 2 is built with the `PSNames' module compiled */
/* in. Among other things, the module is used to convert a glyph name */
/* into a Unicode value. This is especially useful in order to */
- /* synthetize on the fly a Unicode charmap from the CFF/Type 1 driver */
+ /* synthesize on the fly a Unicode charmap from the CFF/Type 1 driver */
/* through a big table named the `Adobe Glyph List' (AGL). */
/* */
/* Undefine this macro if you do not want the Adobe Glyph List */
/* compiled in your `PSNames' module. The Type 1 driver will not be */
- /* able to synthetize a Unicode charmap out of the glyphs found in the */
+ /* able to synthesize a Unicode charmap out of the glyphs found in the */
/* fonts. */
/* */
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
@@ -467,9 +488,9 @@ FT_BEGIN_HEADER
/* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */
/* of the TrueType bytecode interpreter is used that doesn't implement */
/* any of the patented opcodes and algorithms. Note that the */
- /* the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you */
- /* define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; with other words, */
- /* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
+ /* TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* if you define */
+ /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, either define */
+ /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */
/* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */
/* */
/* This macro is only useful for a small number of font files (mostly */
@@ -653,11 +674,12 @@ FT_BEGIN_HEADER
/*
- * This variable is defined if either unpatented or native TrueType
+ * This macro is defined if either unpatented or native TrueType
* hinting is requested by the definitions above.
*/
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_USE_BYTECODE_INTERPRETER
+#undef TT_CONFIG_OPTION_UNPATENTED_HINTING
#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING
#define TT_USE_BYTECODE_INTERPRETER
#endif
diff --git a/src/3rdparty/freetype/include/freetype/config/ftstdlib.h b/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
index f923f3e..ce5557a 100644
--- a/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
+++ b/src/3rdparty/freetype/include/freetype/config/ftstdlib.h
@@ -5,7 +5,7 @@
/* ANSI-specific library and header configuration file (specification */
/* only). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -54,12 +54,6 @@
/* In these case, `ftconfig.h' will refuse to compile anyway with a */
/* message like `couldn't find 32-bit type' or something similar. */
/* */
- /* IMPORTANT NOTE: We do not define aliases for heap management and */
- /* i/o routines (i.e. malloc/free/fopen/fread/...) */
- /* since these functions should all be encapsulated */
- /* by platform-specific implementations of */
- /* `ftsystem.c'. */
- /* */
/**********************************************************************/
@@ -124,8 +118,6 @@
#define ft_qsort qsort
-#define ft_exit exit /* only used to exit from unhandled exceptions */
-
/**********************************************************************/
/* */
diff --git a/src/3rdparty/freetype/include/freetype/freetype.h b/src/3rdparty/freetype/include/freetype/freetype.h
index 32d5319..364388b 100644
--- a/src/3rdparty/freetype/include/freetype/freetype.h
+++ b/src/3rdparty/freetype/include/freetype/freetype.h
@@ -4,7 +4,7 @@
/* */
/* FreeType high-level API and common types (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -25,14 +25,6 @@
#endif
- /*************************************************************************/
- /* */
- /* The `raster' component duplicates some of the declarations in */
- /* freetype.h for stand-alone use if _FREETYPE_ isn't defined. */
- /* */
- /*************************************************************************/
-
-
#ifndef __FREETYPE_H__
#define __FREETYPE_H__
@@ -60,8 +52,8 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* FreeType assumes that structures allocated by the user and passed */
- /* as arguments are zeroed out except for the actual data. With */
- /* other words, it is recommended to use `calloc' (or variants of it) */
+ /* as arguments are zeroed out except for the actual data. In other */
+ /* words, it is recommended to use `calloc' (or variants of it) */
/* instead of `malloc' for allocation. */
/* */
/*************************************************************************/
@@ -86,10 +78,10 @@ FT_BEGIN_HEADER
/* Base Interface */
/* */
/* <Abstract> */
- /* The FreeType 2 base font interface. */
+ /* The FreeType~2 base font interface. */
/* */
/* <Description> */
- /* This section describes the public high-level API of FreeType 2. */
+ /* This section describes the public high-level API of FreeType~2. */
/* */
/* <Order> */
/* FT_Library */
@@ -191,6 +183,15 @@ FT_BEGIN_HEADER
/* FT_Set_Charmap */
/* FT_Get_Charmap_Index */
/* */
+ /* FT_FSTYPE_INSTALLABLE_EMBEDDING */
+ /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING */
+ /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING */
+ /* FT_FSTYPE_EDITABLE_EMBEDDING */
+ /* FT_FSTYPE_NO_SUBSETTING */
+ /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY */
+ /* */
+ /* FT_Get_FSType_Flags */
+ /* */
/*************************************************************************/
@@ -386,8 +387,8 @@ FT_BEGIN_HEADER
/* Use @FT_Done_Face to destroy it (along with its slot and sizes). */
/* */
/* <Also> */
- /* The @FT_FaceRec details the publicly accessible fields of a given */
- /* face object. */
+ /* See @FT_FaceRec for the publicly accessible fields of a given face */
+ /* object. */
/* */
typedef struct FT_FaceRec_* FT_Face;
@@ -416,8 +417,8 @@ FT_BEGIN_HEADER
/* activated at any given time per face. */
/* */
/* <Also> */
- /* The @FT_SizeRec structure details the publicly accessible fields */
- /* of a given size object. */
+ /* See @FT_SizeRec for the publicly accessible fields of a given size */
+ /* object. */
/* */
typedef struct FT_SizeRec_* FT_Size;
@@ -429,7 +430,7 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* A handle to a given `glyph slot'. A slot is a container where it */
- /* is possible to load any one of the glyphs contained in its parent */
+ /* is possible to load any of the glyphs contained in its parent */
/* face. */
/* */
/* In other words, each time you call @FT_Load_Glyph or */
@@ -438,7 +439,7 @@ FT_BEGIN_HEADER
/* other control information. */
/* */
/* <Also> */
- /* @FT_GlyphSlotRec details the publicly accessible glyph fields. */
+ /* See @FT_GlyphSlotRec for the publicly accessible glyph fields. */
/* */
typedef struct FT_GlyphSlotRec_* FT_GlyphSlot;
@@ -469,8 +470,8 @@ FT_BEGIN_HEADER
/* the list and automatically activates it. */
/* */
/* <Also> */
- /* The @FT_CharMapRec details the publicly accessible fields of a */
- /* given character map. */
+ /* See @FT_CharMapRec for the publicly accessible fields of a given */
+ /* character map. */
/* */
typedef struct FT_CharMapRec_* FT_CharMap;
@@ -485,7 +486,7 @@ FT_BEGIN_HEADER
/* used to define `encoding' identifiers (see @FT_Encoding). */
/* */
/* <Note> */
- /* Since many 16bit compilers don't like 32bit enumerations, you */
+ /* Since many 16-bit compilers don't like 32-bit enumerations, you */
/* should redefine this macro in case of problems to something like */
/* this: */
/* */
@@ -526,123 +527,123 @@ FT_BEGIN_HEADER
/* Other encodings might be defined in the future. */
/* */
/* <Values> */
- /* FT_ENCODING_NONE :: */
- /* The encoding value 0 is reserved. */
+ /* FT_ENCODING_NONE :: */
+ /* The encoding value~0 is reserved. */
/* */
- /* FT_ENCODING_UNICODE :: */
- /* Corresponds to the Unicode character set. This value covers */
- /* all versions of the Unicode repertoire, including ASCII and */
- /* Latin-1. Most fonts include a Unicode charmap, but not all */
- /* of them. */
+ /* FT_ENCODING_UNICODE :: */
+ /* Corresponds to the Unicode character set. This value covers */
+ /* all versions of the Unicode repertoire, including ASCII and */
+ /* Latin-1. Most fonts include a Unicode charmap, but not all */
+ /* of them. */
/* */
- /* FT_ENCODING_MS_SYMBOL :: */
- /* Corresponds to the Microsoft Symbol encoding, used to encode */
- /* mathematical symbols in the 32..255 character code range. For */
- /* more information, see `http://www.ceviz.net/symbol.htm'. */
+ /* FT_ENCODING_MS_SYMBOL :: */
+ /* Corresponds to the Microsoft Symbol encoding, used to encode */
+ /* mathematical symbols in the 32..255 character code range. For */
+ /* more information, see `http://www.ceviz.net/symbol.htm'. */
/* */
- /* FT_ENCODING_SJIS :: */
- /* Corresponds to Japanese SJIS encoding. More info at */
- /* at `http://langsupport.japanreference.com/encoding.shtml'. */
- /* See note on multi-byte encodings below. */
+ /* FT_ENCODING_SJIS :: */
+ /* Corresponds to Japanese SJIS encoding. More info at */
+ /* at `http://langsupport.japanreference.com/encoding.shtml'. */
+ /* See note on multi-byte encodings below. */
/* */
- /* FT_ENCODING_GB2312 :: */
- /* Corresponds to an encoding system for Simplified Chinese as used */
- /* used in mainland China. */
+ /* FT_ENCODING_GB2312 :: */
+ /* Corresponds to an encoding system for Simplified Chinese as used */
+ /* used in mainland China. */
/* */
- /* FT_ENCODING_BIG5 :: */
- /* Corresponds to an encoding system for Traditional Chinese as used */
- /* in Taiwan and Hong Kong. */
+ /* FT_ENCODING_BIG5 :: */
+ /* Corresponds to an encoding system for Traditional Chinese as */
+ /* used in Taiwan and Hong Kong. */
/* */
- /* FT_ENCODING_WANSUNG :: */
- /* Corresponds to the Korean encoding system known as Wansung. */
- /* For more information see */
- /* `http://www.microsoft.com/typography/unicode/949.txt'. */
+ /* FT_ENCODING_WANSUNG :: */
+ /* Corresponds to the Korean encoding system known as Wansung. */
+ /* For more information see */
+ /* `http://www.microsoft.com/typography/unicode/949.txt'. */
/* */
- /* FT_ENCODING_JOHAB :: */
- /* The Korean standard character set (KS C-5601-1992), which */
- /* corresponds to MS Windows code page 1361. This character set */
- /* includes all possible Hangeul character combinations. */
+ /* FT_ENCODING_JOHAB :: */
+ /* The Korean standard character set (KS~C 5601-1992), which */
+ /* corresponds to MS Windows code page 1361. This character set */
+ /* includes all possible Hangeul character combinations. */
/* */
- /* FT_ENCODING_ADOBE_LATIN_1 :: */
- /* Corresponds to a Latin-1 encoding as defined in a Type 1 */
- /* Postscript font. It is limited to 256 character codes. */
+ /* FT_ENCODING_ADOBE_LATIN_1 :: */
+ /* Corresponds to a Latin-1 encoding as defined in a Type~1 */
+ /* PostScript font. It is limited to 256 character codes. */
/* */
- /* FT_ENCODING_ADOBE_STANDARD :: */
- /* Corresponds to the Adobe Standard encoding, as found in Type 1, */
- /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
- /* codes. */
+ /* FT_ENCODING_ADOBE_STANDARD :: */
+ /* Corresponds to the Adobe Standard encoding, as found in Type~1, */
+ /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
+ /* codes. */
/* */
- /* FT_ENCODING_ADOBE_EXPERT :: */
- /* Corresponds to the Adobe Expert encoding, as found in Type 1, */
- /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
- /* codes. */
+ /* FT_ENCODING_ADOBE_EXPERT :: */
+ /* Corresponds to the Adobe Expert encoding, as found in Type~1, */
+ /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
+ /* codes. */
/* */
- /* FT_ENCODING_ADOBE_CUSTOM :: */
- /* Corresponds to a custom encoding, as found in Type 1, CFF, and */
- /* OpenType/CFF fonts. It is limited to 256 character codes. */
+ /* FT_ENCODING_ADOBE_CUSTOM :: */
+ /* Corresponds to a custom encoding, as found in Type~1, CFF, and */
+ /* OpenType/CFF fonts. It is limited to 256 character codes. */
/* */
- /* FT_ENCODING_APPLE_ROMAN :: */
- /* Corresponds to the 8-bit Apple roman encoding. Many TrueType and */
- /* OpenType fonts contain a charmap for this encoding, since older */
- /* versions of Mac OS are able to use it. */
+ /* FT_ENCODING_APPLE_ROMAN :: */
+ /* Corresponds to the 8-bit Apple roman encoding. Many TrueType */
+ /* and OpenType fonts contain a charmap for this encoding, since */
+ /* older versions of Mac OS are able to use it. */
/* */
- /* FT_ENCODING_OLD_LATIN_2 :: */
- /* This value is deprecated and was never used nor reported by */
- /* FreeType. Don't use or test for it. */
+ /* FT_ENCODING_OLD_LATIN_2 :: */
+ /* This value is deprecated and was never used nor reported by */
+ /* FreeType. Don't use or test for it. */
/* */
- /* FT_ENCODING_MS_SJIS :: */
- /* Same as FT_ENCODING_SJIS. Deprecated. */
+ /* FT_ENCODING_MS_SJIS :: */
+ /* Same as FT_ENCODING_SJIS. Deprecated. */
/* */
- /* FT_ENCODING_MS_GB2312 :: */
- /* Same as FT_ENCODING_GB2312. Deprecated. */
+ /* FT_ENCODING_MS_GB2312 :: */
+ /* Same as FT_ENCODING_GB2312. Deprecated. */
/* */
- /* FT_ENCODING_MS_BIG5 :: */
- /* Same as FT_ENCODING_BIG5. Deprecated. */
+ /* FT_ENCODING_MS_BIG5 :: */
+ /* Same as FT_ENCODING_BIG5. Deprecated. */
/* */
- /* FT_ENCODING_MS_WANSUNG :: */
- /* Same as FT_ENCODING_WANSUNG. Deprecated. */
+ /* FT_ENCODING_MS_WANSUNG :: */
+ /* Same as FT_ENCODING_WANSUNG. Deprecated. */
/* */
- /* FT_ENCODING_MS_JOHAB :: */
- /* Same as FT_ENCODING_JOHAB. Deprecated. */
+ /* FT_ENCODING_MS_JOHAB :: */
+ /* Same as FT_ENCODING_JOHAB. Deprecated. */
/* */
/* <Note> */
- /* By default, FreeType automatically synthetizes a Unicode charmap */
- /* for Postscript fonts, using their glyph names dictionaries. */
- /* However, it also reports the encodings defined explicitly in the */
- /* font file, for the cases when they are needed, with the Adobe */
- /* values as well. */
- /* */
- /* FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap */
- /* is neither Unicode nor ISO-8859-1 (otherwise it is set to */
- /* FT_ENCODING_UNICODE). Use @FT_Get_BDF_Charset_ID to find out which */
- /* encoding is really present. If, for example, the `cs_registry' */
- /* field is `KOI8' and the `cs_encoding' field is `R', the font is */
- /* encoded in KOI8-R. */
- /* */
- /* FT_ENCODING_NONE is always set (with a single exception) by the */
- /* winfonts driver. Use @FT_Get_WinFNT_Header and examine the */
- /* `charset' field of the @FT_WinFNT_HeaderRec structure to find out */
- /* which encoding is really present. For example, */
- /* @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for */
- /* Russian). */
- /* */
- /* FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */
- /* and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to */
- /* FT_ENCODING_APPLE_ROMAN). */
- /* */
- /* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function c */
- /* @FT_Get_CMap_Language_ID to query the Mac language ID which may be */
- /* needed to be able to distinguish Apple encoding variants. See */
- /* */
- /* http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT */
- /* */
- /* to get an idea how to do that. Basically, if the language ID is 0, */
- /* don't use it, otherwise subtract 1 from the language ID. Then */
- /* examine `encoding_id'. If, for example, `encoding_id' is */
- /* @TT_MAC_ID_ROMAN and the language ID (minus 1) is */
- /* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */
- /* @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi */
- /* variant the Arabic encoding. */
+ /* By default, FreeType automatically synthesizes a Unicode charmap */
+ /* for PostScript fonts, using their glyph names dictionaries. */
+ /* However, it also reports the encodings defined explicitly in the */
+ /* font file, for the cases when they are needed, with the Adobe */
+ /* values as well. */
+ /* */
+ /* FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap */
+ /* is neither Unicode nor ISO-8859-1 (otherwise it is set to */
+ /* FT_ENCODING_UNICODE). Use @FT_Get_BDF_Charset_ID to find out */
+ /* which encoding is really present. If, for example, the */
+ /* `cs_registry' field is `KOI8' and the `cs_encoding' field is `R', */
+ /* the font is encoded in KOI8-R. */
+ /* */
+ /* FT_ENCODING_NONE is always set (with a single exception) by the */
+ /* winfonts driver. Use @FT_Get_WinFNT_Header and examine the */
+ /* `charset' field of the @FT_WinFNT_HeaderRec structure to find out */
+ /* which encoding is really present. For example, */
+ /* @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for */
+ /* Russian). */
+ /* */
+ /* FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */
+ /* and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to */
+ /* FT_ENCODING_APPLE_ROMAN). */
+ /* */
+ /* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function */
+ /* @FT_Get_CMap_Language_ID to query the Mac language ID which may */
+ /* be needed to be able to distinguish Apple encoding variants. See */
+ /* */
+ /* http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT */
+ /* */
+ /* to get an idea how to do that. Basically, if the language ID */
+ /* is~0, don't use it, otherwise subtract 1 from the language ID. */
+ /* Then examine `encoding_id'. If, for example, `encoding_id' is */
+ /* @TT_MAC_ID_ROMAN and the language ID (minus~1) is */
+ /* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */
+ /* @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi */
+ /* variant the Arabic encoding. */
/* */
typedef enum FT_Encoding_
{
@@ -753,7 +754,7 @@ FT_BEGIN_HEADER
/* An opaque handle to an `FT_Face_InternalRec' structure, used to */
/* model private data of a given @FT_Face object. */
/* */
- /* This structure might change between releases of FreeType 2 and is */
+ /* This structure might change between releases of FreeType~2 and is */
/* not generally available to client applications. */
/* */
typedef struct FT_Face_InternalRec_* FT_Face_Internal;
@@ -774,7 +775,7 @@ FT_BEGIN_HEADER
/* a font file. */
/* */
/* face_index :: The index of the face in the font file. It */
- /* is set to 0 if there is only one face in */
+ /* is set to~0 if there is only one face in */
/* the font file. */
/* */
/* face_flags :: A set of bit flags that give important */
@@ -790,6 +791,9 @@ FT_BEGIN_HEADER
/* `num_fixed_sizes'), it is set to the number */
/* of outline glyphs. */
/* */
+ /* For CID-keyed fonts, this value gives the */
+ /* highest CID used in the font. */
+ /* */
/* family_name :: The face's family name. This is an ASCII */
/* string, usually in English, which describes */
/* the typeface's family (like `Times New */
@@ -838,9 +842,13 @@ FT_BEGIN_HEADER
/* descender'. Only relevant for scalable */
/* formats. */
/* */
+ /* Note that the bounding box might be off by */
+ /* (at least) one pixel for hinted fonts. See */
+ /* @FT_Size_Metrics for further discussion. */
+ /* */
/* units_per_EM :: The number of font units per EM square for */
/* this face. This is typically 2048 for */
- /* TrueType fonts, and 1000 for Type 1 fonts. */
+ /* TrueType fonts, and 1000 for Type~1 fonts. */
/* Only relevant for scalable formats. */
/* */
/* ascender :: The typographic ascender of the face, */
@@ -876,7 +884,7 @@ FT_BEGIN_HEADER
/* scalable formats. */
/* */
/* underline_position :: The position, in font units, of the */
- /* underline line for this face. It's the */
+ /* underline line for this face. It is the */
/* center of the underlining stem. Only */
/* relevant for scalable formats. */
/* */
@@ -891,8 +899,8 @@ FT_BEGIN_HEADER
/* charmap :: The current active charmap for this face. */
/* */
/* <Note> */
- /* Fields may be changed after a call to @FT_Attach_File or */
- /* @FT_Attach_Stream. */
+ /* Fields may be changed after a call to @FT_Attach_File or */
+ /* @FT_Attach_Stream. */
/* */
typedef struct FT_FaceRec_
{
@@ -1030,6 +1038,27 @@ FT_BEGIN_HEADER
/* exist make FT_Load_Glyph return successfully; in all other cases */
/* you get an `FT_Err_Invalid_Argument' error. */
/* */
+ /* Note that CID-keyed fonts which are in an SFNT wrapper don't */
+ /* have this flag set since the glyphs are accessed in the normal */
+ /* way (using contiguous indices); the `CID-ness' isn't visible to */
+ /* the application. */
+ /* */
+ /* FT_FACE_FLAG_TRICKY :: */
+ /* Set if the font is `tricky', this is, it always needs the */
+ /* font format's native hinting engine to get a reasonable result. */
+ /* A typical example is the Chinese font `mingli.ttf' which uses */
+ /* TrueType bytecode instructions to move and scale all of its */
+ /* subglyphs. */
+ /* */
+ /* It is not possible to autohint such fonts using */
+ /* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */
+ /* @FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING */
+ /* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */
+ /* probably never want this except for demonstration purposes. */
+ /* */
+ /* Currently, there are six TrueType fonts in the list of tricky */
+ /* fonts; they are hard-coded in file `ttobjs.c'. */
+ /* */
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
@@ -1043,8 +1072,7 @@ FT_BEGIN_HEADER
#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
#define FT_FACE_FLAG_HINTER ( 1L << 11 )
#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 )
-
- /* */
+#define FT_FACE_FLAG_TRICKY ( 1L << 13 )
/*************************************************************************
@@ -1099,7 +1127,7 @@ FT_BEGIN_HEADER
*
* @description:
* A macro that returns true whenever a face object contains a scalable
- * font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF,
+ * font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF,
* and PFR font formats.
*
*/
@@ -1155,8 +1183,6 @@ FT_BEGIN_HEADER
#define FT_HAS_FIXED_SIZES( face ) \
( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
- /* */
-
/*************************************************************************
*
@@ -1217,9 +1243,23 @@ FT_BEGIN_HEADER
( face->face_flags & FT_FACE_FLAG_CID_KEYED )
+ /*************************************************************************
+ *
+ * @macro:
+ * FT_IS_TRICKY( face )
+ *
+ * @description:
+ * A macro that returns true whenever a face represents a `tricky' font.
+ * See the discussion of @FT_FACE_FLAG_TRICKY for more details.
+ *
+ */
+#define FT_IS_TRICKY( face ) \
+ ( face->face_flags & FT_FACE_FLAG_TRICKY )
+
+
/*************************************************************************/
/* */
- /* <Constant> */
+ /* <Const> */
/* FT_STYLE_FLAG_XXX */
/* */
/* <Description> */
@@ -1437,7 +1477,7 @@ FT_BEGIN_HEADER
/* Only relevant for outline glyphs. */
/* */
/* advance :: This is the transformed advance width for the */
- /* glyph. */
+ /* glyph (in 26.6 fractional pixel format). */
/* */
/* format :: This field indicates the format of the image */
/* contained in the glyph slot. Typically */
@@ -1461,7 +1501,7 @@ FT_BEGIN_HEADER
/* bitmap_top :: This is the bitmap's top bearing expressed in */
/* integer pixels. Remember that this is the */
/* distance from the baseline to the top-most */
- /* glyph scanline, upwards y-coordinates being */
+ /* glyph scanline, upwards y~coordinates being */
/* *positive*. */
/* */
/* outline :: The outline descriptor for the current glyph */
@@ -1484,7 +1524,7 @@ FT_BEGIN_HEADER
/* */
/* control_data :: Certain font drivers can also return the */
/* control data for a given glyph image (e.g. */
- /* TrueType bytecode, Type 1 charstrings, etc.). */
+ /* TrueType bytecode, Type~1 charstrings, etc.). */
/* This field is a pointer to such data. */
/* */
/* control_len :: This is the length in bytes of the control */
@@ -1506,15 +1546,15 @@ FT_BEGIN_HEADER
/* <Note> */
/* If @FT_Load_Glyph is called with default flags (see */
/* @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in */
- /* its native format (e.g., an outline glyph for TrueType and Type 1 */
+ /* its native format (e.g., an outline glyph for TrueType and Type~1 */
/* formats). */
/* */
/* This image can later be converted into a bitmap by calling */
/* @FT_Render_Glyph. This function finds the current renderer for */
- /* the native image's format then invokes it. */
+ /* the native image's format, then invokes it. */
/* */
/* The renderer is in charge of transforming the native image through */
- /* the slot's face transformation fields, then convert it into a */
+ /* the slot's face transformation fields, then converting it into a */
/* bitmap that is returned in `slot->bitmap'. */
/* */
/* Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */
@@ -1609,7 +1649,7 @@ FT_BEGIN_HEADER
/* alibrary :: A handle to a new library object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Init_FreeType( FT_Library *alibrary );
@@ -1628,7 +1668,7 @@ FT_BEGIN_HEADER
/* library :: A handle to the target library object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Done_FreeType( FT_Library library );
@@ -1644,26 +1684,26 @@ FT_BEGIN_HEADER
/* @FT_Open_Args structure. */
/* */
/* <Values> */
- /* FT_OPEN_MEMORY :: This is a memory-based stream. */
+ /* FT_OPEN_MEMORY :: This is a memory-based stream. */
/* */
- /* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */
+ /* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */
/* */
- /* FT_OPEN_PATHNAME :: Create a new input stream from a C */
- /* path name. */
+ /* FT_OPEN_PATHNAME :: Create a new input stream from a C~path */
+ /* name. */
/* */
- /* FT_OPEN_DRIVER :: Use the `driver' field. */
+ /* FT_OPEN_DRIVER :: Use the `driver' field. */
/* */
- /* FT_OPEN_PARAMS :: Use the `num_params' and `params' fields. */
+ /* FT_OPEN_PARAMS :: Use the `num_params' and `params' fields. */
/* */
- /* ft_open_memory :: Deprecated; use @FT_OPEN_MEMORY instead. */
+ /* ft_open_memory :: Deprecated; use @FT_OPEN_MEMORY instead. */
/* */
- /* ft_open_stream :: Deprecated; use @FT_OPEN_STREAM instead. */
+ /* ft_open_stream :: Deprecated; use @FT_OPEN_STREAM instead. */
/* */
- /* ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead. */
+ /* ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead. */
/* */
- /* ft_open_driver :: Deprecated; use @FT_OPEN_DRIVER instead. */
+ /* ft_open_driver :: Deprecated; use @FT_OPEN_DRIVER instead. */
/* */
- /* ft_open_params :: Deprecated; use @FT_OPEN_PARAMS instead. */
+ /* ft_open_params :: Deprecated; use @FT_OPEN_PARAMS instead. */
/* */
/* <Note> */
/* The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' */
@@ -1688,8 +1728,8 @@ FT_BEGIN_HEADER
/* FT_Parameter */
/* */
/* <Description> */
- /* A simple structure used to pass more or less generic parameters */
- /* to @FT_Open_Face. */
+ /* A simple structure used to pass more or less generic parameters to */
+ /* @FT_Open_Face. */
/* */
/* <Fields> */
/* tag :: A four-byte identification tag. */
@@ -1731,7 +1771,7 @@ FT_BEGIN_HEADER
/* */
/* driver :: This field is exclusively used by @FT_Open_Face; */
/* it simply specifies the font driver to use to open */
- /* the face. If set to 0, FreeType tries to load the */
+ /* the face. If set to~0, FreeType tries to load the */
/* face with each one of the drivers in its list. */
/* */
/* num_params :: The number of extra parameters. */
@@ -1762,7 +1802,7 @@ FT_BEGIN_HEADER
/* `num_params' and `params' is used. They are ignored otherwise. */
/* */
/* Ideally, both the `pathname' and `params' fields should be tagged */
- /* as `const'; this is missing for API backwards compatibility. With */
+ /* as `const'; this is missing for API backwards compatibility. In */
/* other words, applications should treat them as read-only. */
/* */
typedef struct FT_Open_Args_
@@ -1794,7 +1834,7 @@ FT_BEGIN_HEADER
/* pathname :: A path to the font file. */
/* */
/* face_index :: The index of the face within the font. The first */
- /* face has index 0. */
+ /* face has index~0. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
@@ -1802,7 +1842,7 @@ FT_BEGIN_HEADER
/* See @FT_Open_Face for more details. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_New_Face( FT_Library library,
@@ -1829,7 +1869,7 @@ FT_BEGIN_HEADER
/* file_size :: The size of the memory chunk used by the font data. */
/* */
/* face_index :: The index of the face within the font. The first */
- /* face has index 0. */
+ /* face has index~0. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
@@ -1837,7 +1877,7 @@ FT_BEGIN_HEADER
/* See @FT_Open_Face for more details. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* You must not deallocate the memory before calling @FT_Done_Face. */
@@ -1867,7 +1907,7 @@ FT_BEGIN_HEADER
/* be filled by the caller. */
/* */
/* face_index :: The index of the face within the font. The first */
- /* face has index 0. */
+ /* face has index~0. */
/* */
/* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */
@@ -1875,7 +1915,7 @@ FT_BEGIN_HEADER
/* See note below. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* Unlike FreeType 1.x, this function automatically creates a glyph */
@@ -1884,7 +1924,7 @@ FT_BEGIN_HEADER
/* */
/* FT_Open_Face can be used to quickly check whether the font */
/* format of a given font resource is supported by FreeType. If the */
- /* `face_index' field is negative, the function's return value is 0 */
+ /* `face_index' field is negative, the function's return value is~0 */
/* if the font format is recognized, or non-zero otherwise; */
/* the function returns a more or less empty face handle in `*aface' */
/* (if `aface' isn't NULL). The only useful field in this special */
@@ -1917,7 +1957,7 @@ FT_BEGIN_HEADER
/* filepathname :: The pathname. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Attach_File( FT_Face face,
@@ -1932,7 +1972,7 @@ FT_BEGIN_HEADER
/* <Description> */
/* `Attach' data to a face object. Normally, this is used to read */
/* additional information for the face object. For example, you can */
- /* attach an AFM file that comes with a Type 1 font to get the */
+ /* attach an AFM file that comes with a Type~1 font to get the */
/* kerning values and other metrics. */
/* */
/* <InOut> */
@@ -1943,7 +1983,7 @@ FT_BEGIN_HEADER
/* the caller. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The meaning of the `attach' (i.e., what really happens when the */
@@ -1972,7 +2012,7 @@ FT_BEGIN_HEADER
/* face :: A handle to a target face object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Done_Face( FT_Face face );
@@ -1994,7 +2034,7 @@ FT_BEGIN_HEADER
/* `available_sizes' field of @FT_FaceRec structure. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Select_Size( FT_Face face,
@@ -2080,8 +2120,8 @@ FT_BEGIN_HEADER
/* value. */
/* */
/* <Note> */
- /* If `width' is zero, then the horizontal scaling value is set */
- /* equal to the vertical scaling value, and vice versa. */
+ /* If `width' is zero, then the horizontal scaling value is set equal */
+ /* to the vertical scaling value, and vice versa. */
/* */
typedef struct FT_Size_RequestRec_
{
@@ -2120,7 +2160,7 @@ FT_BEGIN_HEADER
/* req :: A pointer to a @FT_Size_RequestRec. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* Although drivers may select the bitmap strike matching the */
@@ -2155,7 +2195,7 @@ FT_BEGIN_HEADER
/* vert_resolution :: The vertical resolution in dpi. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* If either the character width or height is zero, it is set equal */
@@ -2167,7 +2207,8 @@ FT_BEGIN_HEADER
/* A character width or height smaller than 1pt is set to 1pt; if */
/* both resolution values are zero, they are set to 72dpi. */
/* */
-
+ /* Don't use this function if you are using the FreeType cache API. */
+ /* */
FT_EXPORT( FT_Error )
FT_Set_Char_Size( FT_Face face,
FT_F26Dot6 char_width,
@@ -2194,7 +2235,7 @@ FT_BEGIN_HEADER
/* pixel_height :: The nominal height, in pixels. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Pixel_Sizes( FT_Face face,
@@ -2227,7 +2268,7 @@ FT_BEGIN_HEADER
/* whether to hint the outline, etc). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The loaded glyph may be transformed. See @FT_Set_Transform for */
@@ -2268,7 +2309,7 @@ FT_BEGIN_HEADER
/* whether to hint the outline, etc). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. */
@@ -2290,7 +2331,7 @@ FT_BEGIN_HEADER
*
* @values:
* FT_LOAD_DEFAULT ::
- * Corresponding to 0, this value is used as the default glyph load
+ * Corresponding to~0, this value is used as the default glyph load
* operation. In this case, the following happens:
*
* 1. FreeType looks for a bitmap for the glyph corresponding to the
@@ -2380,10 +2421,10 @@ FT_BEGIN_HEADER
* FT_LOAD_MONOCHROME ::
* This flag is used with @FT_LOAD_RENDER to indicate that you want to
* render an outline glyph to a 1-bit monochrome bitmap glyph, with
- * 8 pixels packed into each byte of the bitmap data.
+ * 8~pixels packed into each byte of the bitmap data.
*
* Note that this has no effect on the hinting algorithm used. You
- * should use @FT_LOAD_TARGET_MONO instead so that the
+ * should rather use @FT_LOAD_TARGET_MONO so that the
* monochrome-optimized hinting algorithm is used.
*
* FT_LOAD_LINEAR_DESIGN ::
@@ -2402,8 +2443,12 @@ FT_BEGIN_HEADER
* @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be
* used at all.
*
+ * See the description of @FT_FACE_FLAG_TRICKY for a special exception
+ * (affecting only a handful of Asian fonts).
+ *
* Besides deciding which hinter to use, you can also decide which
* hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details.
+ *
*/
#define FT_LOAD_DEFAULT 0x0
#define FT_LOAD_NO_SCALE 0x1
@@ -2419,11 +2464,14 @@ FT_BEGIN_HEADER
#define FT_LOAD_IGNORE_TRANSFORM 0x800
#define FT_LOAD_MONOCHROME 0x1000
#define FT_LOAD_LINEAR_DESIGN 0x2000
-#define FT_LOAD_SBITS_ONLY 0x4000 /* temporary hack! */
#define FT_LOAD_NO_AUTOHINT 0x8000U
/* */
+ /* used internally only by certain font drivers! */
+#define FT_LOAD_ADVANCE_ONLY 0x100
+#define FT_LOAD_SBITS_ONLY 0x4000
+
/**************************************************************************
*
@@ -2451,7 +2499,7 @@ FT_BEGIN_HEADER
* FT_LOAD_TARGET_LIGHT ::
* A lighter hinting algorithm for non-monochrome modes. Many
* generated glyphs are more fuzzy but better resemble its original
- * shape. A bit like rendering on Mac OS X.
+ * shape. A bit like rendering on Mac OS~X.
*
* As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT.
*
@@ -2487,15 +2535,15 @@ FT_BEGIN_HEADER
*
* FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
* }
+ *
*/
+#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
-#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
-
-#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
-#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
-#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
-#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
-#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
+#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
+#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
+#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
+#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
+#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
/**************************************************************************
@@ -2508,7 +2556,6 @@ FT_BEGIN_HEADER
* @FT_LOAD_TARGET_XXX value.
*
*/
-
#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
@@ -2526,9 +2573,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face object. */
/* */
/* <Input> */
- /* matrix :: A pointer to the transformation's 2x2 matrix. Use 0 for */
+ /* matrix :: A pointer to the transformation's 2x2 matrix. Use~0 for */
/* the identity matrix. */
- /* delta :: A pointer to the translation vector. Use 0 for the null */
+ /* delta :: A pointer to the translation vector. Use~0 for the null */
/* vector. */
/* */
/* <Note> */
@@ -2553,17 +2600,19 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* An enumeration type that lists the render modes supported by */
- /* FreeType 2. Each mode corresponds to a specific type of scanline */
+ /* FreeType~2. Each mode corresponds to a specific type of scanline */
/* conversion performed on the outline. */
/* */
- /* For bitmap fonts the `bitmap->pixel_mode' field in the */
- /* @FT_GlyphSlotRec structure gives the format of the returned */
- /* bitmap. */
+ /* For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode' */
+ /* field in the @FT_GlyphSlotRec structure gives the format of the */
+ /* returned bitmap. */
+ /* */
+ /* All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity. */
/* */
/* <Values> */
/* FT_RENDER_MODE_NORMAL :: */
/* This is the default render mode; it corresponds to 8-bit */
- /* anti-aliased bitmaps, using 256 levels of opacity. */
+ /* anti-aliased bitmaps. */
/* */
/* FT_RENDER_MODE_LIGHT :: */
/* This is equivalent to @FT_RENDER_MODE_NORMAL. It is only */
@@ -2572,26 +2621,32 @@ FT_BEGIN_HEADER
/* @FT_LOAD_TARGET_XXX for details. */
/* */
/* FT_RENDER_MODE_MONO :: */
- /* This mode corresponds to 1-bit bitmaps. */
+ /* This mode corresponds to 1-bit bitmaps (with 2~levels of */
+ /* opacity). */
/* */
/* FT_RENDER_MODE_LCD :: */
/* This mode corresponds to horizontal RGB and BGR sub-pixel */
- /* displays, like LCD-screens. It produces 8-bit bitmaps that are */
- /* 3 times the width of the original glyph outline in pixels, and */
+ /* displays like LCD screens. It produces 8-bit bitmaps that are */
+ /* 3~times the width of the original glyph outline in pixels, and */
/* which use the @FT_PIXEL_MODE_LCD mode. */
/* */
/* FT_RENDER_MODE_LCD_V :: */
/* This mode corresponds to vertical RGB and BGR sub-pixel displays */
/* (like PDA screens, rotated LCD displays, etc.). It produces */
- /* 8-bit bitmaps that are 3 times the height of the original */
+ /* 8-bit bitmaps that are 3~times the height of the original */
/* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */
/* */
/* <Note> */
- /* The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be */
- /* filtered to reduce color-fringes by using @FT_Library_SetLcdFilter */
- /* (not active in the default builds). It is up to the caller to */
- /* either call @FT_Library_SetLcdFilter (if available) or do the */
- /* filtering itself. */
+ /* The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be */
+ /* filtered to reduce color-fringes by using @FT_Library_SetLcdFilter */
+ /* (not active in the default builds). It is up to the caller to */
+ /* either call @FT_Library_SetLcdFilter (if available) or do the */
+ /* filtering itself. */
+ /* */
+ /* The selected render mode only affects vector glyphs of a font. */
+ /* Embedded bitmaps often have a different pixel mode like */
+ /* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform */
+ /* them into 8-bit pixmaps. */
/* */
typedef enum FT_Render_Mode_
{
@@ -2616,8 +2671,8 @@ FT_BEGIN_HEADER
/* @FT_Render_Mode values instead. */
/* */
/* <Values> */
- /* ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL */
- /* ft_render_mode_mono :: see @FT_RENDER_MODE_MONO */
+ /* ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL */
+ /* ft_render_mode_mono :: see @FT_RENDER_MODE_MONO */
/* */
#define ft_render_mode_normal FT_RENDER_MODE_NORMAL
#define ft_render_mode_mono FT_RENDER_MODE_MONO
@@ -2643,7 +2698,7 @@ FT_BEGIN_HEADER
/* list of possible values. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Render_Glyph( FT_GlyphSlot slot,
@@ -2661,7 +2716,7 @@ FT_BEGIN_HEADER
/* */
/* <Values> */
/* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */
- /* distances (value is 0). */
+ /* distances (value is~0). */
/* */
/* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */
/* distances. */
@@ -2739,7 +2794,7 @@ FT_BEGIN_HEADER
/* and in pixels for fixed-sizes formats. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* Only horizontal layouts (left-to-right & right-to-left) are */
@@ -2764,17 +2819,17 @@ FT_BEGIN_HEADER
/* Return the track kerning for a given face object at a given size. */
/* */
/* <Input> */
- /* face :: A handle to a source face object. */
+ /* face :: A handle to a source face object. */
/* */
- /* point_size :: The point size in 16.16 fractional points. */
+ /* point_size :: The point size in 16.16 fractional points. */
/* */
- /* degree :: The degree of tightness. */
+ /* degree :: The degree of tightness. */
/* */
/* <Output> */
- /* akerning :: The kerning in 16.16 fractional points. */
+ /* akerning :: The kerning in 16.16 fractional points. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Track_Kerning( FT_Face face,
@@ -2790,7 +2845,7 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* Retrieve the ASCII name of a given glyph in a face. This only */
- /* works for those faces where @FT_HAS_GLYPH_NAMES(face) returns 1. */
+ /* works for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1. */
/* */
/* <Input> */
/* face :: A handle to a source face object. */
@@ -2805,12 +2860,12 @@ FT_BEGIN_HEADER
/* copied to. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* An error is returned if the face doesn't provide glyph names or if */
/* the glyph index is invalid. In all cases of failure, the first */
- /* byte of `buffer' is set to 0 to indicate an empty name. */
+ /* byte of `buffer' is set to~0 to indicate an empty name. */
/* */
/* The glyph name is truncated to fit within the buffer if it is too */
/* long. The returned string is always zero-terminated. */
@@ -2832,14 +2887,14 @@ FT_BEGIN_HEADER
/* FT_Get_Postscript_Name */
/* */
/* <Description> */
- /* Retrieve the ASCII Postscript name of a given face, if available. */
- /* This only works with Postscript and TrueType fonts. */
+ /* Retrieve the ASCII PostScript name of a given face, if available. */
+ /* This only works with PostScript and TrueType fonts. */
/* */
/* <Input> */
/* face :: A handle to the source face object. */
/* */
/* <Return> */
- /* A pointer to the face's Postscript name. NULL if unavailable. */
+ /* A pointer to the face's PostScript name. NULL if unavailable. */
/* */
/* <Note> */
/* The returned pointer is owned by the face and is destroyed with */
@@ -2865,7 +2920,7 @@ FT_BEGIN_HEADER
/* encoding :: A handle to the selected encoding. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function returns an error if no charmap in the face */
@@ -2897,14 +2952,14 @@ FT_BEGIN_HEADER
/* charmap :: A handle to the selected charmap. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function returns an error if the charmap is not part of */
/* the face (i.e., if it is not listed in the `face->charmaps' */
/* table). */
/* */
- /* It also fails if a type 14 charmap is selected. */
+ /* It also fails if a type~14 charmap is selected. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Charmap( FT_Face face,
@@ -2947,13 +3002,13 @@ FT_BEGIN_HEADER
/* charcode :: The character code. */
/* */
/* <Return> */
- /* The glyph index. 0 means `undefined character code'. */
+ /* The glyph index. 0~means `undefined character code'. */
/* */
/* <Note> */
/* If you use FreeType to manipulate the contents of font files */
/* directly, be aware that the glyph index returned by this function */
/* doesn't always correspond to the internal indices used within */
- /* the file. This is done to ensure that value 0 always corresponds */
+ /* the file. This is done to ensure that value~0 always corresponds */
/* to the `missing glyph'. */
/* */
FT_EXPORT( FT_UInt )
@@ -2975,7 +3030,7 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face object. */
/* */
/* <Output> */
- /* agindex :: Glyph index of first character code. 0 if charmap is */
+ /* agindex :: Glyph index of first character code. 0~if charmap is */
/* empty. */
/* */
/* <Return> */
@@ -3000,9 +3055,9 @@ FT_BEGIN_HEADER
/* } */
/* } */
/* */
- /* Note that `*agindex' is set to 0 if the charmap is empty. The */
- /* result itself can be 0 in two cases: if the charmap is empty or */
- /* when the value 0 is the first valid character code. */
+ /* Note that `*agindex' is set to~0 if the charmap is empty. The */
+ /* result itself can be~0 in two cases: if the charmap is empty or */
+ /* if the value~0 is the first valid character code. */
/* */
FT_EXPORT( FT_ULong )
FT_Get_First_Char( FT_Face face,
@@ -3024,7 +3079,7 @@ FT_BEGIN_HEADER
/* char_code :: The starting character code. */
/* */
/* <Output> */
- /* agindex :: Glyph index of first character code. 0 if charmap */
+ /* agindex :: Glyph index of next character code. 0~if charmap */
/* is empty. */
/* */
/* <Return> */
@@ -3035,7 +3090,7 @@ FT_BEGIN_HEADER
/* over all character codes available in a given charmap. See the */
/* note for this function for a simple code example. */
/* */
- /* Note that `*agindex' is set to 0 when there are no more codes in */
+ /* Note that `*agindex' is set to~0 when there are no more codes in */
/* the charmap. */
/* */
FT_EXPORT( FT_ULong )
@@ -3059,7 +3114,7 @@ FT_BEGIN_HEADER
/* glyph_name :: The glyph name. */
/* */
/* <Return> */
- /* The glyph index. 0 means `undefined character code'. */
+ /* The glyph index. 0~means `undefined character code'. */
/* */
FT_EXPORT( FT_UInt )
FT_Get_Name_Index( FT_Face face,
@@ -3101,15 +3156,16 @@ FT_BEGIN_HEADER
*
* @description:
* Retrieve a description of a given subglyph. Only use it if
- * `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE, or an error is
- * returned.
+ * `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE; an error is
+ * returned otherwise.
*
* @input:
* glyph ::
* The source glyph slot.
*
* sub_index ::
- * The index of subglyph. Must be less than `glyph->num_subglyphs'.
+ * The index of the subglyph. Must be less than
+ * `glyph->num_subglyphs'.
*
* @output:
* p_index ::
@@ -3128,7 +3184,7 @@ FT_BEGIN_HEADER
* The subglyph transformation (if any).
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The values of `*p_arg1', `*p_arg2', and `*p_transform' must be
@@ -3148,6 +3204,88 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
+ /* <Enum> */
+ /* FT_FSTYPE_XXX */
+ /* */
+ /* <Description> */
+ /* A list of bit flags used in the `fsType' field of the OS/2 table */
+ /* in a TrueType or OpenType font and the `FSType' entry in a */
+ /* PostScript font. These bit flags are returned by */
+ /* @FT_Get_FSType_Flags; they inform client applications of embedding */
+ /* and subsetting restrictions associated with a font. */
+ /* */
+ /* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */
+ /* more details. */
+ /* */
+ /* <Values> */
+ /* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */
+ /* Fonts with no fsType bit set may be embedded and permanently */
+ /* installed on the remote system by an application. */
+ /* */
+ /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: */
+ /* Fonts that have only this bit set must not be modified, embedded */
+ /* or exchanged in any manner without first obtaining permission of */
+ /* the font software copyright owner. */
+ /* */
+ /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: */
+ /* If this bit is set, the font may be embedded and temporarily */
+ /* loaded on the remote system. Documents containing Preview & */
+ /* Print fonts must be opened `read-only'; no edits can be applied */
+ /* to the document. */
+ /* */
+ /* FT_FSTYPE_EDITABLE_EMBEDDING :: */
+ /* If this bit is set, the font may be embedded but must only be */
+ /* installed temporarily on other systems. In contrast to Preview */
+ /* & Print fonts, documents containing editable fonts may be opened */
+ /* for reading, editing is permitted, and changes may be saved. */
+ /* */
+ /* FT_FSTYPE_NO_SUBSETTING :: */
+ /* If this bit is set, the font may not be subsetted prior to */
+ /* embedding. */
+ /* */
+ /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: */
+ /* If this bit is set, only bitmaps contained in the font may be */
+ /* embedded; no outline data may be embedded. If there are no */
+ /* bitmaps available in the font, then the font is unembeddable. */
+ /* */
+ /* <Note> */
+ /* While the fsType flags can indicate that a font may be embedded, a */
+ /* license with the font vendor may be separately required to use the */
+ /* font in this way. */
+ /* */
+#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000
+#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002
+#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004
+#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008
+#define FT_FSTYPE_NO_SUBSETTING 0x0100
+#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200
+
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FT_Get_FSType_Flags */
+ /* */
+ /* <Description> */
+ /* Return the fsType flags for a font. */
+ /* */
+ /* <Input> */
+ /* face :: A handle to the source face object. */
+ /* */
+ /* <Return> */
+ /* The fsType flags, @FT_FSTYPE_XXX. */
+ /* */
+ /* <Note> */
+ /* Use this function rather than directly reading the `fs_type' field */
+ /* in the @PS_FontInfoRec structure which is only guaranteed to */
+ /* return the correct results for Type~1 fonts. */
+ /* */
+ FT_EXPORT( FT_UShort )
+ FT_Get_FSType_Flags( FT_Face face );
+
+
+ /*************************************************************************/
+ /* */
/* <Section> */
/* glyph_variants */
/* */
@@ -3155,8 +3293,8 @@ FT_BEGIN_HEADER
/* Glyph Variants */
/* */
/* <Abstract> */
- /* The FreeType 2 interface to Unicode Ideographic Variation */
- /* Sequences (IVS), using the SFNT cmap format 14. */
+ /* The FreeType~2 interface to Unicode Ideographic Variation */
+ /* Sequences (IVS), using the SFNT cmap format~14. */
/* */
/* <Description> */
/* Many CJK characters have variant forms. They are a sort of grey */
@@ -3170,10 +3308,10 @@ FT_BEGIN_HEADER
/* An IVS is registered and unique; for further details please refer */
/* to Unicode Technical Report #37, the Ideographic Variation */
/* Database. To date (October 2007), the character with the most */
- /* variants is U+908A, having 8 such IVS. */
+ /* variants is U+908A, having 8~such IVS. */
/* */
/* Adobe and MS decided to support IVS with a new cmap subtable */
- /* (format 14). It is an odd subtable because it is not a mapping of */
+ /* (format~14). It is an odd subtable because it is not a mapping of */
/* input code points to glyphs, but contains lists of all variants */
/* supported by the font. */
/* */
@@ -3205,7 +3343,7 @@ FT_BEGIN_HEADER
/* The Unicode code point of the variation selector. */
/* */
/* <Return> */
- /* The glyph index. 0 means either `undefined character code', or */
+ /* The glyph index. 0~means either `undefined character code', or */
/* `undefined selector code', or `no variation selector cmap */
/* subtable', or `current CharMap is not Unicode'. */
/* */
@@ -3213,7 +3351,7 @@ FT_BEGIN_HEADER
/* If you use FreeType to manipulate the contents of font files */
/* directly, be aware that the glyph index returned by this function */
/* doesn't always correspond to the internal indices used within */
- /* the file. This is done to ensure that value 0 always corresponds */
+ /* the file. This is done to ensure that value~0 always corresponds */
/* to the `missing glyph'. */
/* */
/* This function is only meaningful if */
@@ -3250,7 +3388,7 @@ FT_BEGIN_HEADER
/* The Unicode codepoint of the variation selector. */
/* */
/* <Return> */
- /* 1 if found in the standard (Unicode) cmap, 0 if found in the */
+ /* 1~if found in the standard (Unicode) cmap, 0~if found in the */
/* variation selector cmap, or -1 if it is not a variant. */
/* */
/* <Note> */
@@ -3284,7 +3422,7 @@ FT_BEGIN_HEADER
/* no valid variant selector cmap subtable. */
/* */
/* <Note> */
- /* The last item in the array is 0; the array is owned by the */
+ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */
/* */
@@ -3317,7 +3455,7 @@ FT_BEGIN_HEADER
/* is empty. */
/* */
/* <Note> */
- /* The last item in the array is 0; the array is owned by the */
+ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */
/* */
@@ -3351,7 +3489,7 @@ FT_BEGIN_HEADER
/* is no valid cmap or the variant selector is invalid. */
/* */
/* <Note> */
- /* The last item in the array is 0; the array is owned by the */
+ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */
/* */
@@ -3421,6 +3559,12 @@ FT_BEGIN_HEADER
FT_Long c );
+ /* */
+
+ /* The following #if 0 ... #endif is for the documentation formatter, */
+ /* hiding the internal `FT_MULFIX_INLINED' macro. */
+
+#if 0
/*************************************************************************/
/* */
/* <Function> */
@@ -3454,6 +3598,17 @@ FT_BEGIN_HEADER
FT_MulFix( FT_Long a,
FT_Long b );
+ /* */
+#endif
+
+#ifdef FT_MULFIX_INLINED
+#define FT_MulFix( a, b ) FT_MULFIX_INLINED( a, b )
+#else
+ FT_EXPORT( FT_Long )
+ FT_MulFix( FT_Long a,
+ FT_Long b );
+#endif
+
/*************************************************************************/
/* */
@@ -3474,8 +3629,8 @@ FT_BEGIN_HEADER
/* The result of `(a*0x10000)/b'. */
/* */
/* <Note> */
- /* The optimization for FT_DivFix() is simple: If (a << 16) fits in */
- /* 32 bits, then the division is computed directly. Otherwise, we */
+ /* The optimization for FT_DivFix() is simple: If (a~<<~16) fits in */
+ /* 32~bits, then the division is computed directly. Otherwise, we */
/* use a specialized version of @FT_MulDiv. */
/* */
FT_EXPORT( FT_Long )
@@ -3582,26 +3737,27 @@ FT_BEGIN_HEADER
/*************************************************************************
*
- * @enum:
- * FREETYPE_XXX
+ * @enum:
+ * FREETYPE_XXX
*
- * @description:
- * These three macros identify the FreeType source code version.
- * Use @FT_Library_Version to access them at runtime.
+ * @description:
+ * These three macros identify the FreeType source code version.
+ * Use @FT_Library_Version to access them at runtime.
*
- * @values:
- * FREETYPE_MAJOR :: The major version number.
- * FREETYPE_MINOR :: The minor version number.
- * FREETYPE_PATCH :: The patch level.
+ * @values:
+ * FREETYPE_MAJOR :: The major version number.
+ * FREETYPE_MINOR :: The minor version number.
+ * FREETYPE_PATCH :: The patch level.
+ *
+ * @note:
+ * The version number of FreeType if built as a dynamic link library
+ * with the `libtool' package is _not_ controlled by these three
+ * macros.
*
- * @note:
- * The version number of FreeType if built as a dynamic link library
- * with the `libtool' package is _not_ controlled by these three
- * macros.
*/
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 3
-#define FREETYPE_PATCH 6
+#define FREETYPE_PATCH 9
/*************************************************************************/
@@ -3658,8 +3814,8 @@ FT_BEGIN_HEADER
/* face :: A face handle. */
/* */
/* <Return> */
- /* 1 if this is a TrueType font that uses one of the patented */
- /* opcodes, 0 otherwise. */
+ /* 1~if this is a TrueType font that uses one of the patented */
+ /* opcodes, 0~otherwise. */
/* */
/* <Since> */
/* 2.3.5 */
@@ -3685,7 +3841,7 @@ FT_BEGIN_HEADER
/* */
/* <Return> */
/* The old setting value. This will always be false if this is not */
- /* a SFNT font, or if the unpatented hinter is not compiled in this */
+ /* an SFNT font, or if the unpatented hinter is not compiled in this */
/* instance of the library. */
/* */
/* <Since> */
diff --git a/src/3rdparty/freetype/include/freetype/ftadvanc.h b/src/3rdparty/freetype/include/freetype/ftadvanc.h
new file mode 100644
index 0000000..b2451be
--- /dev/null
+++ b/src/3rdparty/freetype/include/freetype/ftadvanc.h
@@ -0,0 +1,179 @@
+/***************************************************************************/
+/* */
+/* ftadvanc.h */
+/* */
+/* Quick computation of advance widths (specification only). */
+/* */
+/* Copyright 2008 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#ifndef __FTADVANC_H__
+#define __FTADVANC_H__
+
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
+FT_BEGIN_HEADER
+
+
+ /**************************************************************************
+ *
+ * @section:
+ * quick_advance
+ *
+ * @title:
+ * Quick retrieval of advance values
+ *
+ * @abstract:
+ * Retrieve horizontal and vertical advance values without processing
+ * glyph outlines, if possible.
+ *
+ * @description:
+ * This section contains functions to quickly extract advance values
+ * without handling glyph outlines, if possible.
+ */
+
+
+ /*************************************************************************/
+ /* */
+ /* <Const> */
+ /* FT_ADVANCE_FLAG_FAST_ONLY */
+ /* */
+ /* <Description> */
+ /* A bit-flag to be OR-ed with the `flags' parameter of the */
+ /* @FT_Get_Advance and @FT_Get_Advances functions. */
+ /* */
+ /* If set, it indicates that you want these functions to fail if the */
+ /* corresponding hinting mode or font driver doesn't allow for very */
+ /* quick advance computation. */
+ /* */
+ /* Typically, glyphs which are either unscaled, unhinted, bitmapped, */
+ /* or light-hinted can have their advance width computed very */
+ /* quickly. */
+ /* */
+ /* Normal and bytecode hinted modes, which require loading, scaling, */
+ /* and hinting of the glyph outline, are extremely slow by */
+ /* comparison. */
+ /* */
+#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL
+
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FT_Get_Advance */
+ /* */
+ /* <Description> */
+ /* Retrieve the advance value of a given glyph outline in an */
+ /* @FT_Face. By default, the unhinted advance is returned in font */
+ /* units. */
+ /* */
+ /* <Input> */
+ /* face :: The source @FT_Face handle. */
+ /* */
+ /* gindex :: The glyph index. */
+ /* */
+ /* load_flags :: A set of bit flags similar to those used when */
+ /* calling @FT_Load_Glyph, used to determine what kind */
+ /* of advances you need. */
+ /* <Output> */
+ /* padvance :: The advance value, in either font units or 16.16 */
+ /* format. */
+ /* */
+ /* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */
+ /* vertical advance corresponding to a vertical layout. */
+ /* Otherwise, it is the horizontal advance in a */
+ /* horizontal layout. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
+ /* <Note> */
+ /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
+ /* if the corresponding font backend doesn't have a quick way to */
+ /* retrieve the advances. */
+ /* */
+ /* A scaled advance is returned in 16.16 format but isn't transformed */
+ /* by the affine transformation specified by @FT_Set_Transform. */
+ /* */
+ FT_EXPORT( FT_Error )
+ FT_Get_Advance( FT_Face face,
+ FT_UInt gindex,
+ FT_Int32 load_flags,
+ FT_Fixed *padvance );
+
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FT_Get_Advances */
+ /* */
+ /* <Description> */
+ /* Retrieve the advance values of several glyph outlines in an */
+ /* @FT_Face. By default, the unhinted advances are returned in font */
+ /* units. */
+ /* */
+ /* <Input> */
+ /* face :: The source @FT_Face handle. */
+ /* */
+ /* start :: The first glyph index. */
+ /* */
+ /* count :: The number of advance values you want to retrieve. */
+ /* */
+ /* load_flags :: A set of bit flags similar to those used when */
+ /* calling @FT_Load_Glyph. */
+ /* */
+ /* <Output> */
+ /* padvance :: The advances, in either font units or 16.16 format. */
+ /* This array must contain at least `count' elements. */
+ /* */
+ /* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */
+ /* vertical advances corresponding to a vertical layout. */
+ /* Otherwise, they are the horizontal advances in a */
+ /* horizontal layout. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0 means success. */
+ /* */
+ /* <Note> */
+ /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */
+ /* if the corresponding font backend doesn't have a quick way to */
+ /* retrieve the advances. */
+ /* */
+ /* Scaled advances are returned in 16.16 format but aren't */
+ /* transformed by the affine transformation specified by */
+ /* @FT_Set_Transform. */
+ /* */
+ FT_EXPORT( FT_Error )
+ FT_Get_Advances( FT_Face face,
+ FT_UInt start,
+ FT_UInt count,
+ FT_Int32 load_flags,
+ FT_Fixed *padvances );
+
+/* */
+
+
+FT_END_HEADER
+
+#endif /* __FTADVANC_H__ */
+
+
+/* END */
diff --git a/src/3rdparty/freetype/include/freetype/ftbbox.h b/src/3rdparty/freetype/include/freetype/ftbbox.h
index b11d316..5cfb9ff 100644
--- a/src/3rdparty/freetype/include/freetype/ftbbox.h
+++ b/src/3rdparty/freetype/include/freetype/ftbbox.h
@@ -58,7 +58,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_BBox */
/* */
/* <Description> */
- /* Computes the exact bounding box of an outline. This is slower */
+ /* Compute the exact bounding box of an outline. This is slower */
/* than computing the control box. However, it uses an advanced */
/* algorithm which returns _very_ quickly when the two boxes */
/* coincide. Otherwise, the outline Bezier arcs are traversed to */
@@ -71,7 +71,7 @@ FT_BEGIN_HEADER
/* abbox :: The outline's exact bounding box. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Outline_Get_BBox( FT_Outline* outline,
diff --git a/src/3rdparty/freetype/include/freetype/ftbdf.h b/src/3rdparty/freetype/include/freetype/ftbdf.h
index 9555694..4f8baf8 100644
--- a/src/3rdparty/freetype/include/freetype/ftbdf.h
+++ b/src/3rdparty/freetype/include/freetype/ftbdf.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing BDF-specific strings (specification). */
/* */
-/* Copyright 2002, 2003, 2004, 2006 by */
+/* Copyright 2002, 2003, 2004, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -38,38 +38,39 @@ FT_BEGIN_HEADER
/* bdf_fonts */
/* */
/* <Title> */
- /* BDF Files */
+ /* BDF and PCF Files */
/* */
/* <Abstract> */
- /* BDF specific API. */
+ /* BDF and PCF specific API. */
/* */
/* <Description> */
- /* This section contains the declaration of BDF specific functions. */
+ /* This section contains the declaration of functions specific to BDF */
+ /* and PCF fonts. */
/* */
/*************************************************************************/
- /**********************************************************************
- *
- * @enum:
- * FT_PropertyType
- *
- * @description:
- * A list of BDF property types.
- *
- * @values:
- * BDF_PROPERTY_TYPE_NONE ::
- * Value 0 is used to indicate a missing property.
- *
- * BDF_PROPERTY_TYPE_ATOM ::
- * Property is a string atom.
- *
- * BDF_PROPERTY_TYPE_INTEGER ::
- * Property is a 32-bit signed integer.
- *
- * BDF_PROPERTY_TYPE_CARDINAL ::
- * Property is a 32-bit unsigned integer.
- */
+ /**********************************************************************
+ *
+ * @enum:
+ * FT_PropertyType
+ *
+ * @description:
+ * A list of BDF property types.
+ *
+ * @values:
+ * BDF_PROPERTY_TYPE_NONE ::
+ * Value~0 is used to indicate a missing property.
+ *
+ * BDF_PROPERTY_TYPE_ATOM ::
+ * Property is a string atom.
+ *
+ * BDF_PROPERTY_TYPE_INTEGER ::
+ * Property is a 32-bit signed integer.
+ *
+ * BDF_PROPERTY_TYPE_CARDINAL ::
+ * Property is a 32-bit unsigned integer.
+ */
typedef enum BDF_PropertyType_
{
BDF_PROPERTY_TYPE_NONE = 0,
@@ -80,15 +81,15 @@ FT_BEGIN_HEADER
} BDF_PropertyType;
- /**********************************************************************
- *
- * @type:
- * BDF_Property
- *
- * @description:
- * A handle to a @BDF_PropertyRec structure to model a given
- * BDF/PCF property.
- */
+ /**********************************************************************
+ *
+ * @type:
+ * BDF_Property
+ *
+ * @description:
+ * A handle to a @BDF_PropertyRec structure to model a given
+ * BDF/PCF property.
+ */
typedef struct BDF_PropertyRec_* BDF_Property;
@@ -132,7 +133,7 @@ FT_BEGIN_HEADER
* FT_Get_BDF_Charset_ID
*
* @description:
- * Retrieves a BDF font character set identity, according to
+ * Retrieve a BDF font character set identity, according to
* the BDF specification.
*
* @input:
@@ -141,13 +142,13 @@ FT_BEGIN_HEADER
*
* @output:
* acharset_encoding ::
- * Charset encoding, as a C string, owned by the face.
+ * Charset encoding, as a C~string, owned by the face.
*
* acharset_registry ::
- * Charset registry, as a C string, owned by the face.
+ * Charset registry, as a C~string, owned by the face.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function only works with BDF faces, returning an error otherwise.
@@ -164,7 +165,7 @@ FT_BEGIN_HEADER
* FT_Get_BDF_Property
*
* @description:
- * Retrieves a BDF property from a BDF or PCF font file.
+ * Retrieve a BDF property from a BDF or PCF font file.
*
* @input:
* face :: A handle to the input face.
@@ -175,13 +176,21 @@ FT_BEGIN_HEADER
* aproperty :: The property.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function works with BDF _and_ PCF fonts. It returns an error
* otherwise. It also returns an error if the property is not in the
* font.
*
+ * A `property' is a either key-value pair within the STARTPROPERTIES
+ * ... ENDPROPERTIES block of a BDF font or a key-value pair from the
+ * `info->props' array within a `FontRec' structure of a PCF font.
+ *
+ * Integer properties are always stored as `signed' within PCF fonts;
+ * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value
+ * for BDF fonts only.
+ *
* In case of error, `aproperty->type' is always set to
* @BDF_PROPERTY_TYPE_NONE.
*/
diff --git a/src/3rdparty/freetype/include/freetype/ftbitmap.h b/src/3rdparty/freetype/include/freetype/ftbitmap.h
index 337d888..9274236 100644
--- a/src/3rdparty/freetype/include/freetype/ftbitmap.h
+++ b/src/3rdparty/freetype/include/freetype/ftbitmap.h
@@ -2,10 +2,9 @@
/* */
/* ftbitmap.h */
/* */
-/* FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
-/* bitmaps into 8bpp format (specification). */
+/* FreeType utility functions for bitmaps (specification). */
/* */
-/* Copyright 2004, 2005, 2006 by */
+/* Copyright 2004, 2005, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -72,7 +71,7 @@ FT_BEGIN_HEADER
/* FT_Bitmap_Copy */
/* */
/* <Description> */
- /* Copies an bitmap into another one. */
+ /* Copy a bitmap into another one. */
/* */
/* <Input> */
/* library :: A handle to a library object. */
@@ -83,7 +82,7 @@ FT_BEGIN_HEADER
/* target :: A handle to the target bitmap. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Copy( FT_Library library,
@@ -114,14 +113,14 @@ FT_BEGIN_HEADER
/* bitmap :: A handle to the target bitmap. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The current implementation restricts `xStrength' to be less than */
- /* or equal to 8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
+ /* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
/* */
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
- /* you should call `FT_GlyphSlot_Own_Bitmap' on the slot first. */
+ /* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */
/* */
FT_EXPORT( FT_Error )
FT_Bitmap_Embolden( FT_Library library,
@@ -152,7 +151,7 @@ FT_BEGIN_HEADER
/* target :: The target bitmap. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* It is possible to call @FT_Bitmap_Convert multiple times without */
@@ -173,6 +172,28 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Function> */
+ /* FT_GlyphSlot_Own_Bitmap */
+ /* */
+ /* <Description> */
+ /* Make sure that a glyph slot owns `slot->bitmap'. */
+ /* */
+ /* <Input> */
+ /* slot :: The glyph slot. */
+ /* */
+ /* <Return> */
+ /* FreeType error code. 0~means success. */
+ /* */
+ /* <Note> */
+ /* This function is to be used in combination with */
+ /* @FT_Bitmap_Embolden. */
+ /* */
+ FT_EXPORT( FT_Error )
+ FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
+
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
/* FT_Bitmap_Done */
/* */
/* <Description> */
@@ -184,7 +205,7 @@ FT_BEGIN_HEADER
/* bitmap :: The bitmap object to be freed. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The `library' argument is taken to have access to FreeType's */
diff --git a/src/3rdparty/freetype/include/freetype/ftcache.h b/src/3rdparty/freetype/include/freetype/ftcache.h
index 805df78..0916d70 100644
--- a/src/3rdparty/freetype/include/freetype/ftcache.h
+++ b/src/3rdparty/freetype/include/freetype/ftcache.h
@@ -36,10 +36,10 @@ FT_BEGIN_HEADER
* Cache Sub-System
*
* <Abstract>
- * How to cache face, size, and glyph data with FreeType 2.
+ * How to cache face, size, and glyph data with FreeType~2.
*
* <Description>
- * This section describes the FreeType 2 cache sub-system, which is used
+ * This section describes the FreeType~2 cache sub-system, which is used
* to limit the number of concurrently opened @FT_Face and @FT_Size
* objects, as well as caching information like character maps and glyph
* images while limiting their maximum memory usage.
@@ -193,7 +193,7 @@ FT_BEGIN_HEADER
* A new @FT_Face handle.
*
* <Return>
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* <Note>
* The third parameter `req_data' is the same as the one passed by the
@@ -260,7 +260,7 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* An opaque handle to a cache node object. Each cache node is */
- /* reference-counted. A node with a count of 0 might be flushed */
+ /* reference-counted. A node with a count of~0 might be flushed */
/* out of a full cache whenever a lookup request is performed. */
/* */
/* If you lookup nodes, you have the ability to `acquire' them, i.e., */
@@ -279,19 +279,19 @@ FT_BEGIN_HEADER
/* FTC_Manager_New */
/* */
/* <Description> */
- /* Creates a new cache manager. */
+ /* Create a new cache manager. */
/* */
/* <Input> */
/* library :: The parent FreeType library handle to use. */
/* */
/* max_faces :: Maximum number of opened @FT_Face objects managed by */
- /* this cache instance. Use 0 for defaults. */
+ /* this cache instance. Use~0 for defaults. */
/* */
/* max_sizes :: Maximum number of opened @FT_Size objects managed by */
- /* this cache instance. Use 0 for defaults. */
+ /* this cache instance. Use~0 for defaults. */
/* */
/* max_bytes :: Maximum number of bytes to use for cached data nodes. */
- /* Use 0 for defaults. Note that this value does not */
+ /* Use~0 for defaults. Note that this value does not */
/* account for managed @FT_Face and @FT_Size objects. */
/* */
/* requester :: An application-provided callback used to translate */
@@ -301,11 +301,11 @@ FT_BEGIN_HEADER
/* each time it is called (see @FTC_Face_Requester). */
/* */
/* <Output> */
- /* amanager :: A handle to a new manager object. 0 in case of */
+ /* amanager :: A handle to a new manager object. 0~in case of */
/* failure. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FTC_Manager_New( FT_Library library,
@@ -323,7 +323,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_Reset */
/* */
/* <Description> */
- /* Empties a given cache manager. This simply gets rid of all the */
+ /* Empty a given cache manager. This simply gets rid of all the */
/* currently cached @FT_Face and @FT_Size objects within the manager. */
/* */
/* <InOut> */
@@ -339,7 +339,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_Done */
/* */
/* <Description> */
- /* Destroys a given manager after emptying it. */
+ /* Destroy a given manager after emptying it. */
/* */
/* <Input> */
/* manager :: A handle to the target cache manager object. */
@@ -354,7 +354,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_LookupFace */
/* */
/* <Description> */
- /* Retrieves the @FT_Face object that corresponds to a given face ID */
+ /* Retrieve the @FT_Face object that corresponds to a given face ID */
/* through a cache manager. */
/* */
/* <Input> */
@@ -366,7 +366,7 @@ FT_BEGIN_HEADER
/* aface :: A handle to the face object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The returned @FT_Face object is always owned by the manager. You */
@@ -415,10 +415,10 @@ FT_BEGIN_HEADER
/* interpreted as integer pixel character sizes. */
/* Otherwise, they are expressed as 1/64th of points. */
/* */
- /* x_res :: Only used when `pixel' is value 0 to indicate the */
+ /* x_res :: Only used when `pixel' is value~0 to indicate the */
/* horizontal resolution in dpi. */
/* */
- /* y_res :: Only used when `pixel' is value 0 to indicate the */
+ /* y_res :: Only used when `pixel' is value~0 to indicate the */
/* vertical resolution in dpi. */
/* */
/* <Note> */
@@ -466,7 +466,7 @@ FT_BEGIN_HEADER
/* asize :: A handle to the size object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The returned @FT_Size object is always owned by the manager. You */
@@ -580,7 +580,7 @@ FT_BEGIN_HEADER
* A new cache handle. NULL in case of error.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* Like all other caches, this one will be destroyed with the cache
@@ -609,13 +609,14 @@ FT_BEGIN_HEADER
* The source face ID.
*
* cmap_index ::
- * The index of the charmap in the source face.
+ * The index of the charmap in the source face. Any negative value
+ * means to use the cache @FT_Face's default charmap.
*
* char_code ::
* The character code (in the corresponding charmap).
*
* @return:
- * Glyph index. 0 means `no glyph'.
+ * Glyph index. 0~means `no glyph'.
*
*/
FT_EXPORT( FT_UInt )
@@ -721,7 +722,7 @@ FT_BEGIN_HEADER
/* FTC_ImageCache_New */
/* */
/* <Description> */
- /* Creates a new glyph image cache. */
+ /* Create a new glyph image cache. */
/* */
/* <Input> */
/* manager :: The parent manager for the image cache. */
@@ -730,7 +731,7 @@ FT_BEGIN_HEADER
/* acache :: A handle to the new glyph image cache object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FTC_ImageCache_New( FTC_Manager manager,
@@ -743,7 +744,7 @@ FT_BEGIN_HEADER
/* FTC_ImageCache_Lookup */
/* */
/* <Description> */
- /* Retrieves a given glyph image from a glyph image cache. */
+ /* Retrieve a given glyph image from a glyph image cache. */
/* */
/* <Input> */
/* cache :: A handle to the source glyph image cache. */
@@ -753,7 +754,7 @@ FT_BEGIN_HEADER
/* gindex :: The glyph index to retrieve. */
/* */
/* <Output> */
- /* aglyph :: The corresponding @FT_Glyph object. 0 in case of */
+ /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
/* failure. */
/* */
/* anode :: Used to return the address of of the corresponding cache */
@@ -761,7 +762,7 @@ FT_BEGIN_HEADER
/* below). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The returned glyph is owned and managed by the glyph image cache. */
@@ -806,7 +807,7 @@ FT_BEGIN_HEADER
/* gindex :: The glyph index to retrieve. */
/* */
/* <Output> */
- /* aglyph :: The corresponding @FT_Glyph object. 0 in case of */
+ /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
/* failure. */
/* */
/* anode :: Used to return the address of of the corresponding */
@@ -814,7 +815,7 @@ FT_BEGIN_HEADER
/* (see note below). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The returned glyph is owned and managed by the glyph image cache. */
@@ -832,6 +833,9 @@ FT_BEGIN_HEADER
/* call to one of the caching sub-system APIs. Don't assume that it */
/* is persistent! */
/* */
+ /* Calls to @FT_Set_Char_Size and friends have no effect on cached */
+ /* glyphs; you should always use the FreeType cache API instead. */
+ /* */
FT_EXPORT( FT_Error )
FTC_ImageCache_LookupScaler( FTC_ImageCache cache,
FTC_Scaler scaler,
@@ -873,11 +877,11 @@ FT_BEGIN_HEADER
/* top :: The vertical distance from the pen position (on the */
/* baseline) to the upper bitmap border (a.k.a. `top */
/* side bearing'). The distance is positive for upwards */
- /* Y coordinates. */
+ /* y~coordinates. */
/* */
/* format :: The format of the glyph bitmap (monochrome or gray). */
/* */
- /* max_grays :: Maximum gray level value (in the range 1 to 255). */
+ /* max_grays :: Maximum gray level value (in the range 1 to~255). */
/* */
/* pitch :: The number of bytes per bitmap line. May be positive */
/* or negative. */
@@ -926,7 +930,7 @@ FT_BEGIN_HEADER
/* FTC_SBitCache_New */
/* */
/* <Description> */
- /* Creates a new cache to store small glyph bitmaps. */
+ /* Create a new cache to store small glyph bitmaps. */
/* */
/* <Input> */
/* manager :: A handle to the source cache manager. */
@@ -935,7 +939,7 @@ FT_BEGIN_HEADER
/* acache :: A handle to the new sbit cache. NULL in case of error. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FTC_SBitCache_New( FTC_Manager manager,
@@ -948,7 +952,7 @@ FT_BEGIN_HEADER
/* FTC_SBitCache_Lookup */
/* */
/* <Description> */
- /* Looks up a given small glyph bitmap in a given sbit cache and */
+ /* Look up a given small glyph bitmap in a given sbit cache and */
/* `lock' it to prevent its flushing from the cache until needed. */
/* */
/* <Input> */
@@ -966,7 +970,7 @@ FT_BEGIN_HEADER
/* below). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The small bitmap descriptor and its bit buffer are owned by the */
@@ -974,7 +978,7 @@ FT_BEGIN_HEADER
/* as well disappear from memory on the next cache lookup, so don't */
/* treat them as persistent data. */
/* */
- /* The descriptor's `buffer' field is set to 0 to indicate a missing */
+ /* The descriptor's `buffer' field is set to~0 to indicate a missing */
/* glyph bitmap. */
/* */
/* If `anode' is _not_ NULL, it receives the address of the cache */
@@ -1021,7 +1025,7 @@ FT_BEGIN_HEADER
/* (see note below). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The small bitmap descriptor and its bit buffer are owned by the */
@@ -1029,7 +1033,7 @@ FT_BEGIN_HEADER
/* as well disappear from memory on the next cache lookup, so don't */
/* treat them as persistent data. */
/* */
- /* The descriptor's `buffer' field is set to 0 to indicate a missing */
+ /* The descriptor's `buffer' field is set to~0 to indicate a missing */
/* glyph bitmap. */
/* */
/* If `anode' is _not_ NULL, it receives the address of the cache */
diff --git a/src/3rdparty/freetype/include/freetype/ftchapters.h b/src/3rdparty/freetype/include/freetype/ftchapters.h
index 4c61824..7775a6b 100644
--- a/src/3rdparty/freetype/include/freetype/ftchapters.h
+++ b/src/3rdparty/freetype/include/freetype/ftchapters.h
@@ -90,6 +90,7 @@
/* computations */
/* list_processing */
/* outline_processing */
+/* quick_advance */
/* bitmap_handling */
/* raster */
/* glyph_stroker */
diff --git a/src/3rdparty/freetype/include/freetype/ftcid.h b/src/3rdparty/freetype/include/freetype/ftcid.h
index f0387f0..203a30c 100644
--- a/src/3rdparty/freetype/include/freetype/ftcid.h
+++ b/src/3rdparty/freetype/include/freetype/ftcid.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing CID font information (specification). */
/* */
-/* Copyright 2007 by Dereg Clegg. */
+/* Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -64,16 +64,16 @@ FT_BEGIN_HEADER
*
* @output:
* registry ::
- * The registry, as a C string, owned by the face.
+ * The registry, as a C~string, owned by the face.
*
* ordering ::
- * The ordering, as a C string, owned by the face.
+ * The ordering, as a C~string, owned by the face.
*
* supplement ::
* The supplement.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function only works with CID faces, returning an error
@@ -88,6 +88,74 @@ FT_BEGIN_HEADER
const char* *ordering,
FT_Int *supplement);
+
+ /**********************************************************************
+ *
+ * @function:
+ * FT_Get_CID_Is_Internally_CID_Keyed
+ *
+ * @description:
+ * Retrieve the type of the input face, CID keyed or not. In
+ * constrast to the @FT_IS_CID_KEYED macro this function returns
+ * successfully also for CID-keyed fonts in an SNFT wrapper.
+ *
+ * @input:
+ * face ::
+ * A handle to the input face.
+ *
+ * @output:
+ * is_cid ::
+ * The type of the face as an @FT_Bool.
+ *
+ * @return:
+ * FreeType error code. 0~means success.
+ *
+ * @note:
+ * This function only works with CID faces and OpenType fonts,
+ * returning an error otherwise.
+ *
+ * @since:
+ * 2.3.9
+ */
+ FT_EXPORT( FT_Error )
+ FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
+ FT_Bool *is_cid );
+
+
+ /**********************************************************************
+ *
+ * @function:
+ * FT_Get_CID_From_Glyph_Index
+ *
+ * @description:
+ * Retrieve the CID of the input glyph index.
+ *
+ * @input:
+ * face ::
+ * A handle to the input face.
+ *
+ * glyph_index ::
+ * The input glyph index.
+ *
+ * @output:
+ * cid ::
+ * The CID as an @FT_UInt.
+ *
+ * @return:
+ * FreeType error code. 0~means success.
+ *
+ * @note:
+ * This function only works with CID faces and OpenType fonts,
+ * returning an error otherwise.
+ *
+ * @since:
+ * 2.3.9
+ */
+ FT_EXPORT( FT_Error )
+ FT_Get_CID_From_Glyph_Index( FT_Face face,
+ FT_UInt glyph_index,
+ FT_UInt *cid );
+
/* */
FT_END_HEADER
diff --git a/src/3rdparty/freetype/include/freetype/ftgasp.h b/src/3rdparty/freetype/include/freetype/ftgasp.h
index 2692c31..91a769e 100644
--- a/src/3rdparty/freetype/include/freetype/ftgasp.h
+++ b/src/3rdparty/freetype/include/freetype/ftgasp.h
@@ -22,6 +22,13 @@
#include <ft2build.h>
#include FT_FREETYPE_H
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
+
/***************************************************************************
*
* @section:
@@ -31,11 +38,11 @@
* Gasp Table
*
* @abstract:
- * Retrieving TrueType `gasp' table entries
+ * Retrieving TrueType `gasp' table entries.
*
* @description:
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType
- * font for specific entries in their `gasp' table, if any. This is
+ * font for specific entries in its `gasp' table, if any. This is
* mainly useful when implementing native TrueType hinting with the
* bytecode interpreter to duplicate the Windows text rendering results.
*/
diff --git a/src/3rdparty/freetype/include/freetype/ftglyph.h b/src/3rdparty/freetype/include/freetype/ftglyph.h
index 35574ca..c3c5733 100644
--- a/src/3rdparty/freetype/include/freetype/ftglyph.h
+++ b/src/3rdparty/freetype/include/freetype/ftglyph.h
@@ -4,7 +4,7 @@
/* */
/* FreeType convenience functions to handle glyphs (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -145,7 +145,7 @@ FT_BEGIN_HEADER
/* */
/* top :: The top-side bearing, i.e., the vertical distance from */
/* the current pen position to the top border of the glyph */
- /* bitmap. This distance is positive for upwards-y! */
+ /* bitmap. This distance is positive for upwards~y! */
/* */
/* bitmap :: A descriptor for the bitmap. */
/* */
@@ -194,7 +194,7 @@ FT_BEGIN_HEADER
/* outline :: A descriptor for the outline. */
/* */
/* <Note> */
- /* You can typecast a @FT_Glyph to @FT_OutlineGlyph if you have */
+ /* You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have */
/* `glyph->format == FT_GLYPH_FORMAT_OUTLINE'. This lets you access */
/* the outline's content easily. */
/* */
@@ -219,7 +219,8 @@ FT_BEGIN_HEADER
/* FT_Get_Glyph */
/* */
/* <Description> */
- /* A function used to extract a glyph image from a slot. */
+ /* A function used to extract a glyph image from a slot. Note that */
+ /* the created @FT_Glyph object must be released with @FT_Done_Glyph. */
/* */
/* <Input> */
/* slot :: A handle to the source glyph slot. */
@@ -228,7 +229,7 @@ FT_BEGIN_HEADER
/* aglyph :: A handle to the glyph object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Glyph( FT_GlyphSlot slot,
@@ -248,11 +249,11 @@ FT_BEGIN_HEADER
/* source :: A handle to the source glyph object. */
/* */
/* <Output> */
- /* target :: A handle to the target glyph object. 0 in case of */
+ /* target :: A handle to the target glyph object. 0~in case of */
/* error. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Glyph_Copy( FT_Glyph source,
@@ -265,7 +266,7 @@ FT_BEGIN_HEADER
/* FT_Glyph_Transform */
/* */
/* <Description> */
- /* Transforms a glyph image if its format is scalable. */
+ /* Transform a glyph image if its format is scalable. */
/* */
/* <InOut> */
/* glyph :: A handle to the target glyph object. */
@@ -375,7 +376,7 @@ FT_BEGIN_HEADER
/* expressed in 1/64th of pixels if it is grid-fitted. */
/* */
/* <Note> */
- /* Coordinates are relative to the glyph origin, using the Y-upwards */
+ /* Coordinates are relative to the glyph origin, using the y~upwards */
/* convention. */
/* */
/* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */
@@ -421,17 +422,17 @@ FT_BEGIN_HEADER
/* FT_Glyph_To_Bitmap */
/* */
/* <Description> */
- /* Converts a given glyph object to a bitmap glyph object. */
+ /* Convert a given glyph object to a bitmap glyph object. */
/* */
/* <InOut> */
/* the_glyph :: A pointer to a handle to the target glyph. */
/* */
/* <Input> */
- /* render_mode :: An enumeration that describe how the data is */
+ /* render_mode :: An enumeration that describes how the data is */
/* rendered. */
/* */
/* origin :: A pointer to a vector used to translate the glyph */
- /* image before rendering. Can be 0 (if no */
+ /* image before rendering. Can be~0 (if no */
/* translation). The origin is expressed in */
/* 26.6 pixels. */
/* */
@@ -440,15 +441,17 @@ FT_BEGIN_HEADER
/* never destroyed in case of error. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
+ /* This function does nothing if the glyph format isn't scalable. */
+ /* */
/* The glyph image is translated with the `origin' vector before */
/* rendering. */
/* */
/* The first parameter is a pointer to an @FT_Glyph handle, that will */
- /* be replaced by this function. Typically, you would use (omitting */
- /* error handling): */
+ /* be _replaced_ by this function (with newly allocated data). */
+ /* Typically, you would use (omitting error handling): */
/* */
/* */
/* { */
@@ -462,12 +465,12 @@ FT_BEGIN_HEADER
/* // extract glyph image */
/* error = FT_Get_Glyph( face->glyph, &glyph ); */
/* */
- /* // convert to a bitmap (default render mode + destroy old) */
+ /* // convert to a bitmap (default render mode + destroying old) */
/* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */
/* { */
/* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_DEFAULT, */
/* 0, 1 ); */
- /* if ( error ) // glyph unchanged */
+ /* if ( error ) // `glyph' unchanged */
/* ... */
/* } */
/* */
@@ -482,7 +485,42 @@ FT_BEGIN_HEADER
/* } */
/* */
/* */
- /* This function does nothing if the glyph format isn't scalable. */
+ /* Here another example, again without error handling: */
+ /* */
+ /* */
+ /* { */
+ /* FT_Glyph glyphs[MAX_GLYPHS] */
+ /* */
+ /* */
+ /* ... */
+ /* */
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
+ /* error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || */
+ /* FT_Get_Glyph ( face->glyph, &glyph[idx] ); */
+ /* */
+ /* ... */
+ /* */
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
+ /* { */
+ /* FT_Glyph bitmap = glyphs[idx]; */
+ /* */
+ /* */
+ /* ... */
+ /* */
+ /* // after this call, `bitmap' no longer points into */
+ /* // the `glyphs' array (and the old value isn't destroyed) */
+ /* FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); */
+ /* */
+ /* ... */
+ /* */
+ /* FT_Done_Glyph( bitmap ); */
+ /* } */
+ /* */
+ /* ... */
+ /* */
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
+ /* FT_Done_Glyph( glyphs[idx] ); */
+ /* } */
/* */
FT_EXPORT( FT_Error )
FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
@@ -497,7 +535,7 @@ FT_BEGIN_HEADER
/* FT_Done_Glyph */
/* */
/* <Description> */
- /* Destroys a given glyph. */
+ /* Destroy a given glyph. */
/* */
/* <Input> */
/* glyph :: A handle to the target glyph object. */
@@ -524,7 +562,7 @@ FT_BEGIN_HEADER
/* FT_Matrix_Multiply */
/* */
/* <Description> */
- /* Performs the matrix operation `b = a*b'. */
+ /* Perform the matrix operation `b = a*b'. */
/* */
/* <Input> */
/* a :: A pointer to matrix `a'. */
@@ -546,14 +584,14 @@ FT_BEGIN_HEADER
/* FT_Matrix_Invert */
/* */
/* <Description> */
- /* Inverts a 2x2 matrix. Returns an error if it can't be inverted. */
+ /* Invert a 2x2 matrix. Return an error if it can't be inverted. */
/* */
/* <InOut> */
/* matrix :: A pointer to the target matrix. Remains untouched in */
/* case of error. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix );
diff --git a/src/3rdparty/freetype/include/freetype/ftgxval.h b/src/3rdparty/freetype/include/freetype/ftgxval.h
index c7ea861..497015c 100644
--- a/src/3rdparty/freetype/include/freetype/ftgxval.h
+++ b/src/3rdparty/freetype/include/freetype/ftgxval.h
@@ -202,7 +202,7 @@ FT_BEGIN_HEADER
* The array itself must be allocated by a client.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function only works with TrueTypeGX fonts, returning an error
@@ -285,14 +285,14 @@ FT_BEGIN_HEADER
* FT_ClassicKern_Validate
*
* @description:
- * Validate classic (16bit format) kern table to assure that the offsets
+ * Validate classic (16-bit format) kern table to assure that the offsets
* and indices are valid. The idea is that a higher-level library which
* actually does the text layout can access those tables without error
* checking (which can be quite time consuming).
*
* The `kern' table validator in @FT_TrueTypeGX_Validate deals with both
- * the new 32bit format and the classic 16bit format, while
- * FT_ClassicKern_Validate only supports the classic 16bit format.
+ * the new 32-bit format and the classic 16-bit format, while
+ * FT_ClassicKern_Validate only supports the classic 16-bit format.
*
* @input:
* face ::
@@ -307,7 +307,7 @@ FT_BEGIN_HEADER
* A pointer to the kern table.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* After use, the application should deallocate the buffers pointed to by
diff --git a/src/3rdparty/freetype/include/freetype/ftgzip.h b/src/3rdparty/freetype/include/freetype/ftgzip.h
index 9893437..acbc4f0 100644
--- a/src/3rdparty/freetype/include/freetype/ftgzip.h
+++ b/src/3rdparty/freetype/include/freetype/ftgzip.h
@@ -66,7 +66,7 @@ FT_BEGIN_HEADER
* The source stream.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The source stream must be opened _before_ calling this function.
diff --git a/src/3rdparty/freetype/include/freetype/ftimage.h b/src/3rdparty/freetype/include/freetype/ftimage.h
index ccfda37..25a9b1b 100644
--- a/src/3rdparty/freetype/include/freetype/ftimage.h
+++ b/src/3rdparty/freetype/include/freetype/ftimage.h
@@ -53,7 +53,7 @@ FT_BEGIN_HEADER
/* <Description> */
/* The type FT_Pos is a 32-bit integer used to store vectorial */
/* coordinates. Depending on the context, these can represent */
- /* distances in integer font units, or 16,16, or 26.6 fixed float */
+ /* distances in integer font units, or 16.16, or 26.6 fixed float */
/* pixel coordinates. */
/* */
typedef signed long FT_Pos;
@@ -119,39 +119,40 @@ FT_BEGIN_HEADER
/* */
/* <Values> */
/* FT_PIXEL_MODE_NONE :: */
- /* Value 0 is reserved. */
+ /* Value~0 is reserved. */
/* */
/* FT_PIXEL_MODE_MONO :: */
- /* A monochrome bitmap, using 1 bit per pixel. Note that pixels */
+ /* A monochrome bitmap, using 1~bit per pixel. Note that pixels */
/* are stored in most-significant order (MSB), which means that */
/* the left-most pixel in a byte has value 128. */
/* */
/* FT_PIXEL_MODE_GRAY :: */
/* An 8-bit bitmap, generally used to represent anti-aliased glyph */
/* images. Each pixel is stored in one byte. Note that the number */
- /* of value `gray' levels is stored in the `num_bytes' field of */
- /* the @FT_Bitmap structure (it generally is 256). */
+ /* of `gray' levels is stored in the `num_grays' field of the */
+ /* @FT_Bitmap structure (it generally is 256). */
/* */
/* FT_PIXEL_MODE_GRAY2 :: */
- /* A 2-bit/pixel bitmap, used to represent embedded anti-aliased */
- /* bitmaps in font files according to the OpenType specification. */
- /* We haven't found a single font using this format, however. */
+ /* A 2-bit per pixel bitmap, used to represent embedded */
+ /* anti-aliased bitmaps in font files according to the OpenType */
+ /* specification. We haven't found a single font using this */
+ /* format, however. */
/* */
/* FT_PIXEL_MODE_GRAY4 :: */
- /* A 4-bit/pixel bitmap, used to represent embedded anti-aliased */
+ /* A 4-bit per pixel bitmap, representing embedded anti-aliased */
/* bitmaps in font files according to the OpenType specification. */
/* We haven't found a single font using this format, however. */
/* */
/* FT_PIXEL_MODE_LCD :: */
- /* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */
- /* images used for display on LCD displays; the bitmap is three */
- /* times wider than the original glyph image. See also */
+ /* An 8-bit bitmap, representing RGB or BGR decimated glyph images */
+ /* used for display on LCD displays; the bitmap is three times */
+ /* wider than the original glyph image. See also */
/* @FT_RENDER_MODE_LCD. */
/* */
/* FT_PIXEL_MODE_LCD_V :: */
- /* An 8-bit bitmap, used to represent RGB or BGR decimated glyph */
- /* images used for display on rotated LCD displays; the bitmap */
- /* is three times taller than the original glyph image. See also */
+ /* An 8-bit bitmap, representing RGB or BGR decimated glyph images */
+ /* used for display on rotated LCD displays; the bitmap is three */
+ /* times taller than the original glyph image. See also */
/* @FT_RENDER_MODE_LCD_V. */
/* */
typedef enum FT_Pixel_Mode_
@@ -207,10 +208,10 @@ FT_BEGIN_HEADER
/* used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */
/* */
/* <Values> */
- /* ft_palette_mode_rgb :: The palette is an array of 3-bytes RGB */
+ /* ft_palette_mode_rgb :: The palette is an array of 3-byte RGB */
/* records. */
/* */
- /* ft_palette_mode_rgba :: The palette is an array of 4-bytes RGBA */
+ /* ft_palette_mode_rgba :: The palette is an array of 4-byte RGBA */
/* records. */
/* */
/* <Note> */
@@ -317,11 +318,11 @@ FT_BEGIN_HEADER
/* elements, giving the outline's point coordinates. */
/* */
/* tags :: A pointer to an array of `n_points' chars, giving */
- /* each outline point's type. If bit 0 is unset, the */
+ /* each outline point's type. If bit~0 is unset, the */
/* point is `off' the curve, i.e., a Bezier control */
/* point, while it is `on' when set. */
/* */
- /* Bit 1 is meaningful for `off' points only. If set, */
+ /* Bit~1 is meaningful for `off' points only. If set, */
/* it indicates a third-order Bezier arc control point; */
/* and a second-order control point if unset. */
/* */
@@ -352,67 +353,73 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Enum> */
- /* FT_OUTLINE_FLAGS */
+ /* FT_OUTLINE_FLAGS */
/* */
/* <Description> */
/* A list of bit-field constants use for the flags in an outline's */
/* `flags' field. */
/* */
/* <Values> */
- /* FT_OUTLINE_NONE :: Value 0 is reserved. */
- /* */
- /* FT_OUTLINE_OWNER :: If set, this flag indicates that the */
- /* outline's field arrays (i.e., */
- /* `points', `flags' & `contours') are */
- /* `owned' by the outline object, and */
- /* should thus be freed when it is */
- /* destroyed. */
- /* */
- /* FT_OUTLINE_EVEN_ODD_FILL :: By default, outlines are filled using */
- /* the non-zero winding rule. If set to */
- /* 1, the outline will be filled using */
- /* the even-odd fill rule (only works */
- /* with the smooth raster). */
- /* */
- /* FT_OUTLINE_REVERSE_FILL :: By default, outside contours of an */
- /* outline are oriented in clock-wise */
- /* direction, as defined in the TrueType */
- /* specification. This flag is set if */
- /* the outline uses the opposite */
- /* direction (typically for Type 1 */
- /* fonts). This flag is ignored by the */
- /* scan-converter. */
- /* */
- /* FT_OUTLINE_IGNORE_DROPOUTS :: By default, the scan converter will */
- /* try to detect drop-outs in an outline */
- /* and correct the glyph bitmap to */
- /* ensure consistent shape continuity. */
- /* If set, this flag hints the scan-line */
- /* converter to ignore such cases. */
- /* */
- /* FT_OUTLINE_HIGH_PRECISION :: This flag indicates that the */
- /* scan-line converter should try to */
- /* convert this outline to bitmaps with */
- /* the highest possible quality. It is */
- /* typically set for small character */
- /* sizes. Note that this is only a */
- /* hint, that might be completely */
- /* ignored by a given scan-converter. */
- /* */
- /* FT_OUTLINE_SINGLE_PASS :: This flag is set to force a given */
- /* scan-converter to only use a single */
- /* pass over the outline to render a */
- /* bitmap glyph image. Normally, it is */
- /* set for very large character sizes. */
- /* It is only a hint, that might be */
- /* completely ignored by a given */
- /* scan-converter. */
+ /* FT_OUTLINE_NONE :: */
+ /* Value~0 is reserved. */
+ /* */
+ /* FT_OUTLINE_OWNER :: */
+ /* If set, this flag indicates that the outline's field arrays */
+ /* (i.e., `points', `flags', and `contours') are `owned' by the */
+ /* outline object, and should thus be freed when it is destroyed. */
+ /* */
+ /* FT_OUTLINE_EVEN_ODD_FILL :: */
+ /* By default, outlines are filled using the non-zero winding rule. */
+ /* If set to 1, the outline will be filled using the even-odd fill */
+ /* rule (only works with the smooth raster). */
+ /* */
+ /* FT_OUTLINE_REVERSE_FILL :: */
+ /* By default, outside contours of an outline are oriented in */
+ /* clock-wise direction, as defined in the TrueType specification. */
+ /* This flag is set if the outline uses the opposite direction */
+ /* (typically for Type~1 fonts). This flag is ignored by the scan */
+ /* converter. */
+ /* */
+ /* FT_OUTLINE_IGNORE_DROPOUTS :: */
+ /* By default, the scan converter will try to detect drop-outs in */
+ /* an outline and correct the glyph bitmap to ensure consistent */
+ /* shape continuity. If set, this flag hints the scan-line */
+ /* converter to ignore such cases. */
+ /* */
+ /* FT_OUTLINE_SMART_DROPOUTS :: */
+ /* Select smart dropout control. If unset, use simple dropout */
+ /* control. Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. */
+ /* */
+ /* FT_OUTLINE_INCLUDE_STUBS :: */
+ /* If set, turn pixels on for `stubs', otherwise exclude them. */
+ /* Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. */
+ /* */
+ /* FT_OUTLINE_HIGH_PRECISION :: */
+ /* This flag indicates that the scan-line converter should try to */
+ /* convert this outline to bitmaps with the highest possible */
+ /* quality. It is typically set for small character sizes. Note */
+ /* that this is only a hint that might be completely ignored by a */
+ /* given scan-converter. */
+ /* */
+ /* FT_OUTLINE_SINGLE_PASS :: */
+ /* This flag is set to force a given scan-converter to only use a */
+ /* single pass over the outline to render a bitmap glyph image. */
+ /* Normally, it is set for very large character sizes. It is only */
+ /* a hint that might be completely ignored by a given */
+ /* scan-converter. */
+ /* */
+ /* <Note> */
+ /* Please refer to the description of the `SCANTYPE' instruction in */
+ /* the OpenType specification (in file `ttinst1.doc') how simple */
+ /* drop-outs, smart drop-outs, and stubs are defined. */
/* */
#define FT_OUTLINE_NONE 0x0
#define FT_OUTLINE_OWNER 0x1
#define FT_OUTLINE_EVEN_ODD_FILL 0x2
#define FT_OUTLINE_REVERSE_FILL 0x4
#define FT_OUTLINE_IGNORE_DROPOUTS 0x8
+#define FT_OUTLINE_SMART_DROPOUTS 0x10
+#define FT_OUTLINE_INCLUDE_STUBS 0x20
#define FT_OUTLINE_HIGH_PRECISION 0x100
#define FT_OUTLINE_SINGLE_PASS 0x200
@@ -483,7 +490,7 @@ FT_BEGIN_HEADER
/* decomposition function. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
typedef int
(*FT_Outline_MoveToFunc)( const FT_Vector* to,
@@ -510,7 +517,7 @@ FT_BEGIN_HEADER
/* decomposition function. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
typedef int
(*FT_Outline_LineToFunc)( const FT_Vector* to,
@@ -541,7 +548,7 @@ FT_BEGIN_HEADER
/* the decomposition function. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
typedef int
(*FT_Outline_ConicToFunc)( const FT_Vector* control,
@@ -573,7 +580,7 @@ FT_BEGIN_HEADER
/* the decomposition function. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
typedef int
(*FT_Outline_CubicToFunc)( const FT_Vector* control1,
@@ -619,7 +626,7 @@ FT_BEGIN_HEADER
/* y' = (x << shift) - delta */
/* } */
/* */
- /* Set the value of `shift' and `delta' to 0 to get the original */
+ /* Set the value of `shift' and `delta' to~0 to get the original */
/* point coordinates. */
/* */
typedef struct FT_Outline_Funcs_
@@ -652,7 +659,7 @@ FT_BEGIN_HEADER
/* This macro converts four-letter tags to an unsigned long type. */
/* */
/* <Note> */
- /* Since many 16bit compilers don't like 32bit enumerations, you */
+ /* Since many 16-bit compilers don't like 32-bit enumerations, you */
/* should redefine this macro in case of problems to something like */
/* this: */
/* */
@@ -684,7 +691,7 @@ FT_BEGIN_HEADER
/* */
/* <Values> */
/* FT_GLYPH_FORMAT_NONE :: */
- /* The value 0 is reserved. */
+ /* The value~0 is reserved. */
/* */
/* FT_GLYPH_FORMAT_COMPOSITE :: */
/* The glyph image is a composite of several other images. This */
@@ -704,7 +711,7 @@ FT_BEGIN_HEADER
/* */
/* FT_GLYPH_FORMAT_PLOTTER :: */
/* The glyph image is a vectorial path with no inside and outside */
- /* contours. Some Type 1 fonts, like those in the Hershey family, */
+ /* contours. Some Type~1 fonts, like those in the Hershey family, */
/* contain glyphs in this format. These are described as */
/* @FT_Outline, but FreeType isn't currently capable of rendering */
/* them correctly. */
@@ -816,10 +823,11 @@ FT_BEGIN_HEADER
/* */
/* <Note> */
/* This structure is used by the span drawing callback type named */
- /* @FT_SpanFunc which takes the y-coordinate of the span as a */
+ /* @FT_SpanFunc which takes the y~coordinate of the span as a */
/* a parameter. */
/* */
- /* The coverage value is always between 0 and 255. */
+ /* The coverage value is always between 0 and 255. If you want less */
+ /* gray values, the callback function has to reduce them. */
/* */
typedef struct FT_Span_
{
@@ -841,7 +849,7 @@ FT_BEGIN_HEADER
/* spans on each scan line. */
/* */
/* <Input> */
- /* y :: The scanline's y-coordinate. */
+ /* y :: The scanline's y~coordinate. */
/* */
/* count :: The number of spans to draw on this scanline. */
/* */
@@ -858,8 +866,8 @@ FT_BEGIN_HEADER
/* */
/* Note that the `count' field cannot be greater than a fixed value */
/* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */
- /* `ftoption.h'. By default, this value is set to 32, which means */
- /* that if there are more than 32 spans on a given scanline, the */
+ /* `ftoption.h'. By default, this value is set to~32, which means */
+ /* that if there are more than 32~spans on a given scanline, the */
/* callback is called several times with the same `y' parameter in */
/* order to draw all callbacks. */
/* */
@@ -889,14 +897,14 @@ FT_BEGIN_HEADER
/* per-se the TrueType spec. */
/* */
/* <Input> */
- /* y :: The pixel's y-coordinate. */
+ /* y :: The pixel's y~coordinate. */
/* */
- /* x :: The pixel's x-coordinate. */
+ /* x :: The pixel's x~coordinate. */
/* */
/* user :: User-supplied data that is passed to the callback. */
/* */
/* <Return> */
- /* 1 if the pixel is `set', 0 otherwise. */
+ /* 1~if the pixel is `set', 0~otherwise. */
/* */
typedef int
(*FT_Raster_BitTest_Func)( int y,
@@ -917,14 +925,14 @@ FT_BEGIN_HEADER
/* drop-out control according to the TrueType specification. */
/* */
/* <Input> */
- /* y :: The pixel's y-coordinate. */
+ /* y :: The pixel's y~coordinate. */
/* */
- /* x :: The pixel's x-coordinate. */
+ /* x :: The pixel's x~coordinate. */
/* */
/* user :: User-supplied data that is passed to the callback. */
/* */
/* <Return> */
- /* 1 if the pixel is `set', 0 otherwise. */
+ /* 1~if the pixel is `set', 0~otherwise. */
/* */
typedef void
(*FT_Raster_BitSet_Func)( int y,
@@ -1064,7 +1072,7 @@ FT_BEGIN_HEADER
/* raster :: A handle to the new raster object. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
/* <Note> */
/* The `memory' parameter is a typeless pointer in order to avoid */
@@ -1164,8 +1172,8 @@ FT_BEGIN_HEADER
/* FT_Raster_RenderFunc */
/* */
/* <Description> */
- /* Invokes a given raster to scan-convert a given glyph image into a */
- /* target bitmap. */
+ /* Invoke a given raster to scan-convert a given glyph image into a */
+ /* target bitmap. */
/* */
/* <Input> */
/* raster :: A handle to the raster object. */
@@ -1174,7 +1182,7 @@ FT_BEGIN_HEADER
/* store the rendering parameters. */
/* */
/* <Return> */
- /* Error code. 0 means success. */
+ /* Error code. 0~means success. */
/* */
/* <Note> */
/* The exact format of the source image depends on the raster's glyph */
diff --git a/src/3rdparty/freetype/include/freetype/ftincrem.h b/src/3rdparty/freetype/include/freetype/ftincrem.h
index 6dd2f55..96abede 100644
--- a/src/3rdparty/freetype/include/freetype/ftincrem.h
+++ b/src/3rdparty/freetype/include/freetype/ftincrem.h
@@ -49,7 +49,7 @@ FT_BEGIN_HEADER
*
* Apart from that, all other tables are loaded normally from the font
* file. This mode is useful when FreeType is used within another
- * engine, e.g., a Postscript Imaging Processor.
+ * engine, e.g., a PostScript Imaging Processor.
*
* To enable this mode, you must use @FT_Open_Face, passing an
* @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
@@ -67,7 +67,7 @@ FT_BEGIN_HEADER
* @description:
* An opaque type describing a user-provided object used to implement
* `incremental' glyph loading within FreeType. This is used to support
- * embedded fonts in certain environments (e.g., Postscript interpreters),
+ * embedded fonts in certain environments (e.g., PostScript interpreters),
* where the glyph data isn't in the font file, or must be overridden by
* different values.
*
@@ -142,7 +142,7 @@ FT_BEGIN_HEADER
*
* Note that the format of the glyph's data bytes depends on the font
* file format. For TrueType, it must correspond to the raw bytes within
- * the `glyf' table. For Postscript formats, it must correspond to the
+ * the `glyf' table. For PostScript formats, it must correspond to the
* *unencrypted* charstring bytes, without any `lenIV' header. It is
* undefined for any other format.
*
@@ -160,7 +160,7 @@ FT_BEGIN_HEADER
* accessed as a read-only byte block).
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* If this function returns successfully the method
diff --git a/src/3rdparty/freetype/include/freetype/ftlcdfil.h b/src/3rdparty/freetype/include/freetype/ftlcdfil.h
index 01d9780..c6201b3 100644
--- a/src/3rdparty/freetype/include/freetype/ftlcdfil.h
+++ b/src/3rdparty/freetype/include/freetype/ftlcdfil.h
@@ -23,6 +23,12 @@
#include <ft2build.h>
#include FT_FREETYPE_H
+#ifdef FREETYPE_H
+#error "freetype.h of FreeType 1 has been loaded!"
+#error "Please fix the directory search order for header files"
+#error "so that freetype.h of FreeType 2 is found first."
+#endif
+
FT_BEGIN_HEADER
@@ -119,7 +125,7 @@ FT_BEGIN_HEADER
* well on most LCD screens.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This feature is always disabled by default. Clients must make an
@@ -141,8 +147,8 @@ FT_BEGIN_HEADER
* If this feature is activated, the dimensions of LCD glyph bitmaps are
* either larger or taller than the dimensions of the corresponding
* outline with regards to the pixel grid. For example, for
- * @FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and
- * up to 3 pixels to the right.
+ * @FT_RENDER_MODE_LCD, the filter adds up to 3~pixels to the left, and
+ * up to 3~pixels to the right.
*
* The bitmap offset values are adjusted correctly, so clients shouldn't
* need to modify their layout and glyph positioning code when enabling
diff --git a/src/3rdparty/freetype/include/freetype/ftlist.h b/src/3rdparty/freetype/include/freetype/ftlist.h
index f3223ee..93b05fc 100644
--- a/src/3rdparty/freetype/include/freetype/ftlist.h
+++ b/src/3rdparty/freetype/include/freetype/ftlist.h
@@ -81,7 +81,7 @@ FT_BEGIN_HEADER
/* FT_List_Find */
/* */
/* <Description> */
- /* Finds the list node for a given listed object. */
+ /* Find the list node for a given listed object. */
/* */
/* <Input> */
/* list :: A pointer to the parent list. */
@@ -101,7 +101,7 @@ FT_BEGIN_HEADER
/* FT_List_Add */
/* */
/* <Description> */
- /* Appends an element to the end of a list. */
+ /* Append an element to the end of a list. */
/* */
/* <InOut> */
/* list :: A pointer to the parent list. */
@@ -118,7 +118,7 @@ FT_BEGIN_HEADER
/* FT_List_Insert */
/* */
/* <Description> */
- /* Inserts an element at the head of a list. */
+ /* Insert an element at the head of a list. */
/* */
/* <InOut> */
/* list :: A pointer to parent list. */
@@ -135,7 +135,7 @@ FT_BEGIN_HEADER
/* FT_List_Remove */
/* */
/* <Description> */
- /* Removes a node from a list. This function doesn't check whether */
+ /* Remove a node from a list. This function doesn't check whether */
/* the node is in the list! */
/* */
/* <Input> */
@@ -155,7 +155,7 @@ FT_BEGIN_HEADER
/* FT_List_Up */
/* */
/* <Description> */
- /* Moves a node to the head/top of a list. Used to maintain LRU */
+ /* Move a node to the head/top of a list. Used to maintain LRU */
/* lists. */
/* */
/* <InOut> */
@@ -193,7 +193,7 @@ FT_BEGIN_HEADER
/* FT_List_Iterate */
/* */
/* <Description> */
- /* Parses a list and calls a given iterator function on each element. */
+ /* Parse a list and calls a given iterator function on each element. */
/* Note that parsing is stopped as soon as one of the iterator calls */
/* returns a non-zero value. */
/* */
@@ -242,7 +242,7 @@ FT_BEGIN_HEADER
/* FT_List_Finalize */
/* */
/* <Description> */
- /* Destroys all elements in the list as well as the list itself. */
+ /* Destroy all elements in the list as well as the list itself. */
/* */
/* <Input> */
/* list :: A handle to the list. */
diff --git a/src/3rdparty/freetype/include/freetype/ftlzw.h b/src/3rdparty/freetype/include/freetype/ftlzw.h
index d950653..00d4016 100644
--- a/src/3rdparty/freetype/include/freetype/ftlzw.h
+++ b/src/3rdparty/freetype/include/freetype/ftlzw.h
@@ -63,7 +63,7 @@ FT_BEGIN_HEADER
* source :: The source stream.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The source stream must be opened _before_ calling this function.
diff --git a/src/3rdparty/freetype/include/freetype/ftmac.h b/src/3rdparty/freetype/include/freetype/ftmac.h
index 1752d13..ab5bab5 100644
--- a/src/3rdparty/freetype/include/freetype/ftmac.h
+++ b/src/3rdparty/freetype/include/freetype/ftmac.h
@@ -85,7 +85,7 @@ FT_BEGIN_HEADER
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Notes> */
/* This function can be used to create @FT_Face objects from fonts */
@@ -124,7 +124,7 @@ FT_BEGIN_HEADER
/* @FT_New_Face_From_FSSpec. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_Name( const char* fontName,
@@ -152,7 +152,7 @@ FT_BEGIN_HEADER
/* @FT_New_Face_From_FSSpec. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_ATS_Name( const char* fontName,
@@ -183,7 +183,7 @@ FT_BEGIN_HEADER
/* face_index :: Index of the face. For passing to @FT_New_Face. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_GetFilePath_From_Mac_ATS_Name( const char* fontName,
@@ -209,12 +209,12 @@ FT_BEGIN_HEADER
/* spec :: FSSpec to the font file. */
/* */
/* face_index :: The index of the face within the resource. The */
- /* first face has index 0. */
+ /* first face has index~0. */
/* <Output> */
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */
@@ -244,12 +244,12 @@ FT_BEGIN_HEADER
/* spec :: FSRef to the font file. */
/* */
/* face_index :: The index of the face within the resource. The */
- /* first face has index 0. */
+ /* first face has index~0. */
/* <Output> */
/* aface :: A handle to a new face object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */
diff --git a/src/3rdparty/freetype/include/freetype/ftmm.h b/src/3rdparty/freetype/include/freetype/ftmm.h
index a9ccfe7..3aefb9e 100644
--- a/src/3rdparty/freetype/include/freetype/ftmm.h
+++ b/src/3rdparty/freetype/include/freetype/ftmm.h
@@ -4,7 +4,7 @@
/* */
/* FreeType Multiple Master font interface (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2003, 2004, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -44,7 +44,7 @@ FT_BEGIN_HEADER
/* setting design axis coordinates. */
/* */
/* George Williams has extended this interface to make it work with */
- /* both Type 1 Multiple Masters fonts and GX distortable (var) */
+ /* both Type~1 Multiple Masters fonts and GX distortable (var) */
/* fonts. Some of these routines only work with MM fonts, others */
/* will work with both types. They are similar enough that a */
/* consistent interface makes sense. */
@@ -91,12 +91,12 @@ FT_BEGIN_HEADER
/* This structure can't be used for GX var fonts. */
/* */
/* <Fields> */
- /* num_axis :: Number of axes. Cannot exceed 4. */
+ /* num_axis :: Number of axes. Cannot exceed~4. */
/* */
/* num_designs :: Number of designs; should be normally 2^num_axis */
- /* even though the Type 1 specification strangely */
+ /* even though the Type~1 specification strangely */
/* allows for intermediate designs to be present. This */
- /* number cannot exceed 16. */
+ /* number cannot exceed~16. */
/* */
/* axis :: A table of axis descriptors. */
/* */
@@ -187,7 +187,7 @@ FT_BEGIN_HEADER
/* Some fields are specific to one format and not to the other. */
/* */
/* <Fields> */
- /* num_axis :: The number of axes. The maximum value is 4 for */
+ /* num_axis :: The number of axes. The maximum value is~4 for */
/* MM; no limit in GX. */
/* */
/* num_designs :: The number of designs; should be normally */
@@ -227,7 +227,7 @@ FT_BEGIN_HEADER
/* FT_Get_Multi_Master */
/* */
/* <Description> */
- /* Retrieves the Multiple Master descriptor of a given font. */
+ /* Retrieve the Multiple Master descriptor of a given font. */
/* */
/* This function can't be used with GX fonts. */
/* */
@@ -238,7 +238,7 @@ FT_BEGIN_HEADER
/* amaster :: The Multiple Masters descriptor. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Multi_Master( FT_Face face,
@@ -251,18 +251,18 @@ FT_BEGIN_HEADER
/* FT_Get_MM_Var */
/* */
/* <Description> */
- /* Retrieves the Multiple Master/GX var descriptor of a given font. */
+ /* Retrieve the Multiple Master/GX var descriptor of a given font. */
/* */
/* <Input> */
/* face :: A handle to the source face. */
/* */
/* <Output> */
- /* amaster :: The Multiple Masters descriptor. */
+ /* amaster :: The Multiple Masters/GX var descriptor. */
/* Allocates a data structure, which the user must free */
/* (a single call to FT_FREE will do it). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_MM_Var( FT_Face face,
@@ -290,7 +290,7 @@ FT_BEGIN_HEADER
/* coords :: An array of design coordinates. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Design_Coordinates( FT_Face face,
@@ -317,7 +317,7 @@ FT_BEGIN_HEADER
/* coords :: An array of design coordinates. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Var_Design_Coordinates( FT_Face face,
@@ -345,7 +345,7 @@ FT_BEGIN_HEADER
/* between 0 and 1.0). */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Blend_Coordinates( FT_Face face,
diff --git a/src/3rdparty/freetype/include/freetype/ftmodapi.h b/src/3rdparty/freetype/include/freetype/ftmodapi.h
index 7d813eb..b051d34 100644
--- a/src/3rdparty/freetype/include/freetype/ftmodapi.h
+++ b/src/3rdparty/freetype/include/freetype/ftmodapi.h
@@ -179,7 +179,7 @@ FT_BEGIN_HEADER
/* FT_Add_Module */
/* */
/* <Description> */
- /* Adds a new module to a given library instance. */
+ /* Add a new module to a given library instance. */
/* */
/* <InOut> */
/* library :: A handle to the library object. */
@@ -188,7 +188,7 @@ FT_BEGIN_HEADER
/* clazz :: A pointer to class descriptor for the module. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* An error will be returned if a module already exists by that name, */
@@ -205,7 +205,7 @@ FT_BEGIN_HEADER
/* FT_Get_Module */
/* */
/* <Description> */
- /* Finds a module by its name. */
+ /* Find a module by its name. */
/* */
/* <Input> */
/* library :: A handle to the library object. */
@@ -213,7 +213,7 @@ FT_BEGIN_HEADER
/* module_name :: The module's name (as an ASCII string). */
/* */
/* <Return> */
- /* A module handle. 0 if none was found. */
+ /* A module handle. 0~if none was found. */
/* */
/* <Note> */
/* FreeType's internal modules aren't documented very well, and you */
@@ -230,7 +230,7 @@ FT_BEGIN_HEADER
/* FT_Remove_Module */
/* */
/* <Description> */
- /* Removes a given module from a library instance. */
+ /* Remove a given module from a library instance. */
/* */
/* <InOut> */
/* library :: A handle to a library object. */
@@ -239,7 +239,7 @@ FT_BEGIN_HEADER
/* module :: A handle to a module object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The module object is destroyed by the function in case of success. */
@@ -266,7 +266,7 @@ FT_BEGIN_HEADER
/* alibrary :: A pointer to handle of a new library object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_New_Library( FT_Memory memory,
@@ -279,14 +279,14 @@ FT_BEGIN_HEADER
/* FT_Done_Library */
/* */
/* <Description> */
- /* Discards a given library object. This closes all drivers and */
+ /* Discard a given library object. This closes all drivers and */
/* discards all resource objects. */
/* */
/* <Input> */
/* library :: A handle to the target library. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Done_Library( FT_Library library );
@@ -303,7 +303,7 @@ FT_BEGIN_HEADER
/* FT_Set_Debug_Hook */
/* */
/* <Description> */
- /* Sets a debug hook function for debugging the interpreter of a font */
+ /* Set a debug hook function for debugging the interpreter of a font */
/* format. */
/* */
/* <InOut> */
@@ -318,7 +318,7 @@ FT_BEGIN_HEADER
/* */
/* <Note> */
/* Currently, four debug hook slots are available, but only two (for */
- /* the TrueType and the Type 1 interpreter) are defined. */
+ /* the TrueType and the Type~1 interpreter) are defined. */
/* */
/* Since the internal headers of FreeType are no longer installed, */
/* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */
@@ -336,7 +336,7 @@ FT_BEGIN_HEADER
/* FT_Add_Default_Modules */
/* */
/* <Description> */
- /* Adds the set of default drivers to a given library object. */
+ /* Add the set of default drivers to a given library object. */
/* This is only useful when you create a library object with */
/* @FT_New_Library (usually to plug a custom memory manager). */
/* */
@@ -412,7 +412,7 @@ FT_BEGIN_HEADER
* FT_Get_TrueType_Engine_Type
*
* @description:
- * Return a @FT_TrueTypeEngineType value to indicate which level of
+ * Return an @FT_TrueTypeEngineType value to indicate which level of
* the TrueType virtual machine a given library instance supports.
*
* @input:
diff --git a/src/3rdparty/freetype/include/freetype/ftotval.h b/src/3rdparty/freetype/include/freetype/ftotval.h
index 8733882..027f2e8 100644
--- a/src/3rdparty/freetype/include/freetype/ftotval.h
+++ b/src/3rdparty/freetype/include/freetype/ftotval.h
@@ -145,7 +145,7 @@ FT_BEGIN_HEADER
* A pointer to the JSTF table.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function only works with OpenType fonts, returning an error
diff --git a/src/3rdparty/freetype/include/freetype/ftoutln.h b/src/3rdparty/freetype/include/freetype/ftoutln.h
index d5b2389..ea60d43 100644
--- a/src/3rdparty/freetype/include/freetype/ftoutln.h
+++ b/src/3rdparty/freetype/include/freetype/ftoutln.h
@@ -5,7 +5,7 @@
/* Support for the FT_Outline type used to store glyph shapes of */
/* most scalable font formats (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -84,7 +84,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Decompose */
/* */
/* <Description> */
- /* Walks over an outline's structure to decompose it into individual */
+ /* Walk over an outline's structure to decompose it into individual */
/* segments and Bezier arcs. This function is also able to emit */
/* `move to' and `close to' operations to indicate the start and end */
/* of new contours in the outline. */
@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
/* <Input> */
/* outline :: A pointer to the source target. */
/* */
- /* func_interface :: A table of `emitters', i.e,. function pointers */
+ /* func_interface :: A table of `emitters', i.e., function pointers */
/* called during decomposition to indicate path */
/* operations. */
/* */
@@ -103,7 +103,7 @@ FT_BEGIN_HEADER
/* decomposition. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Outline_Decompose( FT_Outline* outline,
@@ -117,7 +117,7 @@ FT_BEGIN_HEADER
/* FT_Outline_New */
/* */
/* <Description> */
- /* Creates a new outline of a given size. */
+ /* Create a new outline of a given size. */
/* */
/* <Input> */
/* library :: A handle to the library object from where the */
@@ -130,11 +130,10 @@ FT_BEGIN_HEADER
/* numContours :: The maximal number of contours within the outline. */
/* */
/* <Output> */
- /* anoutline :: A handle to the new outline. NULL in case of */
- /* error. */
+ /* anoutline :: A handle to the new outline. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The reason why this function takes a `library' parameter is simply */
@@ -160,7 +159,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Done */
/* */
/* <Description> */
- /* Destroys an outline created with @FT_Outline_New. */
+ /* Destroy an outline created with @FT_Outline_New. */
/* */
/* <Input> */
/* library :: A handle of the library object used to allocate the */
@@ -169,7 +168,7 @@ FT_BEGIN_HEADER
/* outline :: A pointer to the outline object to be discarded. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* If the outline's `owner' field is not set, only the outline */
@@ -200,7 +199,7 @@ FT_BEGIN_HEADER
/* outline :: A handle to a source outline. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Outline_Check( FT_Outline* outline );
@@ -212,7 +211,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_CBox */
/* */
/* <Description> */
- /* Returns an outline's `control box'. The control box encloses all */
+ /* Return an outline's `control box'. The control box encloses all */
/* the outline's points, including Bezier control points. Though it */
/* coincides with the exact bounding box for most glyphs, it can be */
/* slightly larger in some situations (like when rotating an outline */
@@ -240,7 +239,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Translate */
/* */
/* <Description> */
- /* Applies a simple translation to the points of an outline. */
+ /* Apply a simple translation to the points of an outline. */
/* */
/* <InOut> */
/* outline :: A pointer to the target outline descriptor. */
@@ -262,7 +261,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Copy */
/* */
/* <Description> */
- /* Copies an outline into another one. Both objects must have the */
+ /* Copy an outline into another one. Both objects must have the */
/* same sizes (number of points & number of contours) when this */
/* function is called. */
/* */
@@ -273,7 +272,7 @@ FT_BEGIN_HEADER
/* target :: A handle to the target outline. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Outline_Copy( const FT_Outline* source,
@@ -286,7 +285,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Transform */
/* */
/* <Description> */
- /* Applies a simple 2x2 matrix to all of an outline's points. Useful */
+ /* Apply a simple 2x2 matrix to all of an outline's points. Useful */
/* for applying rotations, slanting, flipping, etc. */
/* */
/* <InOut> */
@@ -310,7 +309,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Embolden */
/* */
/* <Description> */
- /* Emboldens an outline. The new outline will be at most 4 times */
+ /* Embolden an outline. The new outline will be at most 4~times */
/* `strength' pixels wider and higher. You may think of the left and */
/* bottom borders as unchanged. */
/* */
@@ -325,7 +324,7 @@ FT_BEGIN_HEADER
/* 26.6 pixel format. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The used algorithm to increase or decrease the thickness of the */
@@ -333,6 +332,9 @@ FT_BEGIN_HEADER
/* situations like acute angles or intersections are sometimes */
/* handled incorrectly. */
/* */
+ /* If you need `better' metrics values you should call */
+ /* @FT_Outline_Get_CBox ot @FT_Outline_Get_BBox. */
+ /* */
/* Example call: */
/* */
/* { */
@@ -352,14 +354,14 @@ FT_BEGIN_HEADER
/* FT_Outline_Reverse */
/* */
/* <Description> */
- /* Reverses the drawing direction of an outline. This is used to */
+ /* Reverse the drawing direction of an outline. This is used to */
/* ensure consistent fill conventions for mirrored glyphs. */
/* */
/* <InOut> */
/* outline :: A pointer to the target outline descriptor. */
/* */
/* <Note> */
- /* This functions toggles the bit flag @FT_OUTLINE_REVERSE_FILL in */
+ /* This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in */
/* the outline's `flags' field. */
/* */
/* It shouldn't be used by a normal client application, unless it */
@@ -375,7 +377,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_Bitmap */
/* */
/* <Description> */
- /* Renders an outline within a bitmap. The outline's image is simply */
+ /* Render an outline within a bitmap. The outline's image is simply */
/* OR-ed to the target bitmap. */
/* */
/* <Input> */
@@ -387,14 +389,19 @@ FT_BEGIN_HEADER
/* abitmap :: A pointer to the target bitmap descriptor. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* This function does NOT CREATE the bitmap, it only renders an */
- /* outline image within the one you pass to it! */
+ /* outline image within the one you pass to it! Consequently, the */
+ /* various fields in `abitmap' should be set accordingly. */
/* */
/* It will use the raster corresponding to the default glyph format. */
/* */
+ /* The value of the `num_grays' field in `abitmap' is ignored. If */
+ /* you select the gray-level rasterizer, and you want less than 256 */
+ /* gray levels, you have to use @FT_Outline_Render directly. */
+ /* */
FT_EXPORT( FT_Error )
FT_Outline_Get_Bitmap( FT_Library library,
FT_Outline* outline,
@@ -407,8 +414,8 @@ FT_BEGIN_HEADER
/* FT_Outline_Render */
/* */
/* <Description> */
- /* Renders an outline within a bitmap using the current scan-convert. */
- /* This functions uses an @FT_Raster_Params structure as an argument, */
+ /* Render an outline within a bitmap using the current scan-convert. */
+ /* This function uses an @FT_Raster_Params structure as an argument, */
/* allowing advanced features like direct composition, translucency, */
/* etc. */
/* */
@@ -422,7 +429,7 @@ FT_BEGIN_HEADER
/* describe the rendering operation. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* You should know what you are doing and how @FT_Raster_Params works */
@@ -432,6 +439,11 @@ FT_BEGIN_HEADER
/* converter is called, which means that the value you give to it is */
/* actually ignored. */
/* */
+ /* The gray-level rasterizer always uses 256 gray levels. If you */
+ /* want less gray levels, you have to provide your own span callback. */
+ /* See the @FT_RASTER_FLAG_DIRECT value of the `flags' field in the */
+ /* @FT_Raster_Params structure for more details. */
+ /* */
FT_EXPORT( FT_Error )
FT_Outline_Render( FT_Library library,
FT_Outline* outline,
@@ -446,7 +458,7 @@ FT_BEGIN_HEADER
* @description:
* A list of values used to describe an outline's contour orientation.
*
- * The TrueType and Postscript specifications use different conventions
+ * The TrueType and PostScript specifications use different conventions
* to determine whether outline contours should be filled or unfilled.
*
* @values:
@@ -455,7 +467,7 @@ FT_BEGIN_HEADER
* be filled, and counter-clockwise ones must be unfilled.
*
* FT_ORIENTATION_POSTSCRIPT ::
- * According to the Postscript specification, counter-clockwise contours
+ * According to the PostScript specification, counter-clockwise contours
* must be filled, and clockwise ones must be unfilled.
*
* FT_ORIENTATION_FILL_RIGHT ::
@@ -465,7 +477,7 @@ FT_BEGIN_HEADER
*
* FT_ORIENTATION_FILL_LEFT ::
* This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to
- * remember that in Postscript, everything that is to the left of
+ * remember that in PostScript, everything that is to the left of
* the drawing direction of a contour must be filled.
*
* FT_ORIENTATION_NONE ::
diff --git a/src/3rdparty/freetype/include/freetype/ftpfr.h b/src/3rdparty/freetype/include/freetype/ftpfr.h
index e2801fd..0b7b7d4 100644
--- a/src/3rdparty/freetype/include/freetype/ftpfr.h
+++ b/src/3rdparty/freetype/include/freetype/ftpfr.h
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing PFR-specific data (specification only). */
/* */
-/* Copyright 2002, 2003, 2004, 2006 by */
+/* Copyright 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -62,8 +62,8 @@ FT_BEGIN_HEADER
*
* @output:
* aoutline_resolution ::
- * Outline resolution. This is equivalent to `face->units_per_EM'.
- * Optional (parameter can be NULL).
+ * Outline resolution. This is equivalent to `face->units_per_EM'
+ * for non-PFR fonts. Optional (parameter can be NULL).
*
* ametrics_resolution ::
* Metrics resolution. This is equivalent to `outline_resolution'
@@ -73,14 +73,14 @@ FT_BEGIN_HEADER
* A 16.16 fixed-point number used to scale distance expressed
* in metrics units to device sub-pixels. This is equivalent to
* `face->size->x_scale', but for metrics only. Optional (parameter
- * can be NULL)
+ * can be NULL).
*
* ametrics_y_scale ::
* Same as `ametrics_x_scale' but for the vertical direction.
- * optional (parameter can be NULL)
+ * optional (parameter can be NULL).
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* If the input face is not a PFR, this function will return an error.
@@ -115,7 +115,7 @@ FT_BEGIN_HEADER
* avector :: A kerning vector.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function always return distances in original PFR metrics
@@ -150,7 +150,7 @@ FT_BEGIN_HEADER
* aadvance :: The glyph advance in metrics units.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics
diff --git a/src/3rdparty/freetype/include/freetype/ftrender.h b/src/3rdparty/freetype/include/freetype/ftrender.h
index 9ed828e..41c31ea 100644
--- a/src/3rdparty/freetype/include/freetype/ftrender.h
+++ b/src/3rdparty/freetype/include/freetype/ftrender.h
@@ -167,7 +167,7 @@ FT_BEGIN_HEADER
/* FT_Get_Renderer */
/* */
/* <Description> */
- /* Retrieves the current renderer for a given glyph format. */
+ /* Retrieve the current renderer for a given glyph format. */
/* */
/* <Input> */
/* library :: A handle to the library object. */
@@ -175,7 +175,7 @@ FT_BEGIN_HEADER
/* format :: The glyph format. */
/* */
/* <Return> */
- /* A renderer handle. 0 if none found. */
+ /* A renderer handle. 0~if none found. */
/* */
/* <Note> */
/* An error will be returned if a module already exists by that name, */
@@ -195,7 +195,7 @@ FT_BEGIN_HEADER
/* FT_Set_Renderer */
/* */
/* <Description> */
- /* Sets the current renderer to use, and set additional mode. */
+ /* Set the current renderer to use, and set additional mode. */
/* */
/* <InOut> */
/* library :: A handle to the library object. */
@@ -208,7 +208,7 @@ FT_BEGIN_HEADER
/* parameters :: Additional parameters. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* In case of success, the renderer will be used to convert glyph */
diff --git a/src/3rdparty/freetype/include/freetype/ftsizes.h b/src/3rdparty/freetype/include/freetype/ftsizes.h
index 622df16..3e548cc 100644
--- a/src/3rdparty/freetype/include/freetype/ftsizes.h
+++ b/src/3rdparty/freetype/include/freetype/ftsizes.h
@@ -4,7 +4,7 @@
/* */
/* FreeType size objects management (specification). */
/* */
-/* Copyright 1996-2001, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2003, 2004, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -89,7 +89,7 @@ FT_BEGIN_HEADER
/* asize :: A handle to a new size object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* You need to call @FT_Activate_Size in order to select the new size */
@@ -115,7 +115,7 @@ FT_BEGIN_HEADER
/* size :: A handle to a target size object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Done_Size( FT_Size size );
@@ -129,8 +129,8 @@ FT_BEGIN_HEADER
/* <Description> */
/* Even though it is possible to create several size objects for a */
/* given face (see @FT_New_Size for details), functions like */
- /* @FT_Load_Glyph or @FT_Load_Char only use the last-created one to */
- /* determine the `current character pixel size'. */
+ /* @FT_Load_Glyph or @FT_Load_Char only use the one which has been */
+ /* activated last to determine the `current character pixel size'. */
/* */
/* This function can be used to `activate' a previously created size */
/* object. */
@@ -139,7 +139,7 @@ FT_BEGIN_HEADER
/* size :: A handle to a target size object. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* If `face' is the size's parent face object, this function changes */
diff --git a/src/3rdparty/freetype/include/freetype/ftsnames.h b/src/3rdparty/freetype/include/freetype/ftsnames.h
index 003cbcd..477e1e3 100644
--- a/src/3rdparty/freetype/include/freetype/ftsnames.h
+++ b/src/3rdparty/freetype/include/freetype/ftsnames.h
@@ -48,7 +48,7 @@ FT_BEGIN_HEADER
/* Access the names embedded in TrueType and OpenType files. */
/* */
/* <Description> */
- /* The TrueType and OpenType specification allow the inclusion of */
+ /* The TrueType and OpenType specifications allow the inclusion of */
/* a special `names table' in font files. This table contains */
/* textual (and internationalized) information regarding the font, */
/* like family name, copyright, version, etc. */
@@ -114,7 +114,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Name_Count */
/* */
/* <Description> */
- /* Retrieves the number of name strings in the SFNT `name' table. */
+ /* Retrieve the number of name strings in the SFNT `name' table. */
/* */
/* <Input> */
/* face :: A handle to the source face. */
@@ -132,7 +132,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Name */
/* */
/* <Description> */
- /* Retrieves a string of the SFNT `name' table for a given index. */
+ /* Retrieve a string of the SFNT `name' table for a given index. */
/* */
/* <Input> */
/* face :: A handle to the source face. */
@@ -143,7 +143,7 @@ FT_BEGIN_HEADER
/* aname :: The indexed @FT_SfntName structure. */
/* */
/* <Return> */
- /* FreeType error code. 0 means success. */
+ /* FreeType error code. 0~means success. */
/* */
/* <Note> */
/* The `string' array returned in the `aname' structure is not */
diff --git a/src/3rdparty/freetype/include/freetype/ftstroke.h b/src/3rdparty/freetype/include/freetype/ftstroke.h
index 7d85288..0c10122 100644
--- a/src/3rdparty/freetype/include/freetype/ftstroke.h
+++ b/src/3rdparty/freetype/include/freetype/ftstroke.h
@@ -4,7 +4,7 @@
/* */
/* FreeType path stroker (specification). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2008 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -171,7 +171,7 @@ FT_BEGIN_HEADER
* The source outline handle.
*
* @return:
- * The border index. @FT_STROKER_BORDER_LEFT for empty or invalid
+ * The border index. @FT_STROKER_BORDER_RIGHT for empty or invalid
* outlines.
*/
FT_EXPORT( FT_StrokerBorder )
@@ -216,7 +216,7 @@ FT_BEGIN_HEADER
* A new stroker object handle. NULL in case of error.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*/
FT_EXPORT( FT_Error )
FT_Stroker_New( FT_Library library,
@@ -249,7 +249,7 @@ FT_BEGIN_HEADER
* expressed as 16.16 fixed point value.
*
* @note:
- * The radius is expressed in the same units that the outline
+ * The radius is expressed in the same units as the outline
* coordinates.
*/
FT_EXPORT( void )
@@ -297,18 +297,18 @@ FT_BEGIN_HEADER
* The source outline.
*
* opened ::
- * A boolean. If 1, the outline is treated as an open path instead
+ * A boolean. If~1, the outline is treated as an open path instead
* of a closed one.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
- * If `opened' is 0 (the default), the outline is treated as a closed
- * path, and the stroker will generate two distinct `border' outlines.
+ * If `opened' is~0 (the default), the outline is treated as a closed
+ * path, and the stroker generates two distinct `border' outlines.
*
- * If `opened' is 1, the outline is processed as an open path, and the
- * stroker will generate a single `stroke' outline.
+ * If `opened' is~1, the outline is processed as an open path, and the
+ * stroker generates a single `stroke' outline.
*
* This function calls @FT_Stroker_Rewind automatically.
*/
@@ -334,10 +334,10 @@ FT_BEGIN_HEADER
* A pointer to the start vector.
*
* open ::
- * A boolean. If 1, the sub-path is treated as an open one.
+ * A boolean. If~1, the sub-path is treated as an open one.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function is useful when you need to stroke a path that is
@@ -362,11 +362,11 @@ FT_BEGIN_HEADER
* The target stroker handle.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* You should call this function after @FT_Stroker_BeginSubPath.
- * If the subpath was not `opened', this function will `draw' a
+ * If the subpath was not `opened', this function `draws' a
* single line segment to the start position when needed.
*/
FT_EXPORT( FT_Error )
@@ -390,7 +390,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* You should call this function between @FT_Stroker_BeginSubPath and
@@ -421,7 +421,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* You should call this function between @FT_Stroker_BeginSubPath and
@@ -456,7 +456,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* You should call this function between @FT_Stroker_BeginSubPath and
@@ -476,7 +476,7 @@ FT_BEGIN_HEADER
*
* @description:
* Call this function once you have finished parsing your paths
- * with the stroker. It will return the number of points and
+ * with the stroker. It returns the number of points and
* contours necessary to export one of the `border' or `stroke'
* outlines generated by the stroker.
*
@@ -495,7 +495,7 @@ FT_BEGIN_HEADER
* The number of contours.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* When an outline, or a sub-path, is `closed', the stroker generates
@@ -525,8 +525,8 @@ FT_BEGIN_HEADER
* export the corresponding border to your own @FT_Outline
* structure.
*
- * Note that this function will append the border points and
- * contours to your outline, but will not try to resize its
+ * Note that this function appends the border points and
+ * contours to your outline, but does not try to resize its
* arrays.
*
* @input:
@@ -583,7 +583,7 @@ FT_BEGIN_HEADER
* The number of contours.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*/
FT_EXPORT( FT_Error )
FT_Stroker_GetCounts( FT_Stroker stroker,
@@ -600,8 +600,8 @@ FT_BEGIN_HEADER
* Call this function after @FT_Stroker_GetBorderCounts to
* export the all borders to your own @FT_Outline structure.
*
- * Note that this function will append the border points and
- * contours to your outline, but will not try to resize its
+ * Note that this function appends the border points and
+ * contours to your outline, but does not try to resize its
* arrays.
*
* @input:
@@ -649,11 +649,11 @@ FT_BEGIN_HEADER
* A stroker handle.
*
* destroy ::
- * A Boolean. If 1, the source glyph object is destroyed
+ * A Boolean. If~1, the source glyph object is destroyed
* on success.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The source glyph is untouched in case of error.
@@ -682,15 +682,15 @@ FT_BEGIN_HEADER
* A stroker handle.
*
* inside ::
- * A Boolean. If 1, return the inside border, otherwise
+ * A Boolean. If~1, return the inside border, otherwise
* the outside border.
*
* destroy ::
- * A Boolean. If 1, the source glyph object is destroyed
+ * A Boolean. If~1, the source glyph object is destroyed
* on success.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The source glyph is untouched in case of error.
diff --git a/src/3rdparty/freetype/include/freetype/ftsynth.h b/src/3rdparty/freetype/include/freetype/ftsynth.h
index 36984bf..a068b79 100644
--- a/src/3rdparty/freetype/include/freetype/ftsynth.h
+++ b/src/3rdparty/freetype/include/freetype/ftsynth.h
@@ -5,7 +5,7 @@
/* FreeType synthesizing code for emboldening and slanting */
/* (specification). */
/* */
-/* Copyright 2000-2001, 2003, 2006 by */
+/* Copyright 2000-2001, 2003, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -23,7 +23,7 @@
/*************************************************************************/
/*************************************************************************/
/********* *********/
- /********* WARNING, THIS IS ALPHA CODE, THIS API *********/
+ /********* WARNING, THIS IS ALPHA CODE! THIS API *********/
/********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/
/********* FREETYPE DEVELOPMENT TEAM *********/
/********* *********/
@@ -34,6 +34,13 @@
/*************************************************************************/
+ /* Main reason for not lifting the functions in this module to a */
+ /* `standard' API is that the used parameters for emboldening and */
+ /* slanting are not configurable. Consider the functions as a */
+ /* code resource which should be copied into the application and */
+ /* adapted to the particular needs. */
+
+
#ifndef __FTSYNTH_H__
#define __FTSYNTH_H__
@@ -50,20 +57,20 @@
FT_BEGIN_HEADER
- /* Make sure slot owns slot->bitmap. */
- FT_EXPORT( FT_Error )
- FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot );
-
- /* Do not use this function directly! Copy the code to */
- /* your application and modify it to suit your need. */
+ /* Embolden a glyph by a `reasonable' value (which is highly a matter of */
+ /* taste). This function is actually a convenience function, providing */
+ /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */
+ /* */
+ /* For emboldened outlines the metrics are estimates only; if you need */
+ /* precise values you should call @FT_Outline_Get_CBox. */
FT_EXPORT( void )
FT_GlyphSlot_Embolden( FT_GlyphSlot slot );
-
+ /* Slant an outline glyph to the right by about 12 degrees. */
FT_EXPORT( void )
FT_GlyphSlot_Oblique( FT_GlyphSlot slot );
- /* */
+ /* */
FT_END_HEADER
diff --git a/src/3rdparty/freetype/include/freetype/ftsystem.h b/src/3rdparty/freetype/include/freetype/ftsystem.h
index 59cd019..a95b2c7 100644
--- a/src/3rdparty/freetype/include/freetype/ftsystem.h
+++ b/src/3rdparty/freetype/include/freetype/ftsystem.h
@@ -82,7 +82,7 @@ FT_BEGIN_HEADER
* The size in bytes to allocate.
*
* @return:
- * Address of new memory block. 0 in case of failure.
+ * Address of new memory block. 0~in case of failure.
*
*/
typedef void*
@@ -133,7 +133,7 @@ FT_BEGIN_HEADER
* The block's current address.
*
* @return:
- * New block address. 0 in case of memory shortage.
+ * New block address. 0~in case of memory shortage.
*
* @note:
* In case of error, the old block must still be available.
@@ -152,7 +152,7 @@ FT_BEGIN_HEADER
* FT_MemoryRec
*
* @description:
- * A structure used to describe a given memory manager to FreeType 2.
+ * A structure used to describe a given memory manager to FreeType~2.
*
* @fields:
* user ::
@@ -240,7 +240,7 @@ FT_BEGIN_HEADER
*
* @note:
* This function might be called to perform a seek or skip operation
- * with a `count' of 0.
+ * with a `count' of~0.
*
*/
typedef unsigned long
diff --git a/src/3rdparty/freetype/include/freetype/fttypes.h b/src/3rdparty/freetype/include/freetype/fttypes.h
index a60aa54..54f08e3 100644
--- a/src/3rdparty/freetype/include/freetype/fttypes.h
+++ b/src/3rdparty/freetype/include/freetype/fttypes.h
@@ -43,7 +43,7 @@ FT_BEGIN_HEADER
/* The basic data types defined by the library. */
/* */
/* <Description> */
- /* This section contains the basic data types defined by FreeType 2, */
+ /* This section contains the basic data types defined by FreeType~2, */
/* ranging from simple scalar types to bitmap descriptors. More */
/* font-specific structures are defined in a different section. */
/* */
@@ -99,7 +99,7 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* A typedef of unsigned char, used for simple booleans. As usual, */
- /* values 1 and 0 represent true and false, respectively. */
+ /* values 1 and~0 represent true and false, respectively. */
/* */
typedef unsigned char FT_Bool;
@@ -167,7 +167,7 @@ FT_BEGIN_HEADER
/* FT_Tag */
/* */
/* <Description> */
- /* A typedef for 32bit tags (as used in the SFNT format). */
+ /* A typedef for 32-bit tags (as used in the SFNT format). */
/* */
typedef FT_UInt32 FT_Tag;
@@ -290,7 +290,7 @@ FT_BEGIN_HEADER
/* FT_Error */
/* */
/* <Description> */
- /* The FreeType error code type. A value of 0 is always interpreted */
+ /* The FreeType error code type. A value of~0 is always interpreted */
/* as a successful operation. */
/* */
typedef int FT_Error;
@@ -313,7 +313,7 @@ FT_BEGIN_HEADER
/* FT_Offset */
/* */
/* <Description> */
- /* This is equivalent to the ANSI C `size_t' type, i.e., the largest */
+ /* This is equivalent to the ANSI~C `size_t' type, i.e., the largest */
/* _unsigned_ integer type used to express a file size or position, */
/* or a memory block size. */
/* */
@@ -326,7 +326,7 @@ FT_BEGIN_HEADER
/* FT_PtrDist */
/* */
/* <Description> */
- /* This is equivalent to the ANSI C `ptrdiff_t' type, i.e., the */
+ /* This is equivalent to the ANSI~C `ptrdiff_t' type, i.e., the */
/* largest _signed_ integer type used to express the distance */
/* between two pointers. */
/* */
@@ -413,7 +413,7 @@ FT_BEGIN_HEADER
/* FT_Generic_Finalizer */
/* */
/* <Description> */
- /* Describes a function used to destroy the `client' data of any */
+ /* Describe a function used to destroy the `client' data of any */
/* FreeType object. See the description of the @FT_Generic type for */
/* details of usage. */
/* */
@@ -470,8 +470,8 @@ FT_BEGIN_HEADER
/* TrueType tables into an unsigned long to be used within FreeType. */
/* */
/* <Note> */
- /* The produced values *must* be 32bit integers. Don't redefine this */
- /* macro. */
+ /* The produced values *must* be 32-bit integers. Don't redefine */
+ /* this macro. */
/* */
#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
( ( (FT_ULong)_x1 << 24 ) | \
diff --git a/src/3rdparty/freetype/include/freetype/ftwinfnt.h b/src/3rdparty/freetype/include/freetype/ftwinfnt.h
index 3bcf20f..9a4cf58 100644
--- a/src/3rdparty/freetype/include/freetype/ftwinfnt.h
+++ b/src/3rdparty/freetype/include/freetype/ftwinfnt.h
@@ -111,11 +111,11 @@ FT_BEGIN_HEADER
* ordering and minor deviations).
*
* FT_WinFNT_ID_CP949 ::
- * A superset of Korean Hangul KS C 5601-1987 (with different
+ * A superset of Korean Hangul KS~C 5601-1987 (with different
* ordering and minor deviations).
*
* FT_WinFNT_ID_CP950 ::
- * A superset of traditional Chinese Big 5 ETen (with different
+ * A superset of traditional Chinese Big~5 ETen (with different
* ordering and minor deviations).
*
* FT_WinFNT_ID_CP1250 ::
@@ -248,7 +248,7 @@ FT_BEGIN_HEADER
* aheader :: The WinFNT header.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* This function only works with Windows FNT faces, returning an error
diff --git a/src/3rdparty/freetype/include/freetype/ftxf86.h b/src/3rdparty/freetype/include/freetype/ftxf86.h
index ea82abb..ae9ff07 100644
--- a/src/3rdparty/freetype/include/freetype/ftxf86.h
+++ b/src/3rdparty/freetype/include/freetype/ftxf86.h
@@ -60,8 +60,8 @@ FT_BEGIN_HEADER
/* <Description> */
/* Return a string describing the format of a given face, using values */
/* which can be used as an X11 FONT_PROPERTY. Possible values are */
- /* `TrueType', `Type 1', `BDF', `PCF', `Type 42', `CID Type 1', `CFF', */
- /* `PFR', and `Windows FNT'. */
+ /* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */
+ /* `PFR', and `Windows~FNT'. */
/* */
/* <Input> */
/* face :: */
diff --git a/src/3rdparty/freetype/include/freetype/internal/ftdebug.h b/src/3rdparty/freetype/include/freetype/internal/ftdebug.h
index d40af4f..7baae35 100644
--- a/src/3rdparty/freetype/include/freetype/internal/ftdebug.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftdebug.h
@@ -4,7 +4,7 @@
/* */
/* Debugging and logging component (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2004, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2004, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -92,7 +92,7 @@ FT_BEGIN_HEADER
#else /* !FT_DEBUG_LEVEL_TRACE */
-#define FT_TRACE( level, varformat ) do ; while ( 0 ) /* nothing */
+#define FT_TRACE( level, varformat ) do { } while ( 0 ) /* nothing */
#endif /* !FT_DEBUG_LEVEL_TRACE */
@@ -178,7 +178,7 @@ FT_BEGIN_HEADER
#else /* !FT_DEBUG_LEVEL_ERROR */
-#define FT_ERROR( varformat ) do ; while ( 0 ) /* nothing */
+#define FT_ERROR( varformat ) do { } while ( 0 ) /* nothing */
#endif /* !FT_DEBUG_LEVEL_ERROR */
@@ -201,7 +201,7 @@ FT_BEGIN_HEADER
#else /* !FT_DEBUG_LEVEL_ERROR */
-#define FT_ASSERT( condition ) do ; while ( 0 )
+#define FT_ASSERT( condition ) do { } while ( 0 )
#endif /* !FT_DEBUG_LEVEL_ERROR */
diff --git a/src/3rdparty/freetype/include/freetype/internal/ftdriver.h b/src/3rdparty/freetype/include/freetype/internal/ftdriver.h
index e433e78..854abad 100644
--- a/src/3rdparty/freetype/include/freetype/internal/ftdriver.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftdriver.h
@@ -91,6 +91,7 @@ FT_BEGIN_HEADER
(*FT_CharMap_CharNextFunc)( FT_CharMap charmap,
FT_Long charcode );
+
typedef FT_Error
(*FT_Face_GetKerningFunc)( FT_Face face,
FT_UInt left_glyph,
@@ -104,11 +105,11 @@ FT_BEGIN_HEADER
typedef FT_Error
- (*FT_Face_GetAdvancesFunc)( FT_Face face,
- FT_UInt first,
- FT_UInt count,
- FT_Bool vertical,
- FT_UShort* advances );
+ (*FT_Face_GetAdvancesFunc)( FT_Face face,
+ FT_UInt first,
+ FT_UInt count,
+ FT_Int32 flags,
+ FT_Fixed* advances );
/*************************************************************************/
diff --git a/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h b/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h
index 9f47c0b..548481a 100644
--- a/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h
+++ b/src/3rdparty/freetype/include/freetype/internal/ftgloadr.h
@@ -67,11 +67,11 @@ FT_BEGIN_HEADER
typedef struct FT_GlyphLoadRec_
{
- FT_Outline outline; /* outline */
- FT_Vector* extra_points; /* extra points table */
+ FT_Outline outline; /* outline */
+ FT_Vector* extra_points; /* extra points table */
FT_Vector* extra_points2; /* second extra points table */
- FT_UInt num_subglyphs; /* number of subglyphs */
- FT_SubGlyph subglyphs; /* subglyphs */
+ FT_UInt num_subglyphs; /* number of subglyphs */
+ FT_SubGlyph subglyphs; /* subglyphs */
} FT_GlyphLoadRec, *FT_GlyphLoad;
diff --git a/src/3rdparty/freetype/include/freetype/internal/psaux.h b/src/3rdparty/freetype/include/freetype/internal/psaux.h
index 67b7a42..7fb4c99 100644
--- a/src/3rdparty/freetype/include/freetype/internal/psaux.h
+++ b/src/3rdparty/freetype/include/freetype/internal/psaux.h
@@ -5,7 +5,7 @@
/* Auxiliary functions and data structures related to PostScript fonts */
/* (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -197,6 +197,7 @@ FT_BEGIN_HEADER
{
T1_FIELD_LOCATION_CID_INFO,
T1_FIELD_LOCATION_FONT_DICT,
+ T1_FIELD_LOCATION_FONT_EXTRA,
T1_FIELD_LOCATION_FONT_INFO,
T1_FIELD_LOCATION_PRIVATE,
T1_FIELD_LOCATION_BBOX,
@@ -227,7 +228,11 @@ FT_BEGIN_HEADER
FT_UInt array_max; /* maximal number of elements for */
/* array */
FT_UInt count_offset; /* offset of element count for */
- /* arrays */
+ /* arrays; must not be zero if in */
+ /* use -- in other words, a */
+ /* `num_FOO' element must not */
+ /* start the used structure if we */
+ /* parse a `FOO' array */
FT_UInt dict; /* where we expect it */
} T1_FieldRec;
diff --git a/src/3rdparty/freetype/include/freetype/internal/services/svcid.h b/src/3rdparty/freetype/include/freetype/internal/services/svcid.h
index 47fef62..2e391f2 100644
--- a/src/3rdparty/freetype/include/freetype/internal/services/svcid.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svcid.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType CID font services (specification). */
/* */
-/* Copyright 2007 by Derek Clegg. */
+/* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -31,10 +31,19 @@ FT_BEGIN_HEADER
const char* *registry,
const char* *ordering,
FT_Int *supplement );
+ typedef FT_Error
+ (*FT_CID_GetIsInternallyCIDKeyedFunc)( FT_Face face,
+ FT_Bool *is_cid );
+ typedef FT_Error
+ (*FT_CID_GetCIDFromGlyphIndexFunc)( FT_Face face,
+ FT_UInt glyph_index,
+ FT_UInt *cid );
FT_DEFINE_SERVICE( CID )
{
FT_CID_GetRegistryOrderingSupplementFunc get_ros;
+ FT_CID_GetIsInternallyCIDKeyedFunc get_is_cid;
+ FT_CID_GetCIDFromGlyphIndexFunc get_cid_from_glyph_index;
};
/* */
diff --git a/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h b/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h
index 63f5db9..124c6f9 100644
--- a/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svpsinfo.h
@@ -4,7 +4,7 @@
/* */
/* The FreeType PostScript info service (specification). */
/* */
-/* Copyright 2003, 2004 by */
+/* Copyright 2003, 2004, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -33,6 +33,10 @@ FT_BEGIN_HEADER
(*PS_GetFontInfoFunc)( FT_Face face,
PS_FontInfoRec* afont_info );
+ typedef FT_Error
+ (*PS_GetFontExtraFunc)( FT_Face face,
+ PS_FontExtraRec* afont_extra );
+
typedef FT_Int
(*PS_HasGlyphNamesFunc)( FT_Face face );
@@ -44,6 +48,7 @@ FT_BEGIN_HEADER
FT_DEFINE_SERVICE( PsInfo )
{
PS_GetFontInfoFunc ps_get_font_info;
+ PS_GetFontExtraFunc ps_get_font_extra;
PS_HasGlyphNamesFunc ps_has_glyph_names;
PS_GetFontPrivateFunc ps_get_font_private;
};
diff --git a/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h b/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h
index 1e02d15..553ecb0 100644
--- a/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h
+++ b/src/3rdparty/freetype/include/freetype/internal/services/svttcmap.h
@@ -7,7 +7,7 @@
/* Copyright 2003 by */
/* Masatake YAMATO, Redhat K.K. */
/* */
-/* Copyright 2003 by */
+/* Copyright 2003, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -49,6 +49,13 @@ FT_BEGIN_HEADER
/* The language ID used in Mac fonts. Definitions of values are in */
/* freetype/ttnameid.h. */
/* */
+ /* format :: */
+ /* The cmap format. OpenType 1.5 defines the formats 0 (byte */
+ /* encoding table), 2~(high-byte mapping through table), 4~(segment */
+ /* mapping to delta values), 6~(trimmed table mapping), 8~(mixed */
+ /* 16-bit and 32-bit coverage), 10~(trimmed array), 12~(segmented */
+ /* coverage), and 14 (Unicode Variation Sequences). */
+ /* */
typedef struct TT_CMapInfo_
{
FT_ULong language;
diff --git a/src/3rdparty/freetype/include/freetype/internal/t1types.h b/src/3rdparty/freetype/include/freetype/internal/t1types.h
index 047c6d5..ff021b0 100644
--- a/src/3rdparty/freetype/include/freetype/internal/t1types.h
+++ b/src/3rdparty/freetype/include/freetype/internal/t1types.h
@@ -5,7 +5,7 @@
/* Basic Type1/Type2 type definitions and interface (specification */
/* only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -87,11 +87,24 @@ FT_BEGIN_HEADER
} T1_EncodingType;
+ /* used to hold extra data of PS_FontInfoRec that
+ * cannot be stored in the publicly defined structure.
+ *
+ * Note these can't be blended with multiple-masters.
+ */
+ typedef struct PS_FontExtraRec_
+ {
+ FT_UShort fs_type;
+
+ } PS_FontExtraRec;
+
+
typedef struct T1_FontRec_
{
- PS_FontInfoRec font_info; /* font info dictionary */
- PS_PrivateRec private_dict; /* private dictionary */
- FT_String* font_name; /* top-level dictionary */
+ PS_FontInfoRec font_info; /* font info dictionary */
+ PS_FontExtraRec font_extra; /* font info extra fields */
+ PS_PrivateRec private_dict; /* private dictionary */
+ FT_String* font_name; /* top-level dictionary */
T1_EncodingType encoding_type;
T1_EncodingRec encoding;
@@ -231,7 +244,10 @@ FT_BEGIN_HEADER
void* psnames;
void* psaux;
CID_FaceInfoRec cid;
+ PS_FontExtraRec font_extra;
+#if 0
void* afm_data;
+#endif
CID_Subrs subrs;
/* since version 2.1 - interface to PostScript hinter */
diff --git a/src/3rdparty/freetype/include/freetype/t1tables.h b/src/3rdparty/freetype/include/freetype/t1tables.h
index bd11f33..5e2a393 100644
--- a/src/3rdparty/freetype/include/freetype/t1tables.h
+++ b/src/3rdparty/freetype/include/freetype/t1tables.h
@@ -5,7 +5,7 @@
/* Basic Type 1/Type 2 tables definitions and interface (specification */
/* only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -43,7 +43,7 @@ FT_BEGIN_HEADER
/* Type 1 Tables */
/* */
/* <Abstract> */
- /* Type 1 (PostScript) specific font tables. */
+ /* Type~1 (PostScript) specific font tables. */
/* */
/* <Description> */
/* This section contains the definition of Type 1-specific tables, */
@@ -62,8 +62,8 @@ FT_BEGIN_HEADER
/* PS_FontInfoRec */
/* */
/* <Description> */
- /* A structure used to model a Type1/Type2 FontInfo dictionary. Note */
- /* that for Multiple Master fonts, each instance has its own */
+ /* A structure used to model a Type~1 or Type~2 FontInfo dictionary. */
+ /* Note that for Multiple Master fonts, each instance has its own */
/* FontInfo dictionary. */
/* */
typedef struct PS_FontInfoRec_
@@ -111,9 +111,9 @@ FT_BEGIN_HEADER
/* PS_PrivateRec */
/* */
/* <Description> */
- /* A structure used to model a Type1/Type2 private dictionary. Note */
- /* that for Multiple Master fonts, each instance has its own Private */
- /* dictionary. */
+ /* A structure used to model a Type~1 or Type~2 private dictionary. */
+ /* Note that for Multiple Master fonts, each instance has its own */
+ /* Private dictionary. */
/* */
typedef struct PS_PrivateRec_
{
@@ -408,7 +408,7 @@ FT_BEGIN_HEADER
* FT_Has_PS_Glyph_Names
*
* @description:
- * Return true if a given face provides reliable Postscript glyph
+ * Return true if a given face provides reliable PostScript glyph
* names. This is similar to using the @FT_HAS_GLYPH_NAMES macro,
* except that certain fonts (mostly TrueType) contain incorrect
* glyph name tables.
@@ -435,24 +435,24 @@ FT_BEGIN_HEADER
*
* @description:
* Retrieve the @PS_FontInfoRec structure corresponding to a given
- * Postscript font.
+ * PostScript font.
*
* @input:
* face ::
- * Postscript face handle.
+ * PostScript face handle.
*
* @output:
* afont_info ::
* Output font info structure pointer.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* The string pointers within the font info structure are owned by
* the face and don't need to be freed by the caller.
*
- * If the font's format is not Postscript-based, this function will
+ * If the font's format is not PostScript-based, this function will
* return the `FT_Err_Invalid_Argument' error code.
*
*/
@@ -468,25 +468,25 @@ FT_BEGIN_HEADER
*
* @description:
* Retrieve the @PS_PrivateRec structure corresponding to a given
- * Postscript font.
+ * PostScript font.
*
* @input:
* face ::
- * Postscript face handle.
+ * PostScript face handle.
*
* @output:
* afont_private ::
* Output private dictionary structure pointer.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
- * The string pointers within the font info structure are owned by
+ * The string pointers within the @PS_PrivateRec structure are owned by
* the face and don't need to be freed by the caller.
*
- * If the font's format is not Postscript-based, this function will
- * return the `FT_Err_Invalid_Argument' error code.
+ * If the font's format is not PostScript-based, this function returns
+ * the `FT_Err_Invalid_Argument' error code.
*
*/
FT_EXPORT( FT_Error )
diff --git a/src/3rdparty/freetype/include/freetype/ttnameid.h b/src/3rdparty/freetype/include/freetype/ttnameid.h
index 0cddba1..cbeac78 100644
--- a/src/3rdparty/freetype/include/freetype/ttnameid.h
+++ b/src/3rdparty/freetype/include/freetype/ttnameid.h
@@ -303,7 +303,7 @@ FT_BEGIN_HEADER
* TT_ADOBE_ID_CUSTOM ::
* Adobe custom encoding.
* TT_ADOBE_ID_LATIN_1 ::
- * Adobe Latin 1 encoding.
+ * Adobe Latin~1 encoding.
*/
#define TT_ADOBE_ID_STANDARD 0
@@ -835,16 +835,18 @@ FT_BEGIN_HEADER
/* This is new in OpenType 1.3 */
#define TT_NAME_ID_CID_FINDFONT_NAME 20
+ /* This is new in OpenType 1.5 */
+#define TT_NAME_ID_WWS_FAMILY 21
+#define TT_NAME_ID_WWS_SUBFAMILY 22
+
/*************************************************************************/
/* */
/* Bit mask values for the Unicode Ranges from the TTF `OS2 ' table. */
/* */
- /* Updated 02-Jul-2000. */
+ /* Updated 08-Nov-2008. */
/* */
- /* General Scripts Area */
-
/* Bit 0 Basic Latin */
#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */
/* Bit 1 C1 Controls and Latin-1 Supplement */
@@ -853,27 +855,44 @@ FT_BEGIN_HEADER
#define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */
/* Bit 3 Latin Extended-B */
#define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */
- /* Bit 4 IPA Extensions */
+ /* Bit 4 IPA Extensions */
+ /* Phonetic Extensions */
+ /* Phonetic Extensions Supplement */
#define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */
+ /* U+1D00-U+1D7F */
+ /* U+1D80-U+1DBF */
/* Bit 5 Spacing Modifier Letters */
+ /* Modifier Tone Letters */
#define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */
- /* Bit 6 Combining Diacritical Marks */
+ /* U+A700-U+A71F */
+ /* Bit 6 Combining Diacritical Marks */
+ /* Combining Diacritical Marks Supplement */
#define TT_UCR_COMBINING_DIACRITICS (1L << 6) /* U+0300-U+036F */
+ /* U+1DC0-U+1DFF */
/* Bit 7 Greek and Coptic */
#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */
- /* Bit 8 is reserved (was: Greek Symbols and Coptic) */
- /* Bit 9 Cyrillic + */
- /* Cyrillic Supplementary */
+ /* Bit 8 Coptic */
+#define TT_UCR_COPTIC (1L << 8) /* U+2C80-U+2CFF */
+ /* Bit 9 Cyrillic */
+ /* Cyrillic Supplement */
+ /* Cyrillic Extended-A */
+ /* Cyrillic Extended-B */
#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */
/* U+0500-U+052F */
+ /* U+2DE0-U+2DFF */
+ /* U+A640-U+A69F */
/* Bit 10 Armenian */
#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */
/* Bit 11 Hebrew */
#define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */
- /* Bit 12 is reserved (was: Hebrew Extended) */
- /* Bit 13 Arabic */
+ /* Bit 12 Vai */
+#define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */
+ /* Bit 13 Arabic */
+ /* Arabic Supplement */
#define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */
- /* Bit 14 is reserved (was: Arabic Extended) */
+ /* U+0750-U+077F */
+ /* Bit 14 NKo */
+#define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */
/* Bit 15 Devanagari */
#define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */
/* Bit 16 Bengali */
@@ -896,20 +915,26 @@ FT_BEGIN_HEADER
#define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */
/* Bit 25 Lao */
#define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */
- /* Bit 26 Georgian */
+ /* Bit 26 Georgian */
+ /* Georgian Supplement */
#define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */
- /* Bit 27 is reserved (was Georgian Extended) */
+ /* U+2D00-U+2D2F */
+ /* Bit 27 Balinese */
+#define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */
/* Bit 28 Hangul Jamo */
#define TT_UCR_HANGUL_JAMO (1L << 28) /* U+1100-U+11FF */
/* Bit 29 Latin Extended Additional */
+ /* Latin Extended-C */
+ /* Latin Extended-D */
#define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) /* U+1E00-U+1EFF */
+ /* U+2C60-U+2C7F */
+ /* U+A720-U+A7FF */
/* Bit 30 Greek Extended */
#define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */
-
- /* Symbols Area */
-
- /* Bit 31 General Punctuation */
+ /* Bit 31 General Punctuation */
+ /* Supplemental Punctuation */
#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */
+ /* U+2E00-U+2E7F */
/* Bit 32 Superscripts And Subscripts */
#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */
/* Bit 33 Currency Symbols */
@@ -920,16 +945,18 @@ FT_BEGIN_HEADER
#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */
/* Bit 36 Number Forms */
#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */
- /* Bit 37 Arrows + */
- /* Supplemental Arrows-A + */
- /* Supplemental Arrows-B */
+ /* Bit 37 Arrows */
+ /* Supplemental Arrows-A */
+ /* Supplemental Arrows-B */
+ /* Miscellaneous Symbols and Arrows */
#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */
/* U+27F0-U+27FF */
/* U+2900-U+297F */
- /* Bit 38 Mathematical Operators + */
- /* Supplemental Mathematical Operators + */
- /* Miscellaneous Mathematical Symbols-A + */
- /* Miscellaneous Mathematical Symbols-B */
+ /* U+2B00-U+2BFF */
+ /* Bit 38 Mathematical Operators */
+ /* Supplemental Mathematical Operators */
+ /* Miscellaneous Mathematical Symbols-A */
+ /* Miscellaneous Mathematical Symbols-B */
#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */
/* U+2A00-U+2AFF */
/* U+27C0-U+27EF */
@@ -952,60 +979,53 @@ FT_BEGIN_HEADER
#define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */
/* Bit 47 Dingbats */
#define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */
-
- /* CJK Phonetics and Symbols Area */
-
/* Bit 48 CJK Symbols and Punctuation */
#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */
/* Bit 49 Hiragana */
#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */
- /* Bit 50 Katakana + */
- /* Katakana Phonetic Extensions */
+ /* Bit 50 Katakana */
+ /* Katakana Phonetic Extensions */
#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */
/* U+31F0-U+31FF */
- /* Bit 51 Bopomofo + */
- /* Bopomofo Extended */
+ /* Bit 51 Bopomofo */
+ /* Bopomofo Extended */
#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */
/* U+31A0-U+31BF */
/* Bit 52 Hangul Compatibility Jamo */
#define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */
- /* Bit 53 Kanbun */
-#define TT_UCR_CJK_MISC (1L << 21) /* U+3190-U+319F */
-#define TT_UCR_KANBUN TT_UCR_CJK_MISC
+ /* Bit 53 Phags-Pa */
+#define TT_UCR_CJK_MISC (1L << 21) /* U+A840-U+A87F */
+#define TT_UCR_KANBUN TT_UCR_CJK_MISC /* deprecated */
+#define TT_UCR_PHAGSPA
/* Bit 54 Enclosed CJK Letters and Months */
#define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) /* U+3200-U+32FF */
/* Bit 55 CJK Compatibility */
#define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */
-
- /* Hangul Syllables Area */
-
- /* Bit 56 Hangul */
+ /* Bit 56 Hangul Syllables */
#define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */
-
- /* Surrogates Area */
-
- /* Bit 57 High Surrogates + */
- /* High Private Use Surrogates + */
- /* Low Surrogates */
+ /* Bit 57 High Surrogates */
+ /* High Private Use Surrogates */
+ /* Low Surrogates */
+ /* */
+ /* According to OpenType specs v.1.3+, */
+ /* setting bit 57 implies that there is */
+ /* at least one codepoint beyond the */
+ /* Basic Multilingual Plane that is */
+ /* supported by this font. So it really */
+ /* means >= U+10000 */
#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */
/* U+DB80-U+DBFF */
/* U+DC00-U+DFFF */
- /* According to OpenType specs v.1.3+, setting bit 57 implies that there */
- /* is at least one codepoint beyond the Basic Multilingual Plane that is */
- /* supported by this font. So it really means: >= U+10000 */
-
- /* Bit 58 is reserved for Unicode SubRanges */
-
- /* CJK Ideographs Area */
-
- /* Bit 59 CJK Unified Ideographs + */
- /* CJK Radicals Supplement + */
- /* Kangxi Radicals + */
- /* Ideographic Description Characters + */
- /* CJK Unified Ideographs Extension A */
- /* CJK Unified Ideographs Extension A + */
- /* CJK Unified Ideographs Extension B + */
- /* Kanbun */
+#define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES
+ /* Bit 58 Phoenician */
+#define TT_UCR_PHOENICIAN (1L << 26) /*U+10900-U+1091F*/
+ /* Bit 59 CJK Unified Ideographs */
+ /* CJK Radicals Supplement */
+ /* Kangxi Radicals */
+ /* Ideographic Description Characters */
+ /* CJK Unified Ideographs Extension A */
+ /* CJK Unified Ideographs Extension B */
+ /* Kanbun */
#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */
/* U+2E80-U+2EFF */
/* U+2F00-U+2FDF */
@@ -1013,17 +1033,13 @@ FT_BEGIN_HEADER
/* U+3400-U+4DB5 */
/*U+20000-U+2A6DF*/
/* U+3190-U+319F */
-
- /* Private Use Area */
-
/* Bit 60 Private Use */
#define TT_UCR_PRIVATE_USE (1L << 28) /* U+E000-U+F8FF */
-
- /* Compatibility Area and Specials */
-
- /* Bit 61 CJK Compatibility Ideographs + */
- /* CJK Compatibility Ideographs Supplement */
-#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+F900-U+FAFF */
+ /* Bit 61 CJK Strokes */
+ /* CJK Compatibility Ideographs */
+ /* CJK Compatibility Ideographs Supplement */
+#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+31C0-U+31EF */
+ /* U+F900-U+FAFF */
/*U+2F800-U+2FA1F*/
/* Bit 62 Alphabetic Presentation Forms */
#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */
@@ -1031,8 +1047,10 @@ FT_BEGIN_HEADER
#define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) /* U+FB50-U+FDFF */
/* Bit 64 Combining Half Marks */
#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */
- /* Bit 65 CJK Compatibility Forms */
-#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE30-U+FE4F */
+ /* Bit 65 Vertical forms */
+ /* CJK Compatibility Forms */
+#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */
+ /* U+FE30-U+FE4F */
/* Bit 66 Small Form Variants */
#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */
/* Bit 67 Arabic Presentation Forms-B */
@@ -1051,8 +1069,12 @@ FT_BEGIN_HEADER
#define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */
/* Bit 74 Myanmar */
#define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */
- /* Bit 75 Ethiopic */
+ /* Bit 75 Ethiopic */
+ /* Ethiopic Supplement */
+ /* Ethiopic Extended */
#define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */
+ /* U+1380-U+139F */
+ /* U+2D80-U+2DDF */
/* Bit 76 Cherokee */
#define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */
/* Bit 77 Unified Canadian Aboriginal Syllabics */
@@ -1061,20 +1083,22 @@ FT_BEGIN_HEADER
#define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */
/* Bit 79 Runic */
#define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */
- /* Bit 80 Khmer */
+ /* Bit 80 Khmer */
+ /* Khmer Symbols */
#define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */
+ /* U+19E0-U+19FF */
/* Bit 81 Mongolian */
#define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */
/* Bit 82 Braille Patterns */
#define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */
- /* Bit 83 Yi Syllables + */
- /* Yi Radicals */
+ /* Bit 83 Yi Syllables */
+ /* Yi Radicals */
#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */
/* U+A490-U+A4CF */
- /* Bit 84 Tagalog + */
- /* Hanunoo + */
- /* Buhid + */
- /* Tagbanwa */
+ /* Bit 84 Tagalog */
+ /* Hanunoo */
+ /* Buhid */
+ /* Tagbanwa */
#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */
/* U+1720-U+173F */
/* U+1740-U+175F */
@@ -1085,20 +1109,97 @@ FT_BEGIN_HEADER
#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/
/* Bit 87 Deseret */
#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/
- /* Bit 88 Byzantine Musical Symbols + */
- /* Musical Symbols */
+ /* Bit 88 Byzantine Musical Symbols */
+ /* Musical Symbols */
+ /* Ancient Greek Musical Notation */
#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/
/*U+1D100-U+1D1FF*/
+ /*U+1D200-U+1D24F*/
/* Bit 89 Mathematical Alphanumeric Symbols */
#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/
- /* Bit 90 Private Use (plane 15) + */
- /* Private Use (plane 16) */
+ /* Bit 90 Private Use (plane 15) */
+ /* Private Use (plane 16) */
#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/
/*U+100000-U+10FFFD*/
- /* Bit 91 Variation Selectors */
+ /* Bit 91 Variation Selectors */
+ /* Variation Selectors Supplement */
#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */
+ /*U+E0100-U+E01EF*/
/* Bit 92 Tags */
#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/
+ /* Bit 93 Limbu */
+#define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */
+ /* Bit 94 Tai Le */
+#define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */
+ /* Bit 95 New Tai Lue */
+#define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */
+ /* Bit 96 Buginese */
+#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */
+ /* Bit 97 Glagolitic */
+#define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */
+ /* Bit 98 Tifinagh */
+#define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */
+ /* Bit 99 Yijing Hexagram Symbols */
+#define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */
+ /* Bit 100 Syloti Nagri */
+#define TT_UCR_SYLOTI_NAGRI (1L << 4) /* U+A800-U+A82F */
+ /* Bit 101 Linear B Syllabary */
+ /* Linear B Ideograms */
+ /* Aegean Numbers */
+#define TT_UCR_LINEAR_B (1L << 5) /*U+10000-U+1007F*/
+ /*U+10080-U+100FF*/
+ /*U+10100-U+1013F*/
+ /* Bit 102 Ancient Greek Numbers */
+#define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/
+ /* Bit 103 Ugaritic */
+#define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/
+ /* Bit 104 Old Persian */
+#define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/
+ /* Bit 105 Shavian */
+#define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/
+ /* Bit 106 Osmanya */
+#define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/
+ /* Bit 107 Cypriot Syllabary */
+#define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/
+ /* Bit 108 Kharoshthi */
+#define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/
+ /* Bit 109 Tai Xuan Jing Symbols */
+#define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/
+ /* Bit 110 Cuneiform */
+ /* Cuneiform Numbers and Punctuation */
+#define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/
+ /*U+12400-U+1247F*/
+ /* Bit 111 Counting Rod Numerals */
+#define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/
+ /* Bit 112 Sundanese */
+#define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */
+ /* Bit 113 Lepcha */
+#define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */
+ /* Bit 114 Ol Chiki */
+#define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */
+ /* Bit 115 Saurashtra */
+#define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */
+ /* Bit 116 Kayah Li */
+#define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */
+ /* Bit 117 Rejang */
+#define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */
+ /* Bit 118 Cham */
+#define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */
+ /* Bit 119 Ancient Symbols */
+#define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/
+ /* Bit 120 Phaistos Disc */
+#define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/
+ /* Bit 121 Carian */
+ /* Lycian */
+ /* Lydian */
+#define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/
+ /*U+10280-U+1029F*/
+ /*U+10920-U+1093F*/
+ /* Bit 122 Domino Tiles */
+ /* Mahjong Tiles */
+#define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/
+ /*U+1F000-U+1F02F*/
+ /* Bit 123-127 Reserved for process-internal usage */
/*************************************************************************/
@@ -1117,7 +1218,7 @@ FT_BEGIN_HEADER
/* */
/* Here some alias #defines in order to be clearer. */
/* */
- /* These are not always #defined to stay within the 31 character limit */
+ /* These are not always #defined to stay within the 31~character limit */
/* which some compilers have. */
/* */
/* Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern */
diff --git a/src/3rdparty/freetype/include/freetype/tttables.h b/src/3rdparty/freetype/include/freetype/tttables.h
index 79edb0e..c12b172 100644
--- a/src/3rdparty/freetype/include/freetype/tttables.h
+++ b/src/3rdparty/freetype/include/freetype/tttables.h
@@ -5,7 +5,7 @@
/* Basic SFNT/TrueType tables definitions and interface */
/* (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -156,9 +156,9 @@ FT_BEGIN_HEADER
/* caret_Slope_Run :: The run coefficient of the cursor's */
/* slope. */
/* */
- /* Reserved :: 8 reserved bytes. */
+ /* Reserved :: 8~reserved bytes. */
/* */
- /* metric_Data_Format :: Always 0. */
+ /* metric_Data_Format :: Always~0. */
/* */
/* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */
/* table -- this value can be smaller than */
@@ -281,9 +281,9 @@ FT_BEGIN_HEADER
/* This value is `reserved' in vmtx */
/* version 1.0. */
/* */
- /* Reserved :: 8 reserved bytes. */
+ /* Reserved :: 8~reserved bytes. */
/* */
- /* metric_Data_Format :: Always 0. */
+ /* metric_Data_Format :: Always~0. */
/* */
/* number_Of_HMetrics :: Number of VMetrics entries in the */
/* `vmtx' table -- this value can be */
@@ -406,9 +406,9 @@ FT_BEGIN_HEADER
/* TT_Postscript */
/* */
/* <Description> */
- /* A structure used to model a TrueType Postscript table. All fields */
+ /* A structure used to model a TrueType PostScript table. All fields */
/* comply to the TrueType specification. This structure does not */
- /* reference the Postscript glyph names, which can be nevertheless */
+ /* reference the PostScript glyph names, which can be nevertheless */
/* accessed with the `ttpost' module. */
/* */
typedef struct TT_Postscript_
@@ -578,7 +578,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Table */
/* */
/* <Description> */
- /* Returns a pointer to a given SFNT table within a face. */
+ /* Return a pointer to a given SFNT table within a face. */
/* */
/* <Input> */
/* face :: A handle to the source. */
@@ -586,7 +586,7 @@ FT_BEGIN_HEADER
/* tag :: The index of the SFNT table. */
/* */
/* <Return> */
- /* A type-less pointer to the table. This will be 0 in case of */
+ /* A type-less pointer to the table. This will be~0 in case of */
/* error, or if the corresponding table was not found *OR* loaded */
/* from the file. */
/* */
@@ -608,14 +608,14 @@ FT_BEGIN_HEADER
* FT_Load_Sfnt_Table
*
* @description:
- * Loads any font table into client memory.
+ * Load any font table into client memory.
*
* @input:
* face ::
* A handle to the source face.
*
* tag ::
- * The four-byte tag of the table to load. Use the value 0 if you want
+ * The four-byte tag of the table to load. Use the value~0 if you want
* to access the whole font file. Otherwise, you can use one of the
* definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
* one with @FT_MAKE_TAG.
@@ -633,18 +633,18 @@ FT_BEGIN_HEADER
* If the `length' parameter is NULL, then try to load the whole table.
* Return an error code if it fails.
*
- * Else, if `*length' is 0, exit immediately while returning the
+ * Else, if `*length' is~0, exit immediately while returning the
* table's (or file) full size in it.
*
* Else the number of bytes to read from the table or file, from the
* starting offset.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
* If you need to determine the table's length you should first call this
- * function with `*length' set to 0, as in the following example:
+ * function with `*length' set to~0, as in the following example:
*
* {
* FT_ULong length = 0;
@@ -674,7 +674,7 @@ FT_BEGIN_HEADER
* FT_Sfnt_Table_Info
*
* @description:
- * Returns information on an SFNT table.
+ * Return information on an SFNT table.
*
* @input:
* face ::
@@ -692,10 +692,10 @@ FT_BEGIN_HEADER
* The length of the SFNT table.
*
* @return:
- * FreeType error code. 0 means success.
+ * FreeType error code. 0~means success.
*
* @note:
- * SFNT tables with length zero are treated as missing by Windows.
+ * SFNT tables with length zero are treated as missing.
*
*/
FT_EXPORT( FT_Error )
@@ -720,7 +720,7 @@ FT_BEGIN_HEADER
/* */
/* <Return> */
/* The language ID of `charmap'. If `charmap' doesn't belong to a */
- /* TrueType/sfnt face, just return 0 as the default value. */
+ /* TrueType/sfnt face, just return~0 as the default value. */
/* */
FT_EXPORT( FT_ULong )
FT_Get_CMap_Language_ID( FT_CharMap charmap );
diff --git a/src/3rdparty/freetype/include/freetype/tttags.h b/src/3rdparty/freetype/include/freetype/tttags.h
index 5a79008..307ce4b 100644
--- a/src/3rdparty/freetype/include/freetype/tttags.h
+++ b/src/3rdparty/freetype/include/freetype/tttags.h
@@ -4,7 +4,7 @@
/* */
/* Tags for TrueType and OpenType tables (specification only). */
/* */
-/* Copyright 1996-2001, 2004, 2005, 2007 by */
+/* Copyright 1996-2001, 2004, 2005, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -41,6 +41,7 @@ FT_BEGIN_HEADER
#define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' )
#define TTAG_bsln FT_MAKE_TAG( 'b', 's', 'l', 'n' )
#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
+#define TTAG_CID FT_MAKE_TAG( 'C', 'I', 'D', ' ' )
#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
#define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' )
#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' )
@@ -49,6 +50,7 @@ FT_BEGIN_HEADER
#define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' )
#define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' )
#define TTAG_feat FT_MAKE_TAG( 'f', 'e', 'a', 't' )
+#define TTAG_FOND FT_MAKE_TAG( 'F', 'O', 'N', 'D' )
#define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' )
#define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' )
#define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' )
@@ -67,6 +69,7 @@ FT_BEGIN_HEADER
#define TTAG_lcar FT_MAKE_TAG( 'l', 'c', 'a', 'r' )
#define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' )
#define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' )
+#define TTAG_LWFN FT_MAKE_TAG( 'L', 'W', 'F', 'N' )
#define TTAG_MATH FT_MAKE_TAG( 'M', 'A', 'T', 'H' )
#define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' )
#define TTAG_META FT_MAKE_TAG( 'M', 'E', 'T', 'A' )
@@ -79,14 +82,18 @@ FT_BEGIN_HEADER
#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' )
#define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' )
#define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' )
+#define TTAG_POST FT_MAKE_TAG( 'P', 'O', 'S', 'T' )
#define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' )
#define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' )
#define TTAG_prop FT_MAKE_TAG( 'p', 'r', 'o', 'p' )
+#define TTAG_sfnt FT_MAKE_TAG( 's', 'f', 'n', 't' )
#define TTAG_SING FT_MAKE_TAG( 'S', 'I', 'N', 'G' )
#define TTAG_trak FT_MAKE_TAG( 't', 'r', 'a', 'k' )
#define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' )
#define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' )
#define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' )
+#define TTAG_TYP1 FT_MAKE_TAG( 'T', 'Y', 'P', '1' )
+#define TTAG_typ1 FT_MAKE_TAG( 't', 'y', 'p', '1' )
#define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' )
#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' )
diff --git a/src/3rdparty/freetype/modules.cfg b/src/3rdparty/freetype/modules.cfg
index 525866a..4047d7f 100644
--- a/src/3rdparty/freetype/modules.cfg
+++ b/src/3rdparty/freetype/modules.cfg
@@ -1,6 +1,6 @@
# modules.cfg
#
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -106,7 +106,7 @@ RASTER_MODULES += smooth
# FreeType's cache sub-system (quite stable but still in beta -- this means
# that its public API is subject to change if necessary). See
-# include/freetype/ftcache.h.
+# include/freetype/ftcache.h. Needs ftglyph.c.
AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs ftgxval.c below.
@@ -152,48 +152,68 @@ BASE_EXTENSIONS += ftbbox.c
# See include/freetype/ftbdf.h for the API.
BASE_EXTENSIONS += ftbdf.c
+# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
+# 8bpp format, and for emboldening of bitmap glyphs.
+#
+# See include/freetype/ftbitmap.h for the API.
+BASE_EXTENSIONS += ftbitmap.c
+
# Access CID font information.
#
# See include/freetype/ftcid.h for the API.
BASE_EXTENSIONS += ftcid.c
-# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
-# 8bpp format, and for emboldening of bitmap glyphs.
+# Access FSType information. Needs fttype1.c.
#
-# See include/freetype/ftbitmap.h for the API.
-BASE_EXTENSIONS += ftbitmap.c
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftfstype.c
-# Convenience functions to handle glyphs.
+# Support for GASP table queries.
+#
+# See include/freetype/ftgasp.h for the API.
+BASE_EXTENSIONS += ftgasp.c
+
+# Convenience functions to handle glyphs. Needs ftbitmap.c.
#
# See include/freetype/ftglyph.h for the API.
BASE_EXTENSIONS += ftglyph.c
-# Interface for gxvalid module (which is required).
+# Interface for gxvalid module.
#
# See include/freetype/ftgxval.h for the API.
BASE_EXTENSIONS += ftgxval.c
+# Support for LCD color filtering of subpixel bitmaps.
+#
+# See include/freetype/ftlcdfil.h for the API.
+BASE_EXTENSIONS += ftlcdfil.c
+
# Multiple Master font interface.
#
# See include/freetype/ftmm.h for the API.
BASE_EXTENSIONS += ftmm.c
-# Interface for otvalid module (which is required).
+# Interface for otvalid module.
#
# See include/freetype/ftotval.h for the API.
BASE_EXTENSIONS += ftotval.c
+# Support for FT_Face_CheckTrueTypePatents.
+#
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftpatent.c
+
# Interface for accessing PFR-specific data. Needs PFR font driver.
#
# See include/freetype/ftpfr.h for the API.
BASE_EXTENSIONS += ftpfr.c
-# Path stroker.
+# Path stroker. Needs ftglyph.c.
#
# See include/freetype/ftstroke.h for the API.
BASE_EXTENSIONS += ftstroke.c
-# Support for synthetic embolding and slanting of fonts.
+# Support for synthetic embolding and slanting of fonts. Needs ftbitmap.c.
#
# See include/freetype/ftsynth.h for the API.
BASE_EXTENSIONS += ftsynth.c
@@ -215,21 +235,6 @@ BASE_EXTENSIONS += ftwinfnt.c
# See include/freetype/ftxf86.h for the API.
BASE_EXTENSIONS += ftxf86.c
-# Support for LCD color filtering of subpixel bitmaps.
-#
-# See include/freetype/ftlcdfil.h for the API.
-BASE_EXTENSIONS += ftlcdfil.c
-
-# Support for GASP table queries.
-#
-# See include/freetype/ftgasp.h for the API.
-BASE_EXTENSIONS += ftgasp.c
-
-# Support for FT_Face_CheckTrueTypePatents.
-#
-# See include/freetype.h for the API.
-BASE_EXTENSIONS += ftpatent.c
-
####
#### The components `ftsystem.c' (for memory allocation and stream I/O
#### management) and `ftdebug.c' (for emitting debug messages to the user)
diff --git a/src/3rdparty/freetype/src/autofit/afcjk.c b/src/3rdparty/freetype/src/autofit/afcjk.c
index 7e9438b..de3ce11 100644
--- a/src/3rdparty/freetype/src/autofit/afcjk.c
+++ b/src/3rdparty/freetype/src/autofit/afcjk.c
@@ -4,7 +4,7 @@
/* */
/* Auto-fitter hinting routines for CJK script (body). */
/* */
-/* Copyright 2006, 2007 by */
+/* Copyright 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -1253,10 +1253,15 @@
else if ( after >= edge_limit )
af_cjk_align_serif_edge( hints, before, edge );
else
- edge->pos = before->pos +
- FT_MulDiv( edge->fpos - before->fpos,
- after->pos - before->pos,
- after->fpos - before->fpos );
+ {
+ if ( after->fpos == before->fpos )
+ edge->pos = before->pos;
+ else
+ edge->pos = before->pos +
+ FT_MulDiv( edge->fpos - before->fpos,
+ after->pos - before->pos,
+ after->fpos - before->fpos );
+ }
}
}
}
@@ -1436,29 +1441,29 @@
static const AF_Script_UniRangeRec af_cjk_uniranges[] =
{
#if 0
- { 0x0100, 0xFFFF }, /* why this? */
+ { 0x0100UL, 0xFFFFUL }, /* why this? */
#endif
- { 0x2E80, 0x2EFF }, /* CJK Radicals Supplement */
- { 0x2F00, 0x2FDF }, /* Kangxi Radicals */
- { 0x3000, 0x303F }, /* CJK Symbols and Punctuation */
- { 0x3040, 0x309F }, /* Hiragana */
- { 0x30A0, 0x30FF }, /* Katakana */
- { 0x3100, 0x312F }, /* Bopomofo */
- { 0x3130, 0x318F }, /* Hangul Compatibility Jamo */
- { 0x31A0, 0x31BF }, /* Bopomofo Extended */
- { 0x31C0, 0x31EF }, /* CJK Strokes */
- { 0x31F0, 0x31FF }, /* Katakana Phonetic Extensions */
- { 0x3200, 0x32FF }, /* Enclosed CJK Letters and Months */
- { 0x3300, 0x33FF }, /* CJK Compatibility */
- { 0x3400, 0x4DBF }, /* CJK Unified Ideographs Extension A */
- { 0x4DC0, 0x4DFF }, /* Yijing Hexagram Symbols */
- { 0x4E00, 0x9FFF }, /* CJK Unified Ideographs */
- { 0xF900, 0xFAFF }, /* CJK Compatibility Ideographs */
- { 0xFE30, 0xFE4F }, /* CJK Compatibility Forms */
- { 0xFF00, 0xFFEF }, /* Halfwidth and Fullwidth Forms */
- { 0x20000, 0x2A6DF }, /* CJK Unified Ideographs Extension B */
- { 0x2F800, 0x2FA1F }, /* CJK Compatibility Ideographs Supplement */
- { 0, 0 }
+ { 0x2E80UL, 0x2EFFUL }, /* CJK Radicals Supplement */
+ { 0x2F00UL, 0x2FDFUL }, /* Kangxi Radicals */
+ { 0x3000UL, 0x303FUL }, /* CJK Symbols and Punctuation */
+ { 0x3040UL, 0x309FUL }, /* Hiragana */
+ { 0x30A0UL, 0x30FFUL }, /* Katakana */
+ { 0x3100UL, 0x312FUL }, /* Bopomofo */
+ { 0x3130UL, 0x318FUL }, /* Hangul Compatibility Jamo */
+ { 0x31A0UL, 0x31BFUL }, /* Bopomofo Extended */
+ { 0x31C0UL, 0x31EFUL }, /* CJK Strokes */
+ { 0x31F0UL, 0x31FFUL }, /* Katakana Phonetic Extensions */
+ { 0x3200UL, 0x32FFUL }, /* Enclosed CJK Letters and Months */
+ { 0x3300UL, 0x33FFUL }, /* CJK Compatibility */
+ { 0x3400UL, 0x4DBFUL }, /* CJK Unified Ideographs Extension A */
+ { 0x4DC0UL, 0x4DFFUL }, /* Yijing Hexagram Symbols */
+ { 0x4E00UL, 0x9FFFUL }, /* CJK Unified Ideographs */
+ { 0xF900UL, 0xFAFFUL }, /* CJK Compatibility Ideographs */
+ { 0xFE30UL, 0xFE4FUL }, /* CJK Compatibility Forms */
+ { 0xFF00UL, 0xFFEFUL }, /* Halfwidth and Fullwidth Forms */
+ { 0x20000UL, 0x2A6DFUL }, /* CJK Unified Ideographs Extension B */
+ { 0x2F800UL, 0x2FA1FUL }, /* CJK Compatibility Ideographs Supplement */
+ { 0UL, 0UL }
};
diff --git a/src/3rdparty/freetype/src/autofit/afhints.c b/src/3rdparty/freetype/src/autofit/afhints.c
index 4828706..8ab1761 100644
--- a/src/3rdparty/freetype/src/autofit/afhints.c
+++ b/src/3rdparty/freetype/src/autofit/afhints.c
@@ -4,7 +4,7 @@
/* */
/* Auto-fitter hinting routines (body). */
/* */
-/* Copyright 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2003, 2004, 2005, 2006, 2007, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -127,7 +127,7 @@
#ifdef AF_DEBUG
-#include <stdio.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
static const char*
af_dir_str( AF_Direction dir )
@@ -203,14 +203,14 @@
if ( flags & AF_EDGE_ROUND )
{
- memcpy( temp + pos, "round", 5 );
+ ft_memcpy( temp + pos, "round", 5 );
pos += 5;
}
if ( flags & AF_EDGE_SERIF )
{
if ( pos > 0 )
temp[pos++] = ' ';
- memcpy( temp + pos, "serif", 5 );
+ ft_memcpy( temp + pos, "serif", 5 );
pos += 5;
}
if ( pos == 0 )
diff --git a/src/3rdparty/freetype/src/autofit/aflatin.c b/src/3rdparty/freetype/src/autofit/aflatin.c
index b70da06..ba59e5b 100644
--- a/src/3rdparty/freetype/src/autofit/aflatin.c
+++ b/src/3rdparty/freetype/src/autofit/aflatin.c
@@ -4,7 +4,7 @@
/* */
/* Auto-fitter hinting routines for latin script (body). */
/* */
-/* Copyright 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -2008,7 +2008,10 @@
if ( before >= edges && before < edge &&
after < edge_limit && after > edge )
{
- edge->pos = before->pos +
+ if ( after->opos == before->opos )
+ edge->pos = before->pos;
+ else
+ edge->pos = before->pos +
FT_MulDiv( edge->opos - before->opos,
after->pos - before->pos,
after->opos - before->opos );
@@ -2124,27 +2127,33 @@
static const AF_Script_UniRangeRec af_latin_uniranges[] =
{
- { 0x0020, 0x007F }, /* Basic Latin (no control characters) */
- { 0x00A0, 0x00FF }, /* Latin-1 Supplement (no control characters) */
- { 0x0100, 0x017F }, /* Latin Extended-A */
- { 0x0180, 0x024F }, /* Latin Extended-B */
- { 0x0250, 0x02AF }, /* IPA Extensions */
- { 0x02B0, 0x02FF }, /* Spacing Modifier Letters */
- { 0x0300, 0x036F }, /* Combining Diacritical Marks */
- { 0x0370, 0x03FF }, /* Greek and Coptic */
- { 0x0400, 0x04FF }, /* Cyrillic */
- { 0x0500, 0x052F }, /* Cyrillic Supplement */
- { 0x1D00, 0x1D7F }, /* Phonetic Extensions */
- { 0x1D80, 0x1DBF }, /* Phonetic Extensions Supplement */
- { 0x1DC0, 0x1DFF }, /* Combining Diacritical Marks Supplement */
- { 0x1E00, 0x1EFF }, /* Latin Extended Additional */
- { 0x1F00, 0x1FFF }, /* Greek Extended */
- { 0x2000, 0x206F }, /* General Punctuation */
- { 0x2070, 0x209F }, /* Superscripts and Subscripts */
- { 0x20A0, 0x20CF }, /* Currency Symbols */
- { 0x2150, 0x218F }, /* Number Forms */
- { 0x2460, 0x24FF }, /* Enclosed Alphanumerics */
- { 0 , 0 }
+ { 0x0020 , 0x007F }, /* Basic Latin (no control chars) */
+ { 0x00A0 , 0x00FF }, /* Latin-1 Supplement (no control chars) */
+ { 0x0100 , 0x017F }, /* Latin Extended-A */
+ { 0x0180 , 0x024F }, /* Latin Extended-B */
+ { 0x0250 , 0x02AF }, /* IPA Extensions */
+ { 0x02B0 , 0x02FF }, /* Spacing Modifier Letters */
+ { 0x0300 , 0x036F }, /* Combining Diacritical Marks */
+ { 0x0370 , 0x03FF }, /* Greek and Coptic */
+ { 0x0400 , 0x04FF }, /* Cyrillic */
+ { 0x0500 , 0x052F }, /* Cyrillic Supplement */
+ { 0x1D00 , 0x1D7F }, /* Phonetic Extensions */
+ { 0x1D80 , 0x1DBF }, /* Phonetic Extensions Supplement */
+ { 0x1DC0 , 0x1DFF }, /* Combining Diacritical Marks Supplement */
+ { 0x1E00 , 0x1EFF }, /* Latin Extended Additional */
+ { 0x1F00 , 0x1FFF }, /* Greek Extended */
+ { 0x2000 , 0x206F }, /* General Punctuation */
+ { 0x2070 , 0x209F }, /* Superscripts and Subscripts */
+ { 0x20A0 , 0x20CF }, /* Currency Symbols */
+ { 0x2150 , 0x218F }, /* Number Forms */
+ { 0x2460 , 0x24FF }, /* Enclosed Alphanumerics */
+ { 0x2C60 , 0x2C7F }, /* Latin Extended-C */
+ { 0x2DE0 , 0x2DFF }, /* Cyrillic Extended-A */
+ { 0xA640U , 0xA69FU }, /* Cyrillic Extended-B */
+ { 0xA720U , 0xA7FFU }, /* Latin Extended-D */
+ { 0xFB00U , 0xFB06U }, /* Alphab. Present. Forms (Latin Ligs) */
+ { 0x1D400UL, 0x1D7FFUL }, /* Mathematical Alphanumeric Symbols */
+ { 0 , 0 }
};
diff --git a/src/3rdparty/freetype/src/autofit/aflatin2.c b/src/3rdparty/freetype/src/autofit/aflatin2.c
index 0b41774..14327b1 100644
--- a/src/3rdparty/freetype/src/autofit/aflatin2.c
+++ b/src/3rdparty/freetype/src/autofit/aflatin2.c
@@ -4,7 +4,7 @@
/* */
/* Auto-fitter hinting routines for latin script (body). */
/* */
-/* Copyright 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -944,6 +944,9 @@
}
}
}
+#if 0
+ }
+#endif
/* now, compute the `serif' segments */
for ( seg1 = segments; seg1 < segment_limit; seg1++ )
@@ -2150,7 +2153,10 @@
if ( before >= edges && before < edge &&
after < edge_limit && after > edge )
{
- edge->pos = before->pos +
+ if ( after->opos == before->opos )
+ edge->pos = before->pos;
+ else
+ edge->pos = before->pos +
FT_MulDiv( edge->opos - before->opos,
after->pos - before->pos,
after->opos - before->opos );
diff --git a/src/3rdparty/freetype/src/autofit/aftypes.h b/src/3rdparty/freetype/src/autofit/aftypes.h
index 56811f0..626a388 100644
--- a/src/3rdparty/freetype/src/autofit/aftypes.h
+++ b/src/3rdparty/freetype/src/autofit/aftypes.h
@@ -4,7 +4,7 @@
/* */
/* Auto-fitter types (specification only). */
/* */
-/* Copyright 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -58,7 +58,8 @@ FT_BEGIN_HEADER
#ifdef AF_DEBUG
-#include <stdio.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
+
#define AF_LOG( x ) do { if ( _af_debug ) printf x; } while ( 0 )
extern int _af_debug;
@@ -69,7 +70,7 @@ extern void* _af_debug_hints;
#else /* !AF_DEBUG */
-#define AF_LOG( x ) do ; while ( 0 ) /* nothing */
+#define AF_LOG( x ) do { } while ( 0 ) /* nothing */
#endif /* !AF_DEBUG */
diff --git a/src/3rdparty/freetype/src/autofit/module.mk b/src/3rdparty/freetype/src/autofit/module.mk
index 4a386ce..6ec6091 100644
--- a/src/3rdparty/freetype/src/autofit/module.mk
+++ b/src/3rdparty/freetype/src/autofit/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += AUTOFIT_MODULE
define AUTOFIT_MODULE
-$(OPEN_DRIVER)autofit_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, autofit_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/base/Jamfile b/src/3rdparty/freetype/src/base/Jamfile
index aeffe38..aba60fb 100644
--- a/src/3rdparty/freetype/src/base/Jamfile
+++ b/src/3rdparty/freetype/src/base/Jamfile
@@ -1,6 +1,6 @@
# FreeType 2 src/base Jamfile
#
-# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
+# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -17,8 +17,10 @@ SubDir FT2_TOP $(FT2_SRC_DIR) base ;
if $(FT2_MULTI)
{
- _sources = ftutil ftdbgmem ftstream ftcalc fttrigon ftgloadr ftoutln
- ftobjs ftnames ftrfork ;
+ _sources = ftadvanc ftcalc ftdbgmem ftgloadr
+ ftnames ftobjs ftoutln ftrfork
+ ftstream fttrigon ftutil
+ ;
}
else
{
@@ -31,11 +33,11 @@ SubDir FT2_TOP $(FT2_SRC_DIR) base ;
# Add the optional/replaceable files.
#
{
- local _sources = system init glyph mm bdf
- bbox debug xf86 type1 pfr
- stroke winfnt otval bitmap synth
- gxval lcdfil gasp patent
- ;
+ local _sources = bbox bdf bitmap debug gasp
+ glyph gxval init lcdfil mm
+ otval pfr stroke synth system
+ type1 winfnt xf86 patent
+ ;
Library $(FT2_LIB) : ft$(_sources).c ;
}
@@ -46,5 +48,12 @@ if $(MAC)
{
Library $(FT2_LIB) : ftmac.c ;
}
+else if $(OS) = MACOSX
+{
+ if $(FT2_MULTI)
+ {
+ Library $(FT2_LIB) : ftmac.c ;
+ }
+}
# end of src/base Jamfile
diff --git a/src/3rdparty/freetype/src/base/ftadvanc.c b/src/3rdparty/freetype/src/base/ftadvanc.c
new file mode 100644
index 0000000..504f9d2
--- /dev/null
+++ b/src/3rdparty/freetype/src/base/ftadvanc.c
@@ -0,0 +1,163 @@
+/***************************************************************************/
+/* */
+/* ftadvanc.c */
+/* */
+/* Quick computation of advance widths (body). */
+/* */
+/* Copyright 2008, 2009 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#include <ft2build.h>
+#include FT_ADVANCES_H
+#include FT_INTERNAL_OBJECTS_H
+
+
+ static FT_Error
+ _ft_face_scale_advances( FT_Face face,
+ FT_Fixed* advances,
+ FT_UInt count,
+ FT_Int32 flags )
+ {
+ FT_Fixed scale;
+ FT_UInt nn;
+
+
+ if ( flags & FT_LOAD_NO_SCALE )
+ return FT_Err_Ok;
+
+ if ( face->size == NULL )
+ return FT_Err_Invalid_Size_Handle;
+
+ if ( flags & FT_LOAD_VERTICAL_LAYOUT )
+ scale = face->size->metrics.y_scale;
+ else
+ scale = face->size->metrics.x_scale;
+
+ /* this must be the same scaling as to get linear{Hori,Vert}Advance */
+ /* (see `FT_Load_Glyph' implementation in src/base/ftobjs.c) */
+
+ for ( nn = 0; nn < count; nn++ )
+ advances[nn] = FT_MulDiv( advances[nn], scale, 64 );
+
+ return FT_Err_Ok;
+ }
+
+
+ /* at the moment, we can perform fast advance retrieval only in */
+ /* the following cases: */
+ /* */
+ /* - unscaled load */
+ /* - unhinted load */
+ /* - light-hinted load */
+
+#define LOAD_ADVANCE_FAST_CHECK( flags ) \
+ ( flags & ( FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING ) || \
+ FT_LOAD_TARGET_MODE( flags ) == FT_RENDER_MODE_LIGHT )
+
+
+ /* documentation is in ftadvanc.h */
+
+ FT_EXPORT_DEF( FT_Error )
+ FT_Get_Advance( FT_Face face,
+ FT_UInt gindex,
+ FT_Int32 flags,
+ FT_Fixed *padvance )
+ {
+ FT_Face_GetAdvancesFunc func;
+
+
+ if ( !face )
+ return FT_Err_Invalid_Face_Handle;
+
+ if ( gindex >= (FT_UInt)face->num_glyphs )
+ return FT_Err_Invalid_Glyph_Index;
+
+ func = face->driver->clazz->get_advances;
+ if ( func && LOAD_ADVANCE_FAST_CHECK( flags ) )
+ {
+ FT_Error error;
+
+
+ error = func( face, gindex, 1, flags, padvance );
+ if ( !error )
+ return _ft_face_scale_advances( face, padvance, 1, flags );
+
+ if ( error != FT_ERROR_BASE( FT_Err_Unimplemented_Feature ) )
+ return error;
+ }
+
+ return FT_Get_Advances( face, gindex, 1, flags, padvance );
+ }
+
+
+ /* documentation is in ftadvanc.h */
+
+ FT_EXPORT_DEF( FT_Error )
+ FT_Get_Advances( FT_Face face,
+ FT_UInt start,
+ FT_UInt count,
+ FT_Int32 flags,
+ FT_Fixed *padvances )
+ {
+ FT_Face_GetAdvancesFunc func;
+ FT_UInt num, end, nn;
+ FT_Error error = FT_Err_Ok;
+
+
+ if ( !face )
+ return FT_Err_Invalid_Face_Handle;
+
+ num = (FT_UInt)face->num_glyphs;
+ end = start + count;
+ if ( start >= num || end < start || end > num )
+ return FT_Err_Invalid_Glyph_Index;
+
+ if ( count == 0 )
+ return FT_Err_Ok;
+
+ func = face->driver->clazz->get_advances;
+ if ( func && LOAD_ADVANCE_FAST_CHECK( flags ) )
+ {
+ error = func( face, start, count, flags, padvances );
+ if ( !error )
+ goto Exit;
+
+ if ( error != FT_ERROR_BASE( FT_Err_Unimplemented_Feature ) )
+ return error;
+ }
+
+ error = FT_Err_Ok;
+
+ if ( flags & FT_ADVANCE_FLAG_FAST_ONLY )
+ return FT_Err_Unimplemented_Feature;
+
+ flags |= FT_LOAD_ADVANCE_ONLY;
+ for ( nn = 0; nn < count; nn++ )
+ {
+ error = FT_Load_Glyph( face, start + nn, flags );
+ if ( error )
+ break;
+
+ padvances[nn] = ( flags & FT_LOAD_VERTICAL_LAYOUT )
+ ? face->glyph->advance.y
+ : face->glyph->advance.x;
+ }
+
+ if ( error )
+ return error;
+
+ Exit:
+ return _ft_face_scale_advances( face, padvances, count, flags );
+ }
+
+
+/* END */
diff --git a/src/3rdparty/freetype/src/base/ftbase.c b/src/3rdparty/freetype/src/base/ftbase.c
index 300e02d..d1fe6e6 100644
--- a/src/3rdparty/freetype/src/base/ftbase.c
+++ b/src/3rdparty/freetype/src/base/ftbase.c
@@ -4,7 +4,7 @@
/* */
/* Single object library component (body only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -20,6 +20,7 @@
#define FT_MAKE_OPTION_SINGLE_OBJECT
+#include "ftadvanc.c"
#include "ftcalc.c"
#include "ftdbgmem.c"
#include "ftgloadr.c"
@@ -31,7 +32,7 @@
#include "fttrigon.c"
#include "ftutil.c"
-#if defined( __APPLE__ ) && !defined ( DARWIN_NO_CARBON )
+#if defined( FT_MACINTOSH ) && !defined ( DARWIN_NO_CARBON )
#include "ftmac.c"
#endif
diff --git a/src/3rdparty/freetype/src/base/ftbase.h b/src/3rdparty/freetype/src/base/ftbase.h
new file mode 100644
index 0000000..9cae85d
--- /dev/null
+++ b/src/3rdparty/freetype/src/base/ftbase.h
@@ -0,0 +1,57 @@
+/***************************************************************************/
+/* */
+/* ftbase.h */
+/* */
+/* The FreeType private functions used in base module (specification). */
+/* */
+/* Copyright 2008 by */
+/* David Turner, Robert Wilhelm, Werner Lemberg, and suzuki toshiya. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#ifndef __FTBASE_H__
+#define __FTBASE_H__
+
+
+#include <ft2build.h>
+#include FT_INTERNAL_OBJECTS_H
+
+
+FT_BEGIN_HEADER
+
+
+ /* Assume the stream is sfnt-wrapped PS Type1 or sfnt-wrapped CID-keyed */
+ /* font, and try to load a face specified by the face_index. */
+ FT_LOCAL_DEF( FT_Error )
+ open_face_PS_from_sfnt_stream( FT_Library library,
+ FT_Stream stream,
+ FT_Long face_index,
+ FT_Int num_params,
+ FT_Parameter *params,
+ FT_Face *aface );
+
+
+ /* Create a new FT_Face given a buffer and a driver name. */
+ /* From ftmac.c. */
+ FT_LOCAL_DEF( FT_Error )
+ open_face_from_buffer( FT_Library library,
+ FT_Byte* base,
+ FT_ULong size,
+ FT_Long face_index,
+ const char* driver_name,
+ FT_Face *aface );
+
+
+FT_END_HEADER
+
+#endif /* __FTBASE_H__ */
+
+
+/* END */
diff --git a/src/3rdparty/freetype/src/base/ftbitmap.c b/src/3rdparty/freetype/src/base/ftbitmap.c
index 4c1cdf2..8810cfa 100644
--- a/src/3rdparty/freetype/src/base/ftbitmap.c
+++ b/src/3rdparty/freetype/src/base/ftbitmap.c
@@ -2,10 +2,9 @@
/* */
/* ftbitmap.c */
/* */
-/* FreeType utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp */
-/* bitmaps into 8bpp format (body). */
+/* FreeType utility functions for bitmaps (body). */
/* */
-/* Copyright 2004, 2005, 2006, 2007 by */
+/* Copyright 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -19,6 +18,7 @@
#include <ft2build.h>
#include FT_BITMAP_H
+#include FT_IMAGE_H
#include FT_INTERNAL_OBJECTS_H
@@ -388,6 +388,8 @@
case FT_PIXEL_MODE_GRAY:
case FT_PIXEL_MODE_GRAY2:
case FT_PIXEL_MODE_GRAY4:
+ case FT_PIXEL_MODE_LCD:
+ case FT_PIXEL_MODE_LCD_V:
{
FT_Int pad;
FT_Long old_size;
@@ -482,6 +484,8 @@
case FT_PIXEL_MODE_GRAY:
+ case FT_PIXEL_MODE_LCD:
+ case FT_PIXEL_MODE_LCD_V:
{
FT_Int width = source->width;
FT_Byte* s = source->buffer;
@@ -606,6 +610,31 @@
/* documentation is in ftbitmap.h */
FT_EXPORT_DEF( FT_Error )
+ FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot )
+ {
+ if ( slot && slot->format == FT_GLYPH_FORMAT_BITMAP &&
+ !( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) )
+ {
+ FT_Bitmap bitmap;
+ FT_Error error;
+
+
+ FT_Bitmap_New( &bitmap );
+ error = FT_Bitmap_Copy( slot->library, &slot->bitmap, &bitmap );
+ if ( error )
+ return error;
+
+ slot->bitmap = bitmap;
+ slot->internal->flags |= FT_GLYPH_OWN_BITMAP;
+ }
+
+ return FT_Err_Ok;
+ }
+
+
+ /* documentation is in ftbitmap.h */
+
+ FT_EXPORT_DEF( FT_Error )
FT_Bitmap_Done( FT_Library library,
FT_Bitmap *bitmap )
{
diff --git a/src/3rdparty/freetype/src/base/ftcalc.c b/src/3rdparty/freetype/src/base/ftcalc.c
index c69b9f6..04295a6 100644
--- a/src/3rdparty/freetype/src/base/ftcalc.c
+++ b/src/3rdparty/freetype/src/base/ftcalc.c
@@ -33,10 +33,14 @@
#include <ft2build.h>
+#include FT_GLYPH_H
#include FT_INTERNAL_CALC_H
#include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H
+#ifdef FT_MULFIX_INLINED
+#undef FT_MulFix
+#endif
/* we need to define a 64-bits data type here */
@@ -192,15 +196,33 @@
FT_MulFix( FT_Long a,
FT_Long b )
{
+#ifdef FT_MULFIX_ASSEMBLER
+
+ return FT_MULFIX_ASSEMBLER( a, b );
+
+#else
+
FT_Int s = 1;
FT_Long c;
- if ( a < 0 ) { a = -a; s = -1; }
- if ( b < 0 ) { b = -b; s = -s; }
+ if ( a < 0 )
+ {
+ a = -a;
+ s = -1;
+ }
+
+ if ( b < 0 )
+ {
+ b = -b;
+ s = -s;
+ }
c = (FT_Long)( ( (FT_Int64)a * b + 0x8000L ) >> 16 );
- return ( s > 0 ) ? c : -c ;
+
+ return ( s > 0 ) ? c : -c;
+
+#endif /* FT_MULFIX_ASSEMBLER */
}
@@ -412,31 +434,18 @@
FT_MulFix( FT_Long a,
FT_Long b )
{
- /* use inline assembly to speed up things a bit */
-
-#if defined( __GNUC__ ) && defined( i386 )
-
- FT_Long result;
-
-
- __asm__ __volatile__ (
- "imul %%edx\n"
- "movl %%edx, %%ecx\n"
- "sarl $31, %%ecx\n"
- "addl $0x8000, %%ecx\n"
- "addl %%ecx, %%eax\n"
- "adcl $0, %%edx\n"
- "shrl $16, %%eax\n"
- "shll $16, %%edx\n"
- "addl %%edx, %%eax\n"
- "mov %%eax, %0\n"
- : "=a"(result), "+d"(b)
- : "a"(a)
- : "%ecx"
- );
- return result;
+#ifdef FT_MULFIX_ASSEMBLER
-#elif 1
+ return FT_MULFIX_ASSEMBLER( a, b );
+
+#elif 0
+
+ /*
+ * This code is nonportable. See comment below.
+ *
+ * However, on a platform where right-shift of a signed quantity fills
+ * the leftmost bits by copying the sign bit, it might be faster.
+ */
FT_Long sa, sb;
FT_ULong ua, ub;
@@ -445,6 +454,24 @@
if ( a == 0 || b == 0x10000L )
return a;
+ /*
+ * This is a clever way of converting a signed number `a' into its
+ * absolute value (stored back into `a') and its sign. The sign is
+ * stored in `sa'; 0 means `a' was positive or zero, and -1 means `a'
+ * was negative. (Similarly for `b' and `sb').
+ *
+ * Unfortunately, it doesn't work (at least not portably).
+ *
+ * It makes the assumption that right-shift on a negative signed value
+ * fills the leftmost bits by copying the sign bit. This is wrong.
+ * According to K&R 2nd ed, section `A7.8 Shift Operators' on page 206,
+ * the result of right-shift of a negative signed value is
+ * implementation-defined. At least one implementation fills the
+ * leftmost bits with 0s (i.e., it is exactly the same as an unsigned
+ * right shift). This means that when `a' is negative, `sa' ends up
+ * with the value 1 rather than -1. After that, everything else goes
+ * wrong.
+ */
sa = ( a >> ( sizeof ( a ) * 8 - 1 ) );
a = ( a ^ sa ) - sa;
sb = ( b >> ( sizeof ( b ) * 8 - 1 ) );
@@ -666,6 +693,59 @@
#endif /* FT_LONG64 */
+ /* documentation is in ftglyph.h */
+
+ FT_EXPORT_DEF( void )
+ FT_Matrix_Multiply( const FT_Matrix* a,
+ FT_Matrix *b )
+ {
+ FT_Fixed xx, xy, yx, yy;
+
+
+ if ( !a || !b )
+ return;
+
+ xx = FT_MulFix( a->xx, b->xx ) + FT_MulFix( a->xy, b->yx );
+ xy = FT_MulFix( a->xx, b->xy ) + FT_MulFix( a->xy, b->yy );
+ yx = FT_MulFix( a->yx, b->xx ) + FT_MulFix( a->yy, b->yx );
+ yy = FT_MulFix( a->yx, b->xy ) + FT_MulFix( a->yy, b->yy );
+
+ b->xx = xx; b->xy = xy;
+ b->yx = yx; b->yy = yy;
+ }
+
+
+ /* documentation is in ftglyph.h */
+
+ FT_EXPORT_DEF( FT_Error )
+ FT_Matrix_Invert( FT_Matrix* matrix )
+ {
+ FT_Pos delta, xx, yy;
+
+
+ if ( !matrix )
+ return FT_Err_Invalid_Argument;
+
+ /* compute discriminant */
+ delta = FT_MulFix( matrix->xx, matrix->yy ) -
+ FT_MulFix( matrix->xy, matrix->yx );
+
+ if ( !delta )
+ return FT_Err_Invalid_Argument; /* matrix can't be inverted */
+
+ matrix->xy = - FT_DivFix( matrix->xy, delta );
+ matrix->yx = - FT_DivFix( matrix->yx, delta );
+
+ xx = matrix->xx;
+ yy = matrix->yy;
+
+ matrix->xx = FT_DivFix( yy, delta );
+ matrix->yy = FT_DivFix( xx, delta );
+
+ return FT_Err_Ok;
+ }
+
+
/* documentation is in ftcalc.h */
FT_BASE_DEF( void )
diff --git a/src/3rdparty/freetype/src/base/ftcid.c b/src/3rdparty/freetype/src/base/ftcid.c
index 5a8b50f..733aae1 100644
--- a/src/3rdparty/freetype/src/base/ftcid.c
+++ b/src/3rdparty/freetype/src/base/ftcid.c
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing CID font information. */
/* */
-/* Copyright 2007 by Derek Clegg. */
+/* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -16,6 +16,7 @@
#include <ft2build.h>
+#include FT_CID_H
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_CID_H
@@ -60,4 +61,57 @@
}
+ FT_EXPORT_DEF( FT_Error )
+ FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
+ FT_Bool *is_cid )
+ {
+ FT_Error error = FT_Err_Invalid_Argument;
+ FT_Bool ic = 0;
+
+
+ if ( face )
+ {
+ FT_Service_CID service;
+
+
+ FT_FACE_FIND_SERVICE( face, service, CID );
+
+ if ( service && service->get_is_cid )
+ error = service->get_is_cid( face, &ic);
+ }
+
+ if ( is_cid )
+ *is_cid = ic;
+
+ return error;
+ }
+
+
+ FT_EXPORT_DEF( FT_Error )
+ FT_Get_CID_From_Glyph_Index( FT_Face face,
+ FT_UInt glyph_index,
+ FT_UInt *cid )
+ {
+ FT_Error error = FT_Err_Invalid_Argument;
+ FT_UInt c = 0;
+
+
+ if ( face )
+ {
+ FT_Service_CID service;
+
+
+ FT_FACE_FIND_SERVICE( face, service, CID );
+
+ if ( service && service->get_cid_from_glyph_index )
+ error = service->get_cid_from_glyph_index( face, glyph_index, &c);
+ }
+
+ if ( cid )
+ *cid = c;
+
+ return error;
+ }
+
+
/* END */
diff --git a/src/3rdparty/freetype/src/base/ftdbgmem.c b/src/3rdparty/freetype/src/base/ftdbgmem.c
index 52a5c20..8b2a330 100644
--- a/src/3rdparty/freetype/src/base/ftdbgmem.c
+++ b/src/3rdparty/freetype/src/base/ftdbgmem.c
@@ -4,7 +4,7 @@
/* */
/* Memory debugger (body). */
/* */
-/* Copyright 2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -33,8 +33,7 @@
* memory, however.
*/
-#include <stdio.h>
-#include <stdlib.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
FT_BASE_DEF( const char* ) _ft_debug_file = 0;
FT_BASE_DEF( long ) _ft_debug_lineno = 0;
@@ -990,7 +989,7 @@
#else /* !FT_DEBUG_MEMORY */
/* ANSI C doesn't like empty source files */
- const FT_Byte _debug_mem_dummy = 0;
+ static const FT_Byte _debug_mem_dummy = 0;
#endif /* !FT_DEBUG_MEMORY */
diff --git a/src/3rdparty/freetype/src/base/ftdebug.c b/src/3rdparty/freetype/src/base/ftdebug.c
index 356c8c2..2adbeab 100644
--- a/src/3rdparty/freetype/src/base/ftdebug.c
+++ b/src/3rdparty/freetype/src/base/ftdebug.c
@@ -46,7 +46,7 @@
#include FT_INTERNAL_DEBUG_H
-#if defined( FT_DEBUG_LEVEL_ERROR )
+#ifdef FT_DEBUG_LEVEL_ERROR
/* documentation is in ftdebug.h */
diff --git a/src/3rdparty/freetype/src/base/ftfstype.c b/src/3rdparty/freetype/src/base/ftfstype.c
new file mode 100644
index 0000000..d0ef7b7
--- /dev/null
+++ b/src/3rdparty/freetype/src/base/ftfstype.c
@@ -0,0 +1,62 @@
+/***************************************************************************/
+/* */
+/* ftfstype.c */
+/* */
+/* FreeType utility file to access FSType data (body). */
+/* */
+/* Copyright 2008, 2009 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+#include <ft2build.h>
+#include FT_TYPE1_TABLES_H
+#include FT_TRUETYPE_TABLES_H
+#include FT_INTERNAL_SERVICE_H
+#include FT_SERVICE_POSTSCRIPT_INFO_H
+
+
+ /* documentation is in freetype.h */
+
+ FT_EXPORT_DEF( FT_UShort )
+ FT_Get_FSType_Flags( FT_Face face )
+ {
+ TT_OS2* os2;
+
+
+ /* first, try to get the fs_type directly from the font */
+ if ( face )
+ {
+ FT_Service_PsInfo service = NULL;
+
+
+ FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO );
+
+ if ( service && service->ps_get_font_extra )
+ {
+ PS_FontExtraRec extra;
+
+
+ if ( !service->ps_get_font_extra( face, &extra ) &&
+ extra.fs_type != 0 )
+ return extra.fs_type;
+ }
+ }
+
+ /* look at FSType before fsType for Type42 */
+
+ if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, ft_sfnt_os2 ) ) != NULL &&
+ os2->version != 0xFFFFU )
+ return os2->fsType;
+
+ return 0;
+ }
+
+
+/* END */
diff --git a/src/3rdparty/freetype/src/base/ftglyph.c b/src/3rdparty/freetype/src/base/ftglyph.c
index db0e79f..4130cb1 100644
--- a/src/3rdparty/freetype/src/base/ftglyph.c
+++ b/src/3rdparty/freetype/src/base/ftglyph.c
@@ -4,7 +4,7 @@
/* */
/* FreeType convenience functions to handle glyphs (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -48,68 +48,6 @@
/*************************************************************************/
/*************************************************************************/
/**** ****/
- /**** Convenience functions ****/
- /**** ****/
- /*************************************************************************/
- /*************************************************************************/
-
-
- /* documentation is in ftglyph.h */
-
- FT_EXPORT_DEF( void )
- FT_Matrix_Multiply( const FT_Matrix* a,
- FT_Matrix *b )
- {
- FT_Fixed xx, xy, yx, yy;
-
-
- if ( !a || !b )
- return;
-
- xx = FT_MulFix( a->xx, b->xx ) + FT_MulFix( a->xy, b->yx );
- xy = FT_MulFix( a->xx, b->xy ) + FT_MulFix( a->xy, b->yy );
- yx = FT_MulFix( a->yx, b->xx ) + FT_MulFix( a->yy, b->yx );
- yy = FT_MulFix( a->yx, b->xy ) + FT_MulFix( a->yy, b->yy );
-
- b->xx = xx; b->xy = xy;
- b->yx = yx; b->yy = yy;
- }
-
-
- /* documentation is in ftglyph.h */
-
- FT_EXPORT_DEF( FT_Error )
- FT_Matrix_Invert( FT_Matrix* matrix )
- {
- FT_Pos delta, xx, yy;
-
-
- if ( !matrix )
- return FT_Err_Invalid_Argument;
-
- /* compute discriminant */
- delta = FT_MulFix( matrix->xx, matrix->yy ) -
- FT_MulFix( matrix->xy, matrix->yx );
-
- if ( !delta )
- return FT_Err_Invalid_Argument; /* matrix can't be inverted */
-
- matrix->xy = - FT_DivFix( matrix->xy, delta );
- matrix->yx = - FT_DivFix( matrix->yx, delta );
-
- xx = matrix->xx;
- yy = matrix->yy;
-
- matrix->xx = FT_DivFix( yy, delta );
- matrix->yy = FT_DivFix( xx, delta );
-
- return FT_Err_Ok;
- }
-
-
- /*************************************************************************/
- /*************************************************************************/
- /**** ****/
/**** FT_BitmapGlyph support ****/
/**** ****/
/*************************************************************************/
diff --git a/src/3rdparty/freetype/src/base/ftinit.c b/src/3rdparty/freetype/src/base/ftinit.c
index 7af19c3..dac30b0 100644
--- a/src/3rdparty/freetype/src/base/ftinit.c
+++ b/src/3rdparty/freetype/src/base/ftinit.c
@@ -55,9 +55,9 @@
#undef FT_USE_MODULE
#ifdef __cplusplus
-#define FT_USE_MODULE( x ) extern "C" const FT_Module_Class x;
+#define FT_USE_MODULE( type, x ) extern "C" const type x;
#else
-#define FT_USE_MODULE( x ) extern const FT_Module_Class x;
+#define FT_USE_MODULE( type, x ) extern const type x;
#endif
@@ -65,7 +65,7 @@
#undef FT_USE_MODULE
-#define FT_USE_MODULE( x ) (const FT_Module_Class*)&(x),
+#define FT_USE_MODULE( type, x ) (const FT_Module_Class*)&(x),
static
const FT_Module_Class* const ft_default_modules[] =
diff --git a/src/3rdparty/freetype/src/base/ftlcdfil.c b/src/3rdparty/freetype/src/base/ftlcdfil.c
index 5f1fa0b..8064011 100644
--- a/src/3rdparty/freetype/src/base/ftlcdfil.c
+++ b/src/3rdparty/freetype/src/base/ftlcdfil.c
@@ -4,7 +4,7 @@
/* */
/* FreeType API for color filtering of subpixel bitmap glyphs (body). */
/* */
-/* Copyright 2006, 2008 by */
+/* Copyright 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -266,7 +266,7 @@
#endif /* USE_LEGACY */
- FT_EXPORT( FT_Error )
+ FT_EXPORT_DEF( FT_Error )
FT_Library_SetLcdFilter( FT_Library library,
FT_LcdFilter filter )
{
@@ -296,13 +296,13 @@
#elif defined( FT_FORCE_LIGHT_LCD_FILTER )
- memcpy( library->lcd_weights, light_filter, 5 );
+ ft_memcpy( library->lcd_weights, light_filter, 5 );
library->lcd_filter_func = _ft_lcd_filter_fir;
library->lcd_extra = 2;
#else
- memcpy( library->lcd_weights, default_filter, 5 );
+ ft_memcpy( library->lcd_weights, default_filter, 5 );
library->lcd_filter_func = _ft_lcd_filter_fir;
library->lcd_extra = 2;
@@ -311,7 +311,7 @@
break;
case FT_LCD_FILTER_LIGHT:
- memcpy( library->lcd_weights, light_filter, 5 );
+ ft_memcpy( library->lcd_weights, light_filter, 5 );
library->lcd_filter_func = _ft_lcd_filter_fir;
library->lcd_extra = 2;
break;
@@ -335,7 +335,7 @@
#else /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
- FT_EXPORT( FT_Error )
+ FT_EXPORT_DEF( FT_Error )
FT_Library_SetLcdFilter( FT_Library library,
FT_LcdFilter filter )
{
diff --git a/src/3rdparty/freetype/src/base/ftmac.c b/src/3rdparty/freetype/src/base/ftmac.c
index 7f05907..63f927d 100644
--- a/src/3rdparty/freetype/src/base/ftmac.c
+++ b/src/3rdparty/freetype/src/base/ftmac.c
@@ -8,7 +8,8 @@
/* This file is for Mac OS X only; see builds/mac/ftoldmac.c for */
/* classic platforms built by MPW. */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, */
+/* 2009 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -67,7 +68,9 @@
#include <ft2build.h>
#include FT_FREETYPE_H
+#include FT_TRUETYPE_TAGS_H
#include FT_INTERNAL_STREAM_H
+#include "ftbase.h"
/* This is for Mac OS X. Without redefinition, OS_INLINE */
/* expands to `static inline' which doesn't survive the */
@@ -77,26 +80,32 @@
#define OS_INLINE static __inline__
#endif
- /* The ResourceIndex type was only added in the 10.5 SDK */
-#ifndef MAC_OS_X_VERSION_10_5
-typedef short ResourceIndex;
+ /* `configure' checks the availability of `ResourceIndex' strictly */
+ /* and sets HAVE_TYPE_RESOURCE_INDEX 1 or 0 always. If it is */
+ /* not set (e.g., a build without `configure'), the availability */
+ /* is guessed from the SDK version. */
+#ifndef HAVE_TYPE_RESOURCE_INDEX
+#if !defined( MAC_OS_X_VERSION_10_5 ) || \
+ ( MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5 )
+#define HAVE_TYPE_RESOURCE_INDEX 0
+#else
+#define HAVE_TYPE_RESOURCE_INDEX 1
+#endif
+#endif /* !HAVE_TYPE_RESOURCE_INDEX */
+
+#if ( HAVE_TYPE_RESOURCE_INDEX == 0 )
+ typedef short ResourceIndex;
#endif
#include <CoreServices/CoreServices.h>
#include <ApplicationServices/ApplicationServices.h>
#include <sys/syslimits.h> /* PATH_MAX */
+ /* Don't want warnings about our own use of deprecated functions. */
#define FT_DEPRECATED_ATTRIBUTE
#include FT_MAC_H
- /* undefine blocking-macros in ftmac.h */
-#undef FT_GetFile_From_Mac_Name( a, b, c )
-#undef FT_GetFile_From_Mac_ATS_Name( a, b, c )
-#undef FT_New_Face_From_FOND( a, b, c, d )
-#undef FT_New_Face_From_FSSpec( a, b, c, d )
-#undef FT_New_Face_From_FSRef( a, b, c, d )
-
#ifndef kATSOptionFlagsUnRestrictedScope /* since Mac OS X 10.1 */
#define kATSOptionFlagsUnRestrictedScope kATSOptionFlagsDefault
#endif
@@ -134,7 +143,7 @@ typedef short ResourceIndex;
FSRef* ats_font_ref )
{
#if defined( MAC_OS_X_VERSION_10_5 ) && \
- MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+ ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )
OSStatus err;
@@ -235,7 +244,7 @@ typedef short ResourceIndex;
FT_Long* face_index )
{
#if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \
- MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )
+ ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) )
FT_UNUSED( fontName );
FT_UNUSED( pathSpec );
FT_UNUSED( face_index );
@@ -589,8 +598,7 @@ typedef short ResourceIndex;
for (;;)
{
- post_data = Get1Resource( FT_MAKE_TAG( 'P', 'O', 'S', 'T' ),
- res_id++ );
+ post_data = Get1Resource( TTAG_POST, res_id++ );
if ( post_data == NULL )
break; /* we are done */
@@ -629,8 +637,7 @@ typedef short ResourceIndex;
for (;;)
{
- post_data = Get1Resource( FT_MAKE_TAG( 'P', 'O', 'S', 'T' ),
- res_id++ );
+ post_data = Get1Resource( TTAG_POST, res_id++ );
if ( post_data == NULL )
break; /* we are done */
@@ -682,110 +689,7 @@ typedef short ResourceIndex;
}
- /* Finalizer for a memory stream; gets called by FT_Done_Face().
- It frees the memory it uses. */
- static void
- memory_stream_close( FT_Stream stream )
- {
- FT_Memory memory = stream->memory;
-
-
- FT_FREE( stream->base );
-
- stream->size = 0;
- stream->base = 0;
- stream->close = 0;
- }
-
-
- /* Create a new memory stream from a buffer and a size. */
- static FT_Error
- new_memory_stream( FT_Library library,
- FT_Byte* base,
- FT_ULong size,
- FT_Stream_CloseFunc close,
- FT_Stream* astream )
- {
- FT_Error error;
- FT_Memory memory;
- FT_Stream stream;
-
-
- if ( !library )
- return FT_Err_Invalid_Library_Handle;
-
- if ( !base )
- return FT_Err_Invalid_Argument;
-
- *astream = 0;
- memory = library->memory;
- if ( FT_NEW( stream ) )
- goto Exit;
-
- FT_Stream_OpenMemory( stream, base, size );
-
- stream->close = close;
-
- *astream = stream;
-
- Exit:
- return error;
- }
-
-
- /* Create a new FT_Face given a buffer and a driver name. */
- static FT_Error
- open_face_from_buffer( FT_Library library,
- FT_Byte* base,
- FT_ULong size,
- FT_Long face_index,
- const char* driver_name,
- FT_Face* aface )
- {
- FT_Open_Args args;
- FT_Error error;
- FT_Stream stream;
- FT_Memory memory = library->memory;
-
-
- error = new_memory_stream( library,
- base,
- size,
- memory_stream_close,
- &stream );
- if ( error )
- {
- FT_FREE( base );
- return error;
- }
-
- args.flags = FT_OPEN_STREAM;
- args.stream = stream;
- if ( driver_name )
- {
- args.flags = args.flags | FT_OPEN_DRIVER;
- args.driver = FT_Get_Module( library, driver_name );
- }
-
- /* At this point, face_index has served its purpose; */
- /* whoever calls this function has already used it to */
- /* locate the correct font data. We should not propagate */
- /* this index to FT_Open_Face() (unless it is negative). */
-
- if ( face_index > 0 )
- face_index = 0;
-
- error = FT_Open_Face( library, &args, face_index, aface );
- if ( error == FT_Err_Ok )
- (*aface)->face_flags &= ~FT_FACE_FLAG_EXTERNAL_STREAM;
- else
- FT_Stream_Free( stream, 0 );
-
- return error;
- }
-
-
- /* Create a new FT_Face from a file spec to an LWFN file. */
+ /* Create a new FT_Face from a file path to an LWFN file. */
static FT_Error
FT_New_Face_From_LWFN( FT_Library library,
const UInt8* pathname,
@@ -829,10 +733,10 @@ typedef short ResourceIndex;
size_t sfnt_size;
FT_Error error = FT_Err_Ok;
FT_Memory memory = library->memory;
- int is_cff;
+ int is_cff, is_sfnt_ps;
- sfnt = GetResource( FT_MAKE_TAG( 's', 'f', 'n', 't' ), sfnt_id );
+ sfnt = GetResource( TTAG_sfnt, sfnt_id );
if ( sfnt == NULL )
return FT_Err_Invalid_Handle;
@@ -846,21 +750,45 @@ typedef short ResourceIndex;
ft_memcpy( sfnt_data, *sfnt, sfnt_size );
ReleaseResource( sfnt );
- is_cff = sfnt_size > 4 && sfnt_data[0] == 'O' &&
- sfnt_data[1] == 'T' &&
- sfnt_data[2] == 'T' &&
- sfnt_data[3] == 'O';
+ is_cff = sfnt_size > 4 && !ft_memcmp( sfnt_data, "OTTO", 4 );
+ is_sfnt_ps = sfnt_size > 4 && !ft_memcmp( sfnt_data, "typ1", 4 );
- return open_face_from_buffer( library,
- sfnt_data,
- sfnt_size,
- face_index,
- is_cff ? "cff" : "truetype",
- aface );
+ if ( is_sfnt_ps )
+ {
+ FT_Stream stream;
+
+
+ if ( FT_NEW( stream ) )
+ goto Try_OpenType;
+
+ FT_Stream_OpenMemory( stream, sfnt_data, sfnt_size );
+ if ( !open_face_PS_from_sfnt_stream( library,
+ stream,
+ face_index,
+ 0, NULL,
+ aface ) )
+ {
+ FT_Stream_Close( stream );
+ FT_FREE( stream );
+ FT_FREE( sfnt_data );
+ goto Exit;
+ }
+
+ FT_FREE( stream );
+ }
+ Try_OpenType:
+ error = open_face_from_buffer( library,
+ sfnt_data,
+ sfnt_size,
+ face_index,
+ is_cff ? "cff" : "truetype",
+ aface );
+ Exit:
+ return error;
}
- /* Create a new FT_Face from a file spec to a suitcase file. */
+ /* Create a new FT_Face from a file path to a suitcase file. */
static FT_Error
FT_New_Face_From_Suitcase( FT_Library library,
const UInt8* pathname,
@@ -884,8 +812,7 @@ typedef short ResourceIndex;
num_faces_in_res = 0;
for ( res_index = 1; ; ++res_index )
{
- fond = Get1IndResource( FT_MAKE_TAG( 'F', 'O', 'N', 'D' ),
- res_index );
+ fond = Get1IndResource( TTAG_FOND, res_index );
if ( ResError() )
break;
@@ -924,7 +851,7 @@ typedef short ResourceIndex;
GetResInfo( fond, &fond_id, &fond_type, fond_name );
- if ( ResError() != noErr || fond_type != FT_MAKE_TAG( 'F', 'O', 'N', 'D' ) )
+ if ( ResError() != noErr || fond_type != TTAG_FOND )
return FT_Err_Invalid_File_Format;
parse_fond( *fond, &have_sfnt, &sfnt_id, lwfn_file_name, face_index );
@@ -991,7 +918,7 @@ typedef short ResourceIndex;
/* LWFN is a (very) specific file format, check for it explicitly */
file_type = get_file_type_from_path( pathname );
- if ( file_type == FT_MAKE_TAG( 'L', 'W', 'F', 'N' ) )
+ if ( file_type == TTAG_LWFN )
return FT_New_Face_From_LWFN( library, pathname, face_index, aface );
/* Otherwise the file type doesn't matter (there are more than */
@@ -1108,7 +1035,7 @@ typedef short ResourceIndex;
FT_Face* aface )
{
#if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \
- MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )
+ ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) )
FT_UNUSED( library );
FT_UNUSED( spec );
FT_UNUSED( face_index );
diff --git a/src/3rdparty/freetype/src/base/ftmm.c b/src/3rdparty/freetype/src/base/ftmm.c
index 586d5e8..0307729 100644
--- a/src/3rdparty/freetype/src/base/ftmm.c
+++ b/src/3rdparty/freetype/src/base/ftmm.c
@@ -4,7 +4,7 @@
/* */
/* Multiple Master font support (body). */
/* */
-/* Copyright 1996-2001, 2003, 2004 by */
+/* Copyright 1996-2001, 2003, 2004, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -52,7 +52,7 @@
*aservice,
MULTI_MASTERS );
- if ( aservice )
+ if ( *aservice )
error = FT_Err_Ok;
}
diff --git a/src/3rdparty/freetype/src/base/ftobjs.c b/src/3rdparty/freetype/src/base/ftobjs.c
index 8208e2a..72dea33 100644
--- a/src/3rdparty/freetype/src/base/ftobjs.c
+++ b/src/3rdparty/freetype/src/base/ftobjs.c
@@ -4,7 +4,7 @@
/* */
/* The FreeType private base classes (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -26,6 +26,7 @@
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_SFNT_H /* for SFNT_Load_Table_Func */
#include FT_TRUETYPE_TABLES_H
+#include FT_TRUETYPE_TAGS_H
#include FT_TRUETYPE_IDS_H
#include FT_OUTLINE_H
@@ -36,8 +37,11 @@
#include FT_SERVICE_KERNING_H
#include FT_SERVICE_TRUETYPE_ENGINE_H
+#include "ftbase.h"
+
#define GRID_FIT_METRICS
+
FT_BASE_DEF( FT_Pointer )
ft_service_list_lookup( FT_ServiceDesc service_descriptors,
const char* service_id )
@@ -128,13 +132,14 @@
FT_Stream stream;
+ *astream = 0;
+
if ( !library )
return FT_Err_Invalid_Library_Handle;
if ( !args )
return FT_Err_Invalid_Argument;
- *astream = 0;
memory = library->memory;
if ( FT_NEW( stream ) )
@@ -196,6 +201,12 @@
}
+ /*************************************************************************/
+ /* */
+ /* The macro FT_COMPONENT is used in trace mode. It is an implicit */
+ /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
+ /* messages during execution. */
+ /* */
#undef FT_COMPONENT
#define FT_COMPONENT trace_objs
@@ -244,7 +255,7 @@
FT_BASE_DEF( void )
ft_glyphslot_free_bitmap( FT_GlyphSlot slot )
{
- if ( slot->internal->flags & FT_GLYPH_OWN_BITMAP )
+ if ( slot->internal && ( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) )
{
FT_Memory memory = FT_FACE_MEMORY( slot->face );
@@ -542,7 +553,7 @@
FT_Driver driver;
FT_GlyphSlot slot;
FT_Library library;
- FT_Bool autohint = 0;
+ FT_Bool autohint = FALSE;
FT_Module hinter;
@@ -586,22 +597,22 @@
*
* - Otherwise, auto-hint for LIGHT hinting mode.
*
- * - Exception: The font requires the unpatented
- * bytecode interpreter to load properly.
+ * - Exception: The font is `tricky' and requires
+ * the native hinter to load properly.
*/
- autohint = 0;
- if ( hinter &&
- ( load_flags & FT_LOAD_NO_HINTING ) == 0 &&
- ( load_flags & FT_LOAD_NO_AUTOHINT ) == 0 &&
- FT_DRIVER_IS_SCALABLE( driver ) &&
- FT_DRIVER_USES_OUTLINES( driver ) &&
- face->internal->transform_matrix.yy > 0 &&
- face->internal->transform_matrix.yx == 0 )
+ if ( hinter &&
+ !( load_flags & FT_LOAD_NO_HINTING ) &&
+ !( load_flags & FT_LOAD_NO_AUTOHINT ) &&
+ FT_DRIVER_IS_SCALABLE( driver ) &&
+ FT_DRIVER_USES_OUTLINES( driver ) &&
+ !FT_IS_TRICKY( face ) &&
+ face->internal->transform_matrix.yy > 0 &&
+ face->internal->transform_matrix.yx == 0 )
{
- if ( ( load_flags & FT_LOAD_FORCE_AUTOHINT ) != 0 ||
- !FT_DRIVER_HAS_HINTER( driver ) )
- autohint = 1;
+ if ( ( load_flags & FT_LOAD_FORCE_AUTOHINT ) ||
+ !FT_DRIVER_HAS_HINTER( driver ) )
+ autohint = TRUE;
else
{
FT_Render_Mode mode = FT_LOAD_TARGET_MODE( load_flags );
@@ -609,7 +620,7 @@
if ( mode == FT_RENDER_MODE_LIGHT ||
face->internal->ignore_unpatented_hinter )
- autohint = 1;
+ autohint = TRUE;
}
}
@@ -692,7 +703,7 @@
/* compute the linear advance in 16.16 pixels */
if ( ( load_flags & FT_LOAD_LINEAR_DESIGN ) == 0 &&
- ( face->face_flags & FT_FACE_FLAG_SCALABLE ) )
+ ( FT_IS_SCALABLE( face ) ) )
{
FT_Size_Metrics* metrics = &face->size->metrics;
@@ -1110,7 +1121,7 @@
/* there's a Mac-specific extended implementation of FT_New_Face() */
/* in src/base/ftmac.c */
-#ifndef FT_MACINTOSH
+#if !defined( FT_MACINTOSH ) || defined( DARWIN_NO_CARBON )
/* documentation is in freetype.h */
@@ -1129,11 +1140,12 @@
args.flags = FT_OPEN_PATHNAME;
args.pathname = (char*)pathname;
+ args.stream = NULL;
return FT_Open_Face( library, &args, face_index, aface );
}
-#endif /* !FT_MACINTOSH */
+#endif /* defined( FT_MACINTOSH ) && !defined( DARWIN_NO_CARBON ) */
/* documentation is in freetype.h */
@@ -1155,12 +1167,13 @@
args.flags = FT_OPEN_MEMORY;
args.memory_base = file_base;
args.memory_size = file_size;
+ args.stream = NULL;
return FT_Open_Face( library, &args, face_index, aface );
}
-#if !defined( FT_MACINTOSH ) && defined( FT_CONFIG_OPTION_MAC_FONTS )
+#ifdef FT_CONFIG_OPTION_MAC_FONTS
/* The behavior here is very similar to that in base/ftmac.c, but it */
/* is designed to work on non-mac systems, so no mac specific calls. */
@@ -1189,9 +1202,9 @@
/* we don't really have access to it. */
- /* Finalizer for a memory stream; gets called by FT_Done_Face().
- It frees the memory it uses. */
- /* from ftmac.c */
+ /* Finalizer for a memory stream; gets called by FT_Done_Face(). */
+ /* It frees the memory it uses. */
+ /* From ftmac.c. */
static void
memory_stream_close( FT_Stream stream )
{
@@ -1207,7 +1220,7 @@
/* Create a new memory stream from a buffer and a size. */
- /* from ftmac.c */
+ /* From ftmac.c. */
static FT_Error
new_memory_stream( FT_Library library,
FT_Byte* base,
@@ -1244,7 +1257,7 @@
/* Create a new FT_Face given a buffer and a driver name. */
/* from ftmac.c */
- static FT_Error
+ FT_LOCAL_DEF( FT_Error )
open_face_from_buffer( FT_Library library,
FT_Byte* base,
FT_ULong size,
@@ -1277,20 +1290,172 @@
args.driver = FT_Get_Module( library, driver_name );
}
+#ifdef FT_MACINTOSH
+ /* At this point, face_index has served its purpose; */
+ /* whoever calls this function has already used it to */
+ /* locate the correct font data. We should not propagate */
+ /* this index to FT_Open_Face() (unless it is negative). */
+
+ if ( face_index > 0 )
+ face_index = 0;
+#endif
+
error = FT_Open_Face( library, &args, face_index, aface );
if ( error == FT_Err_Ok )
(*aface)->face_flags &= ~FT_FACE_FLAG_EXTERNAL_STREAM;
else
+#ifdef FT_MACINTOSH
+ FT_Stream_Free( stream, 0 );
+#else
{
FT_Stream_Close( stream );
FT_FREE( stream );
}
+#endif
return error;
}
+ /* Look up `TYP1' or `CID ' table from sfnt table directory. */
+ /* `offset' and `length' must exclude the binary header in tables. */
+
+ /* Type 1 and CID-keyed font drivers should recognize sfnt-wrapped */
+ /* format too. Here, since we can't expect that the TrueType font */
+ /* driver is loaded unconditially, we must parse the font by */
+ /* ourselves. We are only interested in the name of the table and */
+ /* the offset. */
+
+ static FT_Error
+ ft_lookup_PS_in_sfnt_stream( FT_Stream stream,
+ FT_Long face_index,
+ FT_ULong* offset,
+ FT_ULong* length,
+ FT_Bool* is_sfnt_cid )
+ {
+ FT_Error error;
+ FT_UShort numTables;
+ FT_Long pstable_index;
+ FT_ULong tag;
+ int i;
+
+
+ *offset = 0;
+ *length = 0;
+ *is_sfnt_cid = FALSE;
+
+ /* TODO: support for sfnt-wrapped PS/CID in TTC format */
+
+ /* version check for 'typ1' (should be ignored?) */
+ if ( FT_READ_ULONG( tag ) )
+ return error;
+ if ( tag != TTAG_typ1 )
+ return FT_Err_Unknown_File_Format;
+
+ if ( FT_READ_USHORT( numTables ) )
+ return error;
+ if ( FT_STREAM_SKIP( 2 * 3 ) ) /* skip binary search header */
+ return error;
+
+ pstable_index = -1;
+ *is_sfnt_cid = FALSE;
+
+ for ( i = 0; i < numTables; i++ )
+ {
+ if ( FT_READ_ULONG( tag ) || FT_STREAM_SKIP( 4 ) ||
+ FT_READ_ULONG( *offset ) || FT_READ_ULONG( *length ) )
+ return error;
+
+ if ( tag == TTAG_CID )
+ {
+ pstable_index++;
+ *offset += 22;
+ *length -= 22;
+ *is_sfnt_cid = TRUE;
+ if ( face_index < 0 )
+ return FT_Err_Ok;
+ }
+ else if ( tag == TTAG_TYP1 )
+ {
+ pstable_index++;
+ *offset += 24;
+ *length -= 24;
+ *is_sfnt_cid = FALSE;
+ if ( face_index < 0 )
+ return FT_Err_Ok;
+ }
+ if ( face_index >= 0 && pstable_index == face_index )
+ return FT_Err_Ok;
+ }
+ return FT_Err_Table_Missing;
+ }
+
+
+ FT_LOCAL_DEF( FT_Error )
+ open_face_PS_from_sfnt_stream( FT_Library library,
+ FT_Stream stream,
+ FT_Long face_index,
+ FT_Int num_params,
+ FT_Parameter *params,
+ FT_Face *aface )
+ {
+ FT_Error error;
+ FT_Memory memory = library->memory;
+ FT_ULong offset, length;
+ FT_Long pos;
+ FT_Bool is_sfnt_cid;
+ FT_Byte* sfnt_ps;
+
+ FT_UNUSED( num_params );
+ FT_UNUSED( params );
+
+
+ pos = FT_Stream_Pos( stream );
+
+ error = ft_lookup_PS_in_sfnt_stream( stream,
+ face_index,
+ &offset,
+ &length,
+ &is_sfnt_cid );
+ if ( error )
+ goto Exit;
+
+ if ( FT_Stream_Seek( stream, pos + offset ) )
+ goto Exit;
+
+ if ( FT_ALLOC( sfnt_ps, (FT_Long)length ) )
+ goto Exit;
+
+ error = FT_Stream_Read( stream, (FT_Byte *)sfnt_ps, length );
+ if ( error )
+ goto Exit;
+
+ error = open_face_from_buffer( library,
+ sfnt_ps,
+ length,
+ face_index < 0 ? face_index : 0,
+ is_sfnt_cid ? "cid" : "type1",
+ aface );
+ Exit:
+ {
+ FT_Error error1;
+
+
+ if ( error == FT_Err_Unknown_File_Format )
+ {
+ error1 = FT_Stream_Seek( stream, pos );
+ if ( error1 )
+ return error1;
+ }
+
+ return error;
+ }
+ }
+
+
+#if !defined( FT_MACINTOSH ) || defined( DARWIN_NO_CARBON )
+
/* The resource header says we've got resource_cnt `POST' (type1) */
/* resources in this file. They all need to be coalesced into */
/* one lump which gets passed on to the type1 driver. */
@@ -1445,17 +1610,25 @@
if ( rlen == -1 )
return FT_Err_Cannot_Open_Resource;
+ error = open_face_PS_from_sfnt_stream( library,
+ stream,
+ face_index,
+ 0, NULL,
+ aface );
+ if ( !error )
+ goto Exit;
+
+ /* rewind sfnt stream before open_face_PS_from_sfnt_stream() */
+ if ( FT_Stream_Seek( stream, flag_offset + 4 ) )
+ goto Exit;
+
if ( FT_ALLOC( sfnt_data, (FT_Long)rlen ) )
return error;
error = FT_Stream_Read( stream, (FT_Byte *)sfnt_data, rlen );
if ( error )
goto Exit;
- is_cff = rlen > 4 && sfnt_data[0] == 'O' &&
- sfnt_data[1] == 'T' &&
- sfnt_data[2] == 'T' &&
- sfnt_data[3] == 'O';
-
+ is_cff = rlen > 4 && !ft_memcmp( sfnt_data, "OTTO", 4 );
error = open_face_from_buffer( library,
sfnt_data,
rlen,
@@ -1494,7 +1667,7 @@
error = FT_Raccess_Get_DataOffsets( library, stream,
map_offset, rdara_pos,
- FT_MAKE_TAG( 'P', 'O', 'S', 'T' ),
+ TTAG_POST,
&data_offsets, &count );
if ( !error )
{
@@ -1509,7 +1682,7 @@
error = FT_Raccess_Get_DataOffsets( library, stream,
map_offset, rdara_pos,
- FT_MAKE_TAG( 's', 'f', 'n', 't' ),
+ TTAG_sfnt,
&data_offsets, &count );
if ( !error )
{
@@ -1600,7 +1773,7 @@
FT_Error errors[FT_RACCESS_N_RULES];
FT_Open_Args args2;
- FT_Stream stream2;
+ FT_Stream stream2 = 0;
FT_Raccess_Guess( library, stream,
@@ -1655,7 +1828,7 @@
}
- /* Check for some macintosh formats. */
+ /* Check for some macintosh formats without Carbon framework. */
/* Is this a macbinary file? If so look at the resource fork. */
/* Is this a mac dfont file? */
/* Is this an old style resource fork? (in data) */
@@ -1698,6 +1871,7 @@
face_index, aface, args );
return error;
}
+#endif
#endif /* !FT_MACINTOSH && FT_CONFIG_OPTION_MAC_FONTS */
@@ -1713,7 +1887,7 @@
FT_Error error;
FT_Driver driver;
FT_Memory memory;
- FT_Stream stream;
+ FT_Stream stream = 0;
FT_Face face = 0;
FT_ListNode node = 0;
FT_Bool external_stream;
@@ -1796,6 +1970,28 @@
if ( !error )
goto Success;
+#ifdef FT_CONFIG_OPTION_MAC_FONTS
+ if ( ft_strcmp( cur[0]->clazz->module_name, "truetype" ) == 0 &&
+ FT_ERROR_BASE( error ) == FT_Err_Table_Missing )
+ {
+ /* TrueType but essential tables are missing */
+ if ( FT_Stream_Seek( stream, 0 ) )
+ break;
+
+ error = open_face_PS_from_sfnt_stream( library,
+ stream,
+ face_index,
+ num_params,
+ params,
+ aface );
+ if ( !error )
+ {
+ FT_Stream_Free( stream, external_stream );
+ return error;
+ }
+ }
+#endif
+
if ( FT_ERROR_BASE( error ) != FT_Err_Unknown_File_Format )
goto Fail3;
}
@@ -2271,8 +2467,8 @@
}
else
{
- metrics->x_scale = 1L << 22;
- metrics->y_scale = 1L << 22;
+ metrics->x_scale = 1L << 16;
+ metrics->y_scale = 1L << 16;
metrics->ascender = bsize->y_ppem;
metrics->descender = 0;
metrics->height = bsize->height << 6;
@@ -2383,8 +2579,8 @@
else
{
FT_ZERO( metrics );
- metrics->x_scale = 1L << 22;
- metrics->y_scale = 1L << 22;
+ metrics->x_scale = 1L << 16;
+ metrics->y_scale = 1L << 16;
}
}
@@ -3265,11 +3461,11 @@
if ( size == NULL )
- return FT_Err_Bad_Argument;
+ return FT_Err_Invalid_Argument;
face = size->face;
if ( face == NULL || face->driver == NULL )
- return FT_Err_Bad_Argument;
+ return FT_Err_Invalid_Argument;
/* we don't need anything more complex than that; all size objects */
/* are already listed by the face */
@@ -4017,7 +4213,11 @@
faces = &FT_DRIVER(module)->faces_list;
while ( faces->head )
+ {
FT_Done_Face( FT_FACE( faces->head->data ) );
+ if ( faces->head )
+ FT_ERROR(( "FT_Done_Library: failed to free some faces\n" ));
+ }
}
}
diff --git a/src/3rdparty/freetype/src/base/ftotval.c b/src/3rdparty/freetype/src/base/ftotval.c
index b6de6db..20ed686 100644
--- a/src/3rdparty/freetype/src/base/ftotval.c
+++ b/src/3rdparty/freetype/src/base/ftotval.c
@@ -4,7 +4,7 @@
/* */
/* FreeType API for validating OpenType tables (body). */
/* */
-/* Copyright 2004, 2006 by */
+/* Copyright 2004, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -18,6 +18,7 @@
#include <ft2build.h>
#include FT_INTERNAL_OBJECTS_H
#include FT_SERVICE_OPENTYPE_VALIDATE_H
+#include FT_OPENTYPE_VALIDATE_H
/* documentation is in ftotval.h */
diff --git a/src/3rdparty/freetype/src/base/ftoutln.c b/src/3rdparty/freetype/src/base/ftoutln.c
index 2bae857..49ef82e 100644
--- a/src/3rdparty/freetype/src/base/ftoutln.c
+++ b/src/3rdparty/freetype/src/base/ftoutln.c
@@ -4,7 +4,7 @@
/* */
/* FreeType outline management (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -26,6 +26,7 @@
#include <ft2build.h>
#include FT_OUTLINE_H
#include FT_INTERNAL_OBJECTS_H
+#include FT_INTERNAL_DEBUG_H
#include FT_TRIGONOMETRY_H
@@ -83,21 +84,25 @@
FT_Int last; /* index of last point in contour */
+ FT_TRACE5(( "FT_Outline_Decompose: Outline %d\n", n ));
+
last = outline->contours[n];
if ( last < 0 )
goto Invalid_Outline;
limit = outline->points + last;
- v_start = outline->points[first];
- v_last = outline->points[last];
+ v_start = outline->points[first];
+ v_start.x = SCALED( v_start.x );
+ v_start.y = SCALED( v_start.y );
- v_start.x = SCALED( v_start.x ); v_start.y = SCALED( v_start.y );
- v_last.x = SCALED( v_last.x ); v_last.y = SCALED( v_last.y );
+ v_last = outline->points[last];
+ v_last.x = SCALED( v_last.x );
+ v_last.y = SCALED( v_last.y );
v_control = v_start;
point = outline->points + first;
- tags = outline->tags + first;
+ tags = outline->tags + first;
tag = FT_CURVE_TAG( tags[0] );
/* A contour cannot start with a cubic control point! */
@@ -128,6 +133,8 @@
tags--;
}
+ FT_TRACE5(( " move to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
error = func_interface->move_to( &v_start, user );
if ( error )
goto Exit;
@@ -148,6 +155,8 @@
vec.x = SCALED( point->x );
vec.y = SCALED( point->y );
+ FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0 ));
error = func_interface->line_to( &vec, user );
if ( error )
goto Exit;
@@ -174,6 +183,10 @@
if ( tag == FT_CURVE_TAG_ON )
{
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
error = func_interface->conic_to( &v_control, &vec, user );
if ( error )
goto Exit;
@@ -186,6 +199,10 @@
v_middle.x = ( v_control.x + vec.x ) / 2;
v_middle.y = ( v_control.y + vec.y ) / 2;
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ v_middle.x / 64.0, v_middle.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
error = func_interface->conic_to( &v_control, &v_middle, user );
if ( error )
goto Exit;
@@ -194,6 +211,10 @@
goto Do_Conic;
}
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
error = func_interface->conic_to( &v_control, &v_start, user );
goto Close;
@@ -209,8 +230,11 @@
point += 2;
tags += 2;
- vec1.x = SCALED( point[-2].x ); vec1.y = SCALED( point[-2].y );
- vec2.x = SCALED( point[-1].x ); vec2.y = SCALED( point[-1].y );
+ vec1.x = SCALED( point[-2].x );
+ vec1.y = SCALED( point[-2].y );
+
+ vec2.x = SCALED( point[-1].x );
+ vec2.y = SCALED( point[-1].y );
if ( point <= limit )
{
@@ -220,12 +244,22 @@
vec.x = SCALED( point->x );
vec.y = SCALED( point->y );
+ FT_TRACE5(( " cubic to (%.2f, %.2f)"
+ " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
error = func_interface->cubic_to( &vec1, &vec2, &vec, user );
if ( error )
goto Exit;
continue;
}
+ FT_TRACE5(( " cubic to (%.2f, %.2f)"
+ " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
error = func_interface->cubic_to( &vec1, &vec2, &v_start, user );
goto Close;
}
@@ -233,6 +267,8 @@
}
/* close the contour with a line segment */
+ FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
error = func_interface->line_to( &v_start, user );
Close:
@@ -242,9 +278,11 @@
first = last + 1;
}
- return 0;
+ FT_TRACE5(( "FT_Outline_Decompose: Done\n", n ));
+ return FT_Err_Ok;
Exit:
+ FT_TRACE5(( "FT_Outline_Decompose: Error %d\n", error ));
return error;
Invalid_Outline:
@@ -558,7 +596,7 @@
FT_Raster_Params* params )
{
FT_Error error;
- FT_Bool update = 0;
+ FT_Bool update = FALSE;
FT_Renderer renderer;
FT_ListNode node;
@@ -589,7 +627,7 @@
/* format */
renderer = FT_Lookup_Renderer( library, FT_GLYPH_FORMAT_OUTLINE,
&node );
- update = 1;
+ update = TRUE;
}
/* if we changed the current renderer for the glyph image format */
@@ -1007,7 +1045,7 @@
}
}
- if ( xmin == 32768 )
+ if ( xmin == 32768L )
return FT_ORIENTATION_TRUETYPE;
ray_y[0] = ( xmin_ymin * 3 + xmin_ymax ) >> 2;
diff --git a/src/3rdparty/freetype/src/base/ftpatent.c b/src/3rdparty/freetype/src/base/ftpatent.c
index d63f191..9f129d8 100644
--- a/src/3rdparty/freetype/src/base/ftpatent.c
+++ b/src/3rdparty/freetype/src/base/ftpatent.c
@@ -5,7 +5,7 @@
/* FreeType API for checking patented TrueType bytecode instructions */
/* (body). */
/* */
-/* Copyright 2007 by David Turner. */
+/* Copyright 2007, 2008 by David Turner. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -260,7 +260,7 @@
FT_Face_SetUnpatentedHinting( FT_Face face,
FT_Bool value )
{
- FT_Bool result = 0;
+ FT_Bool result = FALSE;
#if defined( TT_CONFIG_OPTION_UNPATENTED_HINTING ) && \
diff --git a/src/3rdparty/freetype/src/base/ftpfr.c b/src/3rdparty/freetype/src/base/ftpfr.c
index 9e930dd..f9592bb 100644
--- a/src/3rdparty/freetype/src/base/ftpfr.c
+++ b/src/3rdparty/freetype/src/base/ftpfr.c
@@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing PFR-specific data (body). */
/* */
-/* Copyright 2002, 2003, 2004 by */
+/* Copyright 2002, 2003, 2004, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -46,6 +46,9 @@
FT_Service_PfrMetrics service;
+ if ( !face )
+ return FT_Err_Invalid_Argument;
+
service = ft_pfr_check( face );
if ( service )
{
@@ -55,14 +58,17 @@
ametrics_x_scale,
ametrics_y_scale );
}
- else if ( face )
+ else
{
FT_Fixed x_scale, y_scale;
/* this is not a PFR font */
- *aoutline_resolution = face->units_per_EM;
- *ametrics_resolution = face->units_per_EM;
+ if ( aoutline_resolution )
+ *aoutline_resolution = face->units_per_EM;
+
+ if ( ametrics_resolution )
+ *ametrics_resolution = face->units_per_EM;
x_scale = y_scale = 0x10000L;
if ( face->size )
@@ -70,11 +76,15 @@
x_scale = face->size->metrics.x_scale;
y_scale = face->size->metrics.y_scale;
}
- *ametrics_x_scale = x_scale;
- *ametrics_y_scale = y_scale;
+
+ if ( ametrics_x_scale )
+ *ametrics_x_scale = x_scale;
+
+ if ( ametrics_y_scale )
+ *ametrics_y_scale = y_scale;
+
+ error = FT_Err_Unknown_File_Format;
}
- else
- error = FT_Err_Invalid_Argument;
return error;
}
@@ -92,14 +102,15 @@
FT_Service_PfrMetrics service;
+ if ( !face )
+ return FT_Err_Invalid_Argument;
+
service = ft_pfr_check( face );
if ( service )
error = service->get_kerning( face, left, right, avector );
- else if ( face )
+ else
error = FT_Get_Kerning( face, left, right,
FT_KERNING_UNSCALED, avector );
- else
- error = FT_Err_Invalid_Argument;
return error;
}
diff --git a/src/3rdparty/freetype/src/base/ftrfork.c b/src/3rdparty/freetype/src/base/ftrfork.c
index 5a835ee..d59a076 100644
--- a/src/3rdparty/freetype/src/base/ftrfork.c
+++ b/src/3rdparty/freetype/src/base/ftrfork.c
@@ -4,7 +4,7 @@
/* */
/* Embedded resource forks accessor (body). */
/* */
-/* Copyright 2004, 2005, 2006, 2007 by */
+/* Copyright 2004, 2005, 2006, 2007, 2008, 2009 by */
/* Masatake YAMATO and Redhat K.K. */
/* */
/* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */
@@ -399,7 +399,10 @@
char **result_file_name,
FT_Long *result_offset )
{
- FT_Int32 magic = ( 0x00 << 24 | 0x05 << 16 | 0x16 << 8 | 0x07 );
+ FT_Int32 magic = ( 0x00 << 24 ) |
+ ( 0x05 << 16 ) |
+ ( 0x16 << 8 ) |
+ 0x07;
*result_file_name = NULL;
@@ -418,7 +421,10 @@
char **result_file_name,
FT_Long *result_offset )
{
- FT_Int32 magic = (0x00 << 24 | 0x05 << 16 | 0x16 << 8 | 0x00);
+ FT_Int32 magic = ( 0x00 << 24 ) |
+ ( 0x05 << 16 ) |
+ ( 0x16 << 8 ) |
+ 0x00;
*result_file_name = NULL;
@@ -703,8 +709,12 @@
return FT_Err_Ok;
}
else
- FT_Stream_Skip( stream, 4 + 4 ); /* offset + length */
+ {
+ error = FT_Stream_Skip( stream, 4 + 4 ); /* offset + length */
+ if ( error )
+ return error;
}
+ }
return FT_Err_Unknown_File_Format;
}
diff --git a/src/3rdparty/freetype/src/base/ftstream.c b/src/3rdparty/freetype/src/base/ftstream.c
index 569e46c..cff67e0 100644
--- a/src/3rdparty/freetype/src/base/ftstream.c
+++ b/src/3rdparty/freetype/src/base/ftstream.c
@@ -707,12 +707,13 @@
{
FT_Error error;
FT_Bool frame_accessed = 0;
- FT_Byte* cursor = stream->cursor;
-
+ FT_Byte* cursor;
if ( !fields || !stream )
return FT_Err_Invalid_Argument;
+ cursor = stream->cursor;
+
error = FT_Err_Ok;
do
{
diff --git a/src/3rdparty/freetype/src/base/ftstroke.c b/src/3rdparty/freetype/src/base/ftstroke.c
index 5dfee8b..3f5421f 100644
--- a/src/3rdparty/freetype/src/base/ftstroke.c
+++ b/src/3rdparty/freetype/src/base/ftstroke.c
@@ -4,7 +4,7 @@
/* */
/* FreeType path stroker (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2008 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -261,7 +261,7 @@
{
FT_UInt old_max = border->max_points;
FT_UInt new_max = border->num_points + new_points;
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
if ( new_max > old_max )
@@ -279,6 +279,7 @@
border->max_points = cur_max;
}
+
Exit:
return error;
}
@@ -346,7 +347,7 @@
}
border->start = -1;
- border->movable = 0;
+ border->movable = FALSE;
}
@@ -355,7 +356,7 @@
FT_Vector* to,
FT_Bool movable )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_ASSERT( border->start >= 0 );
@@ -410,7 +411,7 @@
border->num_points += 2;
}
- border->movable = 0;
+ border->movable = FALSE;
return error;
}
@@ -443,7 +444,7 @@
border->num_points += 3;
}
- border->movable = 0;
+ border->movable = FALSE;
return error;
}
@@ -461,7 +462,7 @@
FT_Angle total, angle, step, rotate, next, theta;
FT_Vector a, b, a2, b2;
FT_Fixed length;
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
/* compute start point */
@@ -527,12 +528,12 @@
{
/* close current open path if any ? */
if ( border->start >= 0 )
- ft_stroke_border_close( border, 0 );
+ ft_stroke_border_close( border, FALSE );
border->start = border->num_points;
- border->movable = 0;
+ border->movable = FALSE;
- return ft_stroke_border_lineto( border, to, 0 );
+ return ft_stroke_border_lineto( border, to, FALSE );
}
@@ -547,7 +548,7 @@
border->num_points = 0;
border->max_points = 0;
border->start = -1;
- border->valid = 0;
+ border->valid = FALSE;
}
@@ -556,7 +557,7 @@
{
border->num_points = 0;
border->start = -1;
- border->valid = 0;
+ border->valid = FALSE;
}
@@ -572,7 +573,7 @@
border->num_points = 0;
border->max_points = 0;
border->start = -1;
- border->valid = 0;
+ border->valid = FALSE;
}
@@ -581,7 +582,7 @@
FT_UInt *anum_points,
FT_UInt *anum_contours )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_UInt num_points = 0;
FT_UInt num_contours = 0;
@@ -605,9 +606,6 @@
if ( tags[0] & FT_STROKE_TAG_END )
{
- if ( in_contour == 0 )
- goto Fail;
-
in_contour = 0;
num_contours++;
}
@@ -616,7 +614,7 @@
if ( in_contour != 0 )
goto Fail;
- border->valid = 1;
+ border->valid = TRUE;
Exit:
*anum_points = num_points;
@@ -798,7 +796,7 @@
{
FT_Angle total, rotate;
FT_Fixed radius = stroker->radius;
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_StrokeBorder border = stroker->borders + side;
@@ -813,7 +811,7 @@
radius,
stroker->angle_in + rotate,
total );
- border->movable = 0;
+ border->movable = FALSE;
return error;
}
@@ -824,7 +822,7 @@
FT_Angle angle,
FT_Int side )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
if ( stroker->line_cap == FT_STROKER_LINECAP_ROUND )
@@ -849,7 +847,7 @@
delta.x += stroker->center.x + delta2.x;
delta.y += stroker->center.y + delta2.y;
- error = ft_stroke_border_lineto( border, &delta, 0 );
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
if ( error )
goto Exit;
@@ -859,7 +857,7 @@
delta.x += delta2.x + stroker->center.x;
delta.y += delta2.y + stroker->center.y;
- error = ft_stroke_border_lineto( border, &delta, 0 );
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
}
Exit:
@@ -876,7 +874,7 @@
FT_Angle phi, theta, rotate;
FT_Fixed length, thcos, sigma;
FT_Vector delta;
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
rotate = FT_SIDE_TO_ROTATE( side );
@@ -900,7 +898,7 @@
stroker->angle_out + rotate );
delta.x += stroker->center.x;
delta.y += stroker->center.y;
- border->movable = 0;
+ border->movable = FALSE;
}
else
{
@@ -911,7 +909,7 @@
delta.y += stroker->center.y;
}
- error = ft_stroke_border_lineto( border, &delta, 0 );
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
return error;
}
@@ -928,9 +926,7 @@
if ( stroker->line_join == FT_STROKER_LINEJOIN_ROUND )
- {
error = ft_stroker_arcto( stroker, side );
- }
else
{
/* this is a mitered or beveled corner */
@@ -943,7 +939,7 @@
rotate = FT_SIDE_TO_ROTATE( side );
miter = FT_BOOL( stroker->line_join == FT_STROKER_LINEJOIN_MITER );
- theta = FT_Angle_Diff( stroker->angle_in, stroker->angle_out );
+ theta = FT_Angle_Diff( stroker->angle_in, stroker->angle_out );
if ( theta == FT_ANGLE_PI )
{
theta = rotate;
@@ -959,7 +955,7 @@
sigma = FT_MulFix( stroker->miter_limit, thcos );
if ( sigma >= 0x10000L )
- miter = 0;
+ miter = FALSE;
if ( miter ) /* this is a miter (broken angle) */
{
@@ -983,7 +979,7 @@
delta.x += middle.x;
delta.y += middle.y;
- error = ft_stroke_border_lineto( border, &delta, 0 );
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
if ( error )
goto Exit;
@@ -992,7 +988,7 @@
delta.x += middle.x;
delta.y += middle.y;
- error = ft_stroke_border_lineto( border, &delta, 0 );
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
if ( error )
goto Exit;
@@ -1001,7 +997,7 @@
delta.x += stroker->center.x;
delta.y += stroker->center.y;
- error = ft_stroke_border_lineto( border, &delta, 1 );
+ error = ft_stroke_border_lineto( border, &delta, TRUE );
}
else /* this is a bevel (intersection) */
@@ -1016,8 +1012,9 @@
delta.x += stroker->center.x;
delta.y += stroker->center.y;
- error = ft_stroke_border_lineto( border, &delta, 0 );
- if (error) goto Exit;
+ error = ft_stroke_border_lineto( border, &delta, FALSE );
+ if ( error )
+ goto Exit;
/* now add end point */
FT_Vector_From_Polar( &delta, stroker->radius,
@@ -1025,7 +1022,7 @@
delta.x += stroker->center.x;
delta.y += stroker->center.y;
- error = ft_stroke_border_lineto( border, &delta, 1 );
+ error = ft_stroke_border_lineto( border, &delta, TRUE );
}
}
@@ -1037,7 +1034,7 @@
static FT_Error
ft_stroker_process_corner( FT_Stroker stroker )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_Angle turn;
FT_Int inside_side;
@@ -1069,7 +1066,7 @@
/* add two points to the left and right borders corresponding to the */
- /* start of the subpath.. */
+ /* start of the subpath */
static FT_Error
ft_stroker_subpath_start( FT_Stroker stroker,
FT_Angle start_angle )
@@ -1099,7 +1096,7 @@
/* save angle for last cap */
stroker->subpath_angle = start_angle;
- stroker->first_point = 0;
+ stroker->first_point = FALSE;
Exit:
return error;
@@ -1112,7 +1109,7 @@
FT_Stroker_LineTo( FT_Stroker stroker,
FT_Vector* to )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_StrokeBorder border;
FT_Vector delta;
FT_Angle angle;
@@ -1143,7 +1140,7 @@
goto Exit;
}
- /* now add a line segment to both the "inside" and "outside" paths */
+ /* now add a line segment to both the `inside' and `outside' paths */
for ( border = stroker->borders, side = 1; side >= 0; side--, border++ )
{
@@ -1153,7 +1150,7 @@
point.x = to->x + delta.x;
point.y = to->y + delta.y;
- error = ft_stroke_border_lineto( border, &point, 1 );
+ error = ft_stroke_border_lineto( border, &point, TRUE );
if ( error )
goto Exit;
@@ -1176,12 +1173,12 @@
FT_Vector* control,
FT_Vector* to )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_Vector bez_stack[34];
FT_Vector* arc;
FT_Vector* limit = bez_stack + 30;
FT_Angle start_angle;
- FT_Bool first_arc = 1;
+ FT_Bool first_arc = TRUE;
arc = bez_stack;
@@ -1206,7 +1203,7 @@
if ( first_arc )
{
- first_arc = 0;
+ first_arc = FALSE;
start_angle = angle_in;
@@ -1275,12 +1272,12 @@
FT_Vector* control2,
FT_Vector* to )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_Vector bez_stack[37];
FT_Vector* arc;
FT_Vector* limit = bez_stack + 32;
FT_Angle start_angle;
- FT_Bool first_arc = 1;
+ FT_Bool first_arc = TRUE;
arc = bez_stack;
@@ -1308,7 +1305,7 @@
if ( first_arc )
{
- first_arc = 0;
+ first_arc = FALSE;
/* process corner if necessary */
start_angle = angle_in;
@@ -1386,15 +1383,16 @@
{
/* We cannot process the first point, because there is not enough */
/* information regarding its corner/cap. The latter will be processed */
- /* in the "end_subpath" routine. */
+ /* in the `FT_Stroker_EndSubPath' routine. */
/* */
- stroker->first_point = 1;
- stroker->center = *to;
- stroker->subpath_open = open;
+ stroker->first_point = TRUE;
+ stroker->center = *to;
+ stroker->subpath_open = open;
- /* record the subpath start point index for each border */
+ /* record the subpath start point for each border */
stroker->subpath_start = *to;
- return 0;
+
+ return FT_Err_Ok;
}
@@ -1402,10 +1400,10 @@
ft_stroker_add_reverse_left( FT_Stroker stroker,
FT_Bool open )
{
- FT_StrokeBorder right = stroker->borders + 0;
- FT_StrokeBorder left = stroker->borders + 1;
+ FT_StrokeBorder right = stroker->borders + 0;
+ FT_StrokeBorder left = stroker->borders + 1;
FT_Int new_points;
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
FT_ASSERT( left->start >= 0 );
@@ -1452,8 +1450,8 @@
left->num_points = left->start;
right->num_points += new_points;
- right->movable = 0;
- left->movable = 0;
+ right->movable = FALSE;
+ left->movable = FALSE;
}
Exit:
@@ -1467,7 +1465,8 @@
FT_EXPORT_DEF( FT_Error )
FT_Stroker_EndSubPath( FT_Stroker stroker )
{
- FT_Error error = 0;
+ FT_Error error = FT_Err_Ok;
+
if ( stroker->subpath_open )
{
@@ -1480,8 +1479,8 @@
if ( error )
goto Exit;
- /* add reversed points from "left" to "right" */
- error = ft_stroker_add_reverse_left( stroker, 1 );
+ /* add reversed points from `left' to `right' */
+ error = ft_stroker_add_reverse_left( stroker, TRUE );
if ( error )
goto Exit;
@@ -1494,7 +1493,7 @@
/* Now end the right subpath accordingly. The left one is */
/* rewind and doesn't need further processing. */
- ft_stroke_border_close( right, 0 );
+ ft_stroke_border_close( right, FALSE );
}
else
{
@@ -1536,8 +1535,8 @@
}
/* then end our two subpaths */
- ft_stroke_border_close( stroker->borders + 0, 1 );
- ft_stroke_border_close( stroker->borders + 1, 0 );
+ ft_stroke_border_close( stroker->borders + 0, TRUE );
+ ft_stroke_border_close( stroker->borders + 1, FALSE );
}
Exit:
@@ -1692,7 +1691,7 @@
v_control = v_start;
point = outline->points + first;
- tags = outline->tags + first;
+ tags = outline->tags + first;
tag = FT_CURVE_TAG( tags[0] );
/* A contour cannot start with a cubic control point! */
@@ -1836,7 +1835,7 @@
first = last + 1;
}
- return 0;
+ return FT_Err_Ok;
Exit:
return error;
@@ -1884,7 +1883,7 @@
FT_UInt num_points, num_contours;
- error = FT_Stroker_ParseOutline( stroker, outline, 0 );
+ error = FT_Stroker_ParseOutline( stroker, outline, FALSE );
if ( error )
goto Fail;
@@ -1967,7 +1966,7 @@
border = FT_STROKER_BORDER_LEFT;
}
- error = FT_Stroker_ParseOutline( stroker, outline, 0 );
+ error = FT_Stroker_ParseOutline( stroker, outline, FALSE );
if ( error )
goto Fail;
diff --git a/src/3rdparty/freetype/src/base/ftsynth.c b/src/3rdparty/freetype/src/base/ftsynth.c
index ff88ce9..443d272 100644
--- a/src/3rdparty/freetype/src/base/ftsynth.c
+++ b/src/3rdparty/freetype/src/base/ftsynth.c
@@ -68,36 +68,13 @@
/*************************************************************************/
- FT_EXPORT_DEF( FT_Error )
- FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot )
- {
- if ( slot && slot->format == FT_GLYPH_FORMAT_BITMAP &&
- !( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) )
- {
- FT_Bitmap bitmap;
- FT_Error error;
-
-
- FT_Bitmap_New( &bitmap );
- error = FT_Bitmap_Copy( slot->library, &slot->bitmap, &bitmap );
- if ( error )
- return error;
-
- slot->bitmap = bitmap;
- slot->internal->flags |= FT_GLYPH_OWN_BITMAP;
- }
-
- return FT_Err_Ok;
- }
-
-
/* documentation is in ftsynth.h */
FT_EXPORT_DEF( void )
FT_GlyphSlot_Embolden( FT_GlyphSlot slot )
{
FT_Library library = slot->library;
- FT_Face face = FT_SLOT_FACE( slot );
+ FT_Face face = slot->face;
FT_Error error;
FT_Pos xstr, ystr;
@@ -123,10 +100,11 @@
}
else if ( slot->format == FT_GLYPH_FORMAT_BITMAP )
{
- xstr = FT_PIX_FLOOR( xstr );
+ /* round to full pixels */
+ xstr &= ~63;
if ( xstr == 0 )
xstr = 1 << 6;
- ystr = FT_PIX_FLOOR( ystr );
+ ystr &= ~63;
error = FT_GlyphSlot_Own_Bitmap( slot );
if ( error )
diff --git a/src/3rdparty/freetype/src/base/ftsystem.c b/src/3rdparty/freetype/src/base/ftsystem.c
index f61a3ed..f64908f 100644
--- a/src/3rdparty/freetype/src/base/ftsystem.c
+++ b/src/3rdparty/freetype/src/base/ftsystem.c
@@ -4,7 +4,7 @@
/* */
/* ANSI-specific FreeType low-level system interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2006 by */
+/* Copyright 1996-2001, 2002, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -294,7 +294,7 @@
#ifdef FT_DEBUG_MEMORY
ft_mem_debug_done( memory );
#endif
- memory->free( memory, memory );
+ ft_sfree( memory );
}
diff --git a/src/3rdparty/freetype/src/base/rules.mk b/src/3rdparty/freetype/src/base/rules.mk
index d6e4412..66260e6 100644
--- a/src/3rdparty/freetype/src/base/rules.mk
+++ b/src/3rdparty/freetype/src/base/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006, 2007 by
+# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -21,8 +21,6 @@
# BASE_EXT_OBJ: A list of base layer extensions, i.e., components found
# in `freetype/src/base' which are not compiled within the
# base layer proper.
-#
-# BASE_H is defined in freetype.mk to simplify the dependency rules.
BASE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SRC_DIR)/base)
@@ -35,7 +33,8 @@ BASE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(SRC_DIR)/base)
# All files listed here should be included in `ftbase.c' (for a `single'
# build).
#
-BASE_SRC := $(BASE_DIR)/ftcalc.c \
+BASE_SRC := $(BASE_DIR)/ftadvanc.c \
+ $(BASE_DIR)/ftcalc.c \
$(BASE_DIR)/ftdbgmem.c \
$(BASE_DIR)/ftgloadr.c \
$(BASE_DIR)/ftnames.c \
@@ -46,6 +45,13 @@ BASE_SRC := $(BASE_DIR)/ftcalc.c \
$(BASE_DIR)/fttrigon.c \
$(BASE_DIR)/ftutil.c
+
+ifneq ($(ftmac_c),)
+ BASE_SRC += $(BASE_DIR)/$(ftmac_c)
+endif
+
+BASE_H := $(BASE_DIR)/ftbase.h
+
# Base layer `extensions' sources
#
# An extension is added to the library file as a separate object. It is
@@ -77,13 +83,13 @@ BASE_SRC_S := $(BASE_DIR)/ftbase.c
# Base layer - single object build
#
-$(BASE_OBJ_S): $(BASE_SRC_S) $(BASE_SRC) $(FREETYPE_H)
+$(BASE_OBJ_S): $(BASE_SRC_S) $(BASE_SRC) $(FREETYPE_H) $(BASE_H)
$(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(BASE_SRC_S))
# Multiple objects build + extensions
#
-$(OBJ_DIR)/%.$O: $(BASE_DIR)/%.c $(FREETYPE_H)
+$(OBJ_DIR)/%.$O: $(BASE_DIR)/%.c $(FREETYPE_H) $(BASE_H)
$(BASE_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
diff --git a/src/3rdparty/freetype/src/bdf/bdfdrivr.c b/src/3rdparty/freetype/src/bdf/bdfdrivr.c
index 2a5767e..0b736b5 100644
--- a/src/3rdparty/freetype/src/bdf/bdfdrivr.c
+++ b/src/3rdparty/freetype/src/bdf/bdfdrivr.c
@@ -2,7 +2,7 @@
FreeType font driver for bdf files
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -304,10 +304,15 @@ THE SOFTWARE.
FT_CALLBACK_DEF( void )
BDF_Face_Done( FT_Face bdfface ) /* BDF_Face */
{
- BDF_Face face = (BDF_Face)bdfface;
- FT_Memory memory = FT_FACE_MEMORY( face );
+ BDF_Face face = (BDF_Face)bdfface;
+ FT_Memory memory;
+ if ( !face )
+ return;
+
+ memory = FT_FACE_MEMORY( face );
+
bdf_free_font( face->bdffont );
FT_FREE( face->en_table );
@@ -610,7 +615,7 @@ THE SOFTWARE.
switch ( req->type )
{
case FT_SIZE_REQUEST_TYPE_NOMINAL:
- if ( height == ( bsize->y_ppem + 32 ) >> 6 )
+ if ( height == ( ( bsize->y_ppem + 32 ) >> 6 ) )
error = BDF_Err_Ok;
break;
diff --git a/src/3rdparty/freetype/src/bdf/bdflib.c b/src/3rdparty/freetype/src/bdf/bdflib.c
index 512cd62..5435b20 100644
--- a/src/3rdparty/freetype/src/bdf/bdflib.c
+++ b/src/3rdparty/freetype/src/bdf/bdflib.c
@@ -1,6 +1,6 @@
/*
* Copyright 2000 Computing Research Labs, New Mexico State University
- * Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ * Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
* Francesco Zappa Nardelli
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -1394,6 +1394,12 @@
font->font_descent = fp->value.int32;
else if ( ft_memcmp( name, "SPACING", 7 ) == 0 )
{
+ if ( !fp->value.atom )
+ {
+ error = BDF_Err_Invalid_File_Format;
+ goto Exit;
+ }
+
if ( fp->value.atom[0] == 'p' || fp->value.atom[0] == 'P' )
font->spacing = BDF_PROPORTIONAL;
else if ( fp->value.atom[0] == 'm' || fp->value.atom[0] == 'M' )
@@ -2072,6 +2078,7 @@
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
if ( error )
goto Exit;
+ /* at this point, `p->font' can't be NULL */
p->cnt = p->font->props_size = _bdf_atoul( p->list.field[1], 0, 10 );
if ( FT_NEW_ARRAY( p->font->props, p->cnt ) )
diff --git a/src/3rdparty/freetype/src/bdf/module.mk b/src/3rdparty/freetype/src/bdf/module.mk
index dfaa274..fe06ae8 100644
--- a/src/3rdparty/freetype/src/bdf/module.mk
+++ b/src/3rdparty/freetype/src/bdf/module.mk
@@ -27,7 +27,7 @@
FTMODULE_H_COMMANDS += BDF_DRIVER
define BDF_DRIVER
-$(OPEN_DRIVER)bdf_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, bdf_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)bdf $(ECHO_DRIVER_DESC)bdf bitmap fonts$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/bdf/rules.mk b/src/3rdparty/freetype/src/bdf/rules.mk
index 25d98e5..6ff1614 100644
--- a/src/3rdparty/freetype/src/bdf/rules.mk
+++ b/src/3rdparty/freetype/src/bdf/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2001, 2002, 2003 by
+# Copyright (C) 2001, 2002, 2003, 2008 by
# Francesco Zappa Nardelli
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -29,7 +29,7 @@
# bdf driver directory
#
-BDF_DIR := $(SRC_DIR)/bdf
+BDF_DIR := $(SRC_DIR)/bdf
BDF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(BDF_DIR))
@@ -44,7 +44,8 @@ BDF_DRV_SRC := $(BDF_DIR)/bdflib.c \
# bdf driver headers
#
BDF_DRV_H := $(BDF_DIR)/bdf.h \
- $(BDF_DIR)/bdfdrivr.h
+ $(BDF_DIR)/bdfdrivr.h \
+ $(BDF_DIR)/bdferror.h
# bdf driver object(s)
#
diff --git a/src/3rdparty/freetype/src/cache/ftccmap.c b/src/3rdparty/freetype/src/cache/ftccmap.c
index aa59307..4c6a7fd 100644
--- a/src/3rdparty/freetype/src/cache/ftccmap.c
+++ b/src/3rdparty/freetype/src/cache/ftccmap.c
@@ -4,7 +4,7 @@
/* */
/* FreeType CharMap cache (body) */
/* */
-/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -288,8 +288,20 @@
FT_Error error;
FT_UInt gindex = 0;
FT_UInt32 hash;
+ FT_Int no_cmap_change = 0;
+ if ( cmap_index < 0 )
+ {
+ /* Treat a negative cmap index as a special value, meaning that you */
+ /* don't want to change the FT_Face's character map through this */
+ /* call. This can be useful if the face requester callback already */
+ /* sets the face's charmap to the appropriate value. */
+
+ no_cmap_change = 1;
+ cmap_index = 0;
+ }
+
if ( !cache )
{
FT_ERROR(( "FTC_CMapCache_Lookup: bad arguments, returning 0!\n" ));
@@ -311,7 +323,7 @@
* Adobe Acrobat Reader Pack, named `KozMinProVI-Regular.otf',
* which contains more than 5 charmaps.
*/
- if ( cmap_index >= 16 )
+ if ( cmap_index >= 16 && !no_cmap_change )
{
FTC_OldCMapDesc desc = (FTC_OldCMapDesc) face_id;
@@ -393,12 +405,12 @@
old = face->charmap;
cmap = face->charmaps[cmap_index];
- if ( old != cmap )
+ if ( old != cmap && !no_cmap_change )
FT_Set_Charmap( face, cmap );
gindex = FT_Get_Char_Index( face, char_code );
- if ( old != cmap )
+ if ( old != cmap && !no_cmap_change )
FT_Set_Charmap( face, old );
}
diff --git a/src/3rdparty/freetype/src/cache/ftcmanag.c b/src/3rdparty/freetype/src/cache/ftcmanag.c
index 9d7347c..4d44094 100644
--- a/src/3rdparty/freetype/src/cache/ftcmanag.c
+++ b/src/3rdparty/freetype/src/cache/ftcmanag.c
@@ -4,7 +4,7 @@
/* */
/* FreeType Cache Manager (body). */
/* */
-/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -181,7 +181,7 @@
if ( asize == NULL )
- return FTC_Err_Bad_Argument;
+ return FTC_Err_Invalid_Argument;
*asize = NULL;
@@ -306,7 +306,7 @@
if ( aface == NULL )
- return FTC_Err_Bad_Argument;
+ return FTC_Err_Invalid_Argument;
*aface = NULL;
@@ -608,7 +608,8 @@
}
Exit:
- *acache = cache;
+ if ( acache )
+ *acache = cache;
return error;
}
diff --git a/src/3rdparty/freetype/src/cache/rules.mk b/src/3rdparty/freetype/src/cache/rules.mk
index 457dec8..ed75a6a 100644
--- a/src/3rdparty/freetype/src/cache/rules.mk
+++ b/src/3rdparty/freetype/src/cache/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 2000, 2001, 2003, 2004, 2006 by
+# Copyright 2000, 2001, 2003, 2004, 2006, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -26,7 +26,7 @@ CACHE_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(CACHE_DIR))
#
CACHE_DRV_SRC := $(CACHE_DIR)/ftcbasic.c \
$(CACHE_DIR)/ftccache.c \
- $(CACHE_DIR)/ftccmap.c \
+ $(CACHE_DIR)/ftccmap.c \
$(CACHE_DIR)/ftcglyph.c \
$(CACHE_DIR)/ftcimage.c \
$(CACHE_DIR)/ftcmanag.c \
@@ -35,12 +35,14 @@ CACHE_DRV_SRC := $(CACHE_DIR)/ftcbasic.c \
# Cache driver headers
#
-CACHE_DRV_H := $(CACHE_DIR)/ftccback.h \
+CACHE_DRV_H := $(CACHE_DIR)/ftccache.h \
+ $(CACHE_DIR)/ftccback.h \
$(CACHE_DIR)/ftcerror.h \
$(CACHE_DIR)/ftcglyph.h \
$(CACHE_DIR)/ftcimage.h \
$(CACHE_DIR)/ftcmanag.h \
- $(CACHE_DIR)/ftcmru.h
+ $(CACHE_DIR)/ftcmru.h \
+ $(CACHE_DIR)/ftcsbits.h
# Cache driver object(s)
diff --git a/src/3rdparty/freetype/src/cff/cffdrivr.c b/src/3rdparty/freetype/src/cff/cffdrivr.c
index 6c3ff98..3dd86f2 100644
--- a/src/3rdparty/freetype/src/cff/cffdrivr.c
+++ b/src/3rdparty/freetype/src/cff/cffdrivr.c
@@ -4,7 +4,7 @@
/* */
/* OpenType font driver implementation (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -187,6 +187,35 @@
}
+ FT_CALLBACK_DEF( FT_Error )
+ cff_get_advances( FT_Face face,
+ FT_UInt start,
+ FT_UInt count,
+ FT_Int32 flags,
+ FT_Fixed* advances )
+ {
+ FT_UInt nn;
+ FT_Error error = CFF_Err_Ok;
+ FT_GlyphSlot slot = face->glyph;
+
+
+ flags |= FT_LOAD_ADVANCE_ONLY;
+
+ for ( nn = 0; nn < count; nn++ )
+ {
+ error = Load_Glyph( slot, face->size, start + nn, flags );
+ if ( error )
+ break;
+
+ advances[nn] = ( flags & FT_LOAD_VERTICAL_LAYOUT )
+ ? slot->linearVertAdvance
+ : slot->linearHoriAdvance;
+ }
+
+ return error;
+ }
+
+
/*
* GLYPH DICT SERVICE
*
@@ -341,7 +370,8 @@
cff->font_info = font_info;
}
- *afont_info = *cff->font_info;
+ if ( cff )
+ *afont_info = *cff->font_info;
Fail:
return error;
@@ -351,6 +381,7 @@
static const FT_Service_PsInfoRec cff_service_ps_info =
{
(PS_GetFontInfoFunc) cff_ps_get_font_info,
+ (PS_GetFontExtraFunc) NULL,
(PS_HasGlyphNamesFunc) cff_ps_has_glyph_names,
(PS_GetFontPrivateFunc)NULL /* unsupported with CFF fonts */
};
@@ -396,6 +427,7 @@
cmap_info->language = 0;
+ cmap_info->format = 0;
if ( cmap->clazz != &cff_cmap_encoding_class_rec &&
cmap->clazz != &cff_cmap_unicode_class_rec )
@@ -475,9 +507,74 @@
}
+ static FT_Error
+ cff_get_is_cid( CFF_Face face,
+ FT_Bool *is_cid )
+ {
+ FT_Error error = CFF_Err_Ok;
+ CFF_Font cff = (CFF_Font)face->extra.data;
+
+
+ *is_cid = 0;
+
+ if ( cff )
+ {
+ CFF_FontRecDict dict = &cff->top_font.font_dict;
+
+
+ if ( dict->cid_registry != 0xFFFFU )
+ *is_cid = 1;
+ }
+
+ return error;
+ }
+
+
+ static FT_Error
+ cff_get_cid_from_glyph_index( CFF_Face face,
+ FT_UInt glyph_index,
+ FT_UInt *cid )
+ {
+ FT_Error error = CFF_Err_Ok;
+ CFF_Font cff;
+
+
+ cff = (CFF_Font)face->extra.data;
+
+ if ( cff )
+ {
+ FT_UInt c;
+ CFF_FontRecDict dict = &cff->top_font.font_dict;
+
+
+ if ( dict->cid_registry == 0xFFFFU )
+ {
+ error = CFF_Err_Invalid_Argument;
+ goto Fail;
+ }
+
+ if ( glyph_index > cff->num_glyphs )
+ {
+ error = CFF_Err_Invalid_Argument;
+ goto Fail;
+ }
+
+ c = cff->charset.sids[glyph_index];
+
+ if ( cid )
+ *cid = c;
+ }
+
+ Fail:
+ return error;
+ }
+
+
static const FT_Service_CIDRec cff_service_cid_info =
{
- (FT_CID_GetRegistryOrderingSupplementFunc)cff_get_ros
+ (FT_CID_GetRegistryOrderingSupplementFunc)cff_get_ros,
+ (FT_CID_GetIsInternallyCIDKeyedFunc) cff_get_is_cid,
+ (FT_CID_GetCIDFromGlyphIndexFunc) cff_get_cid_from_glyph_index
};
@@ -570,7 +667,7 @@
cff_get_kerning,
0, /* FT_Face_AttachFunc */
- 0, /* FT_Face_GetAdvancesFunc */
+ cff_get_advances, /* FT_Face_GetAdvancesFunc */
cff_size_request,
diff --git a/src/3rdparty/freetype/src/cff/cffgload.c b/src/3rdparty/freetype/src/cff/cffgload.c
index 6553c8d..2718a27 100644
--- a/src/3rdparty/freetype/src/cff/cffgload.c
+++ b/src/3rdparty/freetype/src/cff/cffgload.c
@@ -4,7 +4,7 @@
/* */
/* OpenType Glyph Loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -110,8 +110,11 @@
cff_op_callgsubr,
cff_op_return,
- cff_op_hsbw, /* Type 1 opcode: invalid but seen in real life */
- cff_op_closepath, /* ditto */
+ /* Type 1 opcodes: invalid but seen in real life */
+ cff_op_hsbw,
+ cff_op_closepath,
+ cff_op_callothersubr,
+ cff_op_pop,
/* do not remove */
cff_op_max
@@ -123,6 +126,11 @@
#define CFF_COUNT_EXACT 0x40
#define CFF_COUNT_CLEAR_STACK 0x20
+ /* count values which have the `CFF_COUNT_CHECK_WIDTH' flag set are */
+ /* used for checking the width and requested numbers of arguments */
+ /* only; they are set to zero afterwards */
+
+ /* the other two flags are informative only and unused currently */
static const FT_Byte cff_argument_counts[] =
{
@@ -193,6 +201,8 @@
0,
2, /* hsbw */
+ 0,
+ 0,
0
};
@@ -406,9 +416,11 @@
goto Exit;
}
+ FT_TRACE4(( "glyph index %d (subfont %d):\n", glyph_index, fd_index ));
+
sub = cff->subfonts[fd_index];
- if ( builder->hints_funcs )
+ if ( builder->hints_funcs && size )
{
CFF_Internal internal = (CFF_Internal)size->root.internal;
@@ -417,6 +429,10 @@
builder->hints_globals = (void *)internal->subfonts[fd_index];
}
}
+#ifdef FT_DEBUG_LEVEL_TRACE
+ else
+ FT_TRACE4(( "glyph index %d:\n", glyph_index ));
+#endif
decoder->num_locals = sub->num_local_subrs;
decoder->locals = sub->local_subrs;
@@ -944,6 +960,11 @@
}
else
{
+ /* The specification says that normally arguments are to be taken */
+ /* from the bottom of the stack. However, this seems not to be */
+ /* correct, at least for Acroread 7.0.8 on GNU/Linux: It pops the */
+ /* arguments similar to a PS interpreter. */
+
FT_Fixed* args = decoder->top;
FT_Int num_args = (FT_Int)( args - decoder->stack );
FT_Int req_args;
@@ -1028,6 +1049,12 @@
case 15:
op = cff_op_eq;
break;
+ case 16:
+ op = cff_op_callothersubr;
+ break;
+ case 17:
+ op = cff_op_pop;
+ break;
case 18:
op = cff_op_drop;
break;
@@ -1130,6 +1157,7 @@
default:
;
}
+
if ( op == cff_op_unknown )
goto Syntax_Error;
@@ -1137,8 +1165,6 @@
req_args = cff_argument_counts[op];
if ( req_args & CFF_COUNT_CHECK_WIDTH )
{
- args = stack;
-
if ( num_args > 0 && decoder->read_width )
{
/* If `nominal_width' is non-zero, the number is really a */
@@ -1172,7 +1198,7 @@
case cff_op_endchar:
/* If there is a width specified for endchar, we either have */
/* 1 argument or 5 arguments. We like to argue. */
- set_width_ok = ( ( num_args == 5 ) || ( num_args == 1 ) );
+ set_width_ok = ( num_args == 5 ) || ( num_args == 1 );
break;
default:
@@ -1185,9 +1211,14 @@
decoder->glyph_width = decoder->nominal_width +
( stack[0] >> 16 );
+ if ( decoder->width_only )
+ {
+ /* we only want the advance width; stop here */
+ break;
+ }
+
/* Consumed an argument. */
num_args--;
- args++;
}
}
@@ -1201,6 +1232,14 @@
args -= req_args;
num_args -= req_args;
+ /* At this point, `args' points to the first argument of the */
+ /* operand in case `req_args' isn't zero. Otherwise, we have */
+ /* to adjust `args' manually. */
+
+ /* Note that we only pop arguments from the stack which we */
+ /* really need and can digest so that we can continue in case */
+ /* of superfluous stack elements. */
+
switch ( op )
{
case cff_op_hstem:
@@ -1208,15 +1247,16 @@
case cff_op_hstemhm:
case cff_op_vstemhm:
/* the number of arguments is always even here */
- FT_TRACE4(( op == cff_op_hstem ? " hstem" :
- ( op == cff_op_vstem ? " vstem" :
- ( op == cff_op_hstemhm ? " hstemhm" : " vstemhm" ) ) ));
+ FT_TRACE4((
+ op == cff_op_hstem ? " hstem\n" :
+ ( op == cff_op_vstem ? " vstem\n" :
+ ( op == cff_op_hstemhm ? " hstemhm\n" : " vstemhm\n" ) ) ));
if ( hinter )
hinter->stems( hinter->hints,
( op == cff_op_hstem || op == cff_op_hstemhm ),
num_args / 2,
- args );
+ args - ( num_args & ~1 ) );
decoder->num_hints += num_args / 2;
args = stack;
@@ -1236,7 +1276,7 @@
hinter->stems( hinter->hints,
0,
num_args / 2,
- args );
+ args - ( num_args & ~1 ) );
decoder->num_hints += num_args / 2;
}
@@ -1259,12 +1299,14 @@
FT_UInt maskbyte;
- FT_TRACE4(( " " ));
+ FT_TRACE4(( " (maskbytes: " ));
for ( maskbyte = 0;
maskbyte < (FT_UInt)(( decoder->num_hints + 7 ) >> 3);
maskbyte++, ip++ )
FT_TRACE4(( "0x%02X", *ip ));
+
+ FT_TRACE4(( ")\n" ));
}
#else
ip += ( decoder->num_hints + 7 ) >> 3;
@@ -1275,44 +1317,44 @@
break;
case cff_op_rmoveto:
- FT_TRACE4(( " rmoveto" ));
+ FT_TRACE4(( " rmoveto\n" ));
cff_builder_close_contour( builder );
builder->path_begun = 0;
- x += args[0];
- y += args[1];
+ x += args[-2];
+ y += args[-1];
args = stack;
break;
case cff_op_vmoveto:
- FT_TRACE4(( " vmoveto" ));
+ FT_TRACE4(( " vmoveto\n" ));
cff_builder_close_contour( builder );
builder->path_begun = 0;
- y += args[0];
+ y += args[-1];
args = stack;
break;
case cff_op_hmoveto:
- FT_TRACE4(( " hmoveto" ));
+ FT_TRACE4(( " hmoveto\n" ));
cff_builder_close_contour( builder );
builder->path_begun = 0;
- x += args[0];
+ x += args[-1];
args = stack;
break;
case cff_op_rlineto:
- FT_TRACE4(( " rlineto" ));
+ FT_TRACE4(( " rlineto\n" ));
if ( cff_builder_start_point ( builder, x, y ) ||
check_points( builder, num_args / 2 ) )
goto Fail;
- if ( num_args < 2 || num_args & 1 )
+ if ( num_args < 2 )
goto Stack_Underflow;
- args = stack;
+ args -= num_args & ~1;
while ( args < decoder->top )
{
x += args[0];
@@ -1329,8 +1371,11 @@
FT_Int phase = ( op == cff_op_hlineto );
- FT_TRACE4(( op == cff_op_hlineto ? " hlineto"
- : " vlineto" ));
+ FT_TRACE4(( op == cff_op_hlineto ? " hlineto\n"
+ : " vlineto\n" ));
+
+ if ( num_args < 1 )
+ goto Stack_Underflow;
if ( cff_builder_start_point ( builder, x, y ) ||
check_points( builder, num_args ) )
@@ -1355,125 +1400,164 @@
break;
case cff_op_rrcurveto:
- FT_TRACE4(( " rrcurveto" ));
+ {
+ FT_Int nargs;
- /* check number of arguments; must be a multiple of 6 */
- if ( num_args % 6 != 0 )
- goto Stack_Underflow;
- if ( cff_builder_start_point ( builder, x, y ) ||
- check_points( builder, num_args / 2 ) )
- goto Fail;
+ FT_TRACE4(( " rrcurveto\n" ));
- args = stack;
- while ( args < decoder->top )
- {
- x += args[0];
- y += args[1];
- cff_builder_add_point( builder, x, y, 0 );
- x += args[2];
- y += args[3];
- cff_builder_add_point( builder, x, y, 0 );
- x += args[4];
- y += args[5];
- cff_builder_add_point( builder, x, y, 1 );
- args += 6;
+ if ( num_args < 6 )
+ goto Stack_Underflow;
+
+ nargs = num_args - num_args % 6;
+
+ if ( cff_builder_start_point ( builder, x, y ) ||
+ check_points( builder, nargs / 2 ) )
+ goto Fail;
+
+ args -= nargs;
+ while ( args < decoder->top )
+ {
+ x += args[0];
+ y += args[1];
+ cff_builder_add_point( builder, x, y, 0 );
+ x += args[2];
+ y += args[3];
+ cff_builder_add_point( builder, x, y, 0 );
+ x += args[4];
+ y += args[5];
+ cff_builder_add_point( builder, x, y, 1 );
+ args += 6;
+ }
+ args = stack;
}
- args = stack;
break;
case cff_op_vvcurveto:
- FT_TRACE4(( " vvcurveto" ));
+ {
+ FT_Int nargs;
- if ( cff_builder_start_point( builder, x, y ) )
- goto Fail;
- args = stack;
- if ( num_args & 1 )
- {
- x += args[0];
- args++;
- num_args--;
- }
+ FT_TRACE4(( " vvcurveto\n" ));
- if ( num_args % 4 != 0 )
- goto Stack_Underflow;
+ if ( num_args < 4 )
+ goto Stack_Underflow;
- if ( check_points( builder, 3 * ( num_args / 4 ) ) )
- goto Fail;
+ /* if num_args isn't of the form 4n or 4n+1, */
+ /* we reduce it to 4n+1 */
- while ( args < decoder->top )
- {
- y += args[0];
- cff_builder_add_point( builder, x, y, 0 );
- x += args[1];
- y += args[2];
- cff_builder_add_point( builder, x, y, 0 );
- y += args[3];
- cff_builder_add_point( builder, x, y, 1 );
- args += 4;
+ nargs = num_args - num_args % 4;
+ if ( num_args - nargs > 0 )
+ nargs += 1;
+
+ if ( cff_builder_start_point( builder, x, y ) )
+ goto Fail;
+
+ args -= nargs;
+
+ if ( nargs & 1 )
+ {
+ x += args[0];
+ args++;
+ nargs--;
+ }
+
+ if ( check_points( builder, 3 * ( nargs / 4 ) ) )
+ goto Fail;
+
+ while ( args < decoder->top )
+ {
+ y += args[0];
+ cff_builder_add_point( builder, x, y, 0 );
+ x += args[1];
+ y += args[2];
+ cff_builder_add_point( builder, x, y, 0 );
+ y += args[3];
+ cff_builder_add_point( builder, x, y, 1 );
+ args += 4;
+ }
+ args = stack;
}
- args = stack;
break;
case cff_op_hhcurveto:
- FT_TRACE4(( " hhcurveto" ));
+ {
+ FT_Int nargs;
- if ( cff_builder_start_point( builder, x, y ) )
- goto Fail;
- args = stack;
- if ( num_args & 1 )
- {
- y += args[0];
- args++;
- num_args--;
- }
+ FT_TRACE4(( " hhcurveto\n" ));
- if ( num_args % 4 != 0 )
- goto Stack_Underflow;
+ if ( num_args < 4 )
+ goto Stack_Underflow;
- if ( check_points( builder, 3 * ( num_args / 4 ) ) )
- goto Fail;
+ /* if num_args isn't of the form 4n or 4n+1, */
+ /* we reduce it to 4n+1 */
- while ( args < decoder->top )
- {
- x += args[0];
- cff_builder_add_point( builder, x, y, 0 );
- x += args[1];
- y += args[2];
- cff_builder_add_point( builder, x, y, 0 );
- x += args[3];
- cff_builder_add_point( builder, x, y, 1 );
- args += 4;
+ nargs = num_args - num_args % 4;
+ if ( num_args - nargs > 0 )
+ nargs += 1;
+
+ if ( cff_builder_start_point( builder, x, y ) )
+ goto Fail;
+
+ args -= nargs;
+ if ( nargs & 1 )
+ {
+ y += args[0];
+ args++;
+ nargs--;
+ }
+
+ if ( check_points( builder, 3 * ( nargs / 4 ) ) )
+ goto Fail;
+
+ while ( args < decoder->top )
+ {
+ x += args[0];
+ cff_builder_add_point( builder, x, y, 0 );
+ x += args[1];
+ y += args[2];
+ cff_builder_add_point( builder, x, y, 0 );
+ x += args[3];
+ cff_builder_add_point( builder, x, y, 1 );
+ args += 4;
+ }
+ args = stack;
}
- args = stack;
break;
case cff_op_vhcurveto:
case cff_op_hvcurveto:
{
FT_Int phase;
+ FT_Int nargs;
- FT_TRACE4(( op == cff_op_vhcurveto ? " vhcurveto"
- : " hvcurveto" ));
+ FT_TRACE4(( op == cff_op_vhcurveto ? " vhcurveto\n"
+ : " hvcurveto\n" ));
if ( cff_builder_start_point( builder, x, y ) )
goto Fail;
- args = stack;
- if ( num_args < 4 || ( num_args % 4 ) > 1 )
+ if ( num_args < 4 )
goto Stack_Underflow;
- if ( check_points( builder, ( num_args / 4 ) * 3 ) )
+ /* if num_args isn't of the form 8n, 8n+1, 8n+4, or 8n+5, */
+ /* we reduce it to the largest one which fits */
+
+ nargs = num_args - num_args % 4;
+ if ( num_args - nargs > 0 )
+ nargs += 1;
+
+ args -= nargs;
+ if ( check_points( builder, ( nargs / 4 ) * 3 ) )
goto Stack_Underflow;
phase = ( op == cff_op_hvcurveto );
- while ( num_args >= 4 )
+ while ( nargs >= 4 )
{
- num_args -= 4;
+ nargs -= 4;
if ( phase )
{
x += args[0];
@@ -1482,7 +1566,7 @@
y += args[2];
cff_builder_add_point( builder, x, y, 0 );
y += args[3];
- if ( num_args == 1 )
+ if ( nargs == 1 )
x += args[4];
cff_builder_add_point( builder, x, y, 1 );
}
@@ -1494,7 +1578,7 @@
y += args[2];
cff_builder_add_point( builder, x, y, 0 );
x += args[3];
- if ( num_args == 1 )
+ if ( nargs == 1 )
y += args[4];
cff_builder_add_point( builder, x, y, 1 );
}
@@ -1507,19 +1591,23 @@
case cff_op_rlinecurve:
{
- FT_Int num_lines = ( num_args - 6 ) / 2;
+ FT_Int num_lines;
+ FT_Int nargs;
- FT_TRACE4(( " rlinecurve" ));
+ FT_TRACE4(( " rlinecurve\n" ));
- if ( num_args < 8 || ( num_args - 6 ) & 1 )
+ if ( num_args < 8 )
goto Stack_Underflow;
+ nargs = num_args & ~1;
+ num_lines = ( nargs - 6 ) / 2;
+
if ( cff_builder_start_point( builder, x, y ) ||
check_points( builder, num_lines + 3 ) )
goto Fail;
- args = stack;
+ args -= nargs;
/* first, add the line segments */
while ( num_lines > 0 )
@@ -1547,19 +1635,24 @@
case cff_op_rcurveline:
{
- FT_Int num_curves = ( num_args - 2 ) / 6;
+ FT_Int num_curves;
+ FT_Int nargs;
- FT_TRACE4(( " rcurveline" ));
+ FT_TRACE4(( " rcurveline\n" ));
- if ( num_args < 8 || ( num_args - 2 ) % 6 )
+ if ( num_args < 8 )
goto Stack_Underflow;
+ nargs = num_args - 2;
+ nargs = nargs - nargs % 6 + 2;
+ num_curves = ( nargs - 2 ) / 6;
+
if ( cff_builder_start_point ( builder, x, y ) ||
- check_points( builder, num_curves*3 + 2 ) )
+ check_points( builder, num_curves * 3 + 2 ) )
goto Fail;
- args = stack;
+ args -= nargs;
/* first, add the curves */
while ( num_curves > 0 )
@@ -1590,18 +1683,16 @@
FT_Pos start_y;
- FT_TRACE4(( " hflex1" ));
-
- args = stack;
+ FT_TRACE4(( " hflex1\n" ));
- /* adding five more points; 4 control points, 1 on-curve point */
- /* make sure we have enough space for the start point if it */
+ /* adding five more points: 4 control points, 1 on-curve point */
+ /* -- make sure we have enough space for the start point if it */
/* needs to be added */
if ( cff_builder_start_point( builder, x, y ) ||
check_points( builder, 6 ) )
goto Fail;
- /* Record the starting point's y position for later use */
+ /* record the starting point's y position for later use */
start_y = y;
/* first control point */
@@ -1643,9 +1734,7 @@
FT_Pos start_y;
- FT_TRACE4(( " hflex" ));
-
- args = stack;
+ FT_TRACE4(( " hflex\n" ));
/* adding six more points; 4 control points, 2 on-curve points */
if ( cff_builder_start_point( builder, x, y ) ||
@@ -1690,14 +1779,15 @@
case cff_op_flex1:
{
- FT_Pos start_x, start_y; /* record start x, y values for */
- /* alter use */
- FT_Fixed dx = 0, dy = 0; /* used in horizontal/vertical */
- /* algorithm below */
- FT_Int horizontal, count;
+ FT_Pos start_x, start_y; /* record start x, y values for */
+ /* alter use */
+ FT_Fixed dx = 0, dy = 0; /* used in horizontal/vertical */
+ /* algorithm below */
+ FT_Int horizontal, count;
+ FT_Fixed* temp;
- FT_TRACE4(( " flex1" ));
+ FT_TRACE4(( " flex1\n" ));
/* adding six more points; 4 control points, 2 on-curve points */
if ( cff_builder_start_point( builder, x, y ) ||
@@ -1711,21 +1801,20 @@
/* XXX: figure out whether this is supposed to be a horizontal */
/* or vertical flex; the Type 2 specification is vague... */
- args = stack;
+ temp = args;
/* grab up to the last argument */
for ( count = 5; count > 0; count-- )
{
- dx += args[0];
- dy += args[1];
- args += 2;
+ dx += temp[0];
+ dy += temp[1];
+ temp += 2;
}
- /* rewind */
- args = stack;
-
- if ( dx < 0 ) dx = -dx;
- if ( dy < 0 ) dy = -dy;
+ if ( dx < 0 )
+ dx = -dx;
+ if ( dy < 0 )
+ dy = -dy;
/* strange test, but here it is... */
horizontal = ( dx > dy );
@@ -1734,7 +1823,8 @@
{
x += args[0];
y += args[1];
- cff_builder_add_point( builder, x, y, (FT_Bool)( count == 3 ) );
+ cff_builder_add_point( builder, x, y,
+ (FT_Bool)( count == 3 ) );
args += 2;
}
@@ -1761,13 +1851,12 @@
FT_UInt count;
- FT_TRACE4(( " flex" ));
+ FT_TRACE4(( " flex\n" ));
if ( cff_builder_start_point( builder, x, y ) ||
check_points( builder, 6 ) )
goto Fail;
- args = stack;
for ( count = 6; count > 0; count-- )
{
x += args[0];
@@ -1782,21 +1871,20 @@
break;
case cff_op_endchar:
- FT_TRACE4(( " endchar" ));
+ FT_TRACE4(( " endchar\n" ));
/* We are going to emulate the seac operator. */
- if ( num_args == 4 )
+ if ( num_args >= 4 )
{
/* Save glyph width so that the subglyphs don't overwrite it. */
FT_Pos glyph_width = decoder->glyph_width;
error = cff_operator_seac( decoder,
- args[0],
- args[1],
- (FT_Int)( args[2] >> 16 ),
- (FT_Int)( args[3] >> 16 ) );
- args += 4;
+ args[-4],
+ args[-3],
+ (FT_Int)( args[-2] >> 16 ),
+ (FT_Int)( args[-1] >> 16 ) );
decoder->glyph_width = glyph_width;
}
@@ -1826,11 +1914,11 @@
}
/* return now! */
- FT_TRACE4(( "\n\n" ));
+ FT_TRACE4(( "\n" ));
return error;
case cff_op_abs:
- FT_TRACE4(( " abs" ));
+ FT_TRACE4(( " abs\n" ));
if ( args[0] < 0 )
args[0] = -args[0];
@@ -1838,28 +1926,28 @@
break;
case cff_op_add:
- FT_TRACE4(( " add" ));
+ FT_TRACE4(( " add\n" ));
args[0] += args[1];
args++;
break;
case cff_op_sub:
- FT_TRACE4(( " sub" ));
+ FT_TRACE4(( " sub\n" ));
args[0] -= args[1];
args++;
break;
case cff_op_div:
- FT_TRACE4(( " div" ));
+ FT_TRACE4(( " div\n" ));
args[0] = FT_DivFix( args[0], args[1] );
args++;
break;
case cff_op_neg:
- FT_TRACE4(( " neg" ));
+ FT_TRACE4(( " neg\n" ));
args[0] = -args[0];
args++;
@@ -1870,7 +1958,7 @@
FT_Fixed Rand;
- FT_TRACE4(( " rand" ));
+ FT_TRACE4(( " rand\n" ));
Rand = seed;
if ( Rand >= 0x8000L )
@@ -1885,14 +1973,14 @@
break;
case cff_op_mul:
- FT_TRACE4(( " mul" ));
+ FT_TRACE4(( " mul\n" ));
args[0] = FT_MulFix( args[0], args[1] );
args++;
break;
case cff_op_sqrt:
- FT_TRACE4(( " sqrt" ));
+ FT_TRACE4(( " sqrt\n" ));
if ( args[0] > 0 )
{
@@ -1917,7 +2005,7 @@
case cff_op_drop:
/* nothing */
- FT_TRACE4(( " drop" ));
+ FT_TRACE4(( " drop\n" ));
break;
@@ -1926,7 +2014,7 @@
FT_Fixed tmp;
- FT_TRACE4(( " exch" ));
+ FT_TRACE4(( " exch\n" ));
tmp = args[0];
args[0] = args[1];
@@ -1940,7 +2028,7 @@
FT_Int idx = (FT_Int)( args[0] >> 16 );
- FT_TRACE4(( " index" ));
+ FT_TRACE4(( " index\n" ));
if ( idx < 0 )
idx = 0;
@@ -1957,7 +2045,7 @@
FT_Int idx = (FT_Int)( args[1] >> 16 );
- FT_TRACE4(( " roll" ));
+ FT_TRACE4(( " roll\n" ));
if ( count <= 0 )
count = 1;
@@ -1999,7 +2087,7 @@
break;
case cff_op_dup:
- FT_TRACE4(( " dup" ));
+ FT_TRACE4(( " dup\n" ));
args[1] = args[0];
args++;
@@ -2011,7 +2099,7 @@
FT_Int idx = (FT_Int)( args[1] >> 16 );
- FT_TRACE4(( " put" ));
+ FT_TRACE4(( " put\n" ));
if ( idx >= 0 && idx < decoder->len_buildchar )
decoder->buildchar[idx] = val;
@@ -2024,7 +2112,7 @@
FT_Fixed val = 0;
- FT_TRACE4(( " get" ));
+ FT_TRACE4(( " get\n" ));
if ( idx >= 0 && idx < decoder->len_buildchar )
val = decoder->buildchar[idx];
@@ -2035,18 +2123,18 @@
break;
case cff_op_store:
- FT_TRACE4(( " store "));
+ FT_TRACE4(( " store\n"));
goto Unimplemented;
case cff_op_load:
- FT_TRACE4(( " load" ));
+ FT_TRACE4(( " load\n" ));
goto Unimplemented;
case cff_op_dotsection:
/* this operator is deprecated and ignored by the parser */
- FT_TRACE4(( " dotsection" ));
+ FT_TRACE4(( " dotsection\n" ));
break;
case cff_op_closepath:
@@ -2054,7 +2142,7 @@
/* exist fonts which are incorrectly converted from probably */
/* Type 1 to CFF, and some parsers seem to accept it */
- FT_TRACE4(( " closepath (invalid op)" ));
+ FT_TRACE4(( " closepath (invalid op)\n" ));
args = stack;
break;
@@ -2064,7 +2152,7 @@
/* exist fonts which are incorrectly converted from probably */
/* Type 1 to CFF, and some parsers seem to accept it */
- FT_TRACE4(( " hsbw (invalid op)" ));
+ FT_TRACE4(( " hsbw (invalid op)\n" ));
decoder->glyph_width = decoder->nominal_width +
(args[1] >> 16);
@@ -2073,12 +2161,33 @@
args = stack;
break;
+ case cff_op_callothersubr:
+ /* this is an invalid Type 2 operator; however, there */
+ /* exist fonts which are incorrectly converted from probably */
+ /* Type 1 to CFF, and some parsers seem to accept it */
+
+ FT_TRACE4(( " callothersubr (invalid op)\n" ));
+
+ /* don't modify stack; handle the subr as `unknown' so that */
+ /* following `pop' operands use the arguments on stack */
+ break;
+
+ case cff_op_pop:
+ /* this is an invalid Type 2 operator; however, there */
+ /* exist fonts which are incorrectly converted from probably */
+ /* Type 1 to CFF, and some parsers seem to accept it */
+
+ FT_TRACE4(( " pop (invalid op)\n" ));
+
+ args++;
+ break;
+
case cff_op_and:
{
FT_Fixed cond = args[0] && args[1];
- FT_TRACE4(( " and" ));
+ FT_TRACE4(( " and\n" ));
args[0] = cond ? 0x10000L : 0;
args++;
@@ -2090,7 +2199,7 @@
FT_Fixed cond = args[0] || args[1];
- FT_TRACE4(( " or" ));
+ FT_TRACE4(( " or\n" ));
args[0] = cond ? 0x10000L : 0;
args++;
@@ -2102,7 +2211,7 @@
FT_Fixed cond = !args[0];
- FT_TRACE4(( " eq" ));
+ FT_TRACE4(( " eq\n" ));
args[0] = cond ? 0x10000L : 0;
args++;
@@ -2114,7 +2223,7 @@
FT_Fixed cond = ( args[2] <= args[3] );
- FT_TRACE4(( " ifelse" ));
+ FT_TRACE4(( " ifelse\n" ));
if ( !cond )
args[0] = args[1];
@@ -2128,7 +2237,7 @@
decoder->locals_bias );
- FT_TRACE4(( " callsubr(%d)", idx ));
+ FT_TRACE4(( " callsubr(%d)\n", idx ));
if ( idx >= decoder->num_locals )
{
@@ -2170,7 +2279,7 @@
decoder->globals_bias );
- FT_TRACE4(( " callgsubr(%d)", idx ));
+ FT_TRACE4(( " callgsubr(%d)\n", idx ));
if ( idx >= decoder->num_globals )
{
@@ -2207,7 +2316,7 @@
break;
case cff_op_return:
- FT_TRACE4(( " return" ));
+ FT_TRACE4(( " return\n" ));
if ( decoder->zone <= decoder->zones )
{
@@ -2245,15 +2354,15 @@
return error;
Syntax_Error:
- FT_TRACE4(( "cff_decoder_parse_charstrings: syntax error!" ));
+ FT_TRACE4(( "cff_decoder_parse_charstrings: syntax error!\n" ));
return CFF_Err_Invalid_File_Format;
Stack_Underflow:
- FT_TRACE4(( "cff_decoder_parse_charstrings: stack underflow!" ));
+ FT_TRACE4(( "cff_decoder_parse_charstrings: stack underflow!\n" ));
return CFF_Err_Too_Few_Arguments;
Stack_Overflow:
- FT_TRACE4(( "cff_decoder_parse_charstrings: stack overflow!" ));
+ FT_TRACE4(( "cff_decoder_parse_charstrings: stack overflow!\n" ));
return CFF_Err_Stack_Overflow;
}
@@ -2341,9 +2450,9 @@
{
FT_Error error;
CFF_Decoder decoder;
- TT_Face face = (TT_Face)glyph->root.face;
+ TT_Face face = (TT_Face)glyph->root.face;
FT_Bool hinting, force_scaling;
- CFF_Font cff = (CFF_Font)face->extra.data;
+ CFF_Font cff = (CFF_Font)face->extra.data;
FT_Matrix font_matrix;
FT_Vector font_offset;
@@ -2357,9 +2466,14 @@
if ( cff->top_font.font_dict.cid_registry != 0xFFFFU &&
cff->charset.cids )
{
- glyph_index = cff_charset_cid_to_gindex( &cff->charset, glyph_index );
- if ( glyph_index == 0 )
- return CFF_Err_Invalid_Argument;
+ /* don't handle CID 0 (.notdef) which is directly mapped to GID 0 */
+ if ( glyph_index != 0 )
+ {
+ glyph_index = cff_charset_cid_to_gindex( &cff->charset,
+ glyph_index );
+ if ( glyph_index == 0 )
+ return CFF_Err_Invalid_Argument;
+ }
}
else if ( glyph_index >= cff->num_glyphs )
return CFF_Err_Invalid_Argument;
@@ -2488,8 +2602,11 @@
cff_decoder_init( &decoder, face, size, glyph, hinting,
FT_LOAD_TARGET_MODE( load_flags ) );
+ if ( load_flags & FT_LOAD_ADVANCE_ONLY )
+ decoder.width_only = TRUE;
+
decoder.builder.no_recurse =
- (FT_Bool)( ( load_flags & FT_LOAD_NO_RECURSE ) != 0 );
+ (FT_Bool)( load_flags & FT_LOAD_NO_RECURSE );
/* now load the unscaled outline */
error = cff_get_glyph_data( face, glyph_index,
@@ -2596,7 +2713,7 @@
has_vertical_info = FT_BOOL( face->vertical_info &&
face->vertical.number_Of_VMetrics > 0 &&
- face->vertical.long_metrics != 0 );
+ face->vertical.long_metrics );
/* get the vertical metrics from the vtmx table if we have one */
if ( has_vertical_info )
diff --git a/src/3rdparty/freetype/src/cff/cffgload.h b/src/3rdparty/freetype/src/cff/cffgload.h
index d661f9e..667134e 100644
--- a/src/3rdparty/freetype/src/cff/cffgload.h
+++ b/src/3rdparty/freetype/src/cff/cffgload.h
@@ -139,6 +139,7 @@ FT_BEGIN_HEADER
FT_Pos nominal_width;
FT_Bool read_width;
+ FT_Bool width_only;
FT_Int num_hints;
FT_Fixed* buildchar;
FT_Int len_buildchar;
diff --git a/src/3rdparty/freetype/src/cff/cffload.c b/src/3rdparty/freetype/src/cff/cffload.c
index 1e7dd14..22163fb 100644
--- a/src/3rdparty/freetype/src/cff/cffload.c
+++ b/src/3rdparty/freetype/src/cff/cffload.c
@@ -4,7 +4,7 @@
/* */
/* OpenType and CFF data/program tables loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -319,7 +319,7 @@
static FT_Error
cff_index_load_offsets( CFF_Index idx )
{
- FT_Error error = 0;
+ FT_Error error = CFF_Err_Ok;
FT_Stream stream = idx->stream;
FT_Memory memory = stream->memory;
@@ -402,6 +402,7 @@
old_offset = 1;
for ( n = 0; n <= idx->count; n++ )
{
+ /* at this point, `idx->offsets' can't be NULL */
offset = idx->offsets[n];
if ( !offset )
offset = old_offset;
@@ -1355,7 +1356,8 @@
FT_LOCAL_DEF( FT_Error )
cff_font_load( FT_Stream stream,
FT_Int face_index,
- CFF_Font font )
+ CFF_Font font,
+ FT_Bool pure_cff )
{
static const FT_Frame_Field cff_header_fields[] =
{
@@ -1519,7 +1521,7 @@
/* read the Charset and Encoding tables if available */
if ( font->num_glyphs > 0 )
{
- FT_Bool invert = FT_BOOL( dict->cid_registry != 0xFFFFU );
+ FT_Bool invert = FT_BOOL( dict->cid_registry != 0xFFFFU && pure_cff );
error = cff_charset_load( &font->charset, font->num_glyphs, stream,
@@ -1539,9 +1541,6 @@
if ( error )
goto Exit;
}
- else
- /* CID-keyed fonts only need CIDs */
- FT_FREE( font->charset.sids );
}
/* get the font name (/CIDFontName for CID-keyed fonts, */
diff --git a/src/3rdparty/freetype/src/cff/cffload.h b/src/3rdparty/freetype/src/cff/cffload.h
index 068cbb5..02498bd 100644
--- a/src/3rdparty/freetype/src/cff/cffload.h
+++ b/src/3rdparty/freetype/src/cff/cffload.h
@@ -4,7 +4,7 @@
/* */
/* OpenType & CFF data/program tables loader (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -60,7 +60,8 @@ FT_BEGIN_HEADER
FT_LOCAL( FT_Error )
cff_font_load( FT_Stream stream,
FT_Int face_index,
- CFF_Font font );
+ CFF_Font font,
+ FT_Bool pure_cff );
FT_LOCAL( void )
cff_font_done( CFF_Font font );
diff --git a/src/3rdparty/freetype/src/cff/cffobjs.c b/src/3rdparty/freetype/src/cff/cffobjs.c
index 12997a9..3525ea3 100644
--- a/src/3rdparty/freetype/src/cff/cffobjs.c
+++ b/src/3rdparty/freetype/src/cff/cffobjs.c
@@ -101,7 +101,7 @@
/* CFF and Type 1 private dictionaries have slightly different */
- /* structures; we need to synthetize a Type 1 dictionary on the fly */
+ /* structures; we need to synthesize a Type 1 dictionary on the fly */
static void
cff_make_private_dict( CFF_SubFont subfont,
@@ -437,7 +437,7 @@
error = sfnt->init_face( stream, face, face_index, num_params, params );
if ( !error )
{
- if ( face->format_tag != 0x4F54544FL ) /* `OTTO'; OpenType/CFF font */
+ if ( face->format_tag != TTAG_OTTO ) /* `OTTO'; OpenType/CFF font */
{
FT_TRACE2(( "[not a valid OpenType/CFF font]\n" ));
goto Bad_Format;
@@ -465,8 +465,7 @@
pure_cff = 0;
/* load font directory */
- error = sfnt->load_face( stream, face,
- face_index, num_params, params );
+ error = sfnt->load_face( stream, face, 0, num_params, params );
if ( error )
goto Exit;
}
@@ -508,13 +507,15 @@
goto Exit;
face->extra.data = cff;
- error = cff_font_load( stream, face_index, cff );
+ error = cff_font_load( stream, face_index, cff, pure_cff );
if ( error )
goto Exit;
cff->pshinter = pshinter;
cff->psnames = (void*)psnames;
+ cffface->face_index = face_index;
+
/* Complement the root flags with some interesting information. */
/* Note that this is only necessary for pure CFF and CEF fonts; */
/* SFNT based fonts use the `name' table instead. */
@@ -534,6 +535,111 @@
goto Bad_Format;
}
+ if ( !dict->units_per_em )
+ dict->units_per_em = pure_cff ? 1000 : face->root.units_per_EM;
+
+ /* Normalize the font matrix so that `matrix->xx' is 1; the */
+ /* scaling is done with `units_per_em' then (at this point, */
+ /* it already contains the scaling factor, but without */
+ /* normalization of the matrix). */
+ /* */
+ /* Note that the offsets must be expressed in integer font */
+ /* units. */
+
+ {
+ FT_Matrix* matrix = &dict->font_matrix;
+ FT_Vector* offset = &dict->font_offset;
+ FT_ULong* upm = &dict->units_per_em;
+ FT_Fixed temp = FT_ABS( matrix->yy );
+
+
+ if ( temp != 0x10000L )
+ {
+ *upm = FT_DivFix( *upm, temp );
+
+ matrix->xx = FT_DivFix( matrix->xx, temp );
+ matrix->yx = FT_DivFix( matrix->yx, temp );
+ matrix->xy = FT_DivFix( matrix->xy, temp );
+ matrix->yy = FT_DivFix( matrix->yy, temp );
+ offset->x = FT_DivFix( offset->x, temp );
+ offset->y = FT_DivFix( offset->y, temp );
+ }
+
+ offset->x >>= 16;
+ offset->y >>= 16;
+ }
+
+ for ( i = cff->num_subfonts; i > 0; i-- )
+ {
+ CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict;
+ CFF_FontRecDict top = &cff->top_font.font_dict;
+
+ FT_Matrix* matrix;
+ FT_Vector* offset;
+ FT_ULong* upm;
+ FT_Fixed temp;
+
+
+ if ( sub->units_per_em )
+ {
+ FT_Int scaling;
+
+
+ if ( top->units_per_em > 1 && sub->units_per_em > 1 )
+ scaling = FT_MIN( top->units_per_em, sub->units_per_em );
+ else
+ scaling = 1;
+
+ FT_Matrix_Multiply_Scaled( &top->font_matrix,
+ &sub->font_matrix,
+ scaling );
+ FT_Vector_Transform_Scaled( &sub->font_offset,
+ &top->font_matrix,
+ scaling );
+
+ sub->units_per_em = FT_MulDiv( sub->units_per_em,
+ top->units_per_em,
+ scaling );
+ }
+ else
+ {
+ sub->font_matrix = top->font_matrix;
+ sub->font_offset = top->font_offset;
+
+ sub->units_per_em = top->units_per_em;
+ }
+
+ matrix = &sub->font_matrix;
+ offset = &sub->font_offset;
+ upm = &sub->units_per_em;
+ temp = FT_ABS( matrix->yy );
+
+ if ( temp != 0x10000L )
+ {
+ *upm = FT_DivFix( *upm, temp );
+
+ /* if *upm is larger than 100*1000 we divide by 1000 -- */
+ /* this can happen if e.g. there is no top-font FontMatrix */
+ /* and the subfont FontMatrix already contains the complete */
+ /* scaling for the subfont (see section 5.11 of the PLRM) */
+
+ /* 100 is a heuristic value */
+
+ if ( *upm > 100L * 1000L )
+ *upm = ( *upm + 500 ) / 1000;
+
+ matrix->xx = FT_DivFix( matrix->xx, temp );
+ matrix->yx = FT_DivFix( matrix->yx, temp );
+ matrix->xy = FT_DivFix( matrix->xy, temp );
+ matrix->yy = FT_DivFix( matrix->yy, temp );
+ offset->x = FT_DivFix( offset->x, temp );
+ offset->y = FT_DivFix( offset->y, temp );
+ }
+
+ offset->x >>= 16;
+ offset->y >>= 16;
+ }
+
if ( pure_cff )
{
char* style_name = NULL;
@@ -554,10 +660,7 @@
cffface->bbox.xMax = ( dict->font_bbox.xMax + 0xFFFFU ) >> 16;
cffface->bbox.yMax = ( dict->font_bbox.yMax + 0xFFFFU ) >> 16;
- if ( !dict->units_per_em )
- dict->units_per_em = 1000;
-
- cffface->units_per_EM = dict->units_per_em;
+ cffface->units_per_EM = (FT_UShort)( dict->units_per_em );
cffface->ascender = (FT_Short)( cffface->bbox.yMax );
cffface->descender = (FT_Short)( cffface->bbox.yMin );
@@ -711,113 +814,7 @@
cffface->style_flags = flags;
}
- else
- {
- if ( !dict->units_per_em )
- dict->units_per_em = face->root.units_per_EM;
- }
-
- /* Normalize the font matrix so that `matrix->xx' is 1; the */
- /* scaling is done with `units_per_em' then (at this point, */
- /* it already contains the scaling factor, but without */
- /* normalization of the matrix). */
- /* */
- /* Note that the offsets must be expressed in integer font */
- /* units. */
- {
- FT_Matrix* matrix = &dict->font_matrix;
- FT_Vector* offset = &dict->font_offset;
- FT_ULong* upm = &dict->units_per_em;
- FT_Fixed temp = FT_ABS( matrix->yy );
-
-
- if ( temp != 0x10000L )
- {
- *upm = FT_DivFix( *upm, temp );
-
- matrix->xx = FT_DivFix( matrix->xx, temp );
- matrix->yx = FT_DivFix( matrix->yx, temp );
- matrix->xy = FT_DivFix( matrix->xy, temp );
- matrix->yy = FT_DivFix( matrix->yy, temp );
- offset->x = FT_DivFix( offset->x, temp );
- offset->y = FT_DivFix( offset->y, temp );
- }
-
- offset->x >>= 16;
- offset->y >>= 16;
- }
-
- for ( i = cff->num_subfonts; i > 0; i-- )
- {
- CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict;
- CFF_FontRecDict top = &cff->top_font.font_dict;
-
- FT_Matrix* matrix;
- FT_Vector* offset;
- FT_ULong* upm;
- FT_Fixed temp;
-
-
- if ( sub->units_per_em )
- {
- FT_Int scaling;
-
-
- if ( top->units_per_em > 1 && sub->units_per_em > 1 )
- scaling = FT_MIN( top->units_per_em, sub->units_per_em );
- else
- scaling = 1;
-
- FT_Matrix_Multiply_Scaled( &top->font_matrix,
- &sub->font_matrix,
- scaling );
- FT_Vector_Transform_Scaled( &sub->font_offset,
- &top->font_matrix,
- scaling );
-
- sub->units_per_em = FT_MulDiv( sub->units_per_em,
- top->units_per_em,
- scaling );
- }
- else
- {
- sub->font_matrix = top->font_matrix;
- sub->font_offset = top->font_offset;
-
- sub->units_per_em = top->units_per_em;
- }
-
- matrix = &sub->font_matrix;
- offset = &sub->font_offset;
- upm = &sub->units_per_em;
- temp = FT_ABS( matrix->yy );
-
- if ( temp != 0x10000L )
- {
- *upm = FT_DivFix( *upm, temp );
-
- /* if *upm is larger than 100*1000 we divide by 1000 -- */
- /* this can happen if e.g. there is no top-font FontMatrix */
- /* and the subfont FontMatrix already contains the complete */
- /* scaling for the subfont (see section 5.11 of the PLRM) */
-
- /* 100 is a heuristic value */
-
- if ( *upm > 100L * 1000L )
- *upm = ( *upm + 500 ) / 1000;
-
- matrix->xx = FT_DivFix( matrix->xx, temp );
- matrix->yx = FT_DivFix( matrix->yx, temp );
- matrix->xy = FT_DivFix( matrix->xy, temp );
- matrix->yy = FT_DivFix( matrix->yy, temp );
- offset->x = FT_DivFix( offset->x, temp );
- offset->y = FT_DivFix( offset->y, temp );
- }
-
- offset->x >>= 16;
- offset->y >>= 16;
- }
#ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES
/* CID-keyed CFF fonts don't have glyph names -- the SFNT loader */
@@ -826,7 +823,7 @@
cffface->face_flags |= FT_FACE_FLAG_GLYPH_NAMES;
#endif
- if ( dict->cid_registry != 0xFFFFU )
+ if ( dict->cid_registry != 0xFFFFU && pure_cff )
cffface->face_flags |= FT_FACE_FLAG_CID_KEYED;
@@ -835,7 +832,7 @@
/* Compute char maps. */
/* */
- /* Try to synthetize a Unicode charmap if there is none available */
+ /* Try to synthesize a Unicode charmap if there is none available */
/* already. If an OpenType font contains a Unicode "cmap", we */
/* will use it, whatever be in the CFF part of the file. */
{
@@ -922,10 +919,16 @@
FT_LOCAL_DEF( void )
cff_face_done( FT_Face cffface ) /* CFF_Face */
{
- CFF_Face face = (CFF_Face)cffface;
- FT_Memory memory = cffface->memory;
- SFNT_Service sfnt = (SFNT_Service)face->sfnt;
+ CFF_Face face = (CFF_Face)cffface;
+ FT_Memory memory;
+ SFNT_Service sfnt;
+
+
+ if ( !face )
+ return;
+ memory = cffface->memory;
+ sfnt = (SFNT_Service)face->sfnt;
if ( sfnt )
sfnt->done_face( face );
diff --git a/src/3rdparty/freetype/src/cff/cffparse.c b/src/3rdparty/freetype/src/cff/cffparse.c
index d6d77dd..290595f 100644
--- a/src/3rdparty/freetype/src/cff/cffparse.c
+++ b/src/3rdparty/freetype/src/cff/cffparse.c
@@ -4,7 +4,7 @@
/* */
/* CFF token stream parser (body) */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -244,7 +244,7 @@
if ( !nib && !number )
exponent_add--;
/* Only add digit if we don't overflow. */
- else if ( number < 0xCCCCCCCL )
+ else if ( number < 0xCCCCCCCL && fraction_length < 9 )
{
fraction_length++;
number = number * 10 + nib;
@@ -355,6 +355,12 @@
if ( FT_ABS( integer_length ) > 5 )
goto Exit;
+ /* Remove non-significant digits. */
+ if ( integer_length < 0 ) {
+ number /= power_tens[-integer_length];
+ fraction_length += integer_length;
+ }
+
/* Convert into 16.16 format. */
if ( fraction_length > 0 )
{
@@ -406,10 +412,9 @@
cff_parse_fixed_scaled( FT_Byte** d,
FT_Int scaling )
{
- return **d ==
- 30 ? cff_parse_real( d[0], d[1], scaling, NULL )
- : (FT_Fixed)FT_MulFix( cff_parse_integer( d[0], d[1] ) << 16,
- power_tens[scaling] );
+ return **d == 30 ? cff_parse_real( d[0], d[1], scaling, NULL )
+ : ( cff_parse_integer( d[0], d[1] ) *
+ power_tens[scaling] ) << 16;
}
diff --git a/src/3rdparty/freetype/src/cff/module.mk b/src/3rdparty/freetype/src/cff/module.mk
index 0474e37..ef1391c 100644
--- a/src/3rdparty/freetype/src/cff/module.mk
+++ b/src/3rdparty/freetype/src/cff/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += CFF_DRIVER
define CFF_DRIVER
-$(OPEN_DRIVER)cff_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, cff_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/cid/cidload.c b/src/3rdparty/freetype/src/cid/cidload.c
index 9ed8cee..a43a00e 100644
--- a/src/3rdparty/freetype/src/cid/cidload.c
+++ b/src/3rdparty/freetype/src/cid/cidload.c
@@ -4,7 +4,7 @@
/* */
/* CID-keyed Type1 font loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -97,6 +97,10 @@
object = (FT_Byte*)&cid->font_info;
break;
+ case T1_FIELD_LOCATION_FONT_EXTRA:
+ object = (FT_Byte*)&face->font_extra;
+ break;
+
case T1_FIELD_LOCATION_BBOX:
object = (FT_Byte*)&cid->font_bbox;
break;
@@ -234,14 +238,38 @@
}
+ /* by mistake, `expansion_factor' appears both in PS_PrivateRec */
+ /* and CID_FaceDictRec (both are public header files and can't */
+ /* changed); we simply copy the value */
+
+ FT_CALLBACK_DEF( FT_Error )
+ parse_expansion_factor( CID_Face face,
+ CID_Parser* parser )
+ {
+ CID_FaceDict dict;
+
+
+ if ( parser->num_dict >= 0 )
+ {
+ dict = face->cid.font_dicts + parser->num_dict;
+
+ dict->expansion_factor = cid_parser_to_fixed( parser, 0 );
+ dict->private_dict.expansion_factor = dict->expansion_factor;
+ }
+
+ return CID_Err_Ok;
+ }
+
+
static
const T1_FieldRec cid_field_records[] =
{
#include "cidtoken.h"
- T1_FIELD_CALLBACK( "FDArray", parse_fd_array, 0 )
- T1_FIELD_CALLBACK( "FontMatrix", parse_font_matrix, 0 )
+ T1_FIELD_CALLBACK( "FDArray", parse_fd_array, 0 )
+ T1_FIELD_CALLBACK( "FontMatrix", parse_font_matrix, 0 )
+ T1_FIELD_CALLBACK( "ExpansionFactor", parse_expansion_factor, 0 )
{ 0, T1_FIELD_LOCATION_CID_INFO, T1_FIELD_TYPE_NONE, 0, 0, 0, 0, 0, 0 }
};
diff --git a/src/3rdparty/freetype/src/cid/cidobjs.c b/src/3rdparty/freetype/src/cid/cidobjs.c
index 1b3bfbf..9647d87 100644
--- a/src/3rdparty/freetype/src/cid/cidobjs.c
+++ b/src/3rdparty/freetype/src/cid/cidobjs.c
@@ -4,7 +4,7 @@
/* */
/* CID objects manager (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -193,61 +193,61 @@
FT_LOCAL_DEF( void )
cid_face_done( FT_Face cidface ) /* CID_Face */
{
- CID_Face face = (CID_Face)cidface;
- FT_Memory memory;
+ CID_Face face = (CID_Face)cidface;
+ FT_Memory memory;
+ CID_FaceInfo cid;
+ PS_FontInfo info;
- if ( face )
- {
- CID_FaceInfo cid = &face->cid;
- PS_FontInfo info = &cid->font_info;
+ if ( !face )
+ return;
+ cid = &face->cid;
+ info = &cid->font_info;
+ memory = cidface->memory;
- memory = cidface->memory;
+ /* release subrs */
+ if ( face->subrs )
+ {
+ FT_Int n;
- /* release subrs */
- if ( face->subrs )
+
+ for ( n = 0; n < cid->num_dicts; n++ )
{
- FT_Int n;
+ CID_Subrs subr = face->subrs + n;
- for ( n = 0; n < cid->num_dicts; n++ )
+ if ( subr->code )
{
- CID_Subrs subr = face->subrs + n;
-
-
- if ( subr->code )
- {
- FT_FREE( subr->code[0] );
- FT_FREE( subr->code );
- }
+ FT_FREE( subr->code[0] );
+ FT_FREE( subr->code );
}
-
- FT_FREE( face->subrs );
}
- /* release FontInfo strings */
- FT_FREE( info->version );
- FT_FREE( info->notice );
- FT_FREE( info->full_name );
- FT_FREE( info->family_name );
- FT_FREE( info->weight );
+ FT_FREE( face->subrs );
+ }
- /* release font dictionaries */
- FT_FREE( cid->font_dicts );
- cid->num_dicts = 0;
+ /* release FontInfo strings */
+ FT_FREE( info->version );
+ FT_FREE( info->notice );
+ FT_FREE( info->full_name );
+ FT_FREE( info->family_name );
+ FT_FREE( info->weight );
- /* release other strings */
- FT_FREE( cid->cid_font_name );
- FT_FREE( cid->registry );
- FT_FREE( cid->ordering );
+ /* release font dictionaries */
+ FT_FREE( cid->font_dicts );
+ cid->num_dicts = 0;
- cidface->family_name = 0;
- cidface->style_name = 0;
+ /* release other strings */
+ FT_FREE( cid->cid_font_name );
+ FT_FREE( cid->registry );
+ FT_FREE( cid->ordering );
- FT_FREE( face->binary_data );
- FT_FREE( face->cid_stream );
- }
+ cidface->family_name = 0;
+ cidface->style_name = 0;
+
+ FT_FREE( face->binary_data );
+ FT_FREE( face->cid_stream );
}
@@ -324,6 +324,7 @@
goto Exit;
/* check the face index */
+ /* XXX: handle CID fonts with more than a single face */
if ( face_index != 0 )
{
FT_ERROR(( "cid_face_init: invalid face index\n" ));
diff --git a/src/3rdparty/freetype/src/cid/cidriver.c b/src/3rdparty/freetype/src/cid/cidriver.c
index 85ee6cf..b41d5d6 100644
--- a/src/3rdparty/freetype/src/cid/cidriver.c
+++ b/src/3rdparty/freetype/src/cid/cidriver.c
@@ -4,7 +4,7 @@
/* */
/* CID driver interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -74,13 +74,23 @@
PS_FontInfoRec* afont_info )
{
*afont_info = ((CID_Face)face)->cid.font_info;
- return 0;
+
+ return CID_Err_Ok;
}
+ static FT_Error
+ cid_ps_get_font_extra( FT_Face face,
+ PS_FontExtraRec* afont_extra )
+ {
+ *afont_extra = ((CID_Face)face)->font_extra;
+
+ return CID_Err_Ok;
+ }
static const FT_Service_PsInfoRec cid_service_ps_info =
{
(PS_GetFontInfoFunc) cid_ps_get_font_info,
+ (PS_GetFontExtraFunc) cid_ps_get_font_extra,
(PS_HasGlyphNamesFunc) NULL, /* unsupported with CID fonts */
(PS_GetFontPrivateFunc)NULL /* unsupported */
};
@@ -112,9 +122,42 @@
}
+ static FT_Error
+ cid_get_is_cid( CID_Face face,
+ FT_Bool *is_cid )
+ {
+ FT_Error error = CID_Err_Ok;
+ FT_UNUSED( face );
+
+
+ if ( is_cid )
+ *is_cid = 1; /* cid driver is only used for CID keyed fonts */
+
+ return error;
+ }
+
+
+ static FT_Error
+ cid_get_cid_from_glyph_index( CID_Face face,
+ FT_UInt glyph_index,
+ FT_UInt *cid )
+ {
+ FT_Error error = CID_Err_Ok;
+ FT_UNUSED( face );
+
+
+ if ( cid )
+ *cid = glyph_index; /* identity mapping */
+
+ return error;
+ }
+
+
static const FT_Service_CIDRec cid_service_cid_info =
{
- (FT_CID_GetRegistryOrderingSupplementFunc)cid_get_ros
+ (FT_CID_GetRegistryOrderingSupplementFunc)cid_get_ros,
+ (FT_CID_GetIsInternallyCIDKeyedFunc) cid_get_is_cid,
+ (FT_CID_GetCIDFromGlyphIndexFunc) cid_get_cid_from_glyph_index
};
diff --git a/src/3rdparty/freetype/src/cid/cidtoken.h b/src/3rdparty/freetype/src/cid/cidtoken.h
index ad5bbb2..94a3657 100644
--- a/src/3rdparty/freetype/src/cid/cidtoken.h
+++ b/src/3rdparty/freetype/src/cid/cidtoken.h
@@ -4,7 +4,7 @@
/* */
/* CID token definitions (specification only). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -49,6 +49,13 @@
T1_FIELD_NUM ( "UnderlinePosition", underline_position, 0 )
T1_FIELD_NUM ( "UnderlineThickness", underline_thickness, 0 )
+#undef FT_STRUCTURE
+#define FT_STRUCTURE PS_FontExtraRec
+#undef T1CODE
+#define T1CODE T1_FIELD_LOCATION_FONT_EXTRA
+
+ T1_FIELD_NUM ( "FSType", fs_type, 0 )
+
#undef FT_STRUCTURE
#define FT_STRUCTURE CID_FaceDictRec
@@ -62,7 +69,6 @@
T1_FIELD_NUM ( "SubrCount", num_subrs, 0 )
T1_FIELD_NUM ( "lenBuildCharArray", len_buildchar, 0 )
T1_FIELD_FIXED( "ForceBoldThreshold", forcebold_threshold, 0 )
- T1_FIELD_FIXED( "ExpansionFactor", expansion_factor, 0 )
T1_FIELD_FIXED( "StrokeWidth", stroke_width, 0 )
@@ -92,6 +98,9 @@
T1_FIELD_NUM_TABLE ( "StemSnapH", snap_widths, 12, 0 )
T1_FIELD_NUM_TABLE ( "StemSnapV", snap_heights, 12, 0 )
+ T1_FIELD_BOOL ( "ForceBold", force_bold, 0 )
+
+
#undef FT_STRUCTURE
#define FT_STRUCTURE FT_BBox
#undef T1CODE
diff --git a/src/3rdparty/freetype/src/cid/module.mk b/src/3rdparty/freetype/src/cid/module.mk
index 41e5a68..ce30bfd 100644
--- a/src/3rdparty/freetype/src/cid/module.mk
+++ b/src/3rdparty/freetype/src/cid/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += TYPE1CID_DRIVER
define TYPE1CID_DRIVER
-$(OPEN_DRIVER)t1cid_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, t1cid_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/gxvalid/gxvcommn.c b/src/3rdparty/freetype/src/gxvalid/gxvcommn.c
index 82fd6b3..46fc123 100644
--- a/src/3rdparty/freetype/src/gxvalid/gxvcommn.c
+++ b/src/3rdparty/freetype/src/gxvalid/gxvcommn.c
@@ -50,11 +50,11 @@
FT_UShort* b )
{
if ( *a < *b )
- return ( -1 );
+ return -1;
else if ( *a > *b )
- return ( 1 );
+ return 1;
else
- return ( 0 );
+ return 0;
}
@@ -115,11 +115,11 @@
FT_ULong* b )
{
if ( *a < *b )
- return ( -1 );
+ return -1;
else if ( *a > *b )
- return ( 1 );
+ return 1;
else
- return ( 0 );
+ return 0;
}
diff --git a/src/3rdparty/freetype/src/gxvalid/gxvcommn.h b/src/3rdparty/freetype/src/gxvalid/gxvcommn.h
index 0128eca..198d8e4 100644
--- a/src/3rdparty/freetype/src/gxvalid/gxvcommn.h
+++ b/src/3rdparty/freetype/src/gxvalid/gxvcommn.h
@@ -275,11 +275,11 @@ FT_BEGIN_HEADER
#else /* !FT_DEBUG_LEVEL_TRACE */
-#define GXV_INIT do ; while ( 0 )
-#define GXV_NAME_ENTER( name ) do ; while ( 0 )
-#define GXV_EXIT do ; while ( 0 )
+#define GXV_INIT do { } while ( 0 )
+#define GXV_NAME_ENTER( name ) do { } while ( 0 )
+#define GXV_EXIT do { } while ( 0 )
-#define GXV_TRACE( s ) do ; while ( 0 )
+#define GXV_TRACE( s ) do { } while ( 0 )
#endif /* !FT_DEBUG_LEVEL_TRACE */
diff --git a/src/3rdparty/freetype/src/gxvalid/gxvmort.c b/src/3rdparty/freetype/src/gxvalid/gxvmort.c
index 6fb71b9..f4fbd30 100644
--- a/src/3rdparty/freetype/src/gxvalid/gxvmort.c
+++ b/src/3rdparty/freetype/src/gxvalid/gxvmort.c
@@ -42,7 +42,7 @@
gxv_mort_feature_validate( GXV_mort_feature f,
GXV_Validator valid )
{
- if ( f->featureType > gxv_feat_registry_length )
+ if ( f->featureType >= gxv_feat_registry_length )
{
GXV_TRACE(( "featureType %d is out of registered range, "
"setting %d is unchecked\n",
diff --git a/src/3rdparty/freetype/src/gxvalid/gxvmorx.c b/src/3rdparty/freetype/src/gxvalid/gxvmorx.c
index 849d5e9..d217940 100644
--- a/src/3rdparty/freetype/src/gxvalid/gxvmorx.c
+++ b/src/3rdparty/freetype/src/gxvalid/gxvmorx.c
@@ -4,7 +4,8 @@
/* */
/* TrueTypeGX/AAT morx table validation (body). */
/* */
-/* Copyright 2005 by suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
+/* Copyright 2005, 2008 by */
+/* suzuki toshiya, Masatake YAMATO, Red Hat K.K., */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -129,7 +130,7 @@
gxv_mort_featurearray_validate( p, limit, nFeatureFlags, valid );
p += valid->subtable_length;
- if ( nSubtables >= 0x10000 )
+ if ( nSubtables >= 0x10000L )
FT_INVALID_DATA;
gxv_morx_subtables_validate( p, table + chainLength,
diff --git a/src/3rdparty/freetype/src/gxvalid/module.mk b/src/3rdparty/freetype/src/gxvalid/module.mk
index 44ef94a..9fd098e 100644
--- a/src/3rdparty/freetype/src/gxvalid/module.mk
+++ b/src/3rdparty/freetype/src/gxvalid/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += GXVALID_MODULE
define GXVALID_MODULE
-$(OPEN_DRIVER)gxv_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, gxv_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)gxvalid $(ECHO_DRIVER_DESC)TrueTypeGX/AAT validation module$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/gzip/ftgzip.c b/src/3rdparty/freetype/src/gzip/ftgzip.c
index af2022d..0d6bd34 100644
--- a/src/3rdparty/freetype/src/gzip/ftgzip.c
+++ b/src/3rdparty/freetype/src/gzip/ftgzip.c
@@ -8,7 +8,7 @@
/* parse compressed PCF fonts, as found with many X11 server */
/* distributions. */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -25,7 +25,7 @@
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_DEBUG_H
#include FT_GZIP_H
-#include <string.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
#include FT_MODULE_ERRORS_H
@@ -569,7 +569,7 @@
if ( error )
result = 0;
- FT_Stream_Seek( stream, old_pos );
+ (void)FT_Stream_Seek( stream, old_pos );
}
return result;
diff --git a/src/3rdparty/freetype/src/gzip/inftrees.c b/src/3rdparty/freetype/src/gzip/inftrees.c
index 3c39aca..ef53652 100644
--- a/src/3rdparty/freetype/src/gzip/inftrees.c
+++ b/src/3rdparty/freetype/src/gzip/inftrees.c
@@ -366,6 +366,9 @@ z_streamp z /* for messages */
if (r == Z_DATA_ERROR)
z->msg = (char*)"oversubscribed distance tree";
else if (r == Z_BUF_ERROR) {
+#if 0
+ {
+#endif
#ifdef PKZIP_BUG_WORKAROUND
r = Z_OK;
}
diff --git a/src/3rdparty/freetype/src/lzw/ftlzw.c b/src/3rdparty/freetype/src/lzw/ftlzw.c
index 45fbf7b..a00bd50 100644
--- a/src/3rdparty/freetype/src/lzw/ftlzw.c
+++ b/src/3rdparty/freetype/src/lzw/ftlzw.c
@@ -8,7 +8,7 @@
/* be used to parse compressed PCF fonts, as found with many X11 server */
/* distributions. */
/* */
-/* Copyright 2004, 2005, 2006 by */
+/* Copyright 2004, 2005, 2006, 2009 by */
/* Albert Chin-A-Young. */
/* */
/* Based on code in src/gzip/ftgzip.c, Copyright 2004 by */
@@ -27,8 +27,7 @@
#include FT_INTERNAL_STREAM_H
#include FT_INTERNAL_DEBUG_H
#include FT_LZW_H
-#include <string.h>
-#include <stdio.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
#include FT_MODULE_ERRORS_H
diff --git a/src/3rdparty/freetype/src/otvalid/Jamfile b/src/3rdparty/freetype/src/otvalid/Jamfile
index 35a14c6..b457143 100644
--- a/src/3rdparty/freetype/src/otvalid/Jamfile
+++ b/src/3rdparty/freetype/src/otvalid/Jamfile
@@ -16,7 +16,7 @@ SubDir FT2_TOP $(FT2_SRC_DIR) otvalid ;
if $(FT2_MULTI)
{
- _sources = otvbase otvcommn otvgdef otvgpos otvgsub otvjstf otvmod ;
+ _sources = otvbase otvcommn otvgdef otvgpos otvgsub otvjstf otvmod otvmath ;
}
else
{
diff --git a/src/3rdparty/freetype/src/otvalid/module.mk b/src/3rdparty/freetype/src/otvalid/module.mk
index aa4db04..9cadde5 100644
--- a/src/3rdparty/freetype/src/otvalid/module.mk
+++ b/src/3rdparty/freetype/src/otvalid/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += OTVALID_MODULE
define OTVALID_MODULE
-$(OPEN_DRIVER)otv_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, otv_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)otvalid $(ECHO_DRIVER_DESC)OpenType validation module$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/otvalid/otvalid.h b/src/3rdparty/freetype/src/otvalid/otvalid.h
index 90255cd..eb99b9c 100644
--- a/src/3rdparty/freetype/src/otvalid/otvalid.h
+++ b/src/3rdparty/freetype/src/otvalid/otvalid.h
@@ -42,6 +42,7 @@ FT_BEGIN_HEADER
otv_GDEF_validate( FT_Bytes table,
FT_Bytes gsub,
FT_Bytes gpos,
+ FT_UInt glyph_count,
FT_Validator valid );
FT_LOCAL( void )
diff --git a/src/3rdparty/freetype/src/otvalid/otvcommn.h b/src/3rdparty/freetype/src/otvalid/otvcommn.h
index 7c06b16..71726d5 100644
--- a/src/3rdparty/freetype/src/otvalid/otvcommn.h
+++ b/src/3rdparty/freetype/src/otvalid/otvcommn.h
@@ -192,12 +192,12 @@ FT_BEGIN_HEADER
valid->func[2] = OTV_FUNC( z ); \
FT_END_STMNT
-#define OTV_INIT do ; while ( 0 )
-#define OTV_ENTER do ; while ( 0 )
-#define OTV_NAME_ENTER( name ) do ; while ( 0 )
-#define OTV_EXIT do ; while ( 0 )
+#define OTV_INIT do { } while ( 0 )
+#define OTV_ENTER do { } while ( 0 )
+#define OTV_NAME_ENTER( name ) do { } while ( 0 )
+#define OTV_EXIT do { } while ( 0 )
-#define OTV_TRACE( s ) do ; while ( 0 )
+#define OTV_TRACE( s ) do { } while ( 0 )
#endif /* !FT_DEBUG_LEVEL_TRACE */
diff --git a/src/3rdparty/freetype/src/otvalid/otvgdef.c b/src/3rdparty/freetype/src/otvalid/otvgdef.c
index 77bd651..3633ad0 100644
--- a/src/3rdparty/freetype/src/otvalid/otvgdef.c
+++ b/src/3rdparty/freetype/src/otvalid/otvgdef.c
@@ -141,10 +141,13 @@
/*************************************************************************/
/*************************************************************************/
+ /* sets valid->glyph_count */
+
FT_LOCAL_DEF( void )
otv_GDEF_validate( FT_Bytes table,
FT_Bytes gsub,
FT_Bytes gpos,
+ FT_UInt glyph_count,
FT_Validator ftvalid )
{
OTV_ValidatorRec validrec;
@@ -183,6 +186,8 @@
else
table_size = 10; /* OpenType < 1.2 */
+ valid->glyph_count = glyph_count;
+
OTV_OPTIONAL_OFFSET( GlyphClassDef );
OTV_SIZE_CHECK( GlyphClassDef );
if ( GlyphClassDef )
diff --git a/src/3rdparty/freetype/src/otvalid/otvgpos.c b/src/3rdparty/freetype/src/otvalid/otvgpos.c
index 220f714..53025ec 100644
--- a/src/3rdparty/freetype/src/otvalid/otvgpos.c
+++ b/src/3rdparty/freetype/src/otvalid/otvgpos.c
@@ -4,7 +4,7 @@
/* */
/* OpenType GPOS table validation (body). */
/* */
-/* Copyright 2002, 2004, 2005, 2006, 2007 by */
+/* Copyright 2002, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -644,7 +644,10 @@
/*************************************************************************/
/*************************************************************************/
- /* sets valid->extra2 (0) */
+ /* UNDOCUMENTED (in OpenType 1.5): */
+ /* BaseRecord tables can contain NULL pointers. */
+
+ /* sets valid->extra2 (1) */
static void
otv_MarkBasePos_validate( FT_Bytes table,
@@ -664,7 +667,7 @@
switch ( PosFormat )
{
case 1:
- valid->extra2 = 0;
+ valid->extra2 = 1;
OTV_NEST2( MarkBasePosFormat1, BaseArray );
OTV_RUN( table, valid );
break;
diff --git a/src/3rdparty/freetype/src/otvalid/otvmath.c b/src/3rdparty/freetype/src/otvalid/otvmath.c
index b777d6a..50ed10c 100644
--- a/src/3rdparty/freetype/src/otvalid/otvmath.c
+++ b/src/3rdparty/freetype/src/otvalid/otvmath.c
@@ -4,7 +4,7 @@
/* */
/* OpenType MATH table validation (body). */
/* */
-/* Copyright 2007 by */
+/* Copyright 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* Written by George Williams. */
@@ -93,6 +93,8 @@
OTV_OPTIONAL_TABLE( Coverage );
OTV_OPTIONAL_TABLE( DeviceTableOffset );
+ FT_UNUSED( isItalic ); /* only used if tracing is active */
+
OTV_NAME_ENTER( isItalic ? "MathItalicsCorrectionInfo"
: "MathTopAccentAttachment" );
diff --git a/src/3rdparty/freetype/src/otvalid/otvmod.c b/src/3rdparty/freetype/src/otvalid/otvmod.c
index c280299..63c25f6 100644
--- a/src/3rdparty/freetype/src/otvalid/otvmod.c
+++ b/src/3rdparty/freetype/src/otvalid/otvmod.c
@@ -4,7 +4,7 @@
/* */
/* FreeType's OpenType validation module implementation (body). */
/* */
-/* Copyright 2004, 2005, 2006, 2007 by */
+/* Copyright 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -168,7 +168,7 @@
{
ft_validator_init( &valid, gdef, gdef + len_gdef, FT_VALIDATE_DEFAULT );
if ( ft_setjmp( valid.jump_buffer ) == 0 )
- otv_GDEF_validate( gdef, gsub, gpos, &valid );
+ otv_GDEF_validate( gdef, gsub, gpos, face->num_glyphs, &valid );
error = valid.error;
if ( error )
goto Exit;
diff --git a/src/3rdparty/freetype/src/pcf/module.mk b/src/3rdparty/freetype/src/pcf/module.mk
index 0c51cd6..df383ff 100644
--- a/src/3rdparty/freetype/src/pcf/module.mk
+++ b/src/3rdparty/freetype/src/pcf/module.mk
@@ -27,7 +27,7 @@
FTMODULE_H_COMMANDS += PCF_DRIVER
define PCF_DRIVER
-$(OPEN_DRIVER)pcf_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, pcf_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)pcf $(ECHO_DRIVER_DESC)pcf bitmap fonts$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/pcf/pcfdrivr.c b/src/3rdparty/freetype/src/pcf/pcfdrivr.c
index 0fea30e..e2d4d3d 100644
--- a/src/3rdparty/freetype/src/pcf/pcfdrivr.c
+++ b/src/3rdparty/freetype/src/pcf/pcfdrivr.c
@@ -2,7 +2,7 @@
FreeType font driver for pcf files
- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008 by
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -196,10 +196,15 @@ THE SOFTWARE.
FT_CALLBACK_DEF( void )
PCF_Face_Done( FT_Face pcfface ) /* PCF_Face */
{
- PCF_Face face = (PCF_Face)pcfface;
- FT_Memory memory = FT_FACE_MEMORY( face );
+ PCF_Face face = (PCF_Face)pcfface;
+ FT_Memory memory;
+ if ( !face )
+ return;
+
+ memory = FT_FACE_MEMORY( face );
+
FT_FREE( face->encodings );
FT_FREE( face->metrics );
@@ -408,7 +413,7 @@ THE SOFTWARE.
switch ( req->type )
{
case FT_SIZE_REQUEST_TYPE_NOMINAL:
- if ( height == ( bsize->y_ppem + 32 ) >> 6 )
+ if ( height == ( ( bsize->y_ppem + 32 ) >> 6 ) )
error = PCF_Err_Ok;
break;
@@ -437,7 +442,7 @@ THE SOFTWARE.
FT_Int32 load_flags )
{
PCF_Face face = (PCF_Face)FT_SIZE_FACE( size );
- FT_Stream stream = face->root.stream;
+ FT_Stream stream;
FT_Error error = PCF_Err_Ok;
FT_Bitmap* bitmap = &slot->bitmap;
PCF_Metric metric;
@@ -454,6 +459,8 @@ THE SOFTWARE.
goto Exit;
}
+ stream = face->root.stream;
+
if ( glyph_index > 0 )
glyph_index--;
diff --git a/src/3rdparty/freetype/src/pcf/pcfread.c b/src/3rdparty/freetype/src/pcf/pcfread.c
index b9123cf..8e04c57 100644
--- a/src/3rdparty/freetype/src/pcf/pcfread.c
+++ b/src/3rdparty/freetype/src/pcf/pcfread.c
@@ -2,7 +2,7 @@
FreeType font driver for pcf fonts
- Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -48,7 +48,7 @@ THE SOFTWARE.
#define FT_COMPONENT trace_pcfread
-#if defined( FT_DEBUG_LEVEL_TRACE )
+#ifdef FT_DEBUG_LEVEL_TRACE
static const char* const tableNames[] =
{
"prop", "accl", "mtrcs", "bmps", "imtrcs",
@@ -152,7 +152,7 @@ THE SOFTWARE.
break;
}
-#if defined( FT_DEBUG_LEVEL_TRACE )
+#ifdef FT_DEBUG_LEVEL_TRACE
{
FT_UInt i, j;
@@ -470,7 +470,11 @@ THE SOFTWARE.
if ( nprops & 3 )
{
i = 4 - ( nprops & 3 );
- FT_Stream_Skip( stream, i );
+ if ( FT_STREAM_SKIP( i ) )
+ {
+ error = PCF_Err_Invalid_Stream_Skip;
+ goto Bail;
+ }
}
if ( PCF_BYTE_ORDER( format ) == MSBFirst )
@@ -623,7 +627,7 @@ THE SOFTWARE.
metrics = face->metrics;
for ( i = 0; i < nmetrics; i++ )
{
- pcf_get_metric( stream, format, metrics + i );
+ error = pcf_get_metric( stream, format, metrics + i );
metrics[i].bits = 0;
diff --git a/src/3rdparty/freetype/src/pcf/rules.mk b/src/3rdparty/freetype/src/pcf/rules.mk
index 1ad4ba8..7864152 100644
--- a/src/3rdparty/freetype/src/pcf/rules.mk
+++ b/src/3rdparty/freetype/src/pcf/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 2000, 2001, 2003 by
+# Copyright (C) 2000, 2001, 2003, 2008 by
# Francesco Zappa Nardelli
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -35,15 +35,14 @@ PCF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PCF_DIR))
# pcf driver sources (i.e., C files)
#
-PCF_DRV_SRC := $(PCF_DIR)/pcfread.c \
- $(PCF_DIR)/pcfdrivr.c \
+PCF_DRV_SRC := $(PCF_DIR)/pcfdrivr.c \
+ $(PCF_DIR)/pcfread.c \
$(PCF_DIR)/pcfutil.c
# pcf driver headers
#
-PCF_DRV_H := $(PCF_DIR)/pcf.h \
- $(PCF_DIR)/pcfdrivr.h \
- $(PCF_DIR)/pcfutil.h \
+PCF_DRV_H := $(PCF_DRV_SRC:%.c=%.h) \
+ $(PCF_DIR)/pcf.h \
$(PCF_DIR)/pcferror.h
# pcf driver object(s)
diff --git a/src/3rdparty/freetype/src/pfr/module.mk b/src/3rdparty/freetype/src/pfr/module.mk
index 53ab34a..8d1d28a 100644
--- a/src/3rdparty/freetype/src/pfr/module.mk
+++ b/src/3rdparty/freetype/src/pfr/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += PFR_DRIVER
define PFR_DRIVER
-$(OPEN_DRIVER)pfr_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, pfr_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/pfr/pfrdrivr.c b/src/3rdparty/freetype/src/pfr/pfrdrivr.c
index 4020672..15cca98 100644
--- a/src/3rdparty/freetype/src/pfr/pfrdrivr.c
+++ b/src/3rdparty/freetype/src/pfr/pfrdrivr.c
@@ -4,7 +4,7 @@
/* */
/* FreeType PFR driver interface (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2006 by */
+/* Copyright 2002, 2003, 2004, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -66,10 +66,16 @@
FT_Pos *anadvance )
{
PFR_Face face = (PFR_Face)pfrface;
- FT_Error error = PFR_Err_Bad_Argument;
+ FT_Error error = PFR_Err_Invalid_Argument;
*anadvance = 0;
+
+ if ( !gindex )
+ goto Exit;
+
+ gindex--;
+
if ( face )
{
PFR_PhyFont phys = &face->phy_font;
@@ -82,6 +88,7 @@
}
}
+ Exit:
return error;
}
diff --git a/src/3rdparty/freetype/src/pfr/pfrobjs.c b/src/3rdparty/freetype/src/pfr/pfrobjs.c
index 180446d..56d617d 100644
--- a/src/3rdparty/freetype/src/pfr/pfrobjs.c
+++ b/src/3rdparty/freetype/src/pfr/pfrobjs.c
@@ -4,7 +4,7 @@
/* */
/* FreeType PFR object methods (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -41,10 +41,15 @@
FT_LOCAL_DEF( void )
pfr_face_done( FT_Face pfrface ) /* PFR_Face */
{
- PFR_Face face = (PFR_Face)pfrface;
- FT_Memory memory = pfrface->driver->root.memory;
+ PFR_Face face = (PFR_Face)pfrface;
+ FT_Memory memory;
+ if ( !face )
+ return;
+
+ memory = pfrface->driver->root.memory;
+
/* we don't want dangling pointers */
pfrface->family_name = NULL;
pfrface->style_name = NULL;
diff --git a/src/3rdparty/freetype/src/psaux/afmparse.c b/src/3rdparty/freetype/src/psaux/afmparse.c
index 0528fe6..63a786e 100644
--- a/src/3rdparty/freetype/src/psaux/afmparse.c
+++ b/src/3rdparty/freetype/src/psaux/afmparse.c
@@ -4,7 +4,7 @@
/* */
/* AFM parser (body). */
/* */
-/* Copyright 2006, 2007 by */
+/* Copyright 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -672,7 +672,12 @@
FT_ULong index2 = KERN_INDEX( kp2->index1, kp2->index2 );
- return (int)( index1 - index2 );
+ if ( index1 > index2 )
+ return 1;
+ else if ( index1 < index2 )
+ return -1;
+ else
+ return 0;
}
diff --git a/src/3rdparty/freetype/src/psaux/module.mk b/src/3rdparty/freetype/src/psaux/module.mk
index 5431522..42bf6f5 100644
--- a/src/3rdparty/freetype/src/psaux/module.mk
+++ b/src/3rdparty/freetype/src/psaux/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += PSAUX_MODULE
define PSAUX_MODULE
-$(OPEN_DRIVER)psaux_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, psaux_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)psaux $(ECHO_DRIVER_DESC)Postscript Type 1 & Type 2 helper module$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/psaux/psobjs.c b/src/3rdparty/freetype/src/psaux/psobjs.c
index b7b84ac..52e30a4 100644
--- a/src/3rdparty/freetype/src/psaux/psobjs.c
+++ b/src/3rdparty/freetype/src/psaux/psobjs.c
@@ -4,7 +4,7 @@
/* */
/* Auxiliary functions for PostScript fonts (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -175,11 +175,17 @@
return PSaux_Err_Invalid_Argument;
}
+ if ( length < 0 )
+ {
+ FT_ERROR(( "ps_table_add: invalid length\n" ));
+ return PSaux_Err_Invalid_Argument;
+ }
+
/* grow the base block if needed */
if ( table->cursor + length > table->capacity )
{
FT_Error error;
- FT_Offset new_size = table->capacity;
+ FT_Offset new_size = table->capacity;
FT_Long in_offset;
@@ -376,7 +382,7 @@
/* skip octal escape or ignore backslash */
for ( i = 0; i < 3 && cur < limit; ++i )
{
- if ( ! IS_OCTAL_DIGIT( *cur ) )
+ if ( !IS_OCTAL_DIGIT( *cur ) )
break;
++cur;
@@ -1259,8 +1265,9 @@
old_cursor = parser->cursor;
old_limit = parser->limit;
- /* we store the elements count if necessary */
- if ( field->type != T1_FIELD_TYPE_BBOX )
+ /* we store the elements count if necessary; */
+ /* we further assume that `count_offset' can't be zero */
+ if ( field->type != T1_FIELD_TYPE_BBOX && field->count_offset != 0 )
*(FT_Byte*)( (FT_Byte*)objects[0] + field->count_offset ) =
(FT_Byte)num_elements;
@@ -1634,27 +1641,24 @@
t1_builder_close_contour( T1_Builder builder )
{
FT_Outline* outline = builder->current;
+ FT_Int first;
if ( !outline )
return;
- /* XXXX: We must not include the last point in the path if it */
- /* is located on the first point. */
+ first = outline->n_contours <= 1
+ ? 0 : outline->contours[outline->n_contours - 2] + 1;
+
+ /* We must not include the last point in the path if it */
+ /* is located on the first point. */
if ( outline->n_points > 1 )
{
- FT_Int first = 0;
FT_Vector* p1 = outline->points + first;
FT_Vector* p2 = outline->points + outline->n_points - 1;
FT_Byte* control = (FT_Byte*)outline->tags + outline->n_points - 1;
- if ( outline->n_contours > 1 )
- {
- first = outline->contours[outline->n_contours - 2] + 1;
- p1 = outline->points + first;
- }
-
/* `delete' last point only if it coincides with the first */
/* point and it is not a control point (which can happen). */
if ( p1->x == p2->x && p1->y == p2->y )
@@ -1663,8 +1667,18 @@
}
if ( outline->n_contours > 0 )
- outline->contours[outline->n_contours - 1] =
- (short)( outline->n_points - 1 );
+ {
+ /* Don't add contours only consisting of one point, i.e., */
+ /* check whether begin point and last point are the same. */
+ if ( first == outline->n_points - 1 )
+ {
+ outline->n_contours--;
+ outline->n_points--;
+ }
+ else
+ outline->contours[outline->n_contours - 1] =
+ (short)( outline->n_points - 1 );
+ }
}
diff --git a/src/3rdparty/freetype/src/psaux/t1decode.c b/src/3rdparty/freetype/src/psaux/t1decode.c
index 550ba64..bda2324 100644
--- a/src/3rdparty/freetype/src/psaux/t1decode.c
+++ b/src/3rdparty/freetype/src/psaux/t1decode.c
@@ -4,7 +4,7 @@
/* */
/* PostScript Type 1 decoding routines (body). */
/* */
-/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -354,10 +354,9 @@
( decoder->buildchar == NULL ) );
if ( decoder->len_buildchar > 0 )
- memset( &decoder->buildchar[0],
- 0,
- sizeof( decoder->buildchar[0] ) *
- decoder->len_buildchar );
+ ft_memset( &decoder->buildchar[0],
+ 0,
+ sizeof( decoder->buildchar[0] ) * decoder->len_buildchar );
FT_TRACE4(( "\nStart charstring\n" ));
@@ -777,10 +776,10 @@
idx + blend->num_designs > decoder->face->len_buildchar )
goto Unexpected_OtherSubr;
- memcpy( &decoder->buildchar[idx],
- blend->weight_vector,
- blend->num_designs *
- sizeof( blend->weight_vector[ 0 ] ) );
+ ft_memcpy( &decoder->buildchar[idx],
+ blend->weight_vector,
+ blend->num_designs *
+ sizeof( blend->weight_vector[0] ) );
}
break;
diff --git a/src/3rdparty/freetype/src/pshinter/module.mk b/src/3rdparty/freetype/src/pshinter/module.mk
index cd171d0..ed24eb7 100644
--- a/src/3rdparty/freetype/src/pshinter/module.mk
+++ b/src/3rdparty/freetype/src/pshinter/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += PSHINTER_MODULE
define PSHINTER_MODULE
-$(OPEN_DRIVER)pshinter_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, pshinter_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)pshinter $(ECHO_DRIVER_DESC)Postscript hinter module$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/pshinter/pshalgo.c b/src/3rdparty/freetype/src/pshinter/pshalgo.c
index 5d7e2f4..f9ab3da 100644
--- a/src/3rdparty/freetype/src/pshinter/pshalgo.c
+++ b/src/3rdparty/freetype/src/pshinter/pshalgo.c
@@ -4,7 +4,7 @@
/* */
/* PostScript hinting algorithm (body). */
/* */
-/* Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used */
@@ -898,7 +898,7 @@
#ifdef DEBUG_ZONES
-#include <stdio.h>
+#include FT_CONFIG_STANDARD_LIBRARY_H
static void
psh_print_zone( PSH_Zone zone )
diff --git a/src/3rdparty/freetype/src/psnames/module.mk b/src/3rdparty/freetype/src/psnames/module.mk
index a93063b..a6e9082 100644
--- a/src/3rdparty/freetype/src/psnames/module.mk
+++ b/src/3rdparty/freetype/src/psnames/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += PSNAMES_MODULE
define PSNAMES_MODULE
-$(OPEN_DRIVER)psnames_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, psnames_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/psnames/psmodule.c b/src/3rdparty/freetype/src/psnames/psmodule.c
index dbcfe44..41942a9 100644
--- a/src/3rdparty/freetype/src/psnames/psmodule.c
+++ b/src/3rdparty/freetype/src/psnames/psmodule.c
@@ -174,18 +174,34 @@
/* sort base glyphs before glyph variants */
if ( unicode1 == unicode2 )
- return map1->unicode - map2->unicode;
+ {
+ if ( map1->unicode > map2->unicode )
+ return 1;
+ else if ( map1->unicode < map2->unicode )
+ return -1;
+ else
+ return 0;
+ }
else
- return unicode1 - unicode2;
+ {
+ if ( unicode1 > unicode2 )
+ return 1;
+ else if ( unicode1 < unicode2 )
+ return -1;
+ else
+ return 0;
+ }
}
- /* support for old WGL4 fonts */
+ /* support for extra glyphs not handled (well) in AGL; */
+ /* we add extra mappings for them if necessary */
-#define WGL_EXTRA_LIST_SIZE 8
+#define EXTRA_GLYPH_LIST_SIZE 10
- static const FT_UInt32 ft_wgl_extra_unicodes[WGL_EXTRA_LIST_SIZE] =
+ static const FT_UInt32 ft_extra_glyph_unicodes[EXTRA_GLYPH_LIST_SIZE] =
{
+ /* WGL 4 */
0x0394,
0x03A9,
0x2215,
@@ -193,10 +209,13 @@
0x02C9,
0x03BC,
0x2219,
- 0x00A0
+ 0x00A0,
+ /* Romanian */
+ 0x021A,
+ 0x021B
};
- static const char ft_wgl_extra_glyph_names[] =
+ static const char ft_extra_glyph_names[] =
{
'D','e','l','t','a',0,
'O','m','e','g','a',0,
@@ -205,11 +224,13 @@
'm','a','c','r','o','n',0,
'm','u',0,
'p','e','r','i','o','d','c','e','n','t','e','r','e','d',0,
- 's','p','a','c','e',0
+ 's','p','a','c','e',0,
+ 'T','c','o','m','m','a','a','c','c','e','n','t',0,
+ 't','c','o','m','m','a','a','c','c','e','n','t',0
};
static const FT_Int
- ft_wgl_extra_glyph_name_offsets[WGL_EXTRA_LIST_SIZE] =
+ ft_extra_glyph_name_offsets[EXTRA_GLYPH_LIST_SIZE] =
{
0,
6,
@@ -218,29 +239,31 @@
28,
35,
38,
- 53
+ 53,
+ 59,
+ 72
};
static void
- ps_check_wgl_name( const char* gname,
- FT_UInt glyph,
- FT_UInt* wgl_glyphs,
- FT_UInt *states )
+ ps_check_extra_glyph_name( const char* gname,
+ FT_UInt glyph,
+ FT_UInt* extra_glyphs,
+ FT_UInt *states )
{
FT_UInt n;
- for ( n = 0; n < WGL_EXTRA_LIST_SIZE; n++ )
+ for ( n = 0; n < EXTRA_GLYPH_LIST_SIZE; n++ )
{
- if ( ft_strcmp( ft_wgl_extra_glyph_names +
- ft_wgl_extra_glyph_name_offsets[n], gname ) == 0 )
+ if ( ft_strcmp( ft_extra_glyph_names +
+ ft_extra_glyph_name_offsets[n], gname ) == 0 )
{
if ( states[n] == 0 )
{
- /* mark this WGL extra glyph as a candidate for the cmap */
+ /* mark this extra glyph as a candidate for the cmap */
states[n] = 1;
- wgl_glyphs[n] = glyph;
+ extra_glyphs[n] = glyph;
}
return;
@@ -250,17 +273,17 @@
static void
- ps_check_wgl_unicode( FT_UInt32 uni_char,
- FT_UInt *states )
+ ps_check_extra_glyph_unicode( FT_UInt32 uni_char,
+ FT_UInt *states )
{
FT_UInt n;
- for ( n = 0; n < WGL_EXTRA_LIST_SIZE; n++ )
+ for ( n = 0; n < EXTRA_GLYPH_LIST_SIZE; n++ )
{
- if ( uni_char == ft_wgl_extra_unicodes[n] )
+ if ( uni_char == ft_extra_glyph_unicodes[n] )
{
- /* disable this WGL extra glyph from being added to the cmap */
+ /* disable this extra glyph from being added to the cmap */
states[n] = 2;
return;
@@ -280,15 +303,15 @@
{
FT_Error error;
- FT_UInt wgl_list_states[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
- FT_UInt wgl_glyphs[WGL_EXTRA_LIST_SIZE];
+ FT_UInt extra_glyph_list_states[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ FT_UInt extra_glyphs[EXTRA_GLYPH_LIST_SIZE];
/* we first allocate the table */
table->num_maps = 0;
table->maps = 0;
- if ( !FT_NEW_ARRAY( table->maps, num_glyphs + WGL_EXTRA_LIST_SIZE ) )
+ if ( !FT_NEW_ARRAY( table->maps, num_glyphs + EXTRA_GLYPH_LIST_SIZE ) )
{
FT_UInt n;
FT_UInt count;
@@ -305,12 +328,14 @@
if ( gname )
{
- ps_check_wgl_name( gname, n, wgl_glyphs, wgl_list_states );
+ ps_check_extra_glyph_name( gname, n,
+ extra_glyphs, extra_glyph_list_states );
uni_char = ps_unicode_value( gname );
if ( BASE_GLYPH( uni_char ) != 0 )
{
- ps_check_wgl_unicode( uni_char, wgl_list_states );
+ ps_check_extra_glyph_unicode( uni_char,
+ extra_glyph_list_states );
map->unicode = uni_char;
map->glyph_index = n;
map++;
@@ -321,15 +346,15 @@
}
}
- for ( n = 0; n < WGL_EXTRA_LIST_SIZE; n++ )
+ for ( n = 0; n < EXTRA_GLYPH_LIST_SIZE; n++ )
{
- if ( wgl_list_states[n] == 1 )
+ if ( extra_glyph_list_states[n] == 1 )
{
- /* This glyph name has an additional WGL4 representation. */
- /* Add it to the cmap. */
+ /* This glyph name has an additional representation. */
+ /* Add it to the cmap. */
- map->unicode = ft_wgl_extra_unicodes[n];
- map->glyph_index = wgl_glyphs[n];
+ map->unicode = ft_extra_glyph_unicodes[n];
+ map->glyph_index = extra_glyphs[n];
map++;
}
}
diff --git a/src/3rdparty/freetype/src/psnames/pstables.h b/src/3rdparty/freetype/src/psnames/pstables.h
index cc40ef7..1521e9c 100644
--- a/src/3rdparty/freetype/src/psnames/pstables.h
+++ b/src/3rdparty/freetype/src/psnames/pstables.h
@@ -4,7 +4,7 @@
/* */
/* PostScript glyph names. */
/* */
-/* Copyright 2005 by */
+/* Copyright 2005, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -561,7 +561,10 @@
* The lookup function to get the Unicode value for a given string
* is defined below the table.
*/
- static const unsigned char ft_adobe_glyph_list[54791] =
+
+#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
+
+ static const unsigned char ft_adobe_glyph_list[54791L] =
{
0, 52, 0,106, 2,167, 3, 63, 4,220, 6,125, 9,143, 10, 23,
11,137, 12,199, 14,246, 15, 87, 16,233, 17,219, 18,104, 19, 88,
@@ -4086,5 +4089,7 @@
return 0;
}
+#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
+
/* END */
diff --git a/src/3rdparty/freetype/src/raster/ftmisc.h b/src/3rdparty/freetype/src/raster/ftmisc.h
index c5dbd50..d9d73e3 100644
--- a/src/3rdparty/freetype/src/raster/ftmisc.h
+++ b/src/3rdparty/freetype/src/raster/ftmisc.h
@@ -5,7 +5,7 @@
/* Miscellaneous macros for stand-alone rasterizer (specification */
/* only). */
/* */
-/* Copyright 2005 by */
+/* Copyright 2005, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used */
@@ -27,7 +27,8 @@
#ifndef __FTMISC_H__
#define __FTMISC_H__
-#include <string.h> /* memset */
+ /* memset */
+#include FT_CONFIG_STANDARD_LIBRARY_H
#define FT_BEGIN_HEADER
#define FT_END_HEADER
diff --git a/src/3rdparty/freetype/src/raster/ftraster.c b/src/3rdparty/freetype/src/raster/ftraster.c
index 86d77d4..eb9c4a4 100644
--- a/src/3rdparty/freetype/src/raster/ftraster.c
+++ b/src/3rdparty/freetype/src/raster/ftraster.c
@@ -4,7 +4,7 @@
/* */
/* The FreeType glyph rasterizer (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2005, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2005, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -181,13 +181,13 @@
/* Disable the tracing mechanism for simplicity -- developers can */
/* activate it easily by redefining these two macros. */
#ifndef FT_ERROR
-#define FT_ERROR( x ) do ; while ( 0 ) /* nothing */
+#define FT_ERROR( x ) do { } while ( 0 ) /* nothing */
#endif
#ifndef FT_TRACE
-#define FT_TRACE( x ) do ; while ( 0 ) /* nothing */
-#define FT_TRACE1( x ) do ; while ( 0 ) /* nothing */
-#define FT_TRACE6( x ) do ; while ( 0 ) /* nothing */
+#define FT_TRACE( x ) do { } while ( 0 ) /* nothing */
+#define FT_TRACE1( x ) do { } while ( 0 ) /* nothing */
+#define FT_TRACE6( x ) do { } while ( 0 ) /* nothing */
#endif
#define Raster_Err_None 0
@@ -370,7 +370,7 @@
#define RAS_VARS /* void */
#define RAS_VAR /* void */
-#define FT_UNUSED_RASTER do ; while ( 0 )
+#define FT_UNUSED_RASTER do { } while ( 0 )
#else /* FT_STATIC_RASTER */
@@ -388,7 +388,7 @@
#endif /* FT_STATIC_RASTER */
- typedef struct TWorker_ TWorker, *PWorker;
+ typedef struct TWorker_ TWorker, *PWorker;
/* prototypes used for sweep function dispatch */
@@ -518,7 +518,7 @@
};
- typedef struct TRaster_
+ typedef struct TRaster_
{
char* buffer;
long buffer_size;
@@ -531,7 +531,7 @@
#ifdef FT_STATIC_RASTER
- static TWorker cur_ras;
+ static TWorker cur_ras;
#define ras cur_ras
#else
@@ -543,24 +543,25 @@
#ifdef FT_RASTER_OPTION_ANTI_ALIASING
-static const char count_table[256] =
-{
- 0 , 1 , 1 , 2 , 1 , 2 , 2 , 3 , 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4,
- 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
- 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
- 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
- 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
- 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
- 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
- 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 , 5 , 6 , 6 , 7 , 6 , 7 , 7 , 8 };
+ static const char count_table[256] =
+ {
+ 0 , 1 , 1 , 2 , 1 , 2 , 2 , 3 , 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4,
+ 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
+ 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
+ 1 , 2 , 2 , 3 , 2 , 3 , 3 , 4 , 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
+ 2 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6,
+ 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
+ 3 , 4 , 4 , 5 , 4 , 5 , 5 , 6 , 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7,
+ 4 , 5 , 5 , 6 , 5 , 6 , 6 , 7 , 5 , 6 , 6 , 7 , 6 , 7 , 7 , 8
+a };
#endif /* FT_RASTER_OPTION_ANTI_ALIASING */
@@ -581,7 +582,7 @@ static const char count_table[256] =
/* Set_High_Precision */
/* */
/* <Description> */
- /* Sets precision variables according to param flag. */
+ /* Set precision variables according to param flag. */
/* */
/* <Input> */
/* High :: Set to True for high precision (typically for ppem < 18), */
@@ -618,7 +619,7 @@ static const char count_table[256] =
/* New_Profile */
/* */
/* <Description> */
- /* Creates a new profile in the render pool. */
+ /* Create a new profile in the render pool. */
/* */
/* <Input> */
/* aState :: The state/orientation of the new profile. */
@@ -684,7 +685,7 @@ static const char count_table[256] =
/* End_Profile */
/* */
/* <Description> */
- /* Finalizes the current profile. */
+ /* Finalize the current profile. */
/* */
/* <Return> */
/* SUCCESS on success. FAILURE in case of overflow or incoherency. */
@@ -741,7 +742,7 @@ static const char count_table[256] =
/* Insert_Y_Turn */
/* */
/* <Description> */
- /* Inserts a salient into the sorted list placed on top of the render */
+ /* Insert a salient into the sorted list placed on top of the render */
/* pool. */
/* */
/* <Input> */
@@ -796,7 +797,7 @@ static const char count_table[256] =
/* Finalize_Profile_Table */
/* */
/* <Description> */
- /* Adjusts all links in the profiles list. */
+ /* Adjust all links in the profiles list. */
/* */
/* <Return> */
/* SUCCESS on success. FAILURE in case of overflow. */
@@ -810,10 +811,10 @@ static const char count_table[256] =
n = ras.num_Profs;
+ p = ras.fProfile;
- if ( n > 1 )
+ if ( n > 1 && p )
{
- p = ras.fProfile;
while ( n > 0 )
{
if ( n > 1 )
@@ -857,7 +858,7 @@ static const char count_table[256] =
/* Split_Conic */
/* */
/* <Description> */
- /* Subdivides one conic Bezier into two joint sub-arcs in the Bezier */
+ /* Subdivide one conic Bezier into two joint sub-arcs in the Bezier */
/* stack. */
/* */
/* <Input> */
@@ -896,7 +897,7 @@ static const char count_table[256] =
/* Split_Cubic */
/* */
/* <Description> */
- /* Subdivides a third-order Bezier arc into two joint sub-arcs in the */
+ /* Subdivide a third-order Bezier arc into two joint sub-arcs in the */
/* Bezier stack. */
/* */
/* <Note> */
@@ -938,7 +939,7 @@ static const char count_table[256] =
/* Line_Up */
/* */
/* <Description> */
- /* Computes the x-coordinates of an ascending line segment and stores */
+ /* Compute the x-coordinates of an ascending line segment and store */
/* them in the render pool. */
/* */
/* <Input> */
@@ -1077,8 +1078,8 @@ static const char count_table[256] =
/* Line_Down */
/* */
/* <Description> */
- /* Computes the x-coordinates of an descending line segment and */
- /* stores them in the render pool. */
+ /* Compute the x-coordinates of an descending line segment and store */
+ /* them in the render pool. */
/* */
/* <Input> */
/* x1 :: The x-coordinate of the segment's start point. */
@@ -1128,7 +1129,7 @@ static const char count_table[256] =
/* Bezier_Up */
/* */
/* <Description> */
- /* Computes the x-coordinates of an ascending Bezier arc and stores */
+ /* Compute the x-coordinates of an ascending Bezier arc and store */
/* them in the render pool. */
/* */
/* <Input> */
@@ -1261,7 +1262,7 @@ static const char count_table[256] =
/* Bezier_Down */
/* */
/* <Description> */
- /* Computes the x-coordinates of an descending Bezier arc and stores */
+ /* Compute the x-coordinates of an descending Bezier arc and store */
/* them in the render pool. */
/* */
/* <Input> */
@@ -1310,7 +1311,7 @@ static const char count_table[256] =
/* Line_To */
/* */
/* <Description> */
- /* Injects a new line segment and adjusts Profiles list. */
+ /* Inject a new line segment and adjust the Profiles list. */
/* */
/* <Input> */
/* x :: The x-coordinate of the segment's end point (its start point */
@@ -1400,7 +1401,7 @@ static const char count_table[256] =
/* Conic_To */
/* */
/* <Description> */
- /* Injects a new conic arc and adjusts the profile list. */
+ /* Inject a new conic arc and adjust the profile list. */
/* */
/* <Input> */
/* cx :: The x-coordinate of the arc's new control point. */
@@ -1510,7 +1511,7 @@ static const char count_table[256] =
/* Cubic_To */
/* */
/* <Description> */
- /* Injects a new cubic arc and adjusts the profile list. */
+ /* Inject a new cubic arc and adjust the profile list. */
/* */
/* <Input> */
/* cx1 :: The x-coordinate of the arc's first new control point. */
@@ -1648,7 +1649,7 @@ static const char count_table[256] =
/* Decompose_Curve */
/* */
/* <Description> */
- /* Scans the outline arrays in order to emit individual segments and */
+ /* Scan the outline arrays in order to emit individual segments and */
/* Beziers by calling Line_To() and Bezier_To(). It handles all */
/* weird cases, like when the first point is off the curve, or when */
/* there are simply no `on' points in the contour! */
@@ -1869,7 +1870,7 @@ static const char count_table[256] =
/* Convert_Glyph */
/* */
/* <Description> */
- /* Converts a glyph into a series of segments and arcs and makes a */
+ /* Convert a glyph into a series of segments and arcs and make a */
/* profiles list with them. */
/* */
/* <Input> */
@@ -2150,8 +2151,10 @@ static const char count_table[256] =
f1 = (Byte) ( 0xFF >> ( e1 & 7 ) );
f2 = (Byte) ~( 0x7F >> ( e2 & 7 ) );
- if ( ras.gray_min_x > c1 ) ras.gray_min_x = (short)c1;
- if ( ras.gray_max_x < c2 ) ras.gray_max_x = (short)c2;
+ if ( ras.gray_min_x > c1 )
+ ras.gray_min_x = (short)c1;
+ if ( ras.gray_max_x < c2 )
+ ras.gray_max_x = (short)c2;
target = ras.bTarget + ras.traceOfs + c1;
c2 -= c1;
@@ -2184,14 +2187,36 @@ static const char count_table[256] =
PProfile left,
PProfile right )
{
- Long e1, e2;
+ Long e1, e2, pxl;
Short c1, f1;
/* Drop-out control */
- e1 = CEILING( x1 );
- e2 = FLOOR ( x2 );
+ /* e2 x2 x1 e1 */
+ /* */
+ /* ^ | */
+ /* | | */
+ /* +-------------+---------------------+------------+ */
+ /* | | */
+ /* | v */
+ /* */
+ /* pixel contour contour pixel */
+ /* center center */
+
+ /* drop-out mode scan conversion rules (as defined in OpenType) */
+ /* --------------------------------------------------------------- */
+ /* 0 1, 2, 3 */
+ /* 1 1, 2, 4 */
+ /* 2 1, 2 */
+ /* 3 same as mode 2 */
+ /* 4 1, 2, 5 */
+ /* 5 1, 2, 6 */
+ /* 6, 7 same as mode 2 */
+
+ e1 = CEILING( x1 );
+ e2 = FLOOR ( x2 );
+ pxl = e1;
if ( e1 > e2 )
{
@@ -2199,19 +2224,20 @@ static const char count_table[256] =
{
switch ( ras.dropOutControl )
{
- case 1:
- e1 = e2;
+ case 0: /* simple drop-outs including stubs */
+ pxl = e2;
break;
- case 4:
- e1 = CEILING( (x1 + x2 + 1) / 2 );
+ case 4: /* smart drop-outs including stubs */
+ pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break;
- case 2:
- case 5:
- /* Drop-out Control Rule #4 */
+ case 1: /* simple drop-outs excluding stubs */
+ case 5: /* smart drop-outs excluding stubs */
+
+ /* Drop-out Control Rules #4 and #6 */
- /* The spec is not very clear regarding rule #4. It */
+ /* The spec is not very clear regarding those rules. It */
/* presents a method that is way too costly to implement */
/* while the general idea seems to get rid of `stubs'. */
/* */
@@ -2233,7 +2259,6 @@ static const char count_table[256] =
/* FIXXXME: uncommenting this line solves the disappearing */
/* bit problem in the `7' of verdana 10pts, but */
/* makes a new one in the `C' of arial 14pts */
-
#if 0
if ( x2 - x1 < ras.precision_half )
#endif
@@ -2247,41 +2272,43 @@ static const char count_table[256] =
return;
}
- /* check that the rightmost pixel isn't set */
-
- e1 = TRUNC( e1 );
+ if ( ras.dropOutControl == 1 )
+ pxl = e2;
+ else
+ pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
+ break;
- c1 = (Short)( e1 >> 3 );
- f1 = (Short)( e1 & 7 );
+ default: /* modes 2, 3, 6, 7 */
+ return; /* no drop-out control */
+ }
- if ( e1 >= 0 && e1 < ras.bWidth &&
- ras.bTarget[ras.traceOfs + c1] & ( 0x80 >> f1 ) )
- return;
+ /* check that the other pixel isn't set */
+ e1 = pxl == e1 ? e2 : e1;
- if ( ras.dropOutControl == 2 )
- e1 = e2;
- else
- e1 = CEILING( ( x1 + x2 + 1 ) / 2 );
+ e1 = TRUNC( e1 );
- break;
+ c1 = (Short)( e1 >> 3 );
+ f1 = (Short)( e1 & 7 );
- default:
- return; /* unsupported mode */
- }
+ if ( e1 >= 0 && e1 < ras.bWidth &&
+ ras.bTarget[ras.traceOfs + c1] & ( 0x80 >> f1 ) )
+ return;
}
else
return;
}
- e1 = TRUNC( e1 );
+ e1 = TRUNC( pxl );
if ( e1 >= 0 && e1 < ras.bWidth )
{
c1 = (Short)( e1 >> 3 );
f1 = (Short)( e1 & 7 );
- if ( ras.gray_min_x > c1 ) ras.gray_min_x = c1;
- if ( ras.gray_max_x < c1 ) ras.gray_max_x = c1;
+ if ( ras.gray_min_x > c1 )
+ ras.gray_min_x = c1;
+ if ( ras.gray_max_x < c1 )
+ ras.gray_max_x = c1;
ras.bTarget[ras.traceOfs + c1] |= (char)( 0x80 >> f1 );
}
@@ -2365,15 +2392,26 @@ static const char count_table[256] =
PProfile left,
PProfile right )
{
- Long e1, e2;
+ Long e1, e2, pxl;
PByte bits;
Byte f1;
/* During the horizontal sweep, we only take care of drop-outs */
- e1 = CEILING( x1 );
- e2 = FLOOR ( x2 );
+ /* e1 + <-- pixel center */
+ /* | */
+ /* x1 ---+--> <-- contour */
+ /* | */
+ /* | */
+ /* x2 <--+--- <-- contour */
+ /* | */
+ /* | */
+ /* e2 + <-- pixel center */
+
+ e1 = CEILING( x1 );
+ e2 = FLOOR ( x2 );
+ pxl = e1;
if ( e1 > e2 )
{
@@ -2381,23 +2419,17 @@ static const char count_table[256] =
{
switch ( ras.dropOutControl )
{
- case 1:
- e1 = e2;
+ case 0: /* simple drop-outs including stubs */
+ pxl = e2;
break;
- case 4:
- e1 = CEILING( ( x1 + x2 + 1 ) / 2 );
+ case 4: /* smart drop-outs including stubs */
+ pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break;
- case 2:
- case 5:
-
- /* Drop-out Control Rule #4 */
-
- /* The spec is not very clear regarding rule #4. It */
- /* presents a method that is way too costly to implement */
- /* while the general idea seems to get rid of `stubs'. */
- /* */
+ case 1: /* simple drop-outs excluding stubs */
+ case 5: /* smart drop-outs excluding stubs */
+ /* see Vertical_Sweep_Drop for details */
/* rightmost stub test */
if ( left->next == right && left->height <= 0 )
@@ -2407,32 +2439,32 @@ static const char count_table[256] =
if ( right->next == left && left->start == y )
return;
- /* check that the rightmost pixel isn't set */
-
- e1 = TRUNC( e1 );
+ if ( ras.dropOutControl == 1 )
+ pxl = e2;
+ else
+ pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
+ break;
- bits = ras.bTarget + ( y >> 3 );
- f1 = (Byte)( 0x80 >> ( y & 7 ) );
+ default: /* modes 2, 3, 6, 7 */
+ return; /* no drop-out control */
+ }
- bits -= e1 * ras.target.pitch;
- if ( ras.target.pitch > 0 )
- bits += ( ras.target.rows - 1 ) * ras.target.pitch;
+ /* check that the other pixel isn't set */
+ e1 = pxl == e1 ? e2 : e1;
- if ( e1 >= 0 &&
- e1 < ras.target.rows &&
- *bits & f1 )
- return;
+ e1 = TRUNC( e1 );
- if ( ras.dropOutControl == 2 )
- e1 = e2;
- else
- e1 = CEILING( ( x1 + x2 + 1 ) / 2 );
+ bits = ras.bTarget + ( y >> 3 );
+ f1 = (Byte)( 0x80 >> ( y & 7 ) );
- break;
+ bits -= e1 * ras.target.pitch;
+ if ( ras.target.pitch > 0 )
+ bits += ( ras.target.rows - 1 ) * ras.target.pitch;
- default:
- return; /* unsupported mode */
- }
+ if ( e1 >= 0 &&
+ e1 < ras.target.rows &&
+ *bits & f1 )
+ return;
}
else
return;
@@ -2441,7 +2473,7 @@ static const char count_table[256] =
bits = ras.bTarget + ( y >> 3 );
f1 = (Byte)( 0x80 >> ( y & 7 ) );
- e1 = TRUNC( e1 );
+ e1 = TRUNC( pxl );
if ( e1 >= 0 && e1 < ras.target.rows )
{
@@ -2526,10 +2558,10 @@ static const char count_table[256] =
if ( ras.gray_max_x >= 0 )
{
- Long last_pixel = ras.target.width - 1;
- Int last_cell = last_pixel >> 2;
- Int last_bit = last_pixel & 3;
- Bool over = 0;
+ Long last_pixel = ras.target.width - 1;
+ Int last_cell = last_pixel >> 2;
+ Int last_bit = last_pixel & 3;
+ Bool over = 0;
if ( ras.gray_max_x >= last_cell && last_bit != 3 )
@@ -2541,8 +2573,8 @@ static const char count_table[256] =
if ( ras.gray_min_x < 0 )
ras.gray_min_x = 0;
- bit = ras.bTarget + ras.gray_min_x;
- bit2 = bit + ras.gray_width;
+ bit = ras.bTarget + ras.gray_min_x;
+ bit2 = bit + ras.gray_width;
c1 = ras.gray_max_x - ras.gray_min_x;
@@ -2627,6 +2659,7 @@ static const char count_table[256] =
/* During the horizontal sweep, we only take care of drop-outs */
+
e1 = CEILING( x1 );
e2 = FLOOR ( x2 );
@@ -2636,23 +2669,17 @@ static const char count_table[256] =
{
switch ( ras.dropOutControl )
{
- case 1:
+ case 0: /* simple drop-outs including stubs */
e1 = e2;
break;
- case 4:
- e1 = CEILING( ( x1 + x2 + 1 ) / 2 );
+ case 4: /* smart drop-outs including stubs */
+ e1 = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break;
- case 2:
- case 5:
-
- /* Drop-out Control Rule #4 */
-
- /* The spec is not very clear regarding rule #4. It */
- /* presents a method that is way too costly to implement */
- /* while the general idea seems to get rid of `stubs'. */
- /* */
+ case 1: /* simple drop-outs excluding stubs */
+ case 5: /* smart drop-outs excluding stubs */
+ /* see Vertical_Sweep_Drop for details */
/* rightmost stub test */
if ( left->next == right && left->height <= 0 )
@@ -2662,15 +2689,15 @@ static const char count_table[256] =
if ( right->next == left && left->start == y )
return;
- if ( ras.dropOutControl == 2 )
+ if ( ras.dropOutControl == 1 )
e1 = e2;
else
- e1 = CEILING( ( x1 + x2 + 1 ) / 2 );
+ e1 = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break;
- default:
- return; /* unsupported mode */
+ default: /* modes 2, 3, 6, 7 */
+ return; /* no drop-out control */
}
}
else
@@ -2722,7 +2749,7 @@ static const char count_table[256] =
TProfileList draw_left, draw_right;
- /* Init empty linked lists */
+ /* initialize empty linked lists */
Init_Linked( &waiting );
@@ -2742,8 +2769,10 @@ static const char count_table[256] =
bottom = (Short)P->start;
top = (Short)( P->start + P->height - 1 );
- if ( min_Y > bottom ) min_Y = bottom;
- if ( max_Y < top ) max_Y = top;
+ if ( min_Y > bottom )
+ min_Y = bottom;
+ if ( max_Y < top )
+ max_Y = top;
P->X = 0;
InsNew( &waiting, P );
@@ -2751,18 +2780,18 @@ static const char count_table[256] =
P = Q;
}
- /* Check the Y-turns */
+ /* check the Y-turns */
if ( ras.numTurns == 0 )
{
ras.error = Raster_Err_Invalid;
return FAILURE;
}
- /* Now inits the sweep */
+ /* now initialize the sweep */
ras.Proc_Sweep_Init( RAS_VARS &min_Y, &max_Y );
- /* Then compute the distance of each profile from min_Y */
+ /* then compute the distance of each profile from min_Y */
P = waiting;
@@ -2772,7 +2801,7 @@ static const char count_table[256] =
P = P->link;
}
- /* Let's go */
+ /* let's go */
y = min_Y;
y_height = 0;
@@ -2783,7 +2812,7 @@ static const char count_table[256] =
while ( ras.numTurns > 0 )
{
- /* look in the waiting list for new activations */
+ /* check waiting list for new activations */
P = waiting;
@@ -2810,7 +2839,7 @@ static const char count_table[256] =
P = Q;
}
- /* Sort the drawing lists */
+ /* sort the drawing lists */
Sort( &draw_left );
Sort( &draw_right );
@@ -2820,7 +2849,7 @@ static const char count_table[256] =
while ( y < y_change )
{
- /* Let's trace */
+ /* let's trace */
dropouts = 0;
@@ -2839,22 +2868,25 @@ static const char count_table[256] =
x2 = xs;
}
- if ( x2 - x1 <= ras.precision )
- {
- e1 = FLOOR( x1 );
- e2 = CEILING( x2 );
+ e1 = FLOOR( x1 );
+ e2 = CEILING( x2 );
- if ( ras.dropOutControl != 0 &&
- ( e1 > e2 || e2 == e1 + ras.precision ) )
+ if ( x2 - x1 <= ras.precision &&
+ e1 != x1 && e2 != x2 )
+ {
+ if ( e1 > e2 || e2 == e1 + ras.precision )
{
- /* a drop out was detected */
+ if ( ras.dropOutControl != 2 )
+ {
+ /* a drop-out was detected */
- P_Left ->X = x1;
- P_Right->X = x2;
+ P_Left ->X = x1;
+ P_Right->X = x2;
- /* mark profile for drop-out processing */
- P_Left->countL = 1;
- dropouts++;
+ /* mark profile for drop-out processing */
+ P_Left->countL = 1;
+ dropouts++;
+ }
goto Skip_To_Next;
}
@@ -2868,9 +2900,9 @@ static const char count_table[256] =
P_Right = P_Right->link;
}
- /* now perform the dropouts _after_ the span drawing -- */
- /* drop-outs processing has been moved out of the loop */
- /* for performance tuning */
+ /* handle drop-outs _after_ the span drawing -- */
+ /* drop-out processing has been moved out of the loop */
+ /* for performance tuning */
if ( dropouts > 0 )
goto Scan_DropOuts;
@@ -2887,7 +2919,7 @@ static const char count_table[256] =
}
}
- /* Now finalize the profiles that needs it */
+ /* now finalize the profiles that need it */
P = draw_left;
while ( P )
@@ -2908,7 +2940,7 @@ static const char count_table[256] =
}
}
- /* for gray-scaling, flushes the bitmap scanline cache */
+ /* for gray-scaling, flush the bitmap scanline cache */
while ( y <= max_Y )
{
ras.Proc_Sweep_Step( RAS_VAR );
@@ -2951,7 +2983,7 @@ static const char count_table[256] =
/* Render_Single_Pass */
/* */
/* <Description> */
- /* Performs one sweep with sub-banding. */
+ /* Perform one sweep with sub-banding. */
/* */
/* <Input> */
/* flipped :: If set, flip the direction of the outline. */
@@ -3026,7 +3058,7 @@ static const char count_table[256] =
/* Render_Glyph */
/* */
/* <Description> */
- /* Renders a glyph in a bitmap. Sub-banding if needed. */
+ /* Render a glyph in a bitmap. Sub-banding if needed. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
@@ -3039,13 +3071,23 @@ static const char count_table[256] =
Set_High_Precision( RAS_VARS ras.outline.flags &
FT_OUTLINE_HIGH_PRECISION );
- ras.scale_shift = ras.precision_shift;
- /* Drop-out mode 2 is hard-coded since this is the only mode used */
- /* on Windows platforms. Using other modes, as specified by the */
- /* font, results in misplaced pixels. */
- ras.dropOutControl = 2;
- ras.second_pass = (FT_Byte)( !( ras.outline.flags &
- FT_OUTLINE_SINGLE_PASS ) );
+ ras.scale_shift = ras.precision_shift;
+
+ if ( ras.outline.flags & FT_OUTLINE_IGNORE_DROPOUTS )
+ ras.dropOutControl = 2;
+ else
+ {
+ if ( ras.outline.flags & FT_OUTLINE_SMART_DROPOUTS )
+ ras.dropOutControl = 4;
+ else
+ ras.dropOutControl = 0;
+
+ if ( !( ras.outline.flags & FT_OUTLINE_INCLUDE_STUBS ) )
+ ras.dropOutControl += 1;
+ }
+
+ ras.second_pass = (FT_Byte)( !( ras.outline.flags &
+ FT_OUTLINE_SINGLE_PASS ) );
/* Vertical Sweep */
ras.Proc_Sweep_Init = Vertical_Sweep_Init;
@@ -3064,7 +3106,7 @@ static const char count_table[256] =
return error;
/* Horizontal Sweep */
- if ( ras.second_pass && ras.dropOutControl != 0 )
+ if ( ras.second_pass && ras.dropOutControl != 2 )
{
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
ras.Proc_Sweep_Span = Horizontal_Sweep_Span;
@@ -3085,14 +3127,13 @@ static const char count_table[256] =
#ifdef FT_RASTER_OPTION_ANTI_ALIASING
-
/*************************************************************************/
/* */
/* <Function> */
/* Render_Gray_Glyph */
/* */
/* <Description> */
- /* Renders a glyph with grayscaling. Sub-banding if needed. */
+ /* Render a glyph with grayscaling. Sub-banding if needed. */
/* */
/* <Return> */
/* FreeType error code. 0 means success. */
@@ -3106,12 +3147,22 @@ static const char count_table[256] =
Set_High_Precision( RAS_VARS ras.outline.flags &
FT_OUTLINE_HIGH_PRECISION );
- ras.scale_shift = ras.precision_shift + 1;
- /* Drop-out mode 2 is hard-coded since this is the only mode used */
- /* on Windows platforms. Using other modes, as specified by the */
- /* font, results in misplaced pixels. */
- ras.dropOutControl = 2;
- ras.second_pass = !( ras.outline.flags & FT_OUTLINE_SINGLE_PASS );
+ ras.scale_shift = ras.precision_shift + 1;
+
+ if ( ras.outline.flags & FT_OUTLINE_IGNORE_DROPOUTS )
+ ras.dropOutControl = 2;
+ else
+ {
+ if ( ras.outline.flags & FT_OUTLINE_SMART_DROPOUTS )
+ ras.dropOutControl = 4;
+ else
+ ras.dropOutControl = 0;
+
+ if ( !( ras.outline.flags & FT_OUTLINE_INCLUDE_STUBS ) )
+ ras.dropOutControl += 1;
+ }
+
+ ras.second_pass = !( ras.outline.flags & FT_OUTLINE_SINGLE_PASS );
/* Vertical Sweep */
@@ -3139,7 +3190,7 @@ static const char count_table[256] =
return error;
/* Horizontal Sweep */
- if ( ras.second_pass && ras.dropOutControl != 0 )
+ if ( ras.second_pass && ras.dropOutControl != 2 )
{
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
ras.Proc_Sweep_Span = Horizontal_Gray_Sweep_Span;
@@ -3198,7 +3249,7 @@ static const char count_table[256] =
static int
- ft_black_new( void* memory,
+ ft_black_new( void* memory,
FT_Raster *araster )
{
static TRaster the_raster;
@@ -3256,9 +3307,9 @@ static const char count_table[256] =
static void
- ft_black_reset( PRaster raster,
- char* pool_base,
- long pool_size )
+ ft_black_reset( PRaster raster,
+ char* pool_base,
+ long pool_size )
{
if ( raster )
{
@@ -3283,9 +3334,9 @@ static const char count_table[256] =
static void
- ft_black_set_mode( PRaster raster,
- unsigned long mode,
- const char* palette )
+ ft_black_set_mode( PRaster raster,
+ unsigned long mode,
+ const char* palette )
{
#ifdef FT_RASTER_OPTION_ANTI_ALIASING
@@ -3351,15 +3402,15 @@ static const char count_table[256] =
if ( !target_map->buffer )
return Raster_Err_Invalid;
- ras.outline = *outline;
- ras.target = *target_map;
+ ras.outline = *outline;
+ ras.target = *target_map;
- worker->buff = (PLong) raster->buffer;
- worker->sizeBuff = worker->buff +
- raster->buffer_size / sizeof ( Long );
+ worker->buff = (PLong) raster->buffer;
+ worker->sizeBuff = worker->buff +
+ raster->buffer_size / sizeof ( Long );
#ifdef FT_RASTER_OPTION_ANTI_ALIASING
- worker->grays = raster->grays;
- worker->gray_width = raster->gray_width;
+ worker->grays = raster->grays;
+ worker->gray_width = raster->gray_width;
#endif
return ( ( params->flags & FT_RASTER_FLAG_AA )
diff --git a/src/3rdparty/freetype/src/raster/module.mk b/src/3rdparty/freetype/src/raster/module.mk
index 59c737b..cbff5df 100644
--- a/src/3rdparty/freetype/src/raster/module.mk
+++ b/src/3rdparty/freetype/src/raster/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += RASTER_MODULE
define RASTER_MODULE
-$(OPEN_DRIVER)ft_raster1_renderer_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Renderer_Class, ft_raster1_renderer_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/raster/rules.mk b/src/3rdparty/freetype/src/raster/rules.mk
index 0dc8782..43a9af2 100644
--- a/src/3rdparty/freetype/src/raster/rules.mk
+++ b/src/3rdparty/freetype/src/raster/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2001, 2003 by
+# Copyright 1996-2000, 2001, 2003, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -31,6 +31,7 @@ RASTER_DRV_SRC := $(RASTER_DIR)/ftraster.c \
# raster driver headers
#
RASTER_DRV_H := $(RASTER_DRV_SRC:%.c=%.h) \
+ $(RASTER_DIR)/ftmisc.h \
$(RASTER_DIR)/rasterrs.h
diff --git a/src/3rdparty/freetype/src/sfnt/Jamfile b/src/3rdparty/freetype/src/sfnt/Jamfile
index 6b8a401..ad467be 100644
--- a/src/3rdparty/freetype/src/sfnt/Jamfile
+++ b/src/3rdparty/freetype/src/sfnt/Jamfile
@@ -16,7 +16,7 @@ SubDir FT2_TOP $(FT2_SRC_DIR) sfnt ;
if $(FT2_MULTI)
{
- _sources = sfobjs sfdriver ttcmap ttpost ttload ttsbit ttkern ttbdf ;
+ _sources = sfobjs sfdriver ttcmap ttmtx ttpost ttload ttsbit ttkern ttbdf ;
}
else
{
diff --git a/src/3rdparty/freetype/src/sfnt/module.mk b/src/3rdparty/freetype/src/sfnt/module.mk
index d339138..95fd6a3 100644
--- a/src/3rdparty/freetype/src/sfnt/module.mk
+++ b/src/3rdparty/freetype/src/sfnt/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += SFNT_MODULE
define SFNT_MODULE
-$(OPEN_DRIVER)sfnt_module_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Module_Class, sfnt_module_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)helper module for TrueType & OpenType formats$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/sfnt/rules.mk b/src/3rdparty/freetype/src/sfnt/rules.mk
index ff7840e..abda74f 100644
--- a/src/3rdparty/freetype/src/sfnt/rules.mk
+++ b/src/3rdparty/freetype/src/sfnt/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006, 2007 by
+# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006, 2007, 2009 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -37,8 +37,11 @@ SFNT_DRV_SRC := $(SFNT_DIR)/ttload.c \
# SFNT driver headers
#
-SFNT_DRV_H := $(SFNT_DRV_SRC:%c=%h) \
- $(SFNT_DIR)/sferrors.h
+# Note that ttsbit0.c gets #included by ttsbit.c.
+#
+SFNT_DRV_H := $(SFNT_DRV_SRC:%c=%h) \
+ $(SFNT_DIR)/sferrors.h \
+ $(SFNT_DIR)/ttsbit0.c
# SFNT driver object(s)
diff --git a/src/3rdparty/freetype/src/sfnt/sfdriver.c b/src/3rdparty/freetype/src/sfnt/sfdriver.c
index 5ba22a6..142ef76 100644
--- a/src/3rdparty/freetype/src/sfnt/sfdriver.c
+++ b/src/3rdparty/freetype/src/sfnt/sfdriver.c
@@ -4,7 +4,7 @@
/* */
/* High-level SFNT driver interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -151,10 +151,35 @@
}
+ static FT_UInt
+ sfnt_get_name_index( TT_Face face,
+ FT_String* glyph_name )
+ {
+ FT_Face root = &face->root;
+ FT_Long i;
+
+
+ for ( i = 0; i < root->num_glyphs; i++ )
+ {
+ FT_String* gname;
+ FT_Error error = tt_face_get_ps_name( face, i, &gname );
+
+
+ if ( error )
+ continue;
+
+ if ( !ft_strcmp( glyph_name, gname ) )
+ return (FT_UInt)i;
+ }
+
+ return 0;
+ }
+
+
static const FT_Service_GlyphDictRec sfnt_service_glyph_dict =
{
(FT_GlyphDict_GetNameFunc) sfnt_get_glyph_name,
- (FT_GlyphDict_NameIndexFunc)NULL
+ (FT_GlyphDict_NameIndexFunc)sfnt_get_name_index
};
#endif /* TT_CONFIG_OPTION_POSTSCRIPT_NAMES */
diff --git a/src/3rdparty/freetype/src/sfnt/sfobjs.c b/src/3rdparty/freetype/src/sfnt/sfobjs.c
index c25b87d..c826b92 100644
--- a/src/3rdparty/freetype/src/sfnt/sfobjs.c
+++ b/src/3rdparty/freetype/src/sfnt/sfobjs.c
@@ -123,14 +123,20 @@
/* */
/* nameid :: The name id of the name record to return. */
/* */
+ /* <InOut> */
+ /* name :: The address of a string pointer. NULL if no name is */
+ /* present. */
+ /* */
/* <Return> */
- /* Character string. NULL if no name is present. */
+ /* FreeType error code. 0 means success. */
/* */
- static FT_String*
- tt_face_get_name( TT_Face face,
- FT_UShort nameid )
+ static FT_Error
+ tt_face_get_name( TT_Face face,
+ FT_UShort nameid,
+ FT_String** name )
{
FT_Memory memory = face->root.memory;
+ FT_Error error = SFNT_Err_Ok;
FT_String* result = NULL;
FT_UShort n;
TT_NameEntryRec* rec;
@@ -145,6 +151,8 @@
TT_NameEntry_ConvertFunc convert;
+ FT_ASSERT( name );
+
rec = face->name_table.names;
for ( n = 0; n < face->num_names; n++, rec++ )
{
@@ -256,11 +264,8 @@
{
if ( rec->string == NULL )
{
- FT_Error error = SFNT_Err_Ok;
FT_Stream stream = face->name_table.stream;
- FT_UNUSED( error );
-
if ( FT_QNEW_ARRAY ( rec->string, rec->stringLength ) ||
FT_STREAM_SEEK( rec->stringOffset ) ||
@@ -277,7 +282,8 @@
}
Exit:
- return result;
+ *name = result;
+ return error;
}
@@ -363,11 +369,12 @@
if ( FT_READ_ULONG( tag ) )
return error;
- if ( tag != 0x00010000UL &&
- tag != TTAG_ttcf &&
- tag != FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) &&
- tag != TTAG_true &&
- tag != 0x00020000UL )
+ if ( tag != 0x00010000UL &&
+ tag != TTAG_ttcf &&
+ tag != TTAG_OTTO &&
+ tag != TTAG_true &&
+ tag != TTAG_typ1 &&
+ tag != 0x00020000UL )
return SFNT_Err_Unknown_File_Format;
face->ttc_header.tag = TTAG_ttcf;
@@ -401,7 +408,7 @@
face->ttc_header.version = 1 << 16;
face->ttc_header.count = 1;
- if ( FT_NEW( face->ttc_header.offsets) )
+ if ( FT_NEW( face->ttc_header.offsets ) )
return error;
face->ttc_header.offsets[0] = offset;
@@ -451,7 +458,7 @@
face_index = 0;
if ( face_index >= face->ttc_header.count )
- return SFNT_Err_Bad_Argument;
+ return SFNT_Err_Invalid_Argument;
if ( FT_STREAM_SEEK( face->ttc_header.offsets[face_index] ) )
return error;
@@ -461,7 +468,8 @@
if ( error )
return error;
- face->root.num_faces = face->ttc_header.count;
+ face->root.num_faces = face->ttc_header.count;
+ face->root.face_index = face_index;
return error;
}
@@ -498,6 +506,13 @@
FT_TRACE3(( "\n" )); \
} while ( 0 )
+#define GET_NAME( id, field ) \
+ do { \
+ error = tt_face_get_name( face, TT_NAME_ID_##id, field ); \
+ if ( error ) \
+ goto Exit; \
+ } while ( 0 )
+
FT_LOCAL_DEF( FT_Error )
sfnt_load_face( FT_Stream stream,
@@ -506,7 +521,10 @@
FT_Int num_params,
FT_Parameter* params )
{
- FT_Error error, psnames_error;
+ FT_Error error;
+#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES
+ FT_Error psnames_error;
+#endif
FT_Bool has_outline;
FT_Bool is_apple_sbit;
@@ -581,7 +599,10 @@
/* don't check for errors */
LOAD_( name );
LOAD_( post );
+
+#ifdef TT_CONFIG_OPTION_POSTSCRIPT_NAMES
psnames_error = error;
+#endif
/* do not load the metrics headers and tables if this is an Apple */
/* sbit font file */
@@ -660,19 +681,20 @@
face->os2.version = 0xFFFFU;
}
-
}
/* the optional tables */
- /* embedded bitmap support. */
+ /* embedded bitmap support */
if ( sfnt->load_eblc )
{
LOAD_( eblc );
if ( error )
{
- /* return an error if this font file has no outlines */
- if ( error == SFNT_Err_Table_Missing && has_outline )
+ /* a font which contains neither bitmaps nor outlines is */
+ /* still valid (although rather useless in most cases); */
+ /* however, you can find such stripped fonts in PDFs */
+ if ( error == SFNT_Err_Table_Missing )
error = SFNT_Err_Ok;
else
goto Exit;
@@ -692,59 +714,38 @@
LOAD_( gasp );
LOAD_( kern );
- error = SFNT_Err_Ok;
-
face->root.num_glyphs = face->max_profile.numGlyphs;
-#if 0
/* Bit 8 of the `fsSelection' field in the `OS/2' table denotes */
/* a WWS-only font face. `WWS' stands for `weight', width', and */
/* `slope', a term used by Microsoft's Windows Presentation */
- /* Foundation (WPF). This flag will be introduced in version */
- /* 1.5 of the OpenType specification (but is already in use). */
+ /* Foundation (WPF). This flag has been introduced in version */
+ /* 1.5 of the OpenType specification (May 2008). */
if ( face->os2.version != 0xFFFFU && face->os2.fsSelection & 256 )
-#endif
{
- face->root.family_name =
- tt_face_get_name( face, TT_NAME_ID_PREFERRED_FAMILY );
+ GET_NAME( PREFERRED_FAMILY, &face->root.family_name );
if ( !face->root.family_name )
- face->root.family_name =
- tt_face_get_name( face, TT_NAME_ID_FONT_FAMILY );
+ GET_NAME( FONT_FAMILY, &face->root.family_name );
- face->root.style_name =
- tt_face_get_name( face, TT_NAME_ID_PREFERRED_SUBFAMILY );
+ GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name );
if ( !face->root.style_name )
- face->root.style_name =
- tt_face_get_name( face, TT_NAME_ID_FONT_SUBFAMILY );
+ GET_NAME( FONT_SUBFAMILY, &face->root.style_name );
}
-#if 0
else
{
- /* Support for `name' table ID 21 (WWS family) and 22 (WWS */
- /* subfamily) is still under consideration by Microsoft and */
- /* not implemented in the current version of WPF. */
-
- face->root.family_name =
- tt_face_get_name( face, TT_NAME_ID_WWS_FAMILY );
+ GET_NAME( WWS_FAMILY, &face->root.family_name );
if ( !face->root.family_name )
- face->root.family_name =
- tt_face_get_name( face, TT_NAME_ID_PREFERRED_FAMILY );
+ GET_NAME( PREFERRED_FAMILY, &face->root.family_name );
if ( !face->root.family_name )
- face->root.family_name =
- tt_face_get_name( face, TT_NAME_ID_FONT_FAMILY );
+ GET_NAME( FONT_FAMILY, &face->root.family_name );
- face->root.style_name =
- tt_face_get_name( face, TT_NAME_ID_WWS_SUBFAMILY );
+ GET_NAME( WWS_SUBFAMILY, &face->root.style_name );
if ( !face->root.style_name )
- face->root.style_name =
- tt_face_get_name( face, TT_NAME_ID_PREFERRED_SUBFAMILY );
+ GET_NAME( PREFERRED_SUBFAMILY, &face->root.style_name );
if ( !face->root.style_name )
- face->root.style_name =
- tt_face_get_name( face, TT_NAME_ID_FONT_SUBFAMILY );
+ GET_NAME( FONT_SUBFAMILY, &face->root.style_name );
}
-#endif
-
/* now set up root fields */
{
@@ -801,10 +802,9 @@
flags = 0;
if ( has_outline == TRUE && face->os2.version != 0xFFFFU )
{
- /* We have an OS/2 table; use the `fsSelection' field. Bit 9 */
- /* indicates an oblique font face. This flag will be */
- /* introduced in version 1.5 of the OpenType specification (but */
- /* is already in use). */
+ /* We have an OS/2 table; use the `fsSelection' field. Bit 9 */
+ /* indicates an oblique font face. This flag has been */
+ /* introduced in version 1.5 of the OpenType specification. */
if ( face->os2.fsSelection & 512 ) /* bit 9 */
flags |= FT_STYLE_FLAG_ITALIC;
@@ -817,6 +817,7 @@
else
{
/* this is an old Mac font, use the header field */
+
if ( face->header.Mac_Style & 1 )
flags |= FT_STYLE_FLAG_BOLD;
@@ -861,12 +862,78 @@
}
}
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+
+ /*
+ * Now allocate the root array of FT_Bitmap_Size records and
+ * populate them. Unfortunately, it isn't possible to indicate bit
+ * depths in the FT_Bitmap_Size record. This is a design error.
+ */
+ {
+ FT_UInt i, count;
+
+
+#ifndef FT_CONFIG_OPTION_OLD_INTERNALS
+ count = face->sbit_num_strikes;
+#else
+ count = (FT_UInt)face->num_sbit_strikes;
+#endif
+
+ if ( count > 0 )
+ {
+ FT_Memory memory = face->root.stream->memory;
+ FT_UShort em_size = face->header.Units_Per_EM;
+ FT_Short avgwidth = face->os2.xAvgCharWidth;
+ FT_Size_Metrics metrics;
+
+
+ if ( em_size == 0 || face->os2.version == 0xFFFFU )
+ {
+ avgwidth = 0;
+ em_size = 1;
+ }
+
+ if ( FT_NEW_ARRAY( root->available_sizes, count ) )
+ goto Exit;
+
+ for ( i = 0; i < count; i++ )
+ {
+ FT_Bitmap_Size* bsize = root->available_sizes + i;
+
+
+ error = sfnt->load_strike_metrics( face, i, &metrics );
+ if ( error )
+ goto Exit;
+
+ bsize->height = (FT_Short)( metrics.height >> 6 );
+ bsize->width = (FT_Short)(
+ ( avgwidth * metrics.x_ppem + em_size / 2 ) / em_size );
+
+ bsize->x_ppem = metrics.x_ppem << 6;
+ bsize->y_ppem = metrics.y_ppem << 6;
+
+ /* assume 72dpi */
+ bsize->size = metrics.y_ppem << 6;
+ }
+
+ root->face_flags |= FT_FACE_FLAG_FIXED_SIZES;
+ root->num_fixed_sizes = (FT_Int)count;
+ }
+ }
+
+#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
+
+ /* a font with no bitmaps and no outlines is scalable; */
+ /* it has only empty glyphs then */
+ if ( !FT_HAS_FIXED_SIZES( root ) && !FT_IS_SCALABLE( root ) )
+ root->face_flags |= FT_FACE_FLAG_SCALABLE;
+
/*********************************************************************/
/* */
/* Set up metrics. */
/* */
- if ( has_outline == TRUE )
+ if ( FT_IS_SCALABLE( root ) )
{
/* XXX What about if outline header is missing */
/* (e.g. sfnt wrapped bitmap)? */
@@ -919,10 +986,9 @@
/* this computation is based on various versions of Times New Roman */
if ( face->horizontal.Line_Gap == 0 )
root->height = (FT_Short)( ( root->height * 115 + 50 ) / 100 );
-#endif
+#endif /* 0 */
#if 0
-
/* some fonts have the OS/2 "sTypoAscender", "sTypoDescender" & */
/* "sTypoLineGap" fields set to 0, like ARIALNB.TTF */
if ( face->os2.version != 0xFFFFU && root->ascender )
@@ -937,80 +1003,21 @@
if ( height > root->height )
root->height = height;
}
-
#endif /* 0 */
- root->max_advance_width = face->horizontal.advance_Width_Max;
+ root->max_advance_width = face->horizontal.advance_Width_Max;
+ root->max_advance_height = (FT_Short)( face->vertical_info
+ ? face->vertical.advance_Height_Max
+ : root->height );
- root->max_advance_height = (FT_Short)( face->vertical_info
- ? face->vertical.advance_Height_Max
- : root->height );
-
- root->underline_position = face->postscript.underlinePosition;
+ /* See http://www.microsoft.com/OpenType/OTSpec/post.htm -- */
+ /* Adjust underline position from top edge to centre of */
+ /* stroke to convert TrueType meaning to FreeType meaning. */
+ root->underline_position = face->postscript.underlinePosition -
+ face->postscript.underlineThickness / 2;
root->underline_thickness = face->postscript.underlineThickness;
}
-#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
-
- /*
- * Now allocate the root array of FT_Bitmap_Size records and
- * populate them. Unfortunately, it isn't possible to indicate bit
- * depths in the FT_Bitmap_Size record. This is a design error.
- */
- {
- FT_UInt i, count;
-
-
-#if !defined FT_CONFIG_OPTION_OLD_INTERNALS
- count = face->sbit_num_strikes;
-#else
- count = (FT_UInt)face->num_sbit_strikes;
-#endif
-
- if ( count > 0 )
- {
- FT_Memory memory = face->root.stream->memory;
- FT_UShort em_size = face->header.Units_Per_EM;
- FT_Short avgwidth = face->os2.xAvgCharWidth;
- FT_Size_Metrics metrics;
-
-
- if ( em_size == 0 || face->os2.version == 0xFFFFU )
- {
- avgwidth = 0;
- em_size = 1;
- }
-
- if ( FT_NEW_ARRAY( root->available_sizes, count ) )
- goto Exit;
-
- for ( i = 0; i < count; i++ )
- {
- FT_Bitmap_Size* bsize = root->available_sizes + i;
-
-
- error = sfnt->load_strike_metrics( face, i, &metrics );
- if ( error )
- goto Exit;
-
- bsize->height = (FT_Short)( metrics.height >> 6 );
- bsize->width = (FT_Short)(
- ( avgwidth * metrics.x_ppem + em_size / 2 ) / em_size );
-
- bsize->x_ppem = metrics.x_ppem << 6;
- bsize->y_ppem = metrics.y_ppem << 6;
-
- /* assume 72dpi */
- bsize->size = metrics.y_ppem << 6;
- }
-
- root->face_flags |= FT_FACE_FLAG_FIXED_SIZES;
- root->num_fixed_sizes = (FT_Int)count;
- }
- }
-
-#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
-
}
Exit:
@@ -1022,14 +1029,21 @@
#undef LOAD_
#undef LOADM_
+#undef GET_NAME
FT_LOCAL_DEF( void )
sfnt_done_face( TT_Face face )
{
- FT_Memory memory = face->root.memory;
- SFNT_Service sfnt = (SFNT_Service)face->sfnt;
+ FT_Memory memory;
+ SFNT_Service sfnt;
+
+
+ if ( !face )
+ return;
+ memory = face->root.memory;
+ sfnt = (SFNT_Service)face->sfnt;
if ( sfnt )
{
@@ -1068,7 +1082,7 @@
}
/* freeing the horizontal metrics */
-#if !defined FT_CONFIG_OPTION_OLD_INTERNALS
+#ifndef FT_CONFIG_OPTION_OLD_INTERNALS
{
FT_Stream stream = FT_FACE_STREAM( face );
diff --git a/src/3rdparty/freetype/src/sfnt/ttcmap.c b/src/3rdparty/freetype/src/sfnt/ttcmap.c
index b70b64c..6830391 100644
--- a/src/3rdparty/freetype/src/sfnt/ttcmap.c
+++ b/src/3rdparty/freetype/src/sfnt/ttcmap.c
@@ -4,7 +4,7 @@
/* */
/* TrueType character mapping table (cmap) support (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -134,7 +134,7 @@
FT_UInt gindex = 0;
- table += 6; /* go to glyph ids */
+ table += 6; /* go to glyph IDs */
while ( ++charcode < 256 )
{
gindex = table[charcode];
@@ -231,7 +231,7 @@
/* language 4 USHORT Mac language code */
/* keys 6 USHORT[256] sub-header keys */
/* subs 518 SUBHEAD[NSUBS] sub-headers array */
- /* glyph_ids 518+NSUB*8 USHORT[] glyph id array */
+ /* glyph_ids 518+NSUB*8 USHORT[] glyph ID array */
/* */
/* The `keys' table is used to map charcode high-bytes to sub-headers. */
/* The value of `NSUBS' is the number of sub-headers defined in the */
@@ -260,14 +260,14 @@
/* */
/* * The value of `offset' is read. This is a _byte_ distance from the */
/* location of the `offset' field itself into a slice of the */
- /* `glyph_ids' table. Let's call it `slice' (it's a USHORT[] too). */
+ /* `glyph_ids' table. Let's call it `slice' (it is a USHORT[] too). */
/* */
/* * The value `slice[char.lo - first]' is read. If it is 0, there is */
/* no glyph for the charcode. Otherwise, the value of `delta' is */
/* added to it (modulo 65536) to form a new glyph index. */
/* */
/* It is up to the validation routine to check that all offsets fall */
- /* within the glyph ids table (and not within the `subs' table itself or */
+ /* within the glyph IDs table (and not within the `subs' table itself or */
/* outside of the CMap). */
/* */
@@ -282,7 +282,7 @@
FT_UInt n, max_subs;
FT_Byte* keys; /* keys table */
FT_Byte* subs; /* sub-headers */
- FT_Byte* glyph_ids; /* glyph id array */
+ FT_Byte* glyph_ids; /* glyph ID array */
if ( table + length > valid->limit || length < 6 + 512 )
@@ -328,6 +328,10 @@
delta = TT_NEXT_SHORT( p );
offset = TT_NEXT_USHORT( p );
+ /* many Dynalab fonts have empty sub-headers */
+ if ( code_count == 0 )
+ continue;
+
/* check range within 0..255 */
if ( valid->level >= FT_VALIDATE_PARANOID )
{
@@ -342,7 +346,7 @@
if ( ids < glyph_ids || ids + code_count*2 > table + length )
FT_INVALID_OFFSET;
- /* check glyph ids */
+ /* check glyph IDs */
if ( valid->level >= FT_VALIDATE_TIGHT )
{
FT_Byte* limit = p + code_count * 2;
@@ -393,7 +397,7 @@
sub = subs; /* jump to first sub-header */
/* check that the sub-header for this byte is 0, which */
- /* indicates that it's really a valid one-byte value */
+ /* indicates that it is really a valid one-byte value */
/* Otherwise, return 0 */
/* */
p += char_lo * 2;
@@ -601,14 +605,14 @@
/* each segment; can be */
/* zero */
/* */
- /* glyphIds 16+NUM_SEGS*8 USHORT[] array of glyph id */
+ /* glyphIds 16+NUM_SEGS*8 USHORT[] array of glyph ID */
/* ranges */
/* */
/* Character codes are modelled by a series of ordered (increasing) */
/* intervals called segments. Each segment has start and end codes, */
/* provided by the `startCount' and `endCount' arrays. Segments must */
- /* not be overlapping and the last segment should always contain the */
- /* `0xFFFF' endCount. */
+ /* not overlap, and the last segment should always contain the value */
+ /* 0xFFFF for `endCount'. */
/* */
/* The fields `searchRange', `entrySelector' and `rangeShift' are better */
/* ignored (they are traces of over-engineering in the TrueType */
@@ -621,14 +625,14 @@
/* charcode within the segment is obtained by adding the value of */
/* `idDelta' directly to the charcode, modulo 65536. */
/* */
- /* Otherwise, a glyph index is taken from the glyph ids sub-array for */
+ /* Otherwise, a glyph index is taken from the glyph IDs sub-array for */
/* the segment, and the value of `idDelta' is added to it. */
/* */
/* */
- /* Finally, note that certain fonts contain invalid charmaps that */
- /* contain end=0xFFFF, start=0xFFFF, delta=0x0001, offset=0xFFFF at the */
- /* of their charmaps (e.g. opens___.ttf which comes with OpenOffice.org) */
- /* we need special code to deal with them correctly... */
+ /* Finally, note that a lot of fonts contain an invalid last segment, */
+ /* where `start' and `end' are correctly set to 0xFFFF but both `delta' */
+ /* and `offset' are incorrect (e.g., `opens___.ttf' which comes with */
+ /* OpenOffice.org). We need special code to deal with them correctly. */
/* */
#ifdef TT_CONFIG_CMAP_FORMAT_4
@@ -693,6 +697,23 @@
p += num_ranges * 2;
offset = FT_PEEK_USHORT( p );
+ /* some fonts have an incorrect last segment; */
+ /* we have to catch it */
+ if ( range_index >= num_ranges - 1 &&
+ cmap->cur_start == 0xFFFFU &&
+ cmap->cur_end == 0xFFFFU )
+ {
+ TT_Face face = (TT_Face)cmap->cmap.cmap.charmap.face;
+ FT_Byte* limit = face->cmap_table + face->cmap_size;
+
+
+ if ( offset && p + offset + 2 > limit )
+ {
+ cmap->cur_delta = 1;
+ offset = 0;
+ }
+ }
+
if ( offset != 0xFFFFU )
{
cmap->cur_values = offset ? p + offset : NULL;
@@ -831,7 +852,7 @@
/* */
if ( valid->level >= FT_VALIDATE_PARANOID )
{
- /* check the values of 'searchRange', 'entrySelector', 'rangeShift' */
+ /* check the values of `searchRange', `entrySelector', `rangeShift' */
FT_UInt search_range = TT_NEXT_USHORT( p );
FT_UInt entry_selector = TT_NEXT_USHORT( p );
FT_UInt range_shift = TT_NEXT_USHORT( p );
@@ -858,7 +879,7 @@
offsets = deltas + num_segs * 2;
glyph_ids = offsets + num_segs * 2;
- /* check last segment, its end count must be FFFF */
+ /* check last segment; its end count value must be 0xFFFF */
if ( valid->level >= FT_VALIDATE_PARANOID )
{
p = ends + ( num_segs - 1 ) * 2;
@@ -867,9 +888,9 @@
}
{
- FT_UInt start, end, offset, n;
- FT_UInt last_start = 0, last_end = 0;
- FT_Int delta;
+ FT_UInt start, end, offset, n;
+ FT_UInt last_start = 0, last_end = 0;
+ FT_Int delta;
FT_Byte* p_start = starts;
FT_Byte* p_end = ends;
FT_Byte* p_delta = deltas;
@@ -887,10 +908,10 @@
if ( start > end )
FT_INVALID_DATA;
- /* this test should be performed at default validation level; */
- /* unfortunately, some popular Asian fonts present overlapping */
- /* ranges in their charmaps */
- /* */
+ /* this test should be performed at default validation level; */
+ /* unfortunately, some popular Asian fonts have overlapping */
+ /* ranges in their charmaps */
+ /* */
if ( start <= last_end && n > 0 )
{
if ( valid->level >= FT_VALIDATE_TIGHT )
@@ -898,7 +919,7 @@
else
{
/* allow overlapping segments, provided their start points */
- /* and end points, respectively, are in ascending order. */
+ /* and end points, respectively, are in ascending order */
/* */
if ( last_start > start || last_end > end )
error |= TT_CMAP_FLAG_UNSORTED;
@@ -909,16 +930,27 @@
if ( offset && offset != 0xFFFFU )
{
- p += offset; /* start of glyph id array */
+ p += offset; /* start of glyph ID array */
- /* check that we point within the glyph ids table only */
+ /* check that we point within the glyph IDs table only */
if ( valid->level >= FT_VALIDATE_TIGHT )
{
if ( p < glyph_ids ||
p + ( end - start + 1 ) * 2 > table + length )
FT_INVALID_DATA;
}
- else
+ /* Some fonts handle the last segment incorrectly. In */
+ /* theory, 0xFFFF might point to an ordinary glyph -- */
+ /* a cmap 4 is versatile and could be used for any */
+ /* encoding, not only Unicode. However, reality shows */
+ /* that far too many fonts are sloppy and incorrectly */
+ /* set all fields but `start' and `end' for the last */
+ /* segment if it contains only a single character. */
+ /* */
+ /* We thus omit the test here, delaying it to the */
+ /* routines which actually access the cmap. */
+ else if ( n != num_segs - 1 ||
+ !( start == 0xFFFFU && end == 0xFFFFU ) )
{
if ( p < glyph_ids ||
p + ( end - start + 1 ) * 2 > valid->limit )
@@ -946,12 +978,12 @@
}
else if ( offset == 0xFFFFU )
{
- /* Some fonts (erroneously?) use a range offset of 0xFFFF */
+ /* some fonts (erroneously?) use a range offset of 0xFFFF */
/* to mean missing glyph in cmap table */
/* */
- if ( valid->level >= FT_VALIDATE_PARANOID ||
- n != num_segs - 1 ||
- !( start == 0xFFFFU && end == 0xFFFFU && delta == 0x1U ) )
+ if ( valid->level >= FT_VALIDATE_PARANOID ||
+ n != num_segs - 1 ||
+ !( start == 0xFFFFU && end == 0xFFFFU ) )
FT_INVALID_DATA;
}
@@ -965,9 +997,9 @@
static FT_UInt
- tt_cmap4_char_map_linear( TT_CMap cmap,
- FT_UInt* pcharcode,
- FT_Bool next )
+ tt_cmap4_char_map_linear( TT_CMap cmap,
+ FT_UInt32* pcharcode,
+ FT_Bool next )
{
FT_UInt num_segs2, start, end, offset;
FT_Int delta;
@@ -1009,6 +1041,22 @@
p += num_segs2;
offset = TT_PEEK_USHORT( p );
+ /* some fonts have an incorrect last segment; */
+ /* we have to catch it */
+ if ( i >= num_segs - 1 &&
+ start == 0xFFFFU && end == 0xFFFFU )
+ {
+ TT_Face face = (TT_Face)cmap->cmap.charmap.face;
+ FT_Byte* limit = face->cmap_table + face->cmap_size;
+
+
+ if ( offset && p + offset + 2 > limit )
+ {
+ delta = 1;
+ offset = 0;
+ }
+ }
+
if ( offset == 0xFFFFU )
continue;
@@ -1038,9 +1086,9 @@
static FT_UInt
- tt_cmap4_char_map_binary( TT_CMap cmap,
- FT_UInt* pcharcode,
- FT_Bool next )
+ tt_cmap4_char_map_binary( TT_CMap cmap,
+ FT_UInt32* pcharcode,
+ FT_Bool next )
{
FT_UInt num_segs2, start, end, offset;
FT_Int delta;
@@ -1088,6 +1136,22 @@
p += num_segs2;
offset = TT_PEEK_USHORT( p );
+ /* some fonts have an incorrect last segment; */
+ /* we have to catch it */
+ if ( mid >= num_segs - 1 &&
+ start == 0xFFFFU && end == 0xFFFFU )
+ {
+ TT_Face face = (TT_Face)cmap->cmap.charmap.face;
+ FT_Byte* limit = face->cmap_table + face->cmap_size;
+
+
+ if ( offset && p + offset + 2 > limit )
+ {
+ delta = 1;
+ offset = 0;
+ }
+ }
+
/* search the first segment containing `charcode' */
if ( cmap->flags & TT_CMAP_FLAG_OVERLAPPING )
{
@@ -1359,7 +1423,7 @@
/* */
/* first 6 USHORT first segment code */
/* count 8 USHORT segment size in chars */
- /* glyphIds 10 USHORT[count] glyph ids */
+ /* glyphIds 10 USHORT[count] glyph IDs */
/* */
/* A very simplified segment mapping. */
/* */
@@ -1506,7 +1570,7 @@
/***** *****/
/***** FORMAT 8 *****/
/***** *****/
- /***** It's hard to completely understand what the OpenType spec *****/
+ /***** It is hard to completely understand what the OpenType spec *****/
/***** says about this format, but here is my conclusion. *****/
/***** *****/
/***** The purpose of this format is to easily map UTF-16 text to *****/
@@ -1521,7 +1585,7 @@
/***** `char_hi' and `char_lo' must be in the Surrogates Area. *****/
/***** Area. *****/
/***** *****/
- /***** The 'is32' table embedded in the charmap indicates whether a *****/
+ /***** The `is32' table embedded in the charmap indicates whether a *****/
/***** given 16-bit value is in the surrogates area or not. *****/
/***** *****/
/***** So, for any given `char_code', we can assert the following: *****/
@@ -1548,11 +1612,11 @@
/* is32 12 BYTE[8192] 32-bitness bitmap */
/* count 8204 ULONG number of groups */
/* */
- /* This header is followed by 'count' groups of the following format: */
+ /* This header is followed by `count' groups of the following format: */
/* */
/* start 0 ULONG first charcode */
/* end 4 ULONG last charcode */
- /* startId 8 ULONG start glyph id for the group */
+ /* startId 8 ULONG start glyph ID for the group */
/* */
#ifdef TT_CONFIG_CMAP_FORMAT_8
@@ -1934,7 +1998,7 @@
/* */
/* start 0 ULONG first charcode */
/* end 4 ULONG last charcode */
- /* startId 8 ULONG start glyph id for the group */
+ /* startId 8 ULONG start glyph ID for the group */
/* */
#ifdef TT_CONFIG_CMAP_FORMAT_12
@@ -2727,7 +2791,7 @@
FT_UInt tot = 0;
- p += 3; /* point to the first 'cnt' field */
+ p += 3; /* point to the first `cnt' field */
for ( ; numRanges > 0; numRanges-- )
{
tot += 1 + p[0];
@@ -2774,7 +2838,7 @@
}
- static FT_UInt*
+ static FT_UInt32*
tt_cmap14_get_nondef_chars( TT_CMap cmap,
FT_Byte *p,
FT_Memory memory )
@@ -2962,7 +3026,7 @@
(TT_CMap_Info_GetFunc)tt_cmap14_get_info
};
-#endif /* TT_CONFIG_CMAP_FORMAT_0 */
+#endif /* TT_CONFIG_CMAP_FORMAT_14 */
static const TT_CMap_Class tt_cmap_classes[] =
diff --git a/src/3rdparty/freetype/src/sfnt/ttkern.c b/src/3rdparty/freetype/src/sfnt/ttkern.c
index 28e52c3..67d5115 100644
--- a/src/3rdparty/freetype/src/sfnt/ttkern.c
+++ b/src/3rdparty/freetype/src/sfnt/ttkern.c
@@ -5,7 +5,7 @@
/* Load the basic TrueType kerning table. This doesn't handle */
/* kerning data within the GPOS table at the moment. */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -103,6 +103,9 @@
p_next += length;
+ if ( p_next > p_limit ) /* handle broken table */
+ p_next = p_limit;
+
/* only use horizontal kerning tables */
if ( ( coverage & ~8 ) != 0x0001 ||
p + 8 > p_limit )
@@ -111,8 +114,8 @@
num_pairs = FT_NEXT_USHORT( p );
p += 6;
- if ( p + 6 * num_pairs > p_limit )
- goto NextTable;
+ if ( ( p_next - p ) / 6 < (int)num_pairs ) /* handle broken count */
+ num_pairs = (FT_UInt)( ( p_next - p ) / 6 );
avail |= mask;
@@ -181,18 +184,22 @@
FT_Int result = 0;
FT_UInt count, mask = 1;
FT_Byte* p = face->kern_table;
+ FT_Byte* p_limit = p + face->kern_table_size;
p += 4;
mask = 0x0001;
- for ( count = face->num_kern_tables; count > 0; count--, mask <<= 1 )
+ for ( count = face->num_kern_tables;
+ count > 0 && p + 6 <= p_limit;
+ count--, mask <<= 1 )
{
FT_Byte* base = p;
FT_Byte* next = base;
FT_UInt version = FT_NEXT_USHORT( p );
FT_UInt length = FT_NEXT_USHORT( p );
FT_UInt coverage = FT_NEXT_USHORT( p );
+ FT_UInt num_pairs;
FT_Int value = 0;
FT_UNUSED( version );
@@ -200,21 +207,27 @@
next = base + length;
+ if ( next > p_limit ) /* handle broken table */
+ next = p_limit;
+
if ( ( face->kern_avail_bits & mask ) == 0 )
goto NextTable;
if ( p + 8 > next )
goto NextTable;
+ num_pairs = FT_NEXT_USHORT( p );
+ p += 6;
+
+ if ( ( next - p ) / 6 < (int)num_pairs ) /* handle broken count */
+ num_pairs = (FT_UInt)( ( next - p ) / 6 );
+
switch ( coverage >> 8 )
{
case 0:
{
- FT_UInt num_pairs = FT_NEXT_USHORT( p );
- FT_ULong key0 = TT_KERN_INDEX( left_glyph, right_glyph );
-
+ FT_ULong key0 = TT_KERN_INDEX( left_glyph, right_glyph );
- p += 6;
if ( face->kern_order_bits & mask ) /* binary search */
{
diff --git a/src/3rdparty/freetype/src/sfnt/ttload.c b/src/3rdparty/freetype/src/sfnt/ttload.c
index 6b7c342..c45a1ed 100644
--- a/src/3rdparty/freetype/src/sfnt/ttload.c
+++ b/src/3rdparty/freetype/src/sfnt/ttload.c
@@ -58,6 +58,9 @@
{
TT_Table entry;
TT_Table limit;
+#ifdef FT_DEBUG_LEVEL_TRACE
+ FT_Bool zero_length = FALSE;
+#endif
FT_TRACE4(( "tt_face_lookup_table: %08p, `%c%c%c%c' -- ",
@@ -72,17 +75,28 @@
for ( ; entry < limit; entry++ )
{
- /* For compatibility with Windows, we consider 0-length */
- /* tables the same as missing tables. */
- if ( entry->Tag == tag && entry->Length != 0 )
- {
- FT_TRACE4(( "found table.\n" ));
- return entry;
+ /* For compatibility with Windows, we consider */
+ /* zero-length tables the same as missing tables. */
+ if ( entry->Tag == tag ) {
+ if ( entry->Length != 0 )
+ {
+ FT_TRACE4(( "found table.\n" ));
+ return entry;
+ }
+#ifdef FT_DEBUG_LEVEL_TRACE
+ zero_length = TRUE;
+#endif
}
}
- FT_TRACE4(( "could not find table!\n" ));
- return 0;
+#ifdef FT_DEBUG_LEVEL_TRACE
+ if ( zero_length )
+ FT_TRACE4(( "ignoring empty table!\n" ));
+ else
+ FT_TRACE4(( "could not find table!\n" ));
+#endif
+
+ return NULL;
}
@@ -124,7 +138,7 @@
*length = table->Length;
if ( FT_STREAM_SEEK( table->Offset ) )
- goto Exit;
+ goto Exit;
}
else
error = SFNT_Err_Table_Missing;
@@ -134,27 +148,30 @@
}
- /* Here, we */
- /* */
- /* - check that `num_tables' is valid */
- /* - look for a `head' table, check its size, and parse it to check */
- /* whether its `magic' field is correctly set */
- /* */
- /* When checking directory entries, ignore the tables `glyx' and `locx' */
- /* which are hacked-out versions of `glyf' and `loca' in some PostScript */
- /* Type 42 fonts, and which are generally invalid. */
- /* */
+ /* Here, we */
+ /* */
+ /* - check that `num_tables' is valid (and adjust it if necessary) */
+ /* */
+ /* - look for a `head' table, check its size, and parse it to check */
+ /* whether its `magic' field is correctly set */
+ /* */
+ /* - errors (except errors returned by stream handling) */
+ /* */
+ /* SFNT_Err_Unknown_File_Format: */
+ /* no table is defined in directory, it is not sfnt-wrapped */
+ /* data */
+ /* SFNT_Err_Table_Missing: */
+ /* table directory is valid, but essential tables */
+ /* (head/bhed/SING) are missing */
+ /* */
static FT_Error
check_table_dir( SFNT_Header sfnt,
FT_Stream stream )
{
- FT_Error error;
- FT_UInt nn;
- FT_UInt has_head = 0, has_sing = 0, has_meta = 0;
- FT_ULong offset = sfnt->offset + 12;
-
- const FT_ULong glyx_tag = FT_MAKE_TAG( 'g', 'l', 'y', 'x' );
- const FT_ULong locx_tag = FT_MAKE_TAG( 'l', 'o', 'c', 'x' );
+ FT_Error error;
+ FT_UInt nn, valid_entries = 0;
+ FT_UInt has_head = 0, has_sing = 0, has_meta = 0;
+ FT_ULong offset = sfnt->offset + 12;
static const FT_Frame_Field table_dir_entry_fields[] =
{
@@ -170,12 +187,8 @@
};
- if ( sfnt->num_tables == 0 ||
- offset + sfnt->num_tables * 16 > stream->size )
- return SFNT_Err_Unknown_File_Format;
-
if ( FT_STREAM_SEEK( offset ) )
- return error;
+ goto Exit;
for ( nn = 0; nn < sfnt->num_tables; nn++ )
{
@@ -183,12 +196,23 @@
if ( FT_STREAM_READ_FIELDS( table_dir_entry_fields, &table ) )
- return error;
+ {
+ nn--;
+ FT_TRACE2(( "check_table_dir:"
+ " can read only %d table%s in font (instead of %d)\n",
+ nn, nn == 1 ? "" : "s", sfnt->num_tables ));
+ sfnt->num_tables = nn;
+ break;
+ }
- if ( table.Offset + table.Length > stream->size &&
- table.Tag != glyx_tag &&
- table.Tag != locx_tag )
- return SFNT_Err_Unknown_File_Format;
+ /* we ignore invalid tables */
+ if ( table.Offset + table.Length > stream->size )
+ {
+ FT_TRACE2(( "check_table_dir: table entry %d invalid\n", nn ));
+ continue;
+ }
+ else
+ valid_entries++;
if ( table.Tag == TTAG_head || table.Tag == TTAG_bhed )
{
@@ -210,17 +234,26 @@
*
*/
if ( table.Length < 0x36 )
- return SFNT_Err_Unknown_File_Format;
+ {
+ FT_TRACE2(( "check_table_dir: `head' table too small\n" ));
+ error = SFNT_Err_Table_Missing;
+ goto Exit;
+ }
if ( FT_STREAM_SEEK( table.Offset + 12 ) ||
FT_READ_ULONG( magic ) )
- return error;
+ goto Exit;
if ( magic != 0x5F0F3CF5UL )
- return SFNT_Err_Unknown_File_Format;
+ {
+ FT_TRACE2(( "check_table_dir:"
+ " no magic number found in `head' table\n"));
+ error = SFNT_Err_Table_Missing;
+ goto Exit;
+ }
if ( FT_STREAM_SEEK( offset + ( nn + 1 ) * 16 ) )
- return error;
+ goto Exit;
}
else if ( table.Tag == TTAG_SING )
has_sing = 1;
@@ -228,11 +261,34 @@
has_meta = 1;
}
+ sfnt->num_tables = valid_entries;
+
+ if ( sfnt->num_tables == 0 )
+ {
+ FT_TRACE2(( "check_table_dir: no tables found\n" ));
+ error = SFNT_Err_Unknown_File_Format;
+ goto Exit;
+ }
+
/* if `sing' and `meta' tables are present, there is no `head' table */
if ( has_head || ( has_sing && has_meta ) )
- return SFNT_Err_Ok;
+ {
+ error = SFNT_Err_Ok;
+ goto Exit;
+ }
else
- return SFNT_Err_Unknown_File_Format;
+ {
+ FT_TRACE2(( "check_table_dir:" ));
+#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
+ FT_TRACE2(( " neither `head', `bhed', nor `sing' table found\n" ));
+#else
+ FT_TRACE2(( " neither `head' nor `sing' table found\n" ));
+#endif
+ error = SFNT_Err_Table_Missing;
+ }
+
+ Exit:
+ return error;
}
@@ -266,7 +322,7 @@
FT_Error error;
FT_Memory memory = stream->memory;
TT_TableRec* entry;
- TT_TableRec* limit;
+ FT_Int nn;
static const FT_Frame_Field offset_table_fields[] =
{
@@ -290,7 +346,7 @@
if ( FT_READ_ULONG( sfnt.format_tag ) ||
FT_STREAM_READ_FIELDS( offset_table_fields, &sfnt ) )
- return error;
+ goto Exit;
/* many fonts don't have these fields set correctly */
#if 0
@@ -301,51 +357,58 @@
/* load the table directory */
- FT_TRACE2(( "-- Tables count: %12u\n", sfnt.num_tables ));
- FT_TRACE2(( "-- Format version: %08lx\n", sfnt.format_tag ));
+ FT_TRACE2(( "-- Number of tables: %10u\n", sfnt.num_tables ));
+ FT_TRACE2(( "-- Format version: 0x%08lx\n", sfnt.format_tag ));
/* check first */
error = check_table_dir( &sfnt, stream );
if ( error )
{
- FT_TRACE2(( "tt_face_load_font_dir: invalid table directory!\n" ));
+ FT_TRACE2(( "tt_face_load_font_dir: invalid table directory for TrueType!\n" ));
- return error;
+ goto Exit;
}
face->num_tables = sfnt.num_tables;
face->format_tag = sfnt.format_tag;
if ( FT_QNEW_ARRAY( face->dir_tables, face->num_tables ) )
- return error;
+ goto Exit;
if ( FT_STREAM_SEEK( sfnt.offset + 12 ) ||
FT_FRAME_ENTER( face->num_tables * 16L ) )
- return error;
+ goto Exit;
entry = face->dir_tables;
- limit = entry + face->num_tables;
- for ( ; entry < limit; entry++ )
+ for ( nn = 0; nn < sfnt.num_tables; nn++ )
{
entry->Tag = FT_GET_TAG4();
entry->CheckSum = FT_GET_ULONG();
entry->Offset = FT_GET_LONG();
entry->Length = FT_GET_LONG();
- FT_TRACE2(( " %c%c%c%c - %08lx - %08lx\n",
- (FT_Char)( entry->Tag >> 24 ),
- (FT_Char)( entry->Tag >> 16 ),
- (FT_Char)( entry->Tag >> 8 ),
- (FT_Char)( entry->Tag ),
- entry->Offset,
- entry->Length ));
+ /* ignore invalid tables */
+ if ( entry->Offset + entry->Length > stream->size )
+ continue;
+ else
+ {
+ FT_TRACE2(( " %c%c%c%c - %08lx - %08lx\n",
+ (FT_Char)( entry->Tag >> 24 ),
+ (FT_Char)( entry->Tag >> 16 ),
+ (FT_Char)( entry->Tag >> 8 ),
+ (FT_Char)( entry->Tag ),
+ entry->Offset,
+ entry->Length ));
+ entry++;
+ }
}
FT_FRAME_EXIT();
FT_TRACE2(( "table directory loaded\n\n" ));
+ Exit:
return error;
}
diff --git a/src/3rdparty/freetype/src/sfnt/ttmtx.c b/src/3rdparty/freetype/src/sfnt/ttmtx.c
index 55f681a..2a7d22c 100644
--- a/src/3rdparty/freetype/src/sfnt/ttmtx.c
+++ b/src/3rdparty/freetype/src/sfnt/ttmtx.c
@@ -4,7 +4,7 @@
/* */
/* Load the metrics tables common to TTF and OTF fonts (body). */
/* */
-/* Copyright 2006, 2007 by */
+/* Copyright 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -60,7 +60,7 @@
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
-#if !defined FT_CONFIG_OPTION_OLD_INTERNALS
+#ifndef FT_CONFIG_OPTION_OLD_INTERNALS
FT_LOCAL_DEF( FT_Error )
tt_face_load_hmtx( TT_Face face,
@@ -97,7 +97,7 @@
return error;
}
-#else /* !OPTIMIZE_MEMORY || OLD_INTERNALS */
+#else /* !FT_CONFIG_OPTION_OLD_INTERNALS */
FT_LOCAL_DEF( FT_Error )
tt_face_load_hmtx( TT_Face face,
@@ -229,7 +229,7 @@
return error;
}
-#endif /* !OPTIMIZE_MEMORY || OLD_INTERNALS */
+#endif /* !FT_CONFIG_OPTION_OLD_INTERNALS */
/*************************************************************************/
@@ -341,7 +341,7 @@
/* */
/* advance :: The advance width resp. advance height. */
/* */
-#if !defined FT_CONFIG_OPTION_OLD_INTERNALS
+#ifndef FT_CONFIG_OPTION_OLD_INTERNALS
FT_LOCAL_DEF( FT_Error )
tt_face_get_metrics( TT_Face face,
@@ -420,7 +420,7 @@
return SFNT_Err_Ok;
}
-#else /* OLD_INTERNALS */
+#else /* !FT_CONFIG_OPTION_OLD_INTERNALS */
FT_LOCAL_DEF( FT_Error )
tt_face_get_metrics( TT_Face face,
@@ -460,7 +460,7 @@
return SFNT_Err_Ok;
}
-#endif /* !OPTIMIZE_MEMORY || OLD_INTERNALS */
+#endif /* !FT_CONFIG_OPTION_OLD_INTERNALS */
/* END */
diff --git a/src/3rdparty/freetype/src/sfnt/ttpost.c b/src/3rdparty/freetype/src/sfnt/ttpost.c
index 1e61636..ce628e2 100644
--- a/src/3rdparty/freetype/src/sfnt/ttpost.c
+++ b/src/3rdparty/freetype/src/sfnt/ttpost.c
@@ -5,7 +5,7 @@
/* Postcript name table processing for TrueType and OpenType fonts */
/* (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -62,11 +62,11 @@
/* table of Mac names. Thus, it is possible to build a version of */
/* FreeType without the Type 1 driver & PSNames module. */
-#define MAC_NAME( x ) tt_post_default_names[x]
+#define MAC_NAME( x ) ( (FT_String*)tt_post_default_names[x] )
/* the 258 default Mac PS glyph names */
- static const FT_String* tt_post_default_names[258] =
+ static const FT_String* const tt_post_default_names[258] =
{
/* 0 */
".notdef", ".null", "CR", "space", "exclam",
@@ -416,13 +416,14 @@
/* tt_face_get_ps_name */
/* */
/* <Description> */
- /* Gets the PostScript glyph name of a glyph. */
+ /* Get the PostScript glyph name of a glyph. */
/* */
/* <Input> */
/* face :: A handle to the parent face. */
/* */
/* idx :: The glyph index. */
/* */
+ /* <InOut> */
/* PSname :: The address of a string pointer. Will be NULL in case */
/* of error, otherwise it is a pointer to the glyph name. */
/* */
@@ -436,9 +437,9 @@
FT_UInt idx,
FT_String** PSname )
{
- FT_Error error;
- TT_Post_Names names;
- FT_Fixed format;
+ FT_Error error;
+ TT_Post_Names names;
+ FT_Fixed format;
#ifdef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
FT_Service_PsCMaps psnames;
diff --git a/src/3rdparty/freetype/src/sfnt/ttsbit.c b/src/3rdparty/freetype/src/sfnt/ttsbit.c
index 8261ba5..eadaade 100644
--- a/src/3rdparty/freetype/src/sfnt/ttsbit.c
+++ b/src/3rdparty/freetype/src/sfnt/ttsbit.c
@@ -4,7 +4,7 @@
/* */
/* TrueType and OpenType embedded bitmap support (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -24,11 +24,11 @@
* Alas, the memory-optimized sbit loader can't be used when implementing
* the `old internals' hack
*/
-#if !defined FT_CONFIG_OPTION_OLD_INTERNALS
+#ifndef FT_CONFIG_OPTION_OLD_INTERNALS
#include "ttsbit0.c"
-#else /* !FT_CONFIG_OPTION_OLD_INTERNALS */
+#else /* FT_CONFIG_OPTION_OLD_INTERNALS */
#include <ft2build.h>
#include FT_INTERNAL_DEBUG_H
@@ -83,7 +83,8 @@
FT_Int line_bits,
FT_Bool byte_padded,
FT_Int x_offset,
- FT_Int y_offset )
+ FT_Int y_offset,
+ FT_Int source_height )
{
FT_Byte* line_buff;
FT_Int line_incr;
@@ -116,7 +117,7 @@
acc = 0; /* clear accumulator */
loaded = 0; /* no bits were loaded */
- for ( height = target->rows; height > 0; height-- )
+ for ( height = source_height; height > 0; height-- )
{
FT_Byte* cur = line_buff; /* current write cursor */
FT_Int count = line_bits; /* # of bits to extract per line */
@@ -772,7 +773,7 @@
Found:
/* return successfully! */
*arange = range;
- return 0;
+ return SFNT_Err_Ok;
}
}
@@ -1230,7 +1231,7 @@
/* the sbit blitter doesn't make a difference between pixmap */
/* depths. */
blit_sbit( map, (FT_Byte*)stream->cursor, line_bits, pad_bytes,
- x_offset * pix_bits, y_offset );
+ x_offset * pix_bits, y_offset, metrics->height );
FT_FRAME_EXIT();
}
@@ -1324,7 +1325,11 @@
range->image_format, metrics, stream );
case 8: /* compound format */
- FT_Stream_Skip( stream, 1L );
+ if ( FT_STREAM_SKIP( 1L ) )
+ {
+ error = SFNT_Err_Invalid_Stream_Skip;
+ goto Exit;
+ }
/* fallthrough */
case 9:
@@ -1496,7 +1501,7 @@
return error;
}
-#endif /* !FT_CONFIG_OPTION_OLD_INTERNALS */
+#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
/* END */
diff --git a/src/3rdparty/freetype/src/sfnt/ttsbit.h b/src/3rdparty/freetype/src/sfnt/ttsbit.h
index c6067c0..7ea2af1 100644
--- a/src/3rdparty/freetype/src/sfnt/ttsbit.h
+++ b/src/3rdparty/freetype/src/sfnt/ttsbit.h
@@ -4,7 +4,7 @@
/* */
/* TrueType and OpenType embedded bitmap support (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -45,7 +45,7 @@ FT_BEGIN_HEADER
FT_ULong strike_index,
FT_Size_Metrics* metrics );
-#if defined FT_CONFIG_OPTION_OLD_INTERNALS
+#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
FT_LOCAL( FT_Error )
tt_find_sbit_image( TT_Face face,
FT_UInt glyph_index,
diff --git a/src/3rdparty/freetype/src/sfnt/ttsbit0.c b/src/3rdparty/freetype/src/sfnt/ttsbit0.c
index 37c7a9b..3ebcbbd 100644
--- a/src/3rdparty/freetype/src/sfnt/ttsbit0.c
+++ b/src/3rdparty/freetype/src/sfnt/ttsbit0.c
@@ -5,7 +5,7 @@
/* TrueType and OpenType embedded bitmap support (body). */
/* This is a heap-optimized version. */
/* */
-/* Copyright 2005, 2006, 2007, 2008 by */
+/* Copyright 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -39,65 +39,16 @@
#define FT_COMPONENT trace_ttsbit
- static const FT_Frame_Field tt_sbit_line_metrics_fields[] =
- {
-#undef FT_STRUCTURE
-#define FT_STRUCTURE TT_SBit_LineMetricsRec
-
- /* no FT_FRAME_START */
- FT_FRAME_CHAR( ascender ),
- FT_FRAME_CHAR( descender ),
- FT_FRAME_BYTE( max_width ),
-
- FT_FRAME_CHAR( caret_slope_numerator ),
- FT_FRAME_CHAR( caret_slope_denominator ),
- FT_FRAME_CHAR( caret_offset ),
-
- FT_FRAME_CHAR( min_origin_SB ),
- FT_FRAME_CHAR( min_advance_SB ),
- FT_FRAME_CHAR( max_before_BL ),
- FT_FRAME_CHAR( min_after_BL ),
- FT_FRAME_CHAR( pads[0] ),
- FT_FRAME_CHAR( pads[1] ),
- FT_FRAME_END
- };
-
- static const FT_Frame_Field tt_strike_start_fields[] =
- {
-#undef FT_STRUCTURE
-#define FT_STRUCTURE TT_SBit_StrikeRec
-
- /* no FT_FRAME_START */
- FT_FRAME_ULONG( ranges_offset ),
- FT_FRAME_SKIP_LONG,
- FT_FRAME_ULONG( num_ranges ),
- FT_FRAME_ULONG( color_ref ),
- FT_FRAME_END
- };
-
- static const FT_Frame_Field tt_strike_end_fields[] =
- {
- /* no FT_FRAME_START */
- FT_FRAME_USHORT( start_glyph ),
- FT_FRAME_USHORT( end_glyph ),
- FT_FRAME_BYTE ( x_ppem ),
- FT_FRAME_BYTE ( y_ppem ),
- FT_FRAME_BYTE ( bit_depth ),
- FT_FRAME_CHAR ( flags ),
- FT_FRAME_END
- };
-
-
FT_LOCAL_DEF( FT_Error )
tt_face_load_eblc( TT_Face face,
FT_Stream stream )
{
- FT_Error error = SFNT_Err_Ok;
- FT_Fixed version;
- FT_ULong num_strikes, table_size;
- FT_Byte* p;
- FT_Byte* p_limit;
- FT_UInt count;
+ FT_Error error = SFNT_Err_Ok;
+ FT_Fixed version;
+ FT_ULong num_strikes, table_size;
+ FT_Byte* p;
+ FT_Byte* p_limit;
+ FT_UInt count;
face->sbit_num_strikes = 0;
@@ -111,7 +62,7 @@
if ( table_size < 8 )
{
- FT_ERROR(( "%s: table too short!\n", "tt_face_load_sbit_strikes" ));
+ FT_ERROR(( "tt_face_load_sbit_strikes: table too short!\n" ));
error = SFNT_Err_Invalid_File_Format;
goto Exit;
}
@@ -129,8 +80,7 @@
if ( version != 0x00020000UL || num_strikes >= 0x10000UL )
{
- FT_ERROR(( "%s: invalid table version!\n",
- "tt_face_load_sbit_strikes" ));
+ FT_ERROR(( "tt_face_load_sbit_strikes: invalid table version!\n" ));
error = SFNT_Err_Invalid_File_Format;
goto Fail;
}
@@ -182,7 +132,7 @@
FT_ULong strike_index,
FT_Size_Metrics* metrics )
{
- FT_Byte* strike;
+ FT_Byte* strike;
if ( strike_index >= (FT_ULong)face->sbit_num_strikes )
@@ -374,14 +324,11 @@
if ( p + 5 > limit )
goto Fail;
- if ( !decoder->metrics_loaded )
- {
- metrics->height = p[0];
- metrics->width = p[1];
- metrics->horiBearingX = (FT_Char)p[2];
- metrics->horiBearingY = (FT_Char)p[3];
- metrics->horiAdvance = p[4];
- }
+ metrics->height = p[0];
+ metrics->width = p[1];
+ metrics->horiBearingX = (FT_Char)p[2];
+ metrics->horiBearingY = (FT_Char)p[3];
+ metrics->horiAdvance = p[4];
p += 5;
if ( big )
@@ -389,19 +336,16 @@
if ( p + 3 > limit )
goto Fail;
- if ( !decoder->metrics_loaded )
- {
- metrics->vertBearingX = (FT_Char)p[0];
- metrics->vertBearingY = (FT_Char)p[1];
- metrics->vertAdvance = p[2];
- }
+ metrics->vertBearingX = (FT_Char)p[0];
+ metrics->vertBearingY = (FT_Char)p[1];
+ metrics->vertAdvance = p[2];
p += 3;
}
decoder->metrics_loaded = 1;
*pp = p;
- return 0;
+ return SFNT_Err_Ok;
Fail:
return SFNT_Err_Invalid_Argument;
@@ -507,7 +451,7 @@
if ( w > 0 )
wval = (FT_UInt)( wval | ( *p++ & ( 0xFF00U >> w ) ) );
- /* all bits read and there are ( x_pos + w ) bits to be written */
+ /* all bits read and there are `x_pos + w' bits to be written */
write[0] = (FT_Byte)( write[0] | ( wval >> x_pos ) );
@@ -587,7 +531,12 @@
{
w = ( width < 8 - x_pos ) ? width : 8 - x_pos;
- if ( nbits < w )
+ if ( h == height )
+ {
+ rval |= *p++;
+ nbits += x_pos;
+ }
+ else if ( nbits < w )
{
rval |= *p++;
nbits += 8 - w;
@@ -598,7 +547,8 @@
nbits -= w;
}
- *write++ |= ( ( rval >> nbits ) & 0xFF ) & ~( 0xFF << w );
+ *write++ |= ( ( rval >> nbits ) & 0xFF ) &
+ ( ~( 0xFF << w ) << ( 8 - w - x_pos ) );
rval <<= 8;
w = width - w;
@@ -645,6 +595,13 @@
FT_Error error = SFNT_Err_Ok;
FT_UInt num_components, nn;
+ FT_Char horiBearingX = decoder->metrics->horiBearingX;
+ FT_Char horiBearingY = decoder->metrics->horiBearingY;
+ FT_Byte horiAdvance = decoder->metrics->horiAdvance;
+ FT_Char vertBearingX = decoder->metrics->vertBearingX;
+ FT_Char vertBearingY = decoder->metrics->vertBearingY;
+ FT_Byte vertAdvance = decoder->metrics->vertAdvance;
+
if ( p + 2 > limit )
goto Fail;
@@ -653,6 +610,13 @@
if ( p + 4 * num_components > limit )
goto Fail;
+ if ( !decoder->bitmap_allocated )
+ {
+ error = tt_sbit_decoder_alloc_bitmap( decoder );
+ if ( error )
+ goto Exit;
+ }
+
for ( nn = 0; nn < num_components; nn++ )
{
FT_UInt gindex = FT_NEXT_USHORT( p );
@@ -667,6 +631,15 @@
break;
}
+ decoder->metrics->horiBearingX = horiBearingX;
+ decoder->metrics->horiBearingY = horiBearingY;
+ decoder->metrics->horiAdvance = horiAdvance;
+ decoder->metrics->vertBearingX = vertBearingX;
+ decoder->metrics->vertBearingY = vertBearingY;
+ decoder->metrics->vertAdvance = vertAdvance;
+ decoder->metrics->width = (FT_UInt)decoder->bitmap->width;
+ decoder->metrics->height = (FT_UInt)decoder->bitmap->rows;
+
Exit:
return error;
diff --git a/src/3rdparty/freetype/src/smooth/ftgrays.c b/src/3rdparty/freetype/src/smooth/ftgrays.c
index add1dd2..10fa2ae 100644
--- a/src/3rdparty/freetype/src/smooth/ftgrays.c
+++ b/src/3rdparty/freetype/src/smooth/ftgrays.c
@@ -4,7 +4,7 @@
/* */
/* A new `perfect' anti-aliasing renderer (body). */
/* */
-/* Copyright 2000-2001, 2002, 2003, 2005, 2006, 2007 by */
+/* Copyright 2000-2001, 2002, 2003, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -91,11 +91,19 @@
#define FT_COMPONENT trace_smooth
+#ifdef _STANDALONE_
-#ifdef _STANDALONE_
+ /* define this to dump debugging information */
+/* #define FT_DEBUG_LEVEL_TRACE */
+
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+#include <stdio.h>
+#include <stdarg.h>
+#endif
-#include <string.h> /* for ft_memcpy() */
+#include <string.h>
#include <setjmp.h>
#include <limits.h>
#define FT_UINT_MAX UINT_MAX
@@ -118,24 +126,53 @@
#include "ftimage.h"
#include "ftgrays.h"
+
/* This macro is used to indicate that a function parameter is unused. */
/* Its purpose is simply to reduce compiler warnings. Note also that */
/* simply defining it as `(void)x' doesn't avoid warnings with certain */
/* ANSI compilers (e.g. LCC). */
#define FT_UNUSED( x ) (x) = (x)
- /* Disable the tracing mechanism for simplicity -- developers can */
- /* activate it easily by redefining these two macros. */
+
+ /* we only use level 5 & 7 tracing messages; cf. ftdebug.h */
+
+#ifdef FT_DEBUG_LEVEL_TRACE
+
+ void
+ FT_Message( const char* fmt,
+ ... )
+ {
+ va_list ap;
+
+
+ va_start( ap, fmt );
+ vfprintf( stderr, fmt, ap );
+ va_end( ap );
+ }
+
+ /* we don't handle tracing levels in stand-alone mode; */
+#ifndef FT_TRACE5
+#define FT_TRACE5( varformat ) FT_Message varformat
+#endif
+#ifndef FT_TRACE7
+#define FT_TRACE7( varformat ) FT_Message varformat
+#endif
#ifndef FT_ERROR
-#define FT_ERROR( x ) do ; while ( 0 ) /* nothing */
+#define FT_ERROR( varformat ) FT_Message varformat
#endif
-#ifndef FT_TRACE
-#define FT_TRACE( x ) do ; while ( 0 ) /* nothing */
-#endif
+#else /* !FT_DEBUG_LEVEL_TRACE */
+
+#define FT_TRACE5( x ) do { } while ( 0 ) /* nothing */
+#define FT_TRACE7( x ) do { } while ( 0 ) /* nothing */
+#define FT_ERROR( x ) do { } while ( 0 ) /* nothing */
+
+#endif /* !FT_DEBUG_LEVEL_TRACE */
+
#else /* !_STANDALONE_ */
+
#include <ft2build.h>
#include "ftgrays.h"
#include FT_INTERNAL_OBJECTS_H
@@ -147,7 +184,7 @@
#define ErrRaster_Invalid_Mode Smooth_Err_Cannot_Render_Glyph
#define ErrRaster_Invalid_Outline Smooth_Err_Invalid_Outline
#define ErrRaster_Memory_Overflow Smooth_Err_Out_Of_Memory
-#define ErrRaster_Invalid_Argument Smooth_Err_Bad_Argument
+#define ErrRaster_Invalid_Argument Smooth_Err_Invalid_Argument
#endif /* !_STANDALONE_ */
@@ -160,10 +197,6 @@
#define FT_MEM_ZERO( dest, count ) FT_MEM_SET( dest, 0, count )
#endif
- /* define this to dump debugging information */
-#define xxxDEBUG_GRAYS
-
-
/* as usual, for the speed hungry :-) */
#ifndef FT_STATIC_RASTER
@@ -398,8 +431,8 @@
int x = ras.ex;
- if ( x > ras.max_ex )
- x = ras.max_ex;
+ if ( x > ras.count_ex )
+ x = ras.count_ex;
pcell = &ras.ycells[ras.ey];
for (;;)
@@ -1207,7 +1240,7 @@
x += (TCoord)ras.min_ex;
/* FT_Span.x is a 16-bit short, so limit our coordinates appropriately */
- if ( x >= 32768 )
+ if ( x >= 32767 )
x = 32767;
if ( coverage )
@@ -1229,24 +1262,23 @@
if ( ras.render_span && count > 0 )
ras.render_span( ras.span_y, count, ras.gray_spans,
ras.render_span_data );
- /* ras.render_span( span->y, ras.gray_spans, count ); */
-#ifdef DEBUG_GRAYS
+#ifdef FT_DEBUG_LEVEL_TRACE
- if ( ras.span_y >= 0 )
+ if ( count > 0 )
{
int n;
- fprintf( stderr, "y=%3d ", ras.span_y );
+ FT_TRACE7(( "y = %3d ", ras.span_y ));
span = ras.gray_spans;
for ( n = 0; n < count; n++, span++ )
- fprintf( stderr, "[%d..%d]:%02x ",
- span->x, span->x + span->len - 1, span->coverage );
- fprintf( stderr, "\n" );
+ FT_TRACE7(( "[%d..%d]:%02x ",
+ span->x, span->x + span->len - 1, span->coverage ));
+ FT_TRACE7(( "\n" ));
}
-#endif /* DEBUG_GRAYS */
+#endif /* FT_DEBUG_LEVEL_TRACE */
ras.num_gray_spans = 0;
ras.span_y = y;
@@ -1267,9 +1299,11 @@
}
-#ifdef DEBUG_GRAYS
+#ifdef FT_DEBUG_LEVEL_TRACE
- /* to be called while in the debugger */
+ /* to be called while in the debugger -- */
+ /* this function causes a compiler warning since it is unused otherwise */
+ static void
gray_dump_cells( RAS_ARG )
{
int yindex;
@@ -1288,7 +1322,7 @@
}
}
-#endif /* DEBUG_GRAYS */
+#endif /* FT_DEBUG_LEVEL_TRACE */
static void
@@ -1304,6 +1338,8 @@
ras.num_gray_spans = 0;
+ FT_TRACE7(( "gray_sweep: start\n" ));
+
for ( yindex = 0; yindex < ras.ycount; yindex++ )
{
PCell cell = ras.ycells[yindex];
@@ -1337,6 +1373,8 @@
if ( ras.render_span && ras.num_gray_spans > 0 )
ras.render_span( ras.span_y, ras.num_gray_spans,
ras.gray_spans, ras.render_span_data );
+
+ FT_TRACE7(( "gray_sweep: end\n" ));
}
@@ -1344,7 +1382,7 @@
/*************************************************************************/
/* */
- /* The following function should only compile in stand_alone mode, */
+ /* The following function should only compile in stand-alone mode, */
/* i.e., when building this component without the rest of FreeType. */
/* */
/*************************************************************************/
@@ -1355,18 +1393,19 @@
/* FT_Outline_Decompose */
/* */
/* <Description> */
- /* Walks over an outline's structure to decompose it into individual */
- /* segments and Bezier arcs. This function is also able to emit */
+ /* Walk over an outline's structure to decompose it into individual */
+ /* segments and Bézier arcs. This function is also able to emit */
/* `move to' and `close to' operations to indicate the start and end */
/* of new contours in the outline. */
/* */
/* <Input> */
/* outline :: A pointer to the source target. */
/* */
- /* func_interface :: A table of `emitters', i.e,. function pointers */
+ /* func_interface :: A table of `emitters', i.e., function pointers */
/* called during decomposition to indicate path */
/* operations. */
/* */
+ /* <InOut> */
/* user :: A typeless pointer which is passed to each */
/* emitter during the decomposition. It can be */
/* used to store the state during the */
@@ -1375,17 +1414,13 @@
/* <Return> */
/* Error code. 0 means success. */
/* */
- static
- int FT_Outline_Decompose( const FT_Outline* outline,
- const FT_Outline_Funcs* func_interface,
- void* user )
+ static int
+ FT_Outline_Decompose( const FT_Outline* outline,
+ const FT_Outline_Funcs* func_interface,
+ void* user )
{
#undef SCALED
-#if 0
#define SCALED( x ) ( ( (x) << shift ) - delta )
-#else
-#define SCALED( x ) (x)
-#endif
FT_Vector v_last;
FT_Vector v_control;
@@ -1395,17 +1430,21 @@
FT_Vector* limit;
char* tags;
+ int error;
+
int n; /* index of contour in outline */
int first; /* index of first point in contour */
- int error;
char tag; /* current point's state */
-#if 0
- int shift = func_interface->shift;
- TPos delta = func_interface->delta;
-#endif
+ int shift;
+ TPos delta;
+ if ( !outline || !func_interface )
+ return ErrRaster_Invalid_Argument;
+
+ shift = func_interface->shift;
+ delta = func_interface->delta;
first = 0;
for ( n = 0; n < outline->n_contours; n++ )
@@ -1413,22 +1452,25 @@
int last; /* index of last point in contour */
+ FT_TRACE5(( "FT_Outline_Decompose: Outline %d\n", n ));
+
last = outline->contours[n];
+ if ( last < 0 )
+ goto Invalid_Outline;
limit = outline->points + last;
- v_start = outline->points[first];
- v_last = outline->points[last];
-
+ v_start = outline->points[first];
v_start.x = SCALED( v_start.x );
v_start.y = SCALED( v_start.y );
- v_last.x = SCALED( v_last.x );
- v_last.y = SCALED( v_last.y );
+ v_last = outline->points[last];
+ v_last.x = SCALED( v_last.x );
+ v_last.y = SCALED( v_last.y );
v_control = v_start;
point = outline->points + first;
- tags = outline->tags + first;
+ tags = outline->tags + first;
tag = FT_CURVE_TAG( tags[0] );
/* A contour cannot start with a cubic control point! */
@@ -1459,6 +1501,8 @@
tags--;
}
+ FT_TRACE5(( " move to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
error = func_interface->move_to( &v_start, user );
if ( error )
goto Exit;
@@ -1479,6 +1523,8 @@
vec.x = SCALED( point->x );
vec.y = SCALED( point->y );
+ FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0 ));
error = func_interface->line_to( &vec, user );
if ( error )
goto Exit;
@@ -1486,53 +1532,60 @@
}
case FT_CURVE_TAG_CONIC: /* consume conic arcs */
- {
- v_control.x = SCALED( point->x );
- v_control.y = SCALED( point->y );
-
- Do_Conic:
- if ( point < limit )
- {
- FT_Vector vec;
- FT_Vector v_middle;
+ v_control.x = SCALED( point->x );
+ v_control.y = SCALED( point->y );
+ Do_Conic:
+ if ( point < limit )
+ {
+ FT_Vector vec;
+ FT_Vector v_middle;
- point++;
- tags++;
- tag = FT_CURVE_TAG( tags[0] );
-
- vec.x = SCALED( point->x );
- vec.y = SCALED( point->y );
-
- if ( tag == FT_CURVE_TAG_ON )
- {
- error = func_interface->conic_to( &v_control, &vec,
- user );
- if ( error )
- goto Exit;
- continue;
- }
- if ( tag != FT_CURVE_TAG_CONIC )
- goto Invalid_Outline;
+ point++;
+ tags++;
+ tag = FT_CURVE_TAG( tags[0] );
- v_middle.x = ( v_control.x + vec.x ) / 2;
- v_middle.y = ( v_control.y + vec.y ) / 2;
+ vec.x = SCALED( point->x );
+ vec.y = SCALED( point->y );
- error = func_interface->conic_to( &v_control, &v_middle,
- user );
+ if ( tag == FT_CURVE_TAG_ON )
+ {
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+ error = func_interface->conic_to( &v_control, &vec, user );
if ( error )
goto Exit;
-
- v_control = vec;
- goto Do_Conic;
+ continue;
}
- error = func_interface->conic_to( &v_control, &v_start,
- user );
- goto Close;
+ if ( tag != FT_CURVE_TAG_CONIC )
+ goto Invalid_Outline;
+
+ v_middle.x = ( v_control.x + vec.x ) / 2;
+ v_middle.y = ( v_control.y + vec.y ) / 2;
+
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ v_middle.x / 64.0, v_middle.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+ error = func_interface->conic_to( &v_control, &v_middle, user );
+ if ( error )
+ goto Exit;
+
+ v_control = vec;
+ goto Do_Conic;
}
+ FT_TRACE5(( " conic to (%.2f, %.2f)"
+ " with control (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0,
+ v_control.x / 64.0, v_control.y / 64.0 ));
+ error = func_interface->conic_to( &v_control, &v_start, user );
+ goto Close;
+
default: /* FT_CURVE_TAG_CUBIC */
{
FT_Vector vec1, vec2;
@@ -1559,12 +1612,22 @@
vec.x = SCALED( point->x );
vec.y = SCALED( point->y );
+ FT_TRACE5(( " cubic to (%.2f, %.2f)"
+ " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
+ vec.x / 64.0, vec.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
error = func_interface->cubic_to( &vec1, &vec2, &vec, user );
if ( error )
goto Exit;
continue;
}
+ FT_TRACE5(( " cubic to (%.2f, %.2f)"
+ " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0,
+ vec1.x / 64.0, vec1.y / 64.0,
+ vec2.x / 64.0, vec2.y / 64.0 ));
error = func_interface->cubic_to( &vec1, &vec2, &v_start, user );
goto Close;
}
@@ -1572,6 +1635,8 @@
}
/* close the contour with a line segment */
+ FT_TRACE5(( " line to (%.2f, %.2f)\n",
+ v_start.x / 64.0, v_start.y / 64.0 ));
error = func_interface->line_to( &v_start, user );
Close:
@@ -1581,9 +1646,11 @@
first = last + 1;
}
+ FT_TRACE5(( "FT_Outline_Decompose: Done\n", n ));
return 0;
Exit:
+ FT_TRACE5(( "FT_Outline_Decompose: Error %d\n", error ));
return error;
Invalid_Outline:
@@ -1616,15 +1683,14 @@
volatile int error = 0;
+
if ( ft_setjmp( ras.jump_buffer ) == 0 )
{
error = FT_Outline_Decompose( &ras.outline, &func_interface, &ras );
gray_record_cell( RAS_VAR );
}
else
- {
error = ErrRaster_Memory_Overflow;
- }
return error;
}
@@ -1666,7 +1732,7 @@
ras.cubic_level = 16;
{
- int level = 0;
+ int level = 0;
if ( ras.count_ex > 24 || ras.count_ey > 24 )
@@ -1678,10 +1744,12 @@
ras.cubic_level <<= level;
}
- /* setup vertical bands */
+ /* set up vertical bands */
num_bands = (int)( ( ras.max_ey - ras.min_ey ) / ras.band_size );
- if ( num_bands == 0 ) num_bands = 1;
- if ( num_bands >= 39 ) num_bands = 39;
+ if ( num_bands == 0 )
+ num_bands = 1;
+ if ( num_bands >= 39 )
+ num_bands = 39;
ras.band_shoot = 0;
@@ -1760,8 +1828,8 @@
/* be some problems. */
if ( middle == bottom )
{
-#ifdef DEBUG_GRAYS
- fprintf( stderr, "Rotten glyph!\n" );
+#ifdef FT_DEBUG_LEVEL_TRACE
+ FT_TRACE7(( "gray_convert_glyph: Rotten glyph!\n" ));
#endif
return 1;
}
@@ -1813,7 +1881,7 @@
worker = raster->worker;
/* if direct mode is not set, we must have a target bitmap */
- if ( ( params->flags & FT_RASTER_FLAG_DIRECT ) == 0 )
+ if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )
{
if ( !target_map )
return ErrRaster_Invalid_Argument;
@@ -1831,7 +1899,7 @@
return ErrRaster_Invalid_Mode;
/* compute clipping box */
- if ( ( params->flags & FT_RASTER_FLAG_DIRECT ) == 0 )
+ if ( !( params->flags & FT_RASTER_FLAG_DIRECT ) )
{
/* compute clip box from target pixmap */
ras.clip_box.xMin = 0;
@@ -1840,9 +1908,7 @@
ras.clip_box.yMax = target_map->rows;
}
else if ( params->flags & FT_RASTER_FLAG_CLIP )
- {
ras.clip_box = params->clip_box;
- }
else
{
ras.clip_box.xMin = -32768L;
@@ -1859,24 +1925,24 @@
ras.band_size = raster->band_size;
ras.num_gray_spans = 0;
- if ( target_map )
- ras.target = *target_map;
-
- ras.render_span = (FT_Raster_Span_Func)gray_render_span;
- ras.render_span_data = &ras;
-
if ( params->flags & FT_RASTER_FLAG_DIRECT )
{
ras.render_span = (FT_Raster_Span_Func)params->gray_spans;
ras.render_span_data = params->user;
}
+ else
+ {
+ ras.target = *target_map;
+ ras.render_span = (FT_Raster_Span_Func)gray_render_span;
+ ras.render_span_data = &ras;
+ }
return gray_convert_glyph( worker );
}
- /**** RASTER OBJECT CREATION: In standalone mode, we simply use *****/
- /**** a static object. *****/
+ /**** RASTER OBJECT CREATION: In stand-alone mode, we simply use *****/
+ /**** a static object. *****/
#ifdef _STANDALONE_
@@ -1984,3 +2050,8 @@
/* END */
+
+
+/* Local Variables: */
+/* coding: utf-8 */
+/* End: */
diff --git a/src/3rdparty/freetype/src/smooth/ftsmooth.c b/src/3rdparty/freetype/src/smooth/ftsmooth.c
index 85d04eb..a6db504 100644
--- a/src/3rdparty/freetype/src/smooth/ftsmooth.c
+++ b/src/3rdparty/freetype/src/smooth/ftsmooth.c
@@ -4,7 +4,7 @@
/* */
/* Anti-aliasing renderer interface (body). */
/* */
-/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -294,13 +294,13 @@
for ( hh = height_org; hh > 0; hh-- )
{
- memcpy( write, read, pitch );
+ ft_memcpy( write, read, pitch );
write += pitch;
- memcpy( write, read, pitch );
+ ft_memcpy( write, read, pitch );
write += pitch;
- memcpy( write, read, pitch );
+ ft_memcpy( write, read, pitch );
write += pitch;
read += pitch;
}
diff --git a/src/3rdparty/freetype/src/smooth/module.mk b/src/3rdparty/freetype/src/smooth/module.mk
index 05ad4ba..47f6c04 100644
--- a/src/3rdparty/freetype/src/smooth/module.mk
+++ b/src/3rdparty/freetype/src/smooth/module.mk
@@ -16,11 +16,11 @@
FTMODULE_H_COMMANDS += SMOOTH_RENDERER
define SMOOTH_RENDERER
-$(OPEN_DRIVER)ft_smooth_renderer_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Renderer_Class, ft_smooth_renderer_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer$(ECHO_DRIVER_DONE)
-$(OPEN_DRIVER)ft_smooth_lcd_renderer_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Renderer_Class, ft_smooth_lcd_renderer_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for LCDs$(ECHO_DRIVER_DONE)
-$(OPEN_DRIVER)ft_smooth_lcdv_renderer_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Renderer_Class, ft_smooth_lcdv_renderer_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for vertical LCDs$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/tools/docmaker/content.py b/src/3rdparty/freetype/src/tools/docmaker/content.py
index c10a4ed..0d76d19 100644
--- a/src/3rdparty/freetype/src/tools/docmaker/content.py
+++ b/src/3rdparty/freetype/src/tools/docmaker/content.py
@@ -1,4 +1,5 @@
-# Content (c) 2002, 2004, 2006, 2007, 2008 David Turner <david@freetype.org>
+# Content (c) 2002, 2004, 2006, 2007, 2008, 2009
+# David Turner <david@freetype.org>
#
# This file contains routines used to parse the content of documentation
# comment blocks and build more structured objects out of them.
@@ -153,7 +154,7 @@ class DocField:
if mode == mode_code:
m = re_code_end.match( l )
if m and len( m.group( 1 ) ) <= margin:
- # that's it, we finised the code sequence
+ # that's it, we finished the code sequence
code = DocCode( 0, cur_lines )
self.items.append( code )
margin = -1
@@ -321,7 +322,7 @@ class DocSection:
self.blocks[block.name] = block
def process( self ):
- # lookup one block that contains a valid section description
+ # look up one block that contains a valid section description
for block in self.defs:
title = block.get_markup_text( "title" )
if title:
@@ -539,9 +540,10 @@ class DocBlock:
while start < end and not string.strip( source[end] ):
end = end - 1
- source = source[start:end + 1]
-
- self.code = source
+ if start == end:
+ self.code = []
+ else:
+ self.code = source[start:end + 1]
def location( self ):
return self.source.location()
diff --git a/src/3rdparty/freetype/src/tools/docmaker/sources.py b/src/3rdparty/freetype/src/tools/docmaker/sources.py
index dcfbf7d..7b68c07 100644
--- a/src/3rdparty/freetype/src/tools/docmaker/sources.py
+++ b/src/3rdparty/freetype/src/tools/docmaker/sources.py
@@ -1,4 +1,4 @@
-# Sources (c) 2002, 2003, 2004, 2006, 2007, 2008
+# Sources (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009
# David Turner <david@freetype.org>
#
#
@@ -179,14 +179,14 @@ re_source_keywords = re.compile( '''\\b ( typedef |
##
## SOURCE BLOCK CLASS
##
-## A SourceProcessor is in charge or reading a C source file
+## A SourceProcessor is in charge of reading a C source file
## and decomposing it into a series of different "SourceBlocks".
## each one of these blocks can be made of the following data:
##
## - A documentation comment block that starts with "/**" and
## whose exact format will be discussed later
##
-## - normal sources lines, include comments
+## - normal sources lines, including comments
##
## the important fields in a text block are the following ones:
##
@@ -255,7 +255,7 @@ class SourceBlock:
##
## SOURCE PROCESSOR CLASS
##
-## The SourceProcessor is in charge or reading a C source file
+## The SourceProcessor is in charge of reading a C source file
## and decomposing it into a series of different "SourceBlock"
## objects.
##
@@ -301,7 +301,7 @@ class SourceProcessor:
self.process_normal_line( line )
else:
if self.format.end.match( line ):
- # that's a normal block end, add it to lines and
+ # that's a normal block end, add it to 'lines' and
# create a new block
self.lines.append( line )
self.add_block_lines()
diff --git a/src/3rdparty/freetype/src/tools/docmaker/tohtml.py b/src/3rdparty/freetype/src/tools/docmaker/tohtml.py
index 7e5c608..fffa120 100644
--- a/src/3rdparty/freetype/src/tools/docmaker/tohtml.py
+++ b/src/3rdparty/freetype/src/tools/docmaker/tohtml.py
@@ -15,9 +15,11 @@ html_header_1 = """\
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>"""
+<title>\
+"""
-html_header_2= """ API Reference</title>
+html_header_2 = """\
+ API Reference</title>
<style type="text/css">
body { font-family: Verdana, Geneva, Arial, Helvetica, serif;
color: #000000;
@@ -45,16 +47,44 @@ html_header_2= """ API Reference</title>
</style>
</head>
<body>
-<center><h1>"""
+"""
+
+html_header_3 = """
+<table align=center><tr><td><font size=-1>[<a href="\
+"""
+
+html_header_3i = """
+<table align=center><tr><td width="100%"></td>
+<td><font size=-1>[<a href="\
+"""
+
+html_header_4 = """\
+">Index</a>]</font></td>
+<td width="100%"></td>
+<td><font size=-1>[<a href="\
+"""
+
+html_header_5 = """\
+">TOC</a>]</font></td></tr></table>
+<center><h1>\
+"""
+
+html_header_5t = """\
+">Index</a>]</font></td>
+<td width="100%"></td></tr></table>
+<center><h1>\
+"""
-html_header_3=""" API Reference</h1></center>
+html_header_6 = """\
+ API Reference</h1></center>
"""
# The HTML footer used by all generated pages.
html_footer = """\
</body>
-</html>"""
+</html>\
+"""
# The header and footer used for each section.
section_title_header = "<center><h1>"
@@ -110,12 +140,23 @@ chapter_footer = '</li></ul></td></tr></table>'
index_footer_start = """\
<hr>
<table><tr><td width="100%"></td>
-<td><font size=-2>[<a href="
+<td><font size=-2>[<a href="\
"""
index_footer_end = """\
">TOC</a>]</font></td></tr></table>
"""
+# TOC footer.
+toc_footer_start = """\
+<hr>
+<table><tr><td><font size=-2>[<a href="\
+"""
+toc_footer_end = """\
+">Index</a>]</font></td>
+<td width="100%"></td>
+</tr></table>
+"""
+
# source language keyword coloration/styling
keyword_prefix = '<span class="keyword">'
@@ -159,22 +200,39 @@ class HtmlFormatter( Formatter ):
def __init__( self, processor, project_title, file_prefix ):
Formatter.__init__( self, processor )
- global html_header_1, html_header_2, html_header_3, html_footer
+ global html_header_1, html_header_2, html_header_3
+ global html_header_4, html_header_5, html_footer
if file_prefix:
file_prefix = file_prefix + "-"
else:
file_prefix = ""
- self.headers = processor.headers
- self.project_title = project_title
- self.file_prefix = file_prefix
- self.html_header = html_header_1 + project_title + html_header_2 + \
- project_title + html_header_3
-
- self.html_footer = "<center><font size=""-2"">generated on " + \
- time.asctime( time.localtime( time.time() ) ) + \
- "</font></center>" + html_footer
+ self.headers = processor.headers
+ self.project_title = project_title
+ self.file_prefix = file_prefix
+ self.html_header = html_header_1 + project_title + \
+ html_header_2 + \
+ html_header_3 + file_prefix + "index.html" + \
+ html_header_4 + file_prefix + "toc.html" + \
+ html_header_5 + project_title + \
+ html_header_6
+
+ self.html_index_header = html_header_1 + project_title + \
+ html_header_2 + \
+ html_header_3i + file_prefix + "toc.html" + \
+ html_header_5 + project_title + \
+ html_header_6
+
+ self.html_toc_header = html_header_1 + project_title + \
+ html_header_2 + \
+ html_header_3 + file_prefix + "index.html" + \
+ html_header_5t + project_title + \
+ html_header_6
+
+ self.html_footer = "<center><font size=""-2"">generated on " + \
+ time.asctime( time.localtime( time.time() ) ) + \
+ "</font></center>" + html_footer
self.columns = 3
@@ -227,7 +285,7 @@ class HtmlFormatter( Formatter ):
return html_quote( word )
def make_html_para( self, words ):
- """ convert a paragraph's words into tagged HTML text, handle xrefs """
+ """ convert words of a paragraph into tagged HTML text, handle xrefs """
line = ""
if words:
line = self.make_html_word( words[0] )
@@ -237,6 +295,8 @@ class HtmlFormatter( Formatter ):
line = re.sub( r"(^|\W)`(.*?)'(\W|$)", \
r'\1&lsquo;\2&rsquo;\3', \
line )
+ # convert tilde into non-breakable space
+ line = string.replace( line, "~", "&nbsp;" )
return para_header + line + para_footer
@@ -338,7 +398,7 @@ class HtmlFormatter( Formatter ):
# Formatting the index
#
def index_enter( self ):
- print self.html_header
+ print self.html_index_header
self.index_items = {}
def index_name_enter( self, name ):
@@ -371,6 +431,8 @@ class HtmlFormatter( Formatter ):
self.file_prefix + "toc.html" + \
index_footer_end
+ print self.html_footer
+
self.index_items = {}
def index_dump( self, index_filename = None ):
@@ -383,7 +445,7 @@ class HtmlFormatter( Formatter ):
# Formatting the table of content
#
def toc_enter( self ):
- print self.html_header
+ print self.html_toc_header
print "<center><h1>Table of Contents</h1></center>"
def toc_chapter_enter( self, chapter ):
@@ -402,7 +464,7 @@ class HtmlFormatter( Formatter ):
def toc_chapter_exit( self, chapter ):
print "</table>"
- print chapter_footer
+ print chapter_footer
def toc_index( self, index_filename ):
print chapter_header + \
@@ -410,6 +472,10 @@ class HtmlFormatter( Formatter ):
chapter_inter + chapter_footer
def toc_exit( self ):
+ print toc_footer_start + \
+ self.file_prefix + "index.html" + \
+ toc_footer_end
+
print self.html_footer
def toc_dump( self, toc_filename = None, index_filename = None ):
diff --git a/src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c b/src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c
index fcff27b..4daac0d 100644
--- a/src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c
+++ b/src/3rdparty/freetype/src/tools/ftrandom/ftrandom.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 by George Williams */
+/* Copyright (C) 2005, 2007, 2008 by George Williams */
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
@@ -151,8 +151,8 @@
int load_flags = FT_LOAD_DEFAULT;
- if ( check_outlines &&
- ( face->face_flags & FT_FACE_FLAG_SCALABLE ) )
+ if ( check_outlines &&
+ FT_IS_SCALABLE( face ) )
load_flags = FT_LOAD_NO_BITMAP;
if ( nohints )
@@ -162,8 +162,8 @@
for ( gid = 0; gid < face->num_glyphs; ++gid )
{
- if ( check_outlines &&
- ( face->face_flags & FT_FACE_FLAG_SCALABLE ) )
+ if ( check_outlines &&
+ FT_IS_SCALABLE( face ) )
{
if ( !FT_Load_Glyph( face, gid, load_flags ) )
FT_Outline_Decompose( &face->glyph->outline, &outlinefuncs, NULL );
diff --git a/src/3rdparty/freetype/src/tools/glnames.py b/src/3rdparty/freetype/src/tools/glnames.py
index 9a6da38..55573b2 100644
--- a/src/3rdparty/freetype/src/tools/glnames.py
+++ b/src/3rdparty/freetype/src/tools/glnames.py
@@ -6,7 +6,7 @@
#
-# Copyright 1996-2000, 2003, 2005, 2007 by
+# Copyright 1996-2000, 2003, 2005, 2007, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -21,7 +21,7 @@
usage: %s <output-file>
This python script generates the glyph names tables defined in the
- PSNames module.
+ `psnames' module.
Its single argument is the name of the header file to be created.
"""
@@ -5011,7 +5011,7 @@ def dump_array( the_array, write, array_name ):
"""dumps a given encoding"""
write( " static const unsigned char " + array_name +
- "[" + repr( len( the_array ) ) + "] =\n" )
+ "[" + repr( len( the_array ) ) + "L] =\n" )
write( " {\n" )
line = ""
@@ -5067,7 +5067,7 @@ def main():
write( "/* */\n" )
write( "/* PostScript glyph names. */\n" )
write( "/* */\n" )
- write( "/* Copyright 2005 by */\n" )
+ write( "/* Copyright 2005, 2008 by */\n" )
write( "/* David Turner, Robert Wilhelm, and Werner Lemberg. */\n" )
write( "/* */\n" )
write( "/* This file is part of the FreeType project, and may only be used, */\n" )
@@ -5117,6 +5117,9 @@ def main():
* The lookup function to get the Unicode value for a given string
* is defined below the table.
*/
+
+#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
+
""" )
dump_array( dict_array, write, "ft_adobe_glyph_list" )
@@ -5219,6 +5222,8 @@ def main():
return 0;
}
+#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
+
""" )
if 0: # generate unit test, or don't
diff --git a/src/3rdparty/freetype/src/truetype/module.mk b/src/3rdparty/freetype/src/truetype/module.mk
index 3b05afc..baee81a 100644
--- a/src/3rdparty/freetype/src/truetype/module.mk
+++ b/src/3rdparty/freetype/src/truetype/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += TRUETYPE_DRIVER
define TRUETYPE_DRIVER
-$(OPEN_DRIVER)tt_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, tt_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/truetype/ttdriver.c b/src/3rdparty/freetype/src/truetype/ttdriver.c
index c2cf452..42feb05 100644
--- a/src/3rdparty/freetype/src/truetype/ttdriver.c
+++ b/src/3rdparty/freetype/src/truetype/ttdriver.c
@@ -4,7 +4,7 @@
/* */
/* TrueType font driver implementation (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -125,6 +125,49 @@
#undef PAIR_TAG
+ static FT_Error
+ tt_get_advances( FT_Face ttface,
+ FT_UInt start,
+ FT_UInt count,
+ FT_Int32 flags,
+ FT_Fixed *advances )
+ {
+ FT_UInt nn;
+ TT_Face face = (TT_Face) ttface;
+ FT_Bool check = FT_BOOL(
+ !( flags & FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ) );
+
+
+ /* XXX: TODO: check for sbits */
+
+ if ( flags & FT_LOAD_VERTICAL_LAYOUT )
+ {
+ for ( nn = 0; nn < count; nn++ )
+ {
+ FT_Short tsb;
+ FT_UShort ah;
+
+
+ TT_Get_VMetrics( face, start + nn, check, &tsb, &ah );
+ advances[nn] = ah;
+ }
+ }
+ else
+ {
+ for ( nn = 0; nn < count; nn++ )
+ {
+ FT_Short lsb;
+ FT_UShort aw;
+
+
+ TT_Get_HMetrics( face, start + nn, check, &lsb, &aw );
+ advances[nn] = aw;
+ }
+ }
+
+ return TT_Err_Ok;
+ }
+
/*************************************************************************/
/*************************************************************************/
/*************************************************************************/
@@ -229,7 +272,7 @@
/* glyph_index :: The index of the glyph in the font file. */
/* */
/* load_flags :: A flag indicating what to load for this glyph. The */
- /* FTLOAD_??? constants can be used to control the */
+ /* FT_LOAD_XXX constants can be used to control the */
/* glyph loading process (e.g., whether the outline */
/* should be scaled, whether to load bitmaps or not, */
/* whether to hint the outline, etc). */
@@ -258,11 +301,24 @@
if ( !face || glyph_index >= (FT_UInt)face->num_glyphs )
return TT_Err_Invalid_Argument;
+ if ( load_flags & FT_LOAD_NO_HINTING )
+ {
+ /* both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT */
+ /* are necessary to disable hinting for tricky fonts */
+
+ if ( FT_IS_TRICKY( face ) )
+ load_flags &= ~FT_LOAD_NO_HINTING;
+
+ if ( load_flags & FT_LOAD_NO_AUTOHINT )
+ load_flags |= FT_LOAD_NO_HINTING;
+ }
+
if ( load_flags & ( FT_LOAD_NO_RECURSE | FT_LOAD_NO_SCALE ) )
{
- load_flags |= FT_LOAD_NO_HINTING |
- FT_LOAD_NO_BITMAP |
- FT_LOAD_NO_SCALE;
+ load_flags |= FT_LOAD_NO_BITMAP | FT_LOAD_NO_SCALE;
+
+ if ( !FT_IS_TRICKY( face ) )
+ load_flags |= FT_LOAD_NO_HINTING;
}
/* now load the glyph outline if necessary */
@@ -404,7 +460,7 @@
tt_get_kerning,
0, /* FT_Face_AttachFunc */
- 0, /* FT_Face_GetAdvancesFunc */
+ tt_get_advances,
tt_size_request,
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
diff --git a/src/3rdparty/freetype/src/truetype/ttgload.c b/src/3rdparty/freetype/src/truetype/ttgload.c
index f6d6f9f..06e9ccd 100644
--- a/src/3rdparty/freetype/src/truetype/ttgload.c
+++ b/src/3rdparty/freetype/src/truetype/ttgload.c
@@ -69,12 +69,12 @@
/* `check' is true, take care of monospaced fonts by returning the */
/* advance width maximum. */
/* */
- static void
- Get_HMetrics( TT_Face face,
- FT_UInt idx,
- FT_Bool check,
- FT_Short* lsb,
- FT_UShort* aw )
+ FT_LOCAL_DEF(void)
+ TT_Get_HMetrics( TT_Face face,
+ FT_UInt idx,
+ FT_Bool check,
+ FT_Short* lsb,
+ FT_UShort* aw )
{
( (SFNT_Service)face->sfnt )->get_metrics( face, 0, idx, lsb, aw );
@@ -96,12 +96,12 @@
/* The monospace `check' is probably not meaningful here, but we leave */
/* it in for a consistent interface. */
/* */
- static void
- Get_VMetrics( TT_Face face,
- FT_UInt idx,
- FT_Bool check,
- FT_Short* tsb,
- FT_UShort* ah )
+ FT_LOCAL_DEF(void)
+ TT_Get_VMetrics( TT_Face face,
+ FT_UInt idx,
+ FT_Bool check,
+ FT_Short* tsb,
+ FT_UShort* ah )
{
FT_UNUSED( check );
@@ -382,8 +382,8 @@
for ( ; vec < vec_limit; vec++, flag++ )
{
- FT_Pos y = 0;
- FT_Byte f = *flag;
+ FT_Pos y = 0;
+ FT_Byte f = *flag;
if ( f & 2 )
@@ -405,7 +405,8 @@
x += y;
vec->x = x;
- *flag = f & ~( 2 | 16 );
+ /* the cast is for stupid compilers */
+ *flag = (FT_Byte)( f & ~( 2 | 16 ) );
}
/* reading the Y coordinates */
@@ -417,8 +418,8 @@
for ( ; vec < vec_limit; vec++, flag++ )
{
- FT_Pos y = 0;
- FT_Byte f = *flag;
+ FT_Pos y = 0;
+ FT_Byte f = *flag;
if ( f & 4 )
@@ -440,7 +441,8 @@
x += y;
vec->y = x;
- *flag = f & FT_CURVE_TAG_ON;
+ /* the cast is for stupid compilers */
+ *flag = (FT_Byte)( f & FT_CURVE_TAG_ON );
}
outline->n_points = (FT_UShort)n_points;
@@ -557,10 +559,10 @@
FT_Stream stream = loader->stream;
- /* we must undo the FT_FRAME_ENTER in order to point to the */
- /* composite instructions, if we find some. */
- /* we will process them later... */
- /* */
+ /* we must undo the FT_FRAME_ENTER in order to point */
+ /* to the composite instructions, if we find some. */
+ /* We will process them later. */
+ /* */
loader->ins_pos = (FT_ULong)( FT_STREAM_POS() +
p - limit );
}
@@ -1143,16 +1145,16 @@
FT_UShort advance_width = 0, advance_height = 0;
- Get_HMetrics( face, glyph_index,
- (FT_Bool)!( loader->load_flags &
- FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ),
- &left_bearing,
- &advance_width );
- Get_VMetrics( face, glyph_index,
- (FT_Bool)!( loader->load_flags &
- FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ),
- &top_bearing,
- &advance_height );
+ TT_Get_HMetrics( face, glyph_index,
+ (FT_Bool)!( loader->load_flags &
+ FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ),
+ &left_bearing,
+ &advance_width );
+ TT_Get_VMetrics( face, glyph_index,
+ (FT_Bool)!( loader->load_flags &
+ FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ),
+ &top_bearing,
+ &advance_height );
#ifdef FT_CONFIG_OPTION_INCREMENTAL
@@ -1243,6 +1245,13 @@
if ( loader->byte_len > 0 )
{
+ if ( !loader->glyf_offset )
+ {
+ FT_TRACE2(( "no `glyf' table but non-zero `loca' entry!\n" ));
+ error = TT_Err_Invalid_Table;
+ goto Exit;
+ }
+
error = face->access_glyph_frame( loader, glyph_index,
loader->glyf_offset + offset,
loader->byte_len );
@@ -1668,8 +1677,8 @@
}
/* adjust advance width to the value contained in the hdmx table */
- if ( !face->postscript.isFixedPitch &&
- IS_HINTED( loader->load_flags ) )
+ if ( !face->postscript.isFixedPitch &&
+ IS_HINTED( loader->load_flags ) )
{
FT_Byte* widthp;
@@ -1838,12 +1847,15 @@
FT_Error error = face->goto_table( face, TTAG_glyf, stream, 0 );
- if ( error )
+ if ( error == TT_Err_Table_Missing )
+ loader->glyf_offset = 0;
+ else if ( error )
{
FT_ERROR(( "TT_Load_Glyph: could not access glyph table\n" ));
return error;
}
- loader->glyf_offset = FT_STREAM_POS();
+ else
+ loader->glyf_offset = FT_STREAM_POS();
}
/* get face's glyph loader */
@@ -1855,7 +1867,7 @@
loader->gloader = gloader;
}
- loader->load_flags = load_flags;
+ loader->load_flags = load_flags;
loader->face = (FT_Face)face;
loader->size = (FT_Size)size;
@@ -1958,6 +1970,40 @@
FT_Outline_Translate( &glyph->outline, -loader.pp1.x, 0 );
}
+#ifdef TT_USE_BYTECODE_INTERPRETER
+
+ if ( IS_HINTED( load_flags ) )
+ {
+ if ( loader.exec->GS.scan_control )
+ {
+ /* convert scan conversion mode to FT_OUTLINE_XXX flags */
+ switch ( loader.exec->GS.scan_type )
+ {
+ case 0: /* simple drop-outs including stubs */
+ glyph->outline.flags |= FT_OUTLINE_INCLUDE_STUBS;
+ break;
+ case 1: /* simple drop-outs excluding stubs */
+ /* nothing; it's the default rendering mode */
+ break;
+ case 4: /* smart drop-outs including stubs */
+ glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS |
+ FT_OUTLINE_INCLUDE_STUBS;
+ break;
+ case 5: /* smart drop-outs excluding stubs */
+ glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS;
+ break;
+
+ default: /* no drop-out control */
+ glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
+ break;
+ }
+ }
+ else
+ glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
+ }
+
+#endif /* TT_USE_BYTECODE_INTERPRETER */
+
compute_glyph_metrics( &loader, glyph_index );
}
diff --git a/src/3rdparty/freetype/src/truetype/ttgload.h b/src/3rdparty/freetype/src/truetype/ttgload.h
index b261e97..958d67d 100644
--- a/src/3rdparty/freetype/src/truetype/ttgload.h
+++ b/src/3rdparty/freetype/src/truetype/ttgload.h
@@ -4,7 +4,7 @@
/* */
/* TrueType Glyph Loader (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -34,6 +34,20 @@ FT_BEGIN_HEADER
FT_LOCAL( void )
TT_Init_Glyph_Loading( TT_Face face );
+ FT_LOCAL( void )
+ TT_Get_HMetrics( TT_Face face,
+ FT_UInt idx,
+ FT_Bool check,
+ FT_Short* lsb,
+ FT_UShort* aw );
+
+ FT_LOCAL( void )
+ TT_Get_VMetrics( TT_Face face,
+ FT_UInt idx,
+ FT_Bool check,
+ FT_Short* tsb,
+ FT_UShort* ah );
+
FT_LOCAL( FT_Error )
TT_Load_Glyph( TT_Size size,
TT_GlyphSlot glyph,
diff --git a/src/3rdparty/freetype/src/truetype/ttgxvar.c b/src/3rdparty/freetype/src/truetype/ttgxvar.c
index 0b3adbc..515e734 100644
--- a/src/3rdparty/freetype/src/truetype/ttgxvar.c
+++ b/src/3rdparty/freetype/src/truetype/ttgxvar.c
@@ -905,13 +905,15 @@
}
else
{
- for ( i = 0;
- i < num_coords && blend->normalizedcoords[i] == coords[i];
- ++i );
- if ( i == num_coords )
- manageCvt = mcvt_retain;
- else
+ manageCvt = mcvt_retain;
+ for ( i = 0; i < num_coords; ++i )
+ {
+ if ( blend->normalizedcoords[i] != coords[i] )
+ {
manageCvt = mcvt_load;
+ break;
+ }
+ }
/* If we don't change the blend coords then we don't need to do */
/* anything to the cvt table. It will be correct. Otherwise we */
diff --git a/src/3rdparty/freetype/src/truetype/ttinterp.c b/src/3rdparty/freetype/src/truetype/ttinterp.c
index f9c3656..2279a62 100644
--- a/src/3rdparty/freetype/src/truetype/ttinterp.c
+++ b/src/3rdparty/freetype/src/truetype/ttinterp.c
@@ -4,7 +4,7 @@
/* */
/* TrueType bytecode interpreter (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -693,7 +693,7 @@
/* exec :: A handle to the target execution context. */
/* */
/* <Return> */
- /* TrueTyoe error code. 0 means success. */
+ /* TrueType error code. 0 means success. */
/* */
/* <Note> */
/* Only the glyph loader and debugger should call this function. */
@@ -748,6 +748,13 @@
}
+ /* The default value for `scan_control' is documented as FALSE in the */
+ /* TrueType specification. This is confusing since it implies a */
+ /* Boolean value. However, this is not the case, thus both the */
+ /* default values of our `scan_type' and `scan_control' fields (which */
+ /* the documentation's `scan_control' variable is split into) are */
+ /* zero. */
+
const TT_GraphicsState tt_default_graphics_state =
{
0, 0, 0,
@@ -761,7 +768,7 @@
1, 64, 1,
TRUE, 68, 0, 0, 9, 3,
- 0, FALSE, 2, 1, 1, 1
+ 0, FALSE, 0, 1, 1, 1
};
@@ -5092,12 +5099,8 @@
return;
}
- A *= 64;
-
-#if 0
- if ( ( args[0] & 0x100 ) != 0 && CUR.metrics.pointSize <= A )
+ if ( ( args[0] & 0x100 ) != 0 && CUR.tt_metrics.ppem <= A )
CUR.GS.scan_control = TRUE;
-#endif
if ( ( args[0] & 0x200 ) != 0 && CUR.tt_metrics.rotated )
CUR.GS.scan_control = TRUE;
@@ -5105,10 +5108,8 @@
if ( ( args[0] & 0x400 ) != 0 && CUR.tt_metrics.stretched )
CUR.GS.scan_control = TRUE;
-#if 0
- if ( ( args[0] & 0x800 ) != 0 && CUR.metrics.pointSize > A )
+ if ( ( args[0] & 0x800 ) != 0 && CUR.tt_metrics.ppem > A )
CUR.GS.scan_control = FALSE;
-#endif
if ( ( args[0] & 0x1000 ) != 0 && CUR.tt_metrics.rotated )
CUR.GS.scan_control = FALSE;
@@ -5127,16 +5128,8 @@
static void
Ins_SCANTYPE( INS_ARG )
{
- /* for compatibility with future enhancements, */
- /* we must ignore new modes */
-
- if ( args[0] >= 0 && args[0] <= 5 )
- {
- if ( args[0] == 3 )
- args[0] = 2;
-
+ if ( args[0] >= 0 )
CUR.GS.scan_type = (FT_Int)args[0];
- }
}
@@ -6395,7 +6388,7 @@
{
scale_valid = 1;
scale = TT_MULDIV( org2 + delta2 - ( org1 + delta1 ),
- 0x10000, orus2 - orus1 );
+ 0x10000L, orus2 - orus1 );
}
x = ( org1 + delta1 ) +
diff --git a/src/3rdparty/freetype/src/truetype/ttobjs.c b/src/3rdparty/freetype/src/truetype/ttobjs.c
index 801559f..2649a67 100644
--- a/src/3rdparty/freetype/src/truetype/ttobjs.c
+++ b/src/3rdparty/freetype/src/truetype/ttobjs.c
@@ -4,7 +4,7 @@
/* */
/* Objects manager (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -144,6 +144,39 @@
#endif /* TT_USE_BYTECODE_INTERPRETER */
+ /* Compare the face with a list of well-known `tricky' fonts. */
+ /* This list shall be expanded as we find more of them. */
+
+ static FT_Bool
+ tt_check_trickyness( FT_String* name )
+ {
+ static const char* const trick_names[] =
+ {
+ "DFKaiSho-SB", /* dfkaisb.ttf */
+ "DFKaiShu",
+ "DFKai-SB", /* kaiu.ttf */
+ "HuaTianSongTi?", /* htst3.ttf */
+ "MingLiU", /* mingliu.ttf & mingliu.ttc */
+ "PMingLiU", /* mingliu.ttc */
+ "MingLi43", /* mingli.ttf */
+ NULL
+ };
+ int nn;
+
+
+ if ( !name )
+ return FALSE;
+
+ /* Note that we only check the face name at the moment; it might */
+ /* be worth to do more checks for a few special cases. */
+ for ( nn = 0; trick_names[nn] != NULL; nn++ )
+ if ( ft_strstr( name, trick_names[nn] ) )
+ return TRUE;
+
+ return FALSE;
+ }
+
+
/*************************************************************************/
/* */
/* <Function> */
@@ -180,7 +213,7 @@
TT_Face face = (TT_Face)ttface;
- library = face->root.driver->root.library;
+ library = ttface->driver->root.library;
sfnt = (SFNT_Service)FT_Get_Module_Interface( library, "sfnt" );
if ( !sfnt )
goto Bad_Format;
@@ -206,7 +239,7 @@
}
#ifdef TT_USE_BYTECODE_INTERPRETER
- face->root.face_flags |= FT_FACE_FLAG_HINTER;
+ ttface->face_flags |= FT_FACE_FLAG_HINTER;
#endif
/* If we are performing a simple font format check, exit immediately. */
@@ -218,16 +251,19 @@
if ( error )
goto Exit;
+ if ( tt_check_trickyness( ttface->family_name ) )
+ ttface->face_flags |= FT_FACE_FLAG_TRICKY;
+
error = tt_face_load_hdmx( face, stream );
if ( error )
goto Exit;
- if ( face->root.face_flags & FT_FACE_FLAG_SCALABLE )
+ if ( FT_IS_SCALABLE( ttface ) )
{
#ifdef FT_CONFIG_OPTION_INCREMENTAL
- if ( !face->root.internal->incremental_interface )
+ if ( !ttface->internal->incremental_interface )
error = tt_face_load_loca( face, stream );
if ( !error )
error = tt_face_load_cvt( face, stream );
@@ -267,38 +303,8 @@
if ( params[i].tag == FT_PARAM_TAG_UNPATENTED_HINTING )
unpatented_hinting = TRUE;
- /* Compare the face with a list of well-known `tricky' fonts. */
- /* This list shall be expanded as we find more of them. */
if ( !unpatented_hinting )
- {
- static const char* const trick_names[] =
- {
- "DFKaiSho-SB", /* dfkaisb.ttf */
- "DFKai-SB", /* kaiu.ttf */
- "HuaTianSongTi?", /* htst3.ttf */
- "MingLiU", /* mingliu.ttf & mingliu.ttc */
- "PMingLiU", /* mingliu.ttc */
- "MingLi43", /* mingli.ttf */
- NULL
- };
- int nn;
-
-
- /* Note that we only check the face name at the moment; it might */
- /* be worth to do more checks for a few special cases. */
- for ( nn = 0; trick_names[nn] != NULL; nn++ )
- {
- if ( ttface->family_name &&
- ft_strstr( ttface->family_name, trick_names[nn] ) )
- {
- unpatented_hinting = 1;
- break;
- }
- }
- }
-
- ttface->internal->ignore_unpatented_hinter =
- FT_BOOL( !unpatented_hinting );
+ ttface->internal->ignore_unpatented_hinter = TRUE;
}
#endif /* TT_CONFIG_OPTION_UNPATENTED_HINTING &&
@@ -330,12 +336,18 @@
FT_LOCAL_DEF( void )
tt_face_done( FT_Face ttface ) /* TT_Face */
{
- TT_Face face = (TT_Face)ttface;
- FT_Memory memory = face->root.memory;
- FT_Stream stream = face->root.stream;
+ TT_Face face = (TT_Face)ttface;
+ FT_Memory memory;
+ FT_Stream stream;
+ SFNT_Service sfnt;
+
- SFNT_Service sfnt = (SFNT_Service)face->sfnt;
+ if ( !face )
+ return;
+ memory = ttface->memory;
+ stream = ttface->stream;
+ sfnt = (SFNT_Service)face->sfnt;
/* for `extended TrueType formats' (i.e. compressed versions) */
if ( face->extra.finalizer )
@@ -674,7 +686,7 @@
if ( !size->cvt_ready )
{
FT_UInt i;
- TT_Face face = (TT_Face) size->root.face;
+ TT_Face face = (TT_Face)size->root.face;
/* Scale the cvt values to the new ppem. */
diff --git a/src/3rdparty/freetype/src/truetype/ttobjs.h b/src/3rdparty/freetype/src/truetype/ttobjs.h
index 6971013..d4b8228 100644
--- a/src/3rdparty/freetype/src/truetype/ttobjs.h
+++ b/src/3rdparty/freetype/src/truetype/ttobjs.h
@@ -4,7 +4,7 @@
/* */
/* Objects manager (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -99,6 +99,10 @@ FT_BEGIN_HEADER
FT_Short delta_shift;
FT_Byte instruct_control;
+ /* According to Greg Hitchcock from Microsoft, the `scan_control' */
+ /* variable as documented in the TrueType specification is a 32-bit */
+ /* integer; the high-word part holds the SCANTYPE value, the low-word */
+ /* part the SCANCTRL value. We separate it into two fields. */
FT_Bool scan_control;
FT_Int scan_type;
diff --git a/src/3rdparty/freetype/src/truetype/ttpload.c b/src/3rdparty/freetype/src/truetype/ttpload.c
index 9d3381b..dc538fb 100644
--- a/src/3rdparty/freetype/src/truetype/ttpload.c
+++ b/src/3rdparty/freetype/src/truetype/ttpload.c
@@ -4,7 +4,7 @@
/* */
/* TrueType-specific tables loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -65,11 +65,17 @@
{
FT_Error error;
FT_ULong table_len;
+ FT_Int shift;
/* we need the size of the `glyf' table for malformed `loca' tables */
error = face->goto_table( face, TTAG_glyf, stream, &face->glyf_len );
- if ( error )
+
+ /* it is possible that a font doesn't have a glyf table at all */
+ /* or its size is zero */
+ if ( error == TT_Err_Table_Missing )
+ face->glyf_len = 0;
+ else if ( error )
goto Exit;
FT_TRACE2(( "Locations " ));
@@ -82,23 +88,65 @@
if ( face->header.Index_To_Loc_Format != 0 )
{
+ shift = 2;
+
if ( table_len >= 0x40000L )
{
FT_TRACE2(( "table too large!\n" ));
error = TT_Err_Invalid_Table;
goto Exit;
}
- face->num_locations = (FT_UInt)( table_len >> 2 );
+ face->num_locations = (FT_UInt)( table_len >> shift );
}
else
{
+ shift = 1;
+
if ( table_len >= 0x20000L )
{
FT_TRACE2(( "table too large!\n" ));
error = TT_Err_Invalid_Table;
goto Exit;
}
- face->num_locations = (FT_UInt)( table_len >> 1 );
+ face->num_locations = (FT_UInt)( table_len >> shift );
+ }
+
+ if ( face->num_locations != (FT_UInt)face->root.num_glyphs )
+ {
+ FT_TRACE2(( "glyph count mismatch! loca: %d, maxp: %d\n",
+ face->num_locations, face->root.num_glyphs ));
+
+ /* we only handle the case where `maxp' gives a larger value */
+ if ( face->num_locations < (FT_UInt)face->root.num_glyphs )
+ {
+ FT_Long new_loca_len = (FT_Long)face->root.num_glyphs << shift;
+
+ TT_Table entry = face->dir_tables;
+ TT_Table limit = entry + face->num_tables;
+
+ FT_Long pos = FT_Stream_Pos( stream );
+ FT_Long dist = 0x7FFFFFFFL;
+
+
+ /* compute the distance to next table in font file */
+ for ( ; entry < limit; entry++ )
+ {
+ FT_Long diff = entry->Offset - pos;
+
+
+ if ( diff > 0 && diff < dist )
+ dist = diff;
+ }
+
+ if ( new_loca_len <= dist )
+ {
+ face->num_locations = (FT_Long)face->root.num_glyphs;
+ table_len = new_loca_len;
+
+ FT_TRACE2(( "adjusting num_locations to %d\n",
+ face->num_locations ));
+ }
+ }
}
/*
@@ -162,6 +210,9 @@
/* Anyway, there do exist (malformed) fonts which don't obey */
/* this rule, so we are only able to provide an upper bound for */
/* the size. */
+ /* */
+ /* We get (intentionally) a wrong, non-zero result in case the */
+ /* `glyf' table is missing. */
if ( pos2 >= pos1 )
*asize = (FT_UInt)( pos2 - pos1 );
else
diff --git a/src/3rdparty/freetype/src/type1/module.mk b/src/3rdparty/freetype/src/type1/module.mk
index baf98c0..ade0210 100644
--- a/src/3rdparty/freetype/src/type1/module.mk
+++ b/src/3rdparty/freetype/src/type1/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += TYPE1_DRIVER
define TYPE1_DRIVER
-$(OPEN_DRIVER)t1_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, t1_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/type1/t1afm.c b/src/3rdparty/freetype/src/type1/t1afm.c
index b81a8df..5aea588 100644
--- a/src/3rdparty/freetype/src/type1/t1afm.c
+++ b/src/3rdparty/freetype/src/type1/t1afm.c
@@ -4,7 +4,7 @@
/* */
/* AFM support for Type 1 fonts (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -88,7 +88,12 @@
FT_ULong index2 = KERN_INDEX( pair2->index1, pair2->index2 );
- return (int)( index1 - index2 );
+ if ( index1 > index2 )
+ return 1;
+ else if ( index1 < index2 )
+ return -1;
+ else
+ return 0;
}
diff --git a/src/3rdparty/freetype/src/type1/t1driver.c b/src/3rdparty/freetype/src/type1/t1driver.c
index 3ca21dc..8c398ee 100644
--- a/src/3rdparty/freetype/src/type1/t1driver.c
+++ b/src/3rdparty/freetype/src/type1/t1driver.c
@@ -4,7 +4,7 @@
/* */
/* Type 1 driver interface (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -84,6 +84,7 @@
return 0;
}
+
static const FT_Service_GlyphDictRec t1_service_glyph_dict =
{
(FT_GlyphDict_GetNameFunc) t1_get_glyph_name,
@@ -91,10 +92,10 @@
};
- /*
- * POSTSCRIPT NAME SERVICE
- *
- */
+ /*
+ * POSTSCRIPT NAME SERVICE
+ *
+ */
static const char*
t1_get_ps_name( T1_Face face )
@@ -102,16 +103,17 @@
return (const char*) face->type1.font_name;
}
+
static const FT_Service_PsFontNameRec t1_service_ps_name =
{
(FT_PsName_GetFunc)t1_get_ps_name
};
- /*
- * MULTIPLE MASTERS SERVICE
- *
- */
+ /*
+ * MULTIPLE MASTERS SERVICE
+ *
+ */
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
static const FT_Service_MultiMastersRec t1_service_multi_masters =
@@ -125,17 +127,28 @@
#endif
- /*
- * POSTSCRIPT INFO SERVICE
- *
- */
+ /*
+ * POSTSCRIPT INFO SERVICE
+ *
+ */
static FT_Error
t1_ps_get_font_info( FT_Face face,
PS_FontInfoRec* afont_info )
{
*afont_info = ((T1_Face)face)->type1.font_info;
- return 0;
+
+ return T1_Err_Ok;
+ }
+
+
+ static FT_Error
+ t1_ps_get_font_extra( FT_Face face,
+ PS_FontExtraRec* afont_extra )
+ {
+ *afont_extra = ((T1_Face)face)->type1.font_extra;
+
+ return T1_Err_Ok;
}
@@ -143,6 +156,7 @@
t1_ps_has_glyph_names( FT_Face face )
{
FT_UNUSED( face );
+
return 1;
}
@@ -152,17 +166,20 @@
PS_PrivateRec* afont_private )
{
*afont_private = ((T1_Face)face)->type1.private_dict;
- return 0;
+
+ return T1_Err_Ok;
}
static const FT_Service_PsInfoRec t1_service_ps_info =
{
(PS_GetFontInfoFunc) t1_ps_get_font_info,
+ (PS_GetFontExtraFunc) t1_ps_get_font_extra,
(PS_HasGlyphNamesFunc) t1_ps_has_glyph_names,
(PS_GetFontPrivateFunc)t1_ps_get_font_private,
};
+
#ifndef T1_CONFIG_OPTION_NO_AFM
static const FT_Service_KerningRec t1_service_kerning =
{
@@ -170,10 +187,11 @@
};
#endif
- /*
- * SERVICE LIST
- *
- */
+
+ /*
+ * SERVICE LIST
+ *
+ */
static const FT_ServiceDescRec t1_services[] =
{
@@ -304,7 +322,7 @@
(FT_Face_GetKerningFunc) Get_Kerning,
(FT_Face_AttachFunc) T1_Read_Metrics,
#endif
- (FT_Face_GetAdvancesFunc) 0,
+ (FT_Face_GetAdvancesFunc) T1_Get_Advances,
(FT_Size_RequestFunc) T1_Size_Request,
(FT_Size_SelectFunc) 0
};
diff --git a/src/3rdparty/freetype/src/type1/t1gload.c b/src/3rdparty/freetype/src/type1/t1gload.c
index e08a428..c3ac13f 100644
--- a/src/3rdparty/freetype/src/type1/t1gload.c
+++ b/src/3rdparty/freetype/src/type1/t1gload.c
@@ -4,7 +4,7 @@
/* */
/* Type 1 Glyph Loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -203,6 +203,65 @@
FT_LOCAL_DEF( FT_Error )
+ T1_Get_Advances( T1_Face face,
+ FT_UInt first,
+ FT_UInt count,
+ FT_ULong load_flags,
+ FT_Fixed* advances )
+ {
+ T1_DecoderRec decoder;
+ T1_Font type1 = &face->type1;
+ PSAux_Service psaux = (PSAux_Service)face->psaux;
+ FT_UInt nn;
+ FT_Error error;
+
+ FT_UNUSED( load_flags );
+
+
+ if ( load_flags & FT_LOAD_VERTICAL_LAYOUT )
+ {
+ for ( nn = 0; nn < count; nn++ )
+ advances[nn] = 0;
+
+ return T1_Err_Ok;
+ }
+
+ error = psaux->t1_decoder_funcs->init( &decoder,
+ (FT_Face)face,
+ 0, /* size */
+ 0, /* glyph slot */
+ (FT_Byte**)type1->glyph_names,
+ face->blend,
+ 0,
+ FT_RENDER_MODE_NORMAL,
+ T1_Parse_Glyph );
+ if ( error )
+ return error;
+
+ decoder.builder.metrics_only = 1;
+ decoder.builder.load_points = 0;
+
+ decoder.num_subrs = type1->num_subrs;
+ decoder.subrs = type1->subrs;
+ decoder.subrs_len = type1->subrs_len;
+
+ decoder.buildchar = face->buildchar;
+ decoder.len_buildchar = face->len_buildchar;
+
+ for ( nn = 0; nn < count; nn++ )
+ {
+ error = T1_Parse_Glyph( &decoder, first + nn );
+ if ( !error )
+ advances[nn] = decoder.builder.advance.x;
+ else
+ advances[nn] = 0;
+ }
+
+ return T1_Err_Ok;
+ }
+
+
+ FT_LOCAL_DEF( FT_Error )
T1_Load_Glyph( T1_GlyphSlot glyph,
T1_Size size,
FT_UInt glyph_index,
@@ -236,8 +295,16 @@
if ( load_flags & FT_LOAD_NO_RECURSE )
load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING;
- glyph->x_scale = size->root.metrics.x_scale;
- glyph->y_scale = size->root.metrics.y_scale;
+ if ( size )
+ {
+ glyph->x_scale = size->root.metrics.x_scale;
+ glyph->y_scale = size->root.metrics.y_scale;
+ }
+ else
+ {
+ glyph->x_scale = 0x10000L;
+ glyph->y_scale = 0x10000L;
+ }
glyph->root.outline.n_points = 0;
glyph->root.outline.n_contours = 0;
@@ -371,8 +438,8 @@
}
/* Then scale the metrics */
- metrics->horiAdvance = FT_MulFix( metrics->horiAdvance, x_scale );
- metrics->vertAdvance = FT_MulFix( metrics->vertAdvance, y_scale );
+ metrics->horiAdvance = FT_MulFix( metrics->horiAdvance, x_scale );
+ metrics->vertAdvance = FT_MulFix( metrics->vertAdvance, y_scale );
}
/* compute the other metrics */
diff --git a/src/3rdparty/freetype/src/type1/t1gload.h b/src/3rdparty/freetype/src/type1/t1gload.h
index de87896..100df06 100644
--- a/src/3rdparty/freetype/src/type1/t1gload.h
+++ b/src/3rdparty/freetype/src/type1/t1gload.h
@@ -4,7 +4,7 @@
/* */
/* Type 1 Glyph Loader (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003 by */
+/* Copyright 1996-2001, 2002, 2003, 2008 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -32,6 +32,13 @@ FT_BEGIN_HEADER
FT_Pos* max_advance );
FT_LOCAL( FT_Error )
+ T1_Get_Advances( T1_Face face,
+ FT_UInt first,
+ FT_UInt count,
+ FT_ULong load_flags,
+ FT_Fixed* advances );
+
+ FT_LOCAL( FT_Error )
T1_Load_Glyph( T1_GlyphSlot glyph,
T1_Size size,
FT_UInt glyph_index,
diff --git a/src/3rdparty/freetype/src/type1/t1load.c b/src/3rdparty/freetype/src/type1/t1load.c
index 9d7c748..06e72cc 100644
--- a/src/3rdparty/freetype/src/type1/t1load.c
+++ b/src/3rdparty/freetype/src/type1/t1load.c
@@ -4,7 +4,7 @@
/* */
/* Type 1 font loader (body). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -230,7 +230,7 @@
if ( ncv <= axismap->blend_points[0] )
- return axismap->design_points[0];
+ return FT_INT_TO_FIXED( axismap->design_points[0] );
for ( j = 1; j < axismap->num_points; ++j )
{
@@ -241,8 +241,7 @@
axismap->blend_points[j] -
axismap->blend_points[j - 1] );
-
- return axismap->design_points[j - 1] +
+ return FT_INT_TO_FIXED( axismap->design_points[j - 1] ) +
FT_MulDiv( t,
axismap->design_points[j] -
axismap->design_points[j - 1],
@@ -250,7 +249,7 @@
}
}
- return axismap->design_points[axismap->num_points - 1];
+ return FT_INT_TO_FIXED( axismap->design_points[axismap->num_points - 1] );
}
@@ -337,8 +336,8 @@
mmvar->axis[i].def = ( mmvar->axis[i].minimum +
mmvar->axis[i].maximum ) / 2;
/* Does not apply. But this value is in range */
- mmvar->axis[i].strid = 0xFFFFFFFFUL; /* Does not apply */
- mmvar->axis[i].tag = 0xFFFFFFFFUL; /* Does not apply */
+ mmvar->axis[i].strid = (FT_UInt)-1; /* Does not apply */
+ mmvar->axis[i].tag = (FT_ULong)-1; /* Does not apply */
if ( ft_strcmp( mmvar->axis[i].name, "Weight" ) == 0 )
mmvar->axis[i].tag = FT_MAKE_TAG( 'w', 'g', 'h', 't' );
@@ -348,16 +347,15 @@
mmvar->axis[i].tag = FT_MAKE_TAG( 'o', 'p', 's', 'z' );
}
- if ( blend->num_designs == 1U << blend->num_axis )
+ if ( blend->num_designs == ( 1U << blend->num_axis ) )
{
mm_weights_unmap( blend->default_weight_vector,
axiscoords,
blend->num_axis );
for ( i = 0; i < mmaster.num_axis; ++i )
- mmvar->axis[i].def =
- FT_INT_TO_FIXED( mm_axis_unmap( &blend->design_map[i],
- axiscoords[i] ) );
+ mmvar->axis[i].def = mm_axis_unmap( &blend->design_map[i],
+ axiscoords[i] );
}
*master = mmvar;
@@ -950,6 +948,12 @@
}
break;
+ case T1_FIELD_LOCATION_FONT_EXTRA:
+ dummy_object = &face->type1.font_extra;
+ objects = &dummy_object;
+ max_objects = 0;
+ break;
+
case T1_FIELD_LOCATION_PRIVATE:
dummy_object = &face->type1.private_dict;
objects = &dummy_object;
@@ -1274,6 +1278,19 @@
n++;
}
+ else if ( only_immediates )
+ {
+ /* Since the current position is not updated for */
+ /* immediates-only mode we would get an infinite loop if */
+ /* we don't do anything here. */
+ /* */
+ /* This encoding array is not valid according to the type1 */
+ /* specification (it might be an encoding for a CID type1 */
+ /* font, however), so we conclude that this font is NOT a */
+ /* type1 font. */
+ parser->root.error = FT_Err_Unknown_File_Format;
+ return;
+ }
}
else
{
@@ -1319,9 +1336,9 @@
PS_Table table = &loader->subrs;
FT_Memory memory = parser->root.memory;
FT_Error error;
- FT_Int n, num_subrs;
+ FT_Int num_subrs;
- PSAux_Service psaux = (PSAux_Service)face->psaux;
+ PSAux_Service psaux = (PSAux_Service)face->psaux;
T1_Skip_Spaces( parser );
@@ -1355,18 +1372,17 @@
goto Fail;
}
- /* the format is simple: */
- /* */
- /* `index' + binary data */
- /* */
- for ( n = 0; n < num_subrs; n++ )
+ /* the format is simple: */
+ /* */
+ /* `index' + binary data */
+ /* */
+ for (;;)
{
FT_Long idx, size;
FT_Byte* base;
- /* If the next token isn't `dup', we are also done. This */
- /* happens when there are `holes' in the Subrs array. */
+ /* If the next token isn't `dup' we are done. */
if ( ft_strncmp( (char*)parser->root.cursor, "dup", 3 ) != 0 )
break;
@@ -1615,15 +1631,11 @@
}
}
- if ( loader->num_glyphs )
- return;
- else
- loader->num_glyphs = n;
+ loader->num_glyphs = n;
/* if /.notdef is found but does not occupy index 0, do our magic. */
- if ( ft_strcmp( (const char*)".notdef",
- (const char*)name_table->elements[0] ) &&
- notdef_found )
+ if ( notdef_found &&
+ ft_strcmp( ".notdef", (const char*)name_table->elements[0] ) )
{
/* Swap glyph in index 0 with /.notdef glyph. First, add index 0 */
/* name and code entries to swap_table. Then place notdef_index */
@@ -1692,7 +1704,7 @@
/* and add our own /.notdef glyph to index 0. */
/* 0 333 hsbw endchar */
- FT_Byte notdef_glyph[] = {0x8B, 0xF7, 0xE1, 0x0D, 0x0E};
+ FT_Byte notdef_glyph[] = { 0x8B, 0xF7, 0xE1, 0x0D, 0x0E };
char* notdef_name = (char *)".notdef";
@@ -1730,7 +1742,7 @@
goto Fail;
/* we added a glyph. */
- loader->num_glyphs = n + 1;
+ loader->num_glyphs += 1;
}
return;
diff --git a/src/3rdparty/freetype/src/type1/t1objs.c b/src/3rdparty/freetype/src/type1/t1objs.c
index 40b258f..2f90dd6 100644
--- a/src/3rdparty/freetype/src/type1/t1objs.c
+++ b/src/3rdparty/freetype/src/type1/t1objs.c
@@ -90,7 +90,7 @@
FT_LOCAL_DEF( FT_Error )
T1_Size_Init( T1_Size size )
{
- FT_Error error = 0;
+ FT_Error error = T1_Err_Ok;
PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size );
@@ -191,72 +191,75 @@
FT_LOCAL_DEF( void )
T1_Face_Done( T1_Face face )
{
- if ( face )
- {
- FT_Memory memory = face->root.memory;
- T1_Font type1 = &face->type1;
+ FT_Memory memory;
+ T1_Font type1;
+
+
+ if ( !face )
+ return;
+ memory = face->root.memory;
+ type1 = &face->type1;
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
- /* release multiple masters information */
- FT_ASSERT( ( face->len_buildchar == 0 ) == ( face->buildchar == NULL ) );
+ /* release multiple masters information */
+ FT_ASSERT( ( face->len_buildchar == 0 ) == ( face->buildchar == NULL ) );
- if ( face->buildchar )
- {
- FT_FREE( face->buildchar );
+ if ( face->buildchar )
+ {
+ FT_FREE( face->buildchar );
- face->buildchar = NULL;
- face->len_buildchar = 0;
- }
+ face->buildchar = NULL;
+ face->len_buildchar = 0;
+ }
- T1_Done_Blend( face );
- face->blend = 0;
+ T1_Done_Blend( face );
+ face->blend = 0;
#endif
- /* release font info strings */
- {
- PS_FontInfo info = &type1->font_info;
+ /* release font info strings */
+ {
+ PS_FontInfo info = &type1->font_info;
- FT_FREE( info->version );
- FT_FREE( info->notice );
- FT_FREE( info->full_name );
- FT_FREE( info->family_name );
- FT_FREE( info->weight );
- }
+ FT_FREE( info->version );
+ FT_FREE( info->notice );
+ FT_FREE( info->full_name );
+ FT_FREE( info->family_name );
+ FT_FREE( info->weight );
+ }
- /* release top dictionary */
- FT_FREE( type1->charstrings_len );
- FT_FREE( type1->charstrings );
- FT_FREE( type1->glyph_names );
+ /* release top dictionary */
+ FT_FREE( type1->charstrings_len );
+ FT_FREE( type1->charstrings );
+ FT_FREE( type1->glyph_names );
- FT_FREE( type1->subrs );
- FT_FREE( type1->subrs_len );
+ FT_FREE( type1->subrs );
+ FT_FREE( type1->subrs_len );
- FT_FREE( type1->subrs_block );
- FT_FREE( type1->charstrings_block );
- FT_FREE( type1->glyph_names_block );
+ FT_FREE( type1->subrs_block );
+ FT_FREE( type1->charstrings_block );
+ FT_FREE( type1->glyph_names_block );
- FT_FREE( type1->encoding.char_index );
- FT_FREE( type1->encoding.char_name );
- FT_FREE( type1->font_name );
+ FT_FREE( type1->encoding.char_index );
+ FT_FREE( type1->encoding.char_name );
+ FT_FREE( type1->font_name );
#ifndef T1_CONFIG_OPTION_NO_AFM
- /* release afm data if present */
- if ( face->afm_data )
- T1_Done_Metrics( memory, (AFM_FontInfo)face->afm_data );
+ /* release afm data if present */
+ if ( face->afm_data )
+ T1_Done_Metrics( memory, (AFM_FontInfo)face->afm_data );
#endif
- /* release unicode map, if any */
+ /* release unicode map, if any */
#if 0
- FT_FREE( face->unicode_map_rec.maps );
- face->unicode_map_rec.num_maps = 0;
- face->unicode_map = NULL;
+ FT_FREE( face->unicode_map_rec.maps );
+ face->unicode_map_rec.num_maps = 0;
+ face->unicode_map = NULL;
#endif
- face->root.family_name = 0;
- face->root.style_name = 0;
- }
+ face->root.family_name = NULL;
+ face->root.style_name = NULL;
}
@@ -323,7 +326,7 @@
goto Exit;
/* check the face index */
- if ( face_index != 0 )
+ if ( face_index > 0 )
{
FT_ERROR(( "T1_Face_Init: invalid face index\n" ));
error = T1_Err_Invalid_Argument;
@@ -340,7 +343,7 @@
root->num_glyphs = type1->num_glyphs;
- root->face_index = face_index;
+ root->face_index = 0;
root->face_flags = FT_FACE_FLAG_SCALABLE |
FT_FACE_FLAG_HORIZONTAL |
@@ -355,15 +358,19 @@
/* XXX: TODO -- add kerning with .afm support */
+
+ /* The following code to extract the family and the style is very */
+ /* simplistic and might get some things wrong. For a full-featured */
+ /* algorithm you might have a look at the whitepaper given at */
+ /* */
+ /* http://blogs.msdn.com/text/archive/2007/04/23/wpf-font-selection-model.aspx */
+
/* get style name -- be careful, some broken fonts only */
/* have a `/FontName' dictionary entry! */
root->family_name = info->family_name;
- /* assume "Regular" style if we don't know better */
- root->style_name = (char *)"Regular";
+ root->style_name = NULL;
- if ( info->weight )
- root->style_name = info->weight;
- else if ( root->family_name )
+ if ( root->family_name )
{
char* full = info->full_name;
char* family = root->family_name;
@@ -371,6 +378,9 @@
if ( full )
{
+ FT_Bool the_same = TRUE;
+
+
while ( *full )
{
if ( *full == *family )
@@ -386,12 +396,17 @@
family++;
else
{
+ the_same = FALSE;
+
if ( !*family )
root->style_name = full;
break;
}
}
}
+
+ if ( the_same )
+ root->style_name = (char *)"Regular";
}
}
else
@@ -401,6 +416,15 @@
root->family_name = type1->font_name;
}
+ if ( !root->style_name )
+ {
+ if ( info->weight )
+ root->style_name = info->weight;
+ else
+ /* assume `Regular' style because we don't know better */
+ root->style_name = (char *)"Regular";
+ }
+
/* compute style flags */
root->style_flags = 0;
if ( info->italic_angle )
@@ -445,7 +469,7 @@
if ( !error )
root->max_advance_width = (FT_Short)max_advance;
else
- error = 0; /* clear error */
+ error = T1_Err_Ok; /* clear error */
}
root->max_advance_height = root->height;
@@ -467,7 +491,7 @@
charmap.face = root;
- /* first of all, try to synthetize a Unicode charmap */
+ /* first of all, try to synthesize a Unicode charmap */
charmap.platform_id = 3;
charmap.encoding_id = 1;
charmap.encoding = FT_ENCODING_UNICODE;
diff --git a/src/3rdparty/freetype/src/type1/t1tokens.h b/src/3rdparty/freetype/src/type1/t1tokens.h
index 788c811..2d692f0 100644
--- a/src/3rdparty/freetype/src/type1/t1tokens.h
+++ b/src/3rdparty/freetype/src/type1/t1tokens.h
@@ -4,7 +4,7 @@
/* */
/* Type 1 tokenizer (specification). */
/* */
-/* Copyright 1996-2001, 2002, 2003, 2004, 2006 by */
+/* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2008, 2009 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -42,6 +42,13 @@
T1_FIELD_NUM ( "UnderlineThickness", underline_thickness,
T1_FIELD_DICT_FONTDICT )
+#undef FT_STRUCTURE
+#define FT_STRUCTURE PS_FontExtraRec
+#undef T1CODE
+#define T1CODE T1_FIELD_LOCATION_FONT_EXTRA
+
+ T1_FIELD_NUM ( "FSType", fs_type,
+ T1_FIELD_DICT_FONTDICT )
#undef FT_STRUCTURE
#define FT_STRUCTURE PS_PrivateRec
@@ -87,7 +94,9 @@
T1_FIELD_FIXED ( "ExpansionFactor", expansion_factor,
T1_FIELD_DICT_PRIVATE )
-
+ T1_FIELD_BOOL ( "ForceBold", force_bold,
+ T1_FIELD_DICT_PRIVATE )
+
#undef FT_STRUCTURE
#define FT_STRUCTURE T1_FontRec
diff --git a/src/3rdparty/freetype/src/type42/module.mk b/src/3rdparty/freetype/src/type42/module.mk
index 8bd40a5..b3f10a8 100644
--- a/src/3rdparty/freetype/src/type42/module.mk
+++ b/src/3rdparty/freetype/src/type42/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += TYPE42_DRIVER
define TYPE42_DRIVER
-$(OPEN_DRIVER)t42_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, t42_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/type42/rules.mk b/src/3rdparty/freetype/src/type42/rules.mk
index 5563061..eac1081 100644
--- a/src/3rdparty/freetype/src/type42/rules.mk
+++ b/src/3rdparty/freetype/src/type42/rules.mk
@@ -3,7 +3,7 @@
#
-# Copyright 2002, 2003 by
+# Copyright 2002, 2003, 2008 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -32,7 +32,8 @@ T42_DRV_SRC := $(T42_DIR)/t42objs.c \
# Type42 driver headers
#
T42_DRV_H := $(T42_DRV_SRC:%.c=%.h) \
- $(T42_DIR)/t42error.h
+ $(T42_DIR)/t42error.h \
+ $(T42_DIR)/t42types.h
# Type42 driver object(s)
diff --git a/src/3rdparty/freetype/src/type42/t42drivr.c b/src/3rdparty/freetype/src/type42/t42drivr.c
index a6e4cf4..820c679 100644
--- a/src/3rdparty/freetype/src/type42/t42drivr.c
+++ b/src/3rdparty/freetype/src/type42/t42drivr.c
@@ -4,7 +4,7 @@
/* */
/* High-level Type 42 driver interface (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2006, 2007 by Roberto Alameda. */
+/* Copyright 2002, 2003, 2004, 2006, 2007, 2009 by Roberto Alameda. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -49,11 +49,11 @@
#define FT_COMPONENT trace_t42
- /*
- *
- * GLYPH DICT SERVICE
- *
- */
+ /*
+ *
+ * GLYPH DICT SERVICE
+ *
+ */
static FT_Error
t42_get_glyph_name( T42_Face face,
@@ -94,11 +94,11 @@
};
- /*
- *
- * POSTSCRIPT NAME SERVICE
- *
- */
+ /*
+ *
+ * POSTSCRIPT NAME SERVICE
+ *
+ */
static const char*
t42_get_ps_font_name( T42_Face face )
@@ -113,17 +113,28 @@
};
- /*
- *
- * POSTSCRIPT INFO SERVICE
- *
- */
+ /*
+ *
+ * POSTSCRIPT INFO SERVICE
+ *
+ */
static FT_Error
t42_ps_get_font_info( FT_Face face,
PS_FontInfoRec* afont_info )
{
*afont_info = ((T42_Face)face)->type1.font_info;
+
+ return T42_Err_Ok;
+ }
+
+
+ static FT_Error
+ t42_ps_get_font_extra( FT_Face face,
+ PS_FontExtraRec* afont_extra )
+ {
+ *afont_extra = ((T42_Face)face)->type1.font_extra;
+
return T42_Err_Ok;
}
@@ -132,6 +143,7 @@
t42_ps_has_glyph_names( FT_Face face )
{
FT_UNUSED( face );
+
return 1;
}
@@ -141,6 +153,7 @@
PS_PrivateRec* afont_private )
{
*afont_private = ((T42_Face)face)->type1.private_dict;
+
return T42_Err_Ok;
}
@@ -148,16 +161,17 @@
static const FT_Service_PsInfoRec t42_service_ps_info =
{
(PS_GetFontInfoFunc) t42_ps_get_font_info,
+ (PS_GetFontExtraFunc) t42_ps_get_font_extra,
(PS_HasGlyphNamesFunc) t42_ps_has_glyph_names,
(PS_GetFontPrivateFunc)t42_ps_get_font_private
};
- /*
- *
- * SERVICE LIST
- *
- */
+ /*
+ *
+ * SERVICE LIST
+ *
+ */
static const FT_ServiceDescRec t42_services[] =
{
diff --git a/src/3rdparty/freetype/src/type42/t42objs.c b/src/3rdparty/freetype/src/type42/t42objs.c
index db04fde..16e9809 100644
--- a/src/3rdparty/freetype/src/type42/t42objs.c
+++ b/src/3rdparty/freetype/src/type42/t42objs.c
@@ -4,7 +4,7 @@
/* */
/* Type 42 objects manager (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2007 by Roberto Alameda. */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Roberto Alameda. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -188,7 +188,7 @@
goto Exit;
/* check the face index */
- if ( face_index != 0 )
+ if ( face_index > 0 )
{
FT_ERROR(( "T42_Face_Init: invalid face index\n" ));
error = T42_Err_Invalid_Argument;
@@ -202,7 +202,7 @@
root->num_glyphs = type1->num_glyphs;
root->num_charmaps = 0;
- root->face_index = face_index;
+ root->face_index = 0;
root->face_flags = FT_FACE_FLAG_SCALABLE |
FT_FACE_FLAG_HORIZONTAL |
@@ -328,7 +328,7 @@
charmap.face = root;
- /* first of all, try to synthetize a Unicode charmap */
+ /* first of all, try to synthesize a Unicode charmap */
charmap.platform_id = 3;
charmap.encoding_id = 1;
charmap.encoding = FT_ENCODING_UNICODE;
@@ -392,50 +392,50 @@
FT_Memory memory;
- if ( face )
- {
- type1 = &face->type1;
- info = &type1->font_info;
- memory = face->root.memory;
+ if ( !face )
+ return;
+
+ type1 = &face->type1;
+ info = &type1->font_info;
+ memory = face->root.memory;
- /* delete internal ttf face prior to freeing face->ttf_data */
- if ( face->ttf_face )
- FT_Done_Face( face->ttf_face );
+ /* delete internal ttf face prior to freeing face->ttf_data */
+ if ( face->ttf_face )
+ FT_Done_Face( face->ttf_face );
- /* release font info strings */
- FT_FREE( info->version );
- FT_FREE( info->notice );
- FT_FREE( info->full_name );
- FT_FREE( info->family_name );
- FT_FREE( info->weight );
+ /* release font info strings */
+ FT_FREE( info->version );
+ FT_FREE( info->notice );
+ FT_FREE( info->full_name );
+ FT_FREE( info->family_name );
+ FT_FREE( info->weight );
- /* release top dictionary */
- FT_FREE( type1->charstrings_len );
- FT_FREE( type1->charstrings );
- FT_FREE( type1->glyph_names );
+ /* release top dictionary */
+ FT_FREE( type1->charstrings_len );
+ FT_FREE( type1->charstrings );
+ FT_FREE( type1->glyph_names );
- FT_FREE( type1->charstrings_block );
- FT_FREE( type1->glyph_names_block );
+ FT_FREE( type1->charstrings_block );
+ FT_FREE( type1->glyph_names_block );
- FT_FREE( type1->encoding.char_index );
- FT_FREE( type1->encoding.char_name );
- FT_FREE( type1->font_name );
+ FT_FREE( type1->encoding.char_index );
+ FT_FREE( type1->encoding.char_name );
+ FT_FREE( type1->font_name );
- FT_FREE( face->ttf_data );
+ FT_FREE( face->ttf_data );
#if 0
- /* release afm data if present */
- if ( face->afm_data )
- T1_Done_AFM( memory, (T1_AFM*)face->afm_data );
+ /* release afm data if present */
+ if ( face->afm_data )
+ T1_Done_AFM( memory, (T1_AFM*)face->afm_data );
#endif
- /* release unicode map, if any */
- FT_FREE( face->unicode_map.maps );
- face->unicode_map.num_maps = 0;
+ /* release unicode map, if any */
+ FT_FREE( face->unicode_map.maps );
+ face->unicode_map.num_maps = 0;
- face->root.family_name = 0;
- face->root.style_name = 0;
- }
+ face->root.family_name = 0;
+ face->root.style_name = 0;
}
@@ -519,7 +519,7 @@
FT_Activate_Size( size->ttsize );
- error = FT_Select_Size( face->ttf_face, strike_index );
+ error = FT_Select_Size( face->ttf_face, (FT_Int)strike_index );
if ( !error )
( (FT_Size)size )->metrics = face->ttf_face->size->metrics;
diff --git a/src/3rdparty/freetype/src/type42/t42parse.c b/src/3rdparty/freetype/src/type42/t42parse.c
index 7d8c267..b9e408c 100644
--- a/src/3rdparty/freetype/src/type42/t42parse.c
+++ b/src/3rdparty/freetype/src/type42/t42parse.c
@@ -4,7 +4,8 @@
/* */
/* Type 42 font parser (body). */
/* */
-/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Roberto Alameda. */
+/* Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */
+/* Roberto Alameda. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -70,6 +71,13 @@
T1_FIELD_NUM ( "UnderlineThickness", underline_thickness, 0 )
#undef FT_STRUCTURE
+#define FT_STRUCTURE PS_FontExtraRec
+#undef T1CODE
+#define T1CODE T1_FIELD_LOCATION_FONT_EXTRA
+
+ T1_FIELD_NUM ( "FSType", fs_type, 0 )
+
+#undef FT_STRUCTURE
#define FT_STRUCTURE T1_FontRec
#undef T1CODE
#define T1CODE T1_FIELD_LOCATION_FONT_DICT
diff --git a/src/3rdparty/freetype/src/type42/t42types.h b/src/3rdparty/freetype/src/type42/t42types.h
index 6626b04..c7c2db4 100644
--- a/src/3rdparty/freetype/src/type42/t42types.h
+++ b/src/3rdparty/freetype/src/type42/t42types.h
@@ -4,7 +4,7 @@
/* */
/* Type 42 font data types (specification only). */
/* */
-/* Copyright 2002, 2003, 2006 by Roberto Alameda. */
+/* Copyright 2002, 2003, 2006, 2008 by Roberto Alameda. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
@@ -35,7 +35,9 @@ FT_BEGIN_HEADER
T1_FontRec type1;
const void* psnames;
const void* psaux;
+#if 0
const void* afm_data;
+#endif
FT_Byte* ttf_data;
FT_ULong ttf_size;
FT_Face ttf_face;
@@ -48,7 +50,7 @@ FT_BEGIN_HEADER
FT_END_HEADER
-#endif /* __T1TYPES_H__ */
+#endif /* __T42TYPES_H__ */
/* END */
diff --git a/src/3rdparty/freetype/src/winfonts/module.mk b/src/3rdparty/freetype/src/winfonts/module.mk
index 0ace3ae..b44d7f0 100644
--- a/src/3rdparty/freetype/src/winfonts/module.mk
+++ b/src/3rdparty/freetype/src/winfonts/module.mk
@@ -16,7 +16,7 @@
FTMODULE_H_COMMANDS += WINDOWS_DRIVER
define WINDOWS_DRIVER
-$(OPEN_DRIVER)winfnt_driver_class$(CLOSE_DRIVER)
+$(OPEN_DRIVER) FT_Driver_ClassRec, winfnt_driver_class $(CLOSE_DRIVER)
$(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE)
endef
diff --git a/src/3rdparty/freetype/src/winfonts/winfnt.c b/src/3rdparty/freetype/src/winfonts/winfnt.c
index 833fb88..f6e9859 100644
--- a/src/3rdparty/freetype/src/winfonts/winfnt.c
+++ b/src/3rdparty/freetype/src/winfonts/winfnt.c
@@ -360,7 +360,7 @@
if ( face_index >= font_count )
{
- error = FNT_Err_Bad_Argument;
+ error = FNT_Err_Invalid_Argument;
goto Exit;
}
else if ( face_index < 0 )
@@ -566,7 +566,7 @@
if ( face_index >= face->root.num_faces )
{
- error = FNT_Err_Bad_Argument;
+ error = FNT_Err_Invalid_Argument;
goto Exit;
}
}
@@ -612,8 +612,9 @@
char_code -= cmap->first;
if ( char_code < cmap->count )
- gindex = char_code + 1; /* we artificially increase the glyph index; */
- /* FNT_Load_Glyph reverts to the right one */
+ /* we artificially increase the glyph index; */
+ /* FNT_Load_Glyph reverts to the right one */
+ gindex = (FT_UInt)( char_code + 1 );
return gindex;
}
@@ -638,7 +639,7 @@
if ( char_code < cmap->count )
{
result = cmap->first + char_code;
- gindex = char_code + 1;
+ gindex = (FT_UInt)( char_code + 1 );
}
}
@@ -665,16 +666,18 @@
static void
FNT_Face_Done( FNT_Face face )
{
- if ( face )
- {
- FT_Memory memory = FT_FACE_MEMORY( face );
+ FT_Memory memory;
- fnt_font_done( face );
+ if ( !face )
+ return;
- FT_FREE( face->root.available_sizes );
- face->root.num_fixed_sizes = 0;
- }
+ memory = FT_FACE_MEMORY( face );
+
+ fnt_font_done( face );
+
+ FT_FREE( face->root.available_sizes );
+ face->root.num_fixed_sizes = 0;
}
@@ -716,7 +719,7 @@
if ( !error )
{
if ( face_index > 0 )
- error = FNT_Err_Bad_Argument;
+ error = FNT_Err_Invalid_Argument;
else if ( face_index < 0 )
goto Exit;
}
@@ -733,6 +736,8 @@
FT_PtrDist family_size;
+ root->face_index = face_index;
+
root->face_flags = FT_FACE_FLAG_FIXED_SIZES |
FT_FACE_FLAG_HORIZONTAL;
@@ -780,7 +785,7 @@
* => nominal_point_size contains incorrect value;
* use pixel_height as the nominal height
*/
- if ( bsize->y_ppem > font->header.pixel_height << 6 )
+ if ( bsize->y_ppem > ( font->header.pixel_height << 6 ) )
{
FT_TRACE2(( "use pixel_height as the nominal height\n" ));
@@ -909,7 +914,7 @@
switch ( req->type )
{
case FT_SIZE_REQUEST_TYPE_NOMINAL:
- if ( height == ( bsize->y_ppem + 32 ) >> 6 )
+ if ( height == ( ( bsize->y_ppem + 32 ) >> 6 ) )
error = FNT_Err_Ok;
break;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
index 1dfb409..dd90f39 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
@@ -53,45 +53,57 @@ public:
/*!
\class QWebElement
\since 4.6
- \brief The QWebElement class provides convenient access to DOM elements in a QWebFrame.
+ \brief The QWebElement class provides convenient access to DOM elements in
+ a QWebFrame.
- QWebElement is the main class to easily access to the document model.
- The document model is represented by a tree-like structure of DOM elements.
- The root of the tree is called the document element and can be accessed using QWebFrame::documentElement().
- You can reach specific elements using findAll() and findFirst(); the elements
- are identified through CSS selectors.
+ A QWebElement object allows easy access to the document model, represented
+ by a tree-like structure of DOM elements. The root of the tree is called
+ the document element and can be accessed using
+ QWebFrame::documentElement().
+
+ Specific elements can be accessed using findAll() and findFirst(). These
+ elements are identified using CSS selectors. The code snippet below
+ demonstrates the use of findAll().
\snippet webkitsnippets/webelement/main.cpp FindAll
- The first list contains all \c span elements in the document. The second list contains
- \c span elements that are children of \c p, classified with \c intro.
+ The first list contains all \c span elements in the document. The second
+ list contains \c span elements that are children of \c p, classified with
+ \c intro.
- Using findFirst() is more efficient than calling findAll() and extracting the first element
- only in the returned list.
+ Using findFirst() is more efficient than calling findAll(), and extracting
+ the first element only in the list returned.
- Alternatively you can manually traverse the document using firstChild() and nextSibling():
+ Alternatively you can traverse the document manually using firstChild() and
+ nextSibling():
\snippet webkitsnippets/webelement/main.cpp Traversing with QWebElement
- The underlying content of QWebElement is explicitly shared. Creating a copy of a QWebElement
- does not create a copy of the content. Instead, both instances point to the same element.
+ The underlying content of QWebElement is explicitly shared. Creating a copy
+ of a QWebElement does not create a copy of the content. Instead, both
+ instances point to the same element.
- The element's attributes can be read using attribute() and modified with setAttribute().
+ The element's attributes can be read using attribute() and modified with
+ setAttribute().
- The contents of child elements can be converted to plain text with toPlainText() and to
- XHTML using toInnerXml(). To also include the element's tag in the output, use toOuterXml().
+ The contents of child elements can be converted to plain text with
+ toPlainText(); to XHTML using toInnerXml(). To include the element's tag in
+ the output, use toOuterXml().
- It is possible to replace the contents using setPlainText() and setInnerXml(). To replace
- the element itself and its contents, use setOuterXml().
+ It is possible to replace the contents of child elements using
+ setPlainText() and setInnerXml(). To replace the element itself and its
+ contents, use setOuterXml().
- In the JavaScript DOM interfaces, elements can have additional functions depending on their
- type. For example an HTML form element can be triggered to submit the entire form to the
- web server using the submit() function. A list of these special functions can be obtained
- in QWebElement using functions(); they can be invoked using callFunction().
+ In the JavaScript DOM interfaces, elements can have additional functions
+ depending on their type. For example, an HTML form element can be triggered
+ to submit the entire form to the web server using the submit() function. A
+ list of these special functions can be obtained in QWebElement using
+ functions(); they can be invoked using callFunction().
- Similarly element specific properties can be obtained using scriptableProperties() and
- read/written using scriptableProperty()/setScriptableProperty().
+ Similarly, element specific properties can be obtained using
+ scriptableProperties() and read or written using scriptableProperty() or
+ setScriptableProperty().
*/
/*!
@@ -156,7 +168,7 @@ QWebElement &QWebElement::operator=(const QWebElement &other)
}
/*!
- Destroys the element. The underlying DOM element is not destroyed.
+ Destroys the element. However, the underlying DOM element is not destroyed.
*/
QWebElement::~QWebElement()
{
@@ -176,7 +188,7 @@ bool QWebElement::operator!=(const QWebElement& o) const
}
/*!
- Returns true if the element is a null element; false otherwise.
+ Returns true if the element is a null element; otherwise returns false.
*/
bool QWebElement::isNull() const
{
@@ -184,13 +196,16 @@ bool QWebElement::isNull() const
}
/*!
- Returns a new list of child elements matching the given CSS selector \a selectorQuery.
- If there are no matching elements, an empty list is returned.
+ Returns a new list of child elements matching the given CSS selector
+ \a selectorQuery. If there are no matching elements, an empty list is
+ returned.
- \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
- used for the query.
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector}
+ syntax is used for the query.
\note This search is performed recursively.
+
+ \sa findFirst()
*/
QList<QWebElement> QWebElement::findAll(const QString &selectorQuery) const
{
@@ -212,12 +227,15 @@ QList<QWebElement> QWebElement::findAll(const QString &selectorQuery) const
}
/*!
- Returns the first child element that matches the given CSS selector \a selectorQuery.
+ Returns the first child element that matches the given CSS selector
+ \a selectorQuery.
- \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector} syntax is
- used for the query.
+ \l{http://www.w3.org/TR/REC-CSS2/selector.html#q1}{Standard CSS2 selector}
+ syntax is used for the query.
\note This search is performed recursively.
+
+ \sa findAll()
*/
QWebElement QWebElement::findFirst(const QString &selectorQuery) const
{
@@ -231,6 +249,8 @@ QWebElement QWebElement::findFirst(const QString &selectorQuery) const
Replaces the existing content of this element with \a text.
This is equivalent to setting the HTML innerText property.
+
+ \sa toPlainText()
*/
void QWebElement::setPlainText(const QString &text)
{
@@ -245,6 +265,8 @@ void QWebElement::setPlainText(const QString &text)
element.
This is equivalent to reading the HTML innerText property.
+
+ \sa setPlainText()
*/
QString QWebElement::toPlainText() const
{
@@ -254,11 +276,13 @@ QString QWebElement::toPlainText() const
}
/*!
- Replaces the contents of this element as well as its own tag with \a markup.
- The string may contain HTML or XML tags, which is parsed and formatted
- before insertion into the document.
+ Replaces the contents of this element as well as its own tag with
+ \a markup. The string may contain HTML or XML tags, which is parsed and
+ formatted before insertion into the document.
\note This is currently only implemented for (X)HTML elements.
+
+ \sa toOuterXml(), toInnerXml(), setInnerXml()
*/
void QWebElement::setOuterXml(const QString &markup)
{
@@ -272,9 +296,11 @@ void QWebElement::setOuterXml(const QString &markup)
/*!
Returns this element converted to XML, including the start and the end
- tag of this element and its attributes.
+ tags as well as its attributes.
- \note This is currently only implemented for (X)HTML elements.
+ \note This is currently implemented for (X)HTML elements only.
+
+ \sa setOuterXml(), setInnerXml(), toInnerXml()
*/
QString QWebElement::toOuterXml() const
{
@@ -285,11 +311,13 @@ QString QWebElement::toOuterXml() const
}
/*!
- Replaces the content of this element with \a markup.
- The string may contain HTML or XML tags, which is parsed and formatted
- before insertion into the document.
+ Replaces the contents of this element with \a markup. The string may
+ contain HTML or XML tags, which is parsed and formatted before insertion
+ into the document.
- \note This is currently only implemented for (X)HTML elements.
+ \note This is currently implemented for (X)HTML elements only.
+
+ \sa toInnerXml(), toOuterXml(), setOuterXml()
*/
void QWebElement::setInnerXml(const QString &markup)
{
@@ -302,10 +330,11 @@ void QWebElement::setInnerXml(const QString &markup)
}
/*!
- Returns the XML between the start and the end tag of this
- element.
+ Returns the XML content between the element's start and end tags.
- \note This is currently only implemented for (X)HTML elements.
+ \note This is currently implemented for (X)HTML elements only.
+
+ \sa setInnerXml(), setOuterXml(), toOuterXml()
*/
QString QWebElement::toInnerXml() const
{
@@ -316,8 +345,10 @@ QString QWebElement::toInnerXml() const
}
/*!
- Adds an attribute called \a name with the value \a value. If an attribute
- with the same name exists, its value is replaced by \a value.
+ Adds an attribute with the given \a name and \a value. If an attribute with
+ the same name exists, its value is replaced by \a value.
+
+ \sa attribute(), attributeNS(), setAttributeNS()
*/
void QWebElement::setAttribute(const QString &name, const QString &value)
{
@@ -328,9 +359,11 @@ void QWebElement::setAttribute(const QString &name, const QString &value)
}
/*!
- Adds an attribute called \a name in the namespace described with \a namespaceUri
- with the value \a value. If an attribute with the same name exists, its value is
- replaced by \a value.
+ Adds an attribute with the given \a name in \a namespaceUri with \a value.
+ If an attribute with the same name exists, its value is replaced by
+ \a value.
+
+ \sa attributeNS(), attribute(), setAttribute()
*/
void QWebElement::setAttributeNS(const QString &namespaceUri, const QString &name, const QString &value)
{
@@ -341,8 +374,10 @@ void QWebElement::setAttributeNS(const QString &namespaceUri, const QString &nam
}
/*!
- Returns the attributed called \a name. If the attribute does not exist \a defaultValue is
- returned.
+ Returns the attribute with the given \a name. If the attribute does not
+ exist, \a defaultValue is returned.
+
+ \sa setAttribute(), setAttributeNS(), attributeNS()
*/
QString QWebElement::attribute(const QString &name, const QString &defaultValue) const
{
@@ -355,8 +390,10 @@ QString QWebElement::attribute(const QString &name, const QString &defaultValue)
}
/*!
- Returns the attributed called \a name in the namespace described with \a namespaceUri.
- If the attribute does not exist \a defaultValue is returned.
+ Returns the attribute with the given \a name in \a namespaceUri. If the
+ attribute does not exist, \a defaultValue is returned.
+
+ \sa setAtributeNS(), setAttribute(), attribute()
*/
QString QWebElement::attributeNS(const QString &namespaceUri, const QString &name, const QString &defaultValue) const
{
@@ -369,7 +406,10 @@ QString QWebElement::attributeNS(const QString &namespaceUri, const QString &nam
}
/*!
- Returns true if this element has an attribute called \a name; otherwise returns false.
+ Returns true if this element has an attribute with the given \a name;
+ otherwise returns false.
+
+ \sa attribute(), setAttribute()
*/
bool QWebElement::hasAttribute(const QString &name) const
{
@@ -379,8 +419,10 @@ bool QWebElement::hasAttribute(const QString &name) const
}
/*!
- Returns true if this element has an attribute called \a name in the namespace described
- with \a namespaceUri; otherwise returns false.
+ Returns true if this element has an attribute with the given \a name, in
+ \a namespaceUri; otherwise returns false.
+
+ \sa attributeNS(), setAttributeNS()
*/
bool QWebElement::hasAttributeNS(const QString &namespaceUri, const QString &name) const
{
@@ -390,7 +432,9 @@ bool QWebElement::hasAttributeNS(const QString &namespaceUri, const QString &nam
}
/*!
- Removes the attribute called \a name from this element.
+ Removes the attribute with the given \a name from this element.
+
+ \sa attribute(), setAttribute(), hasAttribute()
*/
void QWebElement::removeAttribute(const QString &name)
{
@@ -401,8 +445,10 @@ void QWebElement::removeAttribute(const QString &name)
}
/*!
- Removes the attribute called \a name in the namespace described with \a namespaceUri
- from this element.
+ Removes the attribute with the given \a name, in \a namespaceUri, from this
+ element.
+
+ \sa attributeNS(), setAttributeNS(), hasAttributeNS()
*/
void QWebElement::removeAttributeNS(const QString &namespaceUri, const QString &name)
{
@@ -413,7 +459,10 @@ void QWebElement::removeAttributeNS(const QString &namespaceUri, const QString &
}
/*!
- Returns true if the element has any attributes defined; otherwise returns false;
+ Returns true if the element has any attributes defined; otherwise returns
+ false;
+
+ \sa attribute(), setAttribute()
*/
bool QWebElement::hasAttributes() const
{
@@ -424,6 +473,8 @@ bool QWebElement::hasAttributes() const
/*!
Returns the geometry of this element, relative to its containing frame.
+
+ \sa tagName()
*/
QRect QWebElement::geometry() const
{
@@ -434,6 +485,8 @@ QRect QWebElement::geometry() const
/*!
Returns the tag name of this element.
+
+ \sa geometry()
*/
QString QWebElement::tagName() const
{
@@ -443,7 +496,8 @@ QString QWebElement::tagName() const
}
/*!
- Returns the namespace prefix of the element or an empty string if the element has no namespace prefix.
+ Returns the namespace prefix of the element. If the element has no\
+ namespace prefix, empty string is returned.
*/
QString QWebElement::prefix() const
{
@@ -453,8 +507,8 @@ QString QWebElement::prefix() const
}
/*!
- If the element uses namespaces, this function returns the local name of the element;
- otherwise it returns an empty string.
+ Returns the local name of the element. If the element does not use
+ namespaces, an empty string is returned.
*/
QString QWebElement::localName() const
{
@@ -464,7 +518,8 @@ QString QWebElement::localName() const
}
/*!
- Returns the namespace URI of this element or an empty string if the element has no namespace URI.
+ Returns the namespace URI of this element. If the element has no namespace
+ URI, an empty string is returned.
*/
QString QWebElement::namespaceUri() const
{
@@ -474,8 +529,8 @@ QString QWebElement::namespaceUri() const
}
/*!
- Returns the parent element of this element or a null element if this element
- is the root document element.
+ Returns the parent element of this elemen. If this element is the root
+ document element, a null element is returned.
*/
QWebElement QWebElement::parent() const
{
@@ -485,9 +540,9 @@ QWebElement QWebElement::parent() const
}
/*!
- Returns the first child element of this element.
+ Returns the element's first child.
- \sa lastChild() previousSibling() nextSibling()
+ \sa lastChild(), previousSibling(), nextSibling()
*/
QWebElement QWebElement::firstChild() const
{
@@ -503,9 +558,9 @@ QWebElement QWebElement::firstChild() const
}
/*!
- Returns the last child element of this element.
+ Returns the element's last child.
- \sa firstChild() previousSibling() nextSibling()
+ \sa firstChild(), previousSibling(), nextSibling()
*/
QWebElement QWebElement::lastChild() const
{
@@ -521,9 +576,9 @@ QWebElement QWebElement::lastChild() const
}
/*!
- Returns the next sibling element of this element.
+ Returns the element's next sibling.
- \sa firstChild() previousSibling() lastChild()
+ \sa firstChild(), previousSibling(), lastChild()
*/
QWebElement QWebElement::nextSibling() const
{
@@ -539,9 +594,9 @@ QWebElement QWebElement::nextSibling() const
}
/*!
- Returns the previous sibling element of this element.
+ Returns the element's previous sibling.
- \sa firstChild() nextSibling() lastChild()
+ \sa firstChild(), nextSibling(), lastChild()
*/
QWebElement QWebElement::previousSibling() const
{
@@ -557,7 +612,7 @@ QWebElement QWebElement::previousSibling() const
}
/*!
- Returns the document this element belongs to.
+ Returns the document which this element belongs to.
*/
QWebElement QWebElement::document() const
{
@@ -570,8 +625,8 @@ QWebElement QWebElement::document() const
}
/*!
- Returns the web frame this elements is a part of. If the element is
- a null element null is returned.
+ Returns the web frame which this element is a part of. If the element is a
+ null element, null is returned.
*/
QWebFrame *QWebElement::webFrame() const
{
@@ -647,7 +702,7 @@ static bool setupScriptObject(WebCore::Element* element, ScriptObject& object, S
}
/*!
- Executes the \a scriptSource with this element as the `this' object.
+ Executes \a scriptSource with this element as \c this object.
\sa callFunction()
*/
@@ -680,9 +735,10 @@ QVariant QWebElement::evaluateScript(const QString& scriptSource)
/*!
Calls the function with the given \a name and \a arguments.
- The underlying DOM element that QWebElement wraps may have dedicated functions depending
- on its type. For example a form element can have the "submit" function, that would submit
- the form to the destination specified in the HTML.
+ The underlying DOM element that QWebElement wraps may have dedicated
+ functions, depending on its type. For example, a form element can have the
+ \c submit function, that would submit the form to the destination specified
+ in the HTML.
\sa functions()
*/
@@ -713,7 +769,7 @@ QVariant QWebElement::callFunction(const QString &name, const QVariantList &argu
/*!
Returns a list of function names this element supports.
- The function names returned are the same functions that are callable from the DOM
+ The function names returned are the same functions callable from the DOM
element's JavaScript binding.
\sa callFunction()
@@ -763,14 +819,14 @@ QStringList QWebElement::functions() const
}
/*!
- Returns the value of the element's \a name property.
+ Returns the value of the element's \a name property. If no such property
+ exists, an invalid QVariant is returned.
- If no such property exists, the returned variant is invalid.
+ The return value's property has the same value as the corresponding
+ property in the element's JavaScript binding with the same name.
- The return property has the same value as the corresponding property
- in the element's JavaScript binding with the same name.
-
- Information about all available properties is provided through scriptProperties().
+ Information about all available properties is provided through
+ scriptProperties().
\sa setScriptableProperty(), scriptableProperties()
*/
@@ -797,10 +853,11 @@ QVariant QWebElement::scriptableProperty(const QString &name) const
/*!
Sets the value of the element's \a name property to \a value.
- Information about all available properties is provided through scriptProperties().
+ Information about all available properties is provided through
+ scriptProperties().
- Setting the property will affect the corresponding property
- in the element's JavaScript binding with the same name.
+ Setting the property will affect the corresponding property in the
+ element's JavaScript binding with the same name.
\sa scriptableProperty(), scriptableProperties()
*/
@@ -827,8 +884,8 @@ void QWebElement::setScriptableProperty(const QString &name, const QVariant &val
/*!
Returns a list of property names this element supports.
- The function names returned are the same properties that are accessible from the DOM
- element's JavaScript binding.
+ The function names returned are the same properties that are accessible
+ from the DOM element's JavaScript binding.
\sa setScriptableProperty(), scriptableProperty()
*/
@@ -894,10 +951,12 @@ QStringList QWebElement::scriptableProperties() const
This enum describes how QWebElement's styleProperty resolves the given
property name.
- \value IgnoreCascadingStyles Return the property value as it is defined
- in the element, without respecting style inheritance and other CSS rules.
- \value RespectCascadingStyles The property's value is determined using
- the inheritance and importance rules defined in the document's stylesheet.
+ \value IgnoreCascadingStyles Return the property value as it is defined in
+ the element, without respecting style inheritance and other CSS
+ rules.
+ \value RespectCascadingStyles The property's value is determined using the
+ inheritance and importance rules defined in the document's
+ stylesheet.
*/
/*!
@@ -907,17 +966,17 @@ QStringList QWebElement::scriptableProperties() const
This enum describes the priority newly set CSS properties should have when
set using QWebElement::setStyleProperty().
- \value NormalStylePriority Define the property without important
- priority even if "!important" is explicitly set in \a value.
- \value DeclaredStylePriority Define the property respecting the
- priority specified in \a value.
- \value ImportantStylePriority Define the property to have
- an important priority, this is equal to appending "!important" to the value.
+ \value NormalStylePriority Define the property without important priority
+ even if "!important" is explicitly set in \a value.
+ \value DeclaredStylePriority Define the property respecting the priority
+ specified in \a value.
+ \value ImportantStylePriority Define the property to have an important
+ priority. This is equal to appending "!important" to the value.
*/
/*!
- Returns the value of the style named \a name or an empty string if such one
- does not exist.
+ Returns the value of the style with the given \a name. If a style with
+ \name does not exist, an empty string is returned.
If \a rule is IgnoreCascadingStyles, the value defined inside the element
(inline in CSS terminology) is returned.
@@ -925,14 +984,17 @@ QStringList QWebElement::scriptableProperties() const
if \a rule is RespectCascadingStyles, the actual style applied to the
element is returned.
- In CSS, the cascading part has to do with which CSS rule has priority and
- is thus applied. Generally speaking, the last defined rule has priority,
- thus an inline style rule has priority over an embedded block style rule,
- which in return has priority over an external style rule.
+ In CSS, the cascading part depends on which CSS rule has priority and is
+ thus applied. Generally, the last defined rule has priority. Thus, an
+ inline style rule has priority over an embedded block style rule, which
+ in return has priority over an external style rule.
+
+ If the "!important" declaration is set on one of those, the declaration
+ receives highest priority, unless other declarations also use the
+ "!important" declaration. Then, the last "!important" declaration takes
+ predecence.
- If the !important declaration is set on one of those, the declaration gets
- highest priority, unless other declarations also use the !important
- declaration, in which the last !important declaration takes predecence.
+ \sa setStyleProperty()
*/
QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const
{
@@ -981,9 +1043,9 @@ QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const
}
/*!
- Sets the value of the style named \a name to \a value.
+ Sets the value of the style with the given \a name to \a value.
- Setting a value, doesn't necessarily mean that it will become the applied
+ Setting a value, does not necessarily mean that it will become the applied
value, due to the fact that the style property's value might have been set
earlier with priority in external or embedded style declarations.
@@ -998,7 +1060,8 @@ QString QWebElement::styleProperty(const QString &name, ResolveRule rule) const
Using NormalStylePriority as \a priority, the property will have normal
priority, and any "!important" declaration will be ignored. On the other
hand, using ImportantStylePriority sets the important priority even when
- not explicit passed in \a value.
+ it is not explicitly passed in \a value.
+
By using DeclaredStylePriority as \a priority the property will respect the
priority specified in \a value.
*/
@@ -1035,7 +1098,8 @@ void QWebElement::setStyleProperty(const QString &name, const QString &value, St
}
/*!
- Returns the computed value for style named \a name or an empty string if the style has no such name.
+ Returns the computed value for style with the given \a name. If a style
+ with \name does not exist, an empty string is returned.
*/
QString QWebElement::computedStyleProperty(const QString &name) const
{
@@ -1083,7 +1147,8 @@ QStringList QWebElement::classes() const
}
/*!
- Returns true if this element has a class called \a name; otherwise returns false.
+ Returns true if this element has a class with the given \a name; otherwise
+ returns false.
*/
bool QWebElement::hasClass(const QString &name) const
{
@@ -1092,7 +1157,7 @@ bool QWebElement::hasClass(const QString &name) const
}
/*!
- Adds the specified class \a name to the element.
+ Adds the specified class with the given \a name to the element.
*/
void QWebElement::addClass(const QString &name)
{
@@ -1105,7 +1170,7 @@ void QWebElement::addClass(const QString &name)
}
/*!
- Removes the specified class \a name from the element.
+ Removes the specified class with the given \a name from the element.
*/
void QWebElement::removeClass(const QString &name)
{
@@ -1118,8 +1183,8 @@ void QWebElement::removeClass(const QString &name)
}
/*!
- Adds the specified class \a name if it is not present,
- removes it if it is already present.
+ Adds the specified class with the given \a name if it is not present. If
+ the class is already present, it will be removed.
*/
void QWebElement::toggleClass(const QString &name)
{
@@ -1134,11 +1199,11 @@ void QWebElement::toggleClass(const QString &name)
}
/*!
- Appends \a element as the element's last child.
+ Appends the given \a element as the element's last child.
- If \a element is the child of another element, it is re-parented
- to this element. If \a element is a child of this element, then
- its position in the list of children is changed.
+ If \a element is the child of another element, it is re-parented to this
+ element. If \a element is a child of this element, then its position in
+ the list of children is changed.
Calling this function on a null element does nothing.
@@ -1178,9 +1243,9 @@ void QWebElement::appendInside(const QString &markup)
/*!
Prepends \a element as the element's first child.
- If \a element is the child of another element, it is re-parented
- to this element. If \a element is a child of this element, then
- its position in the list of children is changed.
+ If \a element is the child of another element, it is re-parented to this
+ element. If \a element is a child of this element, then its position in
+ the list of children is changed.
Calling this function on a null element does nothing.
@@ -1227,10 +1292,10 @@ void QWebElement::prependInside(const QString &markup)
/*!
- Inserts \a element before this element.
+ Inserts the given \a element before this element.
- If \a element is the child of another element, it is re-parented
- to the parent of this element.
+ If \a element is the child of another element, it is re-parented to the
+ parent of this element.
Calling this function on a null element does nothing.
@@ -1274,10 +1339,10 @@ void QWebElement::prependOutside(const QString &markup)
}
/*!
- Inserts \a element after this element.
+ Inserts the given \a element after this element.
- If \a element is the child of another element, it is re-parented
- to the parent of this element.
+ If \a element is the child of another element, it is re-parented to the
+ parent of this element.
Calling this function on a null element does nothing.
@@ -1342,11 +1407,10 @@ QWebElement QWebElement::clone() const
}
/*!
- Removes this element from the document and returns a reference
- to this.
+ Removes this element from the document and returns a reference to it.
- The element is still valid after removal, and can be inserted into
- other parts of the document.
+ The element is still valid after removal, and can be inserted into other
+ parts of the document.
\sa removeChildren(), removeFromDocument()
*/
@@ -1362,8 +1426,7 @@ QWebElement &QWebElement::takeFromDocument()
}
/*!
- Removes this element from the document and makes this
- a null element.
+ Removes this element from the document and makes it a null element.
\sa removeChildren(), takeFromDocument()
*/
@@ -1414,9 +1477,10 @@ static RefPtr<Node> findInsertionPoint(PassRefPtr<Node> root)
}
/*!
- Enclose the contents of this element in \a element as the child
- of the deepest descendant element within the structure of the
- first element provided.
+ Encloses the contents of this element with \a element. This element becomes
+ the child of the deepest descendant within \a element.
+
+ ### illustration
\sa encloseWith()
*/
@@ -1446,9 +1510,8 @@ void QWebElement::encloseContentsWith(const QWebElement &element)
}
/*!
- Enclose the contents of this element in the result of parsing
- \a markup as the child of the deepest descendant element within
- the structure of the first element provided.
+ Encloses the contents of this element with the result of parsing \a markup.
+ This element becomes the child of the deepest descendant within \a markup.
\sa encloseWith()
*/
@@ -1490,9 +1553,8 @@ void QWebElement::encloseContentsWith(const QString &markup)
}
/*!
- Enclose this element in \a element as the child of the deepest
- descendant element within the structure of the first element
- provided.
+ Encloses this element with \a element. This element becomes the child of
+ the deepest descendant within \a element.
\sa replace()
*/
@@ -1523,8 +1585,8 @@ void QWebElement::encloseWith(const QWebElement &element)
}
/*!
- Enclose this element in the result of parsing \a markup,
- as the last child.
+ Encloses this element with the result of parsing \a markup. This element
+ becomes the child of the deepest descendant within \a markup.
\sa replace()
*/
@@ -1569,8 +1631,7 @@ void QWebElement::encloseWith(const QString &markup)
/*!
Replaces this element with \a element.
- It is not possible to replace the <html>, <head>, or <body>
- elements using this method.
+ This method will not replace the <html>, <head> or <body> elements.
\sa encloseWith()
*/
@@ -1586,8 +1647,7 @@ void QWebElement::replace(const QWebElement &element)
/*!
Replaces this element with the result of parsing \a markup.
- It is not possible to replace the <html>, <head>, or <body>
- elements using this method.
+ This method will not replace the <html>, <head> or <body> elements.
\sa encloseWith()
*/
@@ -1603,11 +1663,13 @@ void QWebElement::replace(const QString &markup)
/*!
\fn inline bool QWebElement::operator==(const QWebElement& o) const;
- Returns true if this element points to the same underlying DOM object than \a o; otherwise returns false.
+ Returns true if this element points to the same underlying DOM object as
+ \a o; otherwise returns false.
*/
/*!
\fn inline bool QWebElement::operator!=(const QWebElement& o) const;
- Returns true if this element points to a different underlying DOM object than \a o; otherwise returns false.
+ Returns true if this element points to a different underlying DOM object
+ than \a o; otherwise returns false.
*/
diff --git a/src/corelib/animation/qpropertyanimation.cpp b/src/corelib/animation/qpropertyanimation.cpp
index 598e994..0c1feee 100644
--- a/src/corelib/animation/qpropertyanimation.cpp
+++ b/src/corelib/animation/qpropertyanimation.cpp
@@ -293,7 +293,12 @@ void QPropertyAnimation::updateState(QAbstractAnimation::State oldState,
hash.insert(key, this);
// update the default start value
if (oldState == Stopped) {
- d->setDefaultStartValue(d->target->property(d->propertyName.constData()));
+ d->setDefaultStartEndValue(d->target->property(d->propertyName.constData()));
+ //let's check if we have a start value and an end value
+ if (d->direction == Forward && !startValue().isValid() && !d->defaultStartEndValue.isValid())
+ qWarning("QPropertyAnimation::updateState: starting an animation without start value");
+ if (d->direction == Backward && !endValue().isValid() && !d->defaultStartEndValue.isValid())
+ qWarning("QPropertyAnimation::updateState: starting an animation without end value");
}
} else if (hash.value(key) == this) {
hash.remove(key);
diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp
index e647318..fc11815 100644
--- a/src/corelib/animation/qvariantanimation.cpp
+++ b/src/corelib/animation/qvariantanimation.cpp
@@ -220,52 +220,39 @@ void QVariantAnimationPrivate::updateInterpolator()
*/
void QVariantAnimationPrivate::recalculateCurrentInterval(bool force/*=false*/)
{
- // can't interpolate if we have only 1 key value
- if ((keyValues.count() + (defaultStartValue.isValid() ? 1 : 0)) <=1)
+ // can't interpolate if we don't have at least 2 values
+ if ((keyValues.count() + (defaultStartEndValue.isValid() ? 1 : 0)) < 2)
return;
const qreal progress = easing.valueForProgress(((duration == 0) ? qreal(1) : qreal(currentTime) / qreal(duration)));
- if (force || progress < currentInterval.start.first || progress > currentInterval.end.first) {
+ //0 and 1 are still the boundaries
+ if (force || (currentInterval.start.first > 0 && progress < currentInterval.start.first)
+ || (currentInterval.end.first < 1 && progress > currentInterval.end.first)) {
//let's update currentInterval
QVariantAnimation::KeyValues::const_iterator it = qLowerBound(keyValues.constBegin(),
- keyValues.constEnd(),
- qMakePair(progress, QVariant()),
- animationValueLessThan);
- if (it == keyValues.constEnd()) {
- if (direction == QVariantAnimation::Backward && defaultStartValue.isValid()) {
- --it;
- if (it->first == 1) {
- //we have an end value (item with progress = 1)
- currentInterval.start = *(it-1);
- currentInterval.end = *it;
- } else if (direction == QVariantAnimation::Backward && defaultStartValue.isValid()) {
- //the default start value should be used as the default end value
- currentInterval.start = *it;
- currentInterval.end = qMakePair(qreal(1), defaultStartValue);
- } else {
- ///This should not happen
- }
- }
- } else if (it == keyValues.constBegin()) {
- if (it+1 != keyValues.constEnd() && (it->first == progress || it->first == 0)) {
- //the item pointed to by it is the start element in the range
- //we also test if the current element is for progress 0 (ie the real start) because
- //some easing curves might get the progress below 0.
+ keyValues.constEnd(),
+ qMakePair(progress, QVariant()),
+ animationValueLessThan);
+ if (it == keyValues.constBegin()) {
+ //the item pointed to by it is the start element in the range
+ if (it->first == 0 && keyValues.count() > 1) {
currentInterval.start = *it;
currentInterval.end = *(it+1);
- } else if (defaultStartValue.isValid()) {
- if (direction == QVariantAnimation::Forward) {
- //we should have an end value
- currentInterval.start = qMakePair(qreal(0), defaultStartValue);
- currentInterval.end = *it;
- } else {
- //we should have a start value
- currentInterval.start = *it;
- currentInterval.end = qMakePair(qreal(1), defaultStartValue);
- }
} else {
- ///this should not happen
+ currentInterval.start = qMakePair(qreal(0), defaultStartEndValue);
+ currentInterval.end = *it;
+ }
+ } else if (it == keyValues.constEnd()) {
+ --it; //position the iterator on the last item
+ if (it->first == 1 && keyValues.count() > 1) {
+ //we have an end value (item with progress = 1)
+ currentInterval.start = *(it-1);
+ currentInterval.end = *it;
+ } else {
+ //we use the default end value here
+ currentInterval.start = *it;
+ currentInterval.end = qMakePair(qreal(1), defaultStartEndValue);
}
} else {
currentInterval.start = *(it-1);
@@ -329,9 +316,9 @@ void QVariantAnimationPrivate::setValueAt(qreal step, const QVariant &value)
recalculateCurrentInterval(/*force=*/true);
}
-void QVariantAnimationPrivate::setDefaultStartValue(const QVariant &value)
+void QVariantAnimationPrivate::setDefaultStartEndValue(const QVariant &value)
{
- defaultStartValue = value;
+ defaultStartEndValue = value;
recalculateCurrentInterval(/*force=*/true);
}
diff --git a/src/corelib/animation/qvariantanimation_p.h b/src/corelib/animation/qvariantanimation_p.h
index 9c9d25b..ef57a4c 100644
--- a/src/corelib/animation/qvariantanimation_p.h
+++ b/src/corelib/animation/qvariantanimation_p.h
@@ -76,14 +76,14 @@ public:
return q->d_func();
}
- void setDefaultStartValue(const QVariant &value);
+ void setDefaultStartEndValue(const QVariant &value);
int duration;
QEasingCurve easing;
QVariantAnimation::KeyValues keyValues;
QVariant currentValue;
- QVariant defaultStartValue;
+ QVariant defaultStartEndValue;
//this is used to keep track of the KeyValue interval in which we currently are
struct
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 7076a1e..5a2c329 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -848,6 +848,8 @@ typedef quint64 qulonglong;
&& sizeof(void *) == sizeof(qptrdiff)
*/
template <int> struct QIntegerForSize;
+template <> struct QIntegerForSize<1> { typedef quint8 Unsigned; typedef qint8 Signed; };
+template <> struct QIntegerForSize<2> { typedef quint16 Unsigned; typedef qint16 Signed; };
template <> struct QIntegerForSize<4> { typedef quint32 Unsigned; typedef qint32 Signed; };
template <> struct QIntegerForSize<8> { typedef quint64 Unsigned; typedef qint64 Signed; };
template <class T> struct QIntegerForSizeof: QIntegerForSize<sizeof(T)> { };
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 3394a00..4bae9f4 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -107,24 +107,15 @@ typedef DWORD (WINAPI *PtrGetNamedSecurityInfoW)(LPWSTR, SE_OBJECT_TYPE, SECURIT
static PtrGetNamedSecurityInfoW ptrGetNamedSecurityInfoW = 0;
typedef BOOL (WINAPI *PtrLookupAccountSidW)(LPCWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE);
static PtrLookupAccountSidW ptrLookupAccountSidW = 0;
-typedef BOOL (WINAPI *PtrAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
-static PtrAllocateAndInitializeSid ptrAllocateAndInitializeSid = 0;
typedef VOID (WINAPI *PtrBuildTrusteeWithSidW)(PTRUSTEE_W, PSID);
static PtrBuildTrusteeWithSidW ptrBuildTrusteeWithSidW = 0;
-typedef VOID (WINAPI *PtrBuildTrusteeWithNameW)(PTRUSTEE_W, unsigned short*);
-static PtrBuildTrusteeWithNameW ptrBuildTrusteeWithNameW = 0;
typedef DWORD (WINAPI *PtrGetEffectiveRightsFromAclW)(PACL, PTRUSTEE_W, OUT PACCESS_MASK);
static PtrGetEffectiveRightsFromAclW ptrGetEffectiveRightsFromAclW = 0;
-typedef PVOID (WINAPI *PtrFreeSid)(PSID);
-static PtrFreeSid ptrFreeSid = 0;
static TRUSTEE_W currentUserTrusteeW;
+static TRUSTEE_W worldTrusteeW;
-typedef BOOL (WINAPI *PtrOpenProcessToken)(HANDLE, DWORD, PHANDLE );
-static PtrOpenProcessToken ptrOpenProcessToken = 0;
typedef BOOL (WINAPI *PtrGetUserProfileDirectoryW)(HANDLE, LPWSTR, LPDWORD);
static PtrGetUserProfileDirectoryW ptrGetUserProfileDirectoryW = 0;
-typedef BOOL (WINAPI *PtrSetFilePointerEx)(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
-static PtrSetFilePointerEx ptrSetFilePointerEx = 0;
QT_END_INCLUDE_NAMESPACE
@@ -152,67 +143,37 @@ void QFSFileEnginePrivate::resolveLibs()
if (advapiHnd) {
ptrGetNamedSecurityInfoW = (PtrGetNamedSecurityInfoW)GetProcAddress(advapiHnd, "GetNamedSecurityInfoW");
ptrLookupAccountSidW = (PtrLookupAccountSidW)GetProcAddress(advapiHnd, "LookupAccountSidW");
- ptrAllocateAndInitializeSid = (PtrAllocateAndInitializeSid)GetProcAddress(advapiHnd, "AllocateAndInitializeSid");
ptrBuildTrusteeWithSidW = (PtrBuildTrusteeWithSidW)GetProcAddress(advapiHnd, "BuildTrusteeWithSidW");
- ptrBuildTrusteeWithNameW = (PtrBuildTrusteeWithNameW)GetProcAddress(advapiHnd, "BuildTrusteeWithNameW");
ptrGetEffectiveRightsFromAclW = (PtrGetEffectiveRightsFromAclW)GetProcAddress(advapiHnd, "GetEffectiveRightsFromAclW");
- ptrFreeSid = (PtrFreeSid)GetProcAddress(advapiHnd, "FreeSid");
}
- if (ptrBuildTrusteeWithNameW) {
- HINSTANCE versionHnd = LoadLibraryW(L"version");
- if (versionHnd) {
- typedef DWORD (WINAPI *PtrGetFileVersionInfoSizeW)(LPCWSTR lptstrFilename,LPDWORD lpdwHandle);
- PtrGetFileVersionInfoSizeW ptrGetFileVersionInfoSizeW = (PtrGetFileVersionInfoSizeW)GetProcAddress(versionHnd, "GetFileVersionInfoSizeW");
- typedef BOOL (WINAPI *PtrGetFileVersionInfoW)(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData);
- PtrGetFileVersionInfoW ptrGetFileVersionInfoW = (PtrGetFileVersionInfoW)GetProcAddress(versionHnd, "GetFileVersionInfoW");
- typedef BOOL (WINAPI *PtrVerQueryValueW)(const LPVOID pBlock,LPCWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen);
- PtrVerQueryValueW ptrVerQueryValueW = (PtrVerQueryValueW)GetProcAddress(versionHnd, "VerQueryValueW");
- if(ptrGetFileVersionInfoSizeW && ptrGetFileVersionInfoW && ptrVerQueryValueW) {
- DWORD fakeHandle;
- DWORD versionSize = ptrGetFileVersionInfoSizeW(L"secur32.dll", &fakeHandle);
- if(versionSize) {
- LPVOID versionData;
- versionData = malloc(versionSize);
- if(ptrGetFileVersionInfoW(L"secur32.dll", 0, versionSize, versionData)) {
- UINT puLen;
- VS_FIXEDFILEINFO *pLocalInfo;
- if(ptrVerQueryValueW(versionData, L"\\", (void**)&pLocalInfo, &puLen)) {
- WORD wVer1, wVer2, wVer3, wVer4;
- wVer1 = HIWORD(pLocalInfo->dwFileVersionMS);
- wVer2 = LOWORD(pLocalInfo->dwFileVersionMS);
- wVer3 = HIWORD(pLocalInfo->dwFileVersionLS);
- wVer4 = LOWORD(pLocalInfo->dwFileVersionLS);
- // It will not work with secur32.dll version 5.0.2195.2862
- if(!(wVer1 == 5 && wVer2 == 0 && wVer3 == 2195 && (wVer4 == 2862 || wVer4 == 4587))) {
- HINSTANCE userHnd = LoadLibraryW(L"secur32");
- if (userHnd) {
- typedef BOOL (WINAPI *PtrGetUserNameExW)(EXTENDED_NAME_FORMAT nameFormat, ushort* lpBuffer, LPDWORD nSize);
- PtrGetUserNameExW ptrGetUserNameExW = (PtrGetUserNameExW)GetProcAddress(userHnd, "GetUserNameExW");
- if(ptrGetUserNameExW) {
- static wchar_t buffer[258];
- DWORD bufferSize = 257;
- ptrGetUserNameExW(NameSamCompatible, (ushort*)buffer, &bufferSize);
- ptrBuildTrusteeWithNameW(&currentUserTrusteeW, (ushort*)buffer);
- }
- FreeLibrary(userHnd);
- }
- }
- }
- }
- free(versionData);
- }
- }
- FreeLibrary(versionHnd);
+ if (ptrBuildTrusteeWithSidW) {
+ // Create TRUSTEE for current user
+ HANDLE hnd = ::GetCurrentProcess();
+ HANDLE token = 0;
+ if (::OpenProcessToken(hnd, TOKEN_QUERY, &token)) {
+ TOKEN_USER tu;
+ DWORD retsize;
+ if (::GetTokenInformation(token, TokenUser, &tu, sizeof(tu), &retsize))
+ ptrBuildTrusteeWithSidW(&currentUserTrusteeW, tu.User.Sid);
+ ::CloseHandle(token);
}
- ptrOpenProcessToken = (PtrOpenProcessToken)GetProcAddress(advapiHnd, "OpenProcessToken");
- HINSTANCE userenvHnd = LoadLibraryW(L"userenv");
- if (userenvHnd) {
- ptrGetUserProfileDirectoryW = (PtrGetUserProfileDirectoryW)GetProcAddress(userenvHnd, "GetUserProfileDirectoryW");
+
+ typedef BOOL (WINAPI *PtrAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
+ PtrAllocateAndInitializeSid ptrAllocateAndInitializeSid = (PtrAllocateAndInitializeSid)GetProcAddress(advapiHnd, "AllocateAndInitializeSid");
+ typedef PVOID (WINAPI *PtrFreeSid)(PSID);
+ PtrFreeSid ptrFreeSid = (PtrFreeSid)GetProcAddress(advapiHnd, "FreeSid");
+ if (ptrAllocateAndInitializeSid && ptrFreeSid) {
+ // Create TRUSTEE for Everyone (World)
+ SID_IDENTIFIER_AUTHORITY worldAuth = { SECURITY_WORLD_SID_AUTHORITY };
+ PSID pWorld = 0;
+ if (ptrAllocateAndInitializeSid(&worldAuth, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &pWorld))
+ ptrBuildTrusteeWithSidW(&worldTrusteeW, pWorld);
+ ptrFreeSid(pWorld);
}
- HINSTANCE kernelHnd = LoadLibraryW(L"kernel32");
- if (kernelHnd)
- ptrSetFilePointerEx = (PtrSetFilePointerEx)GetProcAddress(kernelHnd, "SetFilePointerEx");
}
+ HINSTANCE userenvHnd = LoadLibraryW(L"userenv");
+ if (userenvHnd)
+ ptrGetUserProfileDirectoryW = (PtrGetUserProfileDirectoryW)GetProcAddress(userenvHnd, "GetUserProfileDirectoryW");
#endif
}
}
@@ -596,34 +557,27 @@ qint64 QFSFileEnginePrivate::nativePos() const
if (fileHandle == INVALID_HANDLE_VALUE)
return 0;
-#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
- QFSFileEnginePrivate::resolveLibs();
- if (!ptrSetFilePointerEx) {
-#endif
- LARGE_INTEGER filepos;
- filepos.HighPart = 0;
- DWORD newFilePointer = SetFilePointer(fileHandle, 0, &filepos.HighPart, FILE_CURRENT);
- if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
- thatQ->setError(QFile::UnspecifiedError, qt_error_string());
- return 0;
- }
-
- // Note: This is the case for MOC, UIC, qmake and other
- // bootstrapped tools, and for Windows CE.
- filepos.LowPart = newFilePointer;
- return filepos.QuadPart;
-#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
- }
-
+#if !defined(Q_OS_WINCE)
LARGE_INTEGER currentFilePos;
LARGE_INTEGER offset;
offset.QuadPart = 0;
- if (!ptrSetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_CURRENT)) {
+ if (!::SetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_CURRENT)) {
thatQ->setError(QFile::UnspecifiedError, qt_error_string());
return 0;
}
return qint64(currentFilePos.QuadPart);
+#else
+ LARGE_INTEGER filepos;
+ filepos.HighPart = 0;
+ DWORD newFilePointer = SetFilePointer(fileHandle, 0, &filepos.HighPart, FILE_CURRENT);
+ if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
+ thatQ->setError(QFile::UnspecifiedError, qt_error_string());
+ return 0;
+ }
+
+ filepos.LowPart = newFilePointer;
+ return filepos.QuadPart;
#endif
}
@@ -632,39 +586,32 @@ qint64 QFSFileEnginePrivate::nativePos() const
*/
bool QFSFileEnginePrivate::nativeSeek(qint64 pos)
{
- Q_Q(const QFSFileEngine);
- QFSFileEngine *thatQ = const_cast<QFSFileEngine *>(q);
+ Q_Q(QFSFileEngine);
if (fh || fd != -1) {
// stdlib / stdio mode.
return seekFdFh(pos);
}
-#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
- QFSFileEnginePrivate::resolveLibs();
- if (!ptrSetFilePointerEx) {
-#endif
- DWORD newFilePointer;
- LARGE_INTEGER *li = reinterpret_cast<LARGE_INTEGER*>(&pos);
- newFilePointer = SetFilePointer(fileHandle, li->LowPart, &li->HighPart, FILE_BEGIN);
- if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
- thatQ->setError(QFile::PositionError, qt_error_string());
- return false;
- }
-
- // Note: This is the case for MOC, UIC, qmake and other
- // bootstrapped tools, and for Windows CE.
- return true;
-#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_WINCE)
- }
-
+#if !defined(Q_OS_WINCE)
LARGE_INTEGER currentFilePos;
LARGE_INTEGER offset;
offset.QuadPart = pos;
- if (ptrSetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_BEGIN) == 0) {
- thatQ->setError(QFile::UnspecifiedError, qt_error_string());
+ if (!::SetFilePointerEx(fileHandle, offset, &currentFilePos, FILE_BEGIN)) {
+ q->setError(QFile::UnspecifiedError, qt_error_string());
return false;
}
+
+ return true;
+#else
+ DWORD newFilePointer;
+ LARGE_INTEGER *li = reinterpret_cast<LARGE_INTEGER*>(&pos);
+ newFilePointer = SetFilePointer(fileHandle, li->LowPart, &li->HighPart, FILE_BEGIN);
+ if (newFilePointer == 0xFFFFFFFF && GetLastError() != NO_ERROR) {
+ q->setError(QFile::PositionError, qt_error_string());
+ return false;
+ }
+
return true;
#endif
}
@@ -1044,10 +991,10 @@ QString QFSFileEngine::homePath()
QString ret;
#if !defined(QT_NO_LIBRARY)
QFSFileEnginePrivate::resolveLibs();
- if (ptrOpenProcessToken && ptrGetUserProfileDirectoryW) {
+ if (ptrGetUserProfileDirectoryW) {
HANDLE hnd = ::GetCurrentProcess();
HANDLE token = 0;
- BOOL ok = ::ptrOpenProcessToken(hnd, TOKEN_QUERY, &token);
+ BOOL ok = ::OpenProcessToken(hnd, TOKEN_QUERY, &token);
if (ok) {
DWORD dwBufferSize = 0;
// First call, to determine size of the strings (with '\0').
@@ -1393,7 +1340,7 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
enum { ReadMask = 0x00000001, WriteMask = 0x00000002, ExecMask = 0x00000020 };
resolveLibs();
- if(ptrGetNamedSecurityInfoW && ptrAllocateAndInitializeSid && ptrBuildTrusteeWithSidW && ptrGetEffectiveRightsFromAclW && ptrFreeSid) {
+ if(ptrGetNamedSecurityInfoW && ptrBuildTrusteeWithSidW && ptrGetEffectiveRightsFromAclW) {
QString fname = filePath.endsWith(QLatin1String(".lnk")) ? readLink(filePath) : filePath;
DWORD res = ptrGetNamedSecurityInfoW((wchar_t*)fname.utf16(), SE_FILE_OBJECT,
@@ -1435,21 +1382,14 @@ QAbstractFileEngine::FileFlags QFSFileEnginePrivate::getPermissions() const
ret |= QAbstractFileEngine::ExeGroupPerm;
}
{ //other (world)
- // Create SID for Everyone (World)
- SID_IDENTIFIER_AUTHORITY worldAuth = { SECURITY_WORLD_SID_AUTHORITY };
- PSID pWorld = 0;
- if(ptrAllocateAndInitializeSid(&worldAuth, 1, SECURITY_WORLD_RID, 0,0,0,0,0,0,0, &pWorld)) {
- ptrBuildTrusteeWithSidW(&trustee, pWorld);
- if(ptrGetEffectiveRightsFromAclW(pDacl, &trustee, &access_mask) != ERROR_SUCCESS)
- access_mask = (ACCESS_MASK)-1; // ###
- if(access_mask & ReadMask)
- ret |= QAbstractFileEngine::ReadOtherPerm;
- if(access_mask & WriteMask)
- ret |= QAbstractFileEngine::WriteOtherPerm;
- if(access_mask & ExecMask)
- ret |= QAbstractFileEngine::ExeOtherPerm;
- }
- ptrFreeSid(pWorld);
+ if(ptrGetEffectiveRightsFromAclW(pDacl, &worldTrusteeW, &access_mask) != ERROR_SUCCESS)
+ access_mask = (ACCESS_MASK)-1; // ###
+ if(access_mask & ReadMask)
+ ret |= QAbstractFileEngine::ReadOtherPerm;
+ if(access_mask & WriteMask)
+ ret |= QAbstractFileEngine::WriteOtherPerm;
+ if(access_mask & ExecMask)
+ ret |= QAbstractFileEngine::ExeOtherPerm;
}
LocalFree(pSD);
}
@@ -1703,12 +1643,8 @@ bool QFSFileEngine::setPermissions(uint perms)
if (mode == 0) // not supported
return false;
-#if !defined(Q_OS_WINCE)
- ret = ::_wchmod((wchar_t*)d->filePath.utf16(), mode) == 0;
-#else
- ret = ::_wchmod((wchar_t*)d->longFileName(d->filePath).utf16(), mode);
-#endif
- return ret;
+ ret = ::_wchmod((wchar_t*)d->longFileName(d->filePath).utf16(), mode) == 0;
+ return ret;
}
bool QFSFileEngine::setSize(qint64 size)
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 77df601..423f5e2 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -4024,6 +4024,29 @@ QString QUrlPrivate::createErrorString()
}
/*!
+ \macro QT_NO_URL_CAST_FROM_STRING
+ \relates QUrl
+
+ Disables automatic conversions from QString (or char *) to QUrl.
+
+ Compiling your code with this define is useful when you have a lot of
+ code that uses QString for file names and you wish to convert it to
+ use QUrl for network transparency. In any code that uses QUrl, it can
+ help avoid missing QUrl::resolved() calls, and other misuses of
+ QString to QUrl conversions.
+
+ \oldcode
+ url = filename; // probably not what you want
+ \newcode
+ url = QUrl::fromLocalFile(filename);
+ url = baseurl.resolved(QUrl(filename));
+ \endcode
+
+ \sa QT_NO_CAST_FROM_ASCII
+*/
+
+
+/*!
Constructs a URL by parsing \a url. \a url is assumed to be in human
readable representation, with no percent encoding. QUrl will automatically
percent encode all characters that are not allowed in a URL.
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h
index febaf4a..65da5bf 100644
--- a/src/corelib/io/qurl.h
+++ b/src/corelib/io/qurl.h
@@ -81,12 +81,17 @@ public:
Q_DECLARE_FLAGS(FormattingOptions, FormattingOption)
QUrl();
+#ifdef QT_NO_URL_CAST_FROM_STRING
+ explicit
+#endif
QUrl(const QString &url);
QUrl(const QString &url, ParsingMode mode);
// ### Qt 5: merge the two constructors, with mode = TolerantMode
QUrl(const QUrl &copy);
QUrl &operator =(const QUrl &copy);
+#ifndef QT_NO_URL_CAST_FROM_STRING
QUrl &operator =(const QString &url);
+#endif
~QUrl();
void setUrl(const QString &url);
diff --git a/src/corelib/kernel/qfunctions_wince.cpp b/src/corelib/kernel/qfunctions_wince.cpp
index 2b5d4fe..77f680a 100644
--- a/src/corelib/kernel/qfunctions_wince.cpp
+++ b/src/corelib/kernel/qfunctions_wince.cpp
@@ -292,13 +292,14 @@ bool qt_wince__chmod(const char *file, int mode)
bool qt_wince__wchmod(const wchar_t *file, int mode)
{
+ BOOL success = FALSE;
// ### Does not work properly, what about just adding one property?
if(mode&_S_IWRITE) {
- return SetFileAttributes(file, FILE_ATTRIBUTE_NORMAL);
+ success = SetFileAttributes(file, FILE_ATTRIBUTE_NORMAL);
} else if((mode&_S_IREAD) && !(mode&_S_IWRITE)) {
- return SetFileAttributes(file, FILE_ATTRIBUTE_READONLY);
+ success = SetFileAttributes(file, FILE_ATTRIBUTE_READONLY);
}
- return false;
+ return success ? 0 : -1;
}
HANDLE qt_wince_CreateFileA(LPCSTR filename, DWORD access, DWORD share, LPSECURITY_ATTRIBUTES attr, DWORD dispo, DWORD flags, HANDLE tempFile)
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index dfed4db..3c430eb 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -658,6 +658,7 @@ static bool convert(const QVariant::Private *d, QVariant::Type t, void *result,
break;
case QVariant::Url:
*str = v_cast<QUrl>(d)->toString();
+ break;
default:
return false;
}
@@ -935,10 +936,10 @@ static bool convert(const QVariant::Private *d, QVariant::Type t, void *result,
float *f = static_cast<float *>(result);
switch (d->type) {
case QVariant::String:
- *f = float(v_cast<QString>(d)->toDouble(ok));
+ *f = v_cast<QString>(d)->toFloat(ok);
break;
case QVariant::ByteArray:
- *f = float(v_cast<QByteArray>(d)->toDouble(ok));
+ *f = v_cast<QByteArray>(d)->toFloat(ok);
break;
case QVariant::Bool:
*f = float(d->data.b);
@@ -1053,7 +1054,7 @@ static void streamDebug(QDebug dbg, const QVariant &v)
dbg.nospace() << v.toULongLong();
break;
case QMetaType::Float:
- dbg.nospace() << qVariantValue<float>(v);
+ dbg.nospace() << v.toFloat();
break;
case QMetaType::QObjectStar:
dbg.nospace() << qVariantValue<QObject *>(v);
@@ -2330,16 +2331,17 @@ QBitArray QVariant::toBitArray() const
}
template <typename T>
-inline T qNumVariantToHelper(const QVariant::Private &d, QVariant::Type t,
+inline T qNumVariantToHelper(const QVariant::Private &d,
const QVariant::Handler *handler, bool *ok, const T& val)
{
+ uint t = qMetaTypeId<T>();
if (ok)
*ok = true;
if (d.type == t)
return val;
T ret;
- if (!handler->convert(&d, t, &ret, ok) && ok)
+ if (!handler->convert(&d, QVariant::Type(t), &ret, ok) && ok)
*ok = false;
return ret;
}
@@ -2361,7 +2363,7 @@ inline T qNumVariantToHelper(const QVariant::Private &d, QVariant::Type t,
*/
int QVariant::toInt(bool *ok) const
{
- return qNumVariantToHelper<int>(d, Int, handler, ok, d.data.i);
+ return qNumVariantToHelper<int>(d, handler, ok, d.data.i);
}
/*!
@@ -2381,7 +2383,7 @@ int QVariant::toInt(bool *ok) const
*/
uint QVariant::toUInt(bool *ok) const
{
- return qNumVariantToHelper<uint>(d, UInt, handler, ok, d.data.u);
+ return qNumVariantToHelper<uint>(d, handler, ok, d.data.u);
}
/*!
@@ -2396,7 +2398,7 @@ uint QVariant::toUInt(bool *ok) const
*/
qlonglong QVariant::toLongLong(bool *ok) const
{
- return qNumVariantToHelper<qlonglong>(d, LongLong, handler, ok, d.data.ll);
+ return qNumVariantToHelper<qlonglong>(d, handler, ok, d.data.ll);
}
/*!
@@ -2412,7 +2414,7 @@ qlonglong QVariant::toLongLong(bool *ok) const
*/
qulonglong QVariant::toULongLong(bool *ok) const
{
- return qNumVariantToHelper<qulonglong>(d, ULongLong, handler, ok, d.data.ull);
+ return qNumVariantToHelper<qulonglong>(d, handler, ok, d.data.ull);
}
/*!
@@ -2439,7 +2441,7 @@ bool QVariant::toBool() const
/*!
Returns the variant as a double if the variant has type() \l
- Double, \l Bool, \l ByteArray, \l Int, \l LongLong, \l String, \l
+ Double, \l QMetaType::Float, \l Bool, \l ByteArray, \l Int, \l LongLong, \l String, \l
UInt, or \l ULongLong; otherwise returns 0.0.
If \a ok is non-null: \c{*}\a{ok} is set to true if the value could be
@@ -2449,7 +2451,41 @@ bool QVariant::toBool() const
*/
double QVariant::toDouble(bool *ok) const
{
- return qNumVariantToHelper<double>(d, Double, handler, ok, d.data.d);
+ return qNumVariantToHelper<double>(d, handler, ok, d.data.d);
+}
+
+/*!
+ Returns the variant as a float if the variant has type() \l
+ Double, \l QMetaType::Float, \l Bool, \l ByteArray, \l Int, \l LongLong, \l String, \l
+ UInt, or \l ULongLong; otherwise returns 0.0.
+
+ \since 4.6
+
+ If \a ok is non-null: \c{*}\a{ok} is set to true if the value could be
+ converted to a double; otherwise \c{*}\a{ok} is set to false.
+
+ \sa canConvert(), convert()
+*/
+float QVariant::toFloat(bool *ok) const
+{
+ return qNumVariantToHelper<float>(d, handler, ok, d.data.d);
+}
+
+/*!
+ Returns the variant as a qreal if the variant has type() \l
+ Double, \l QMetaType::Float, \l Bool, \l ByteArray, \l Int, \l LongLong, \l String, \l
+ UInt, or \l ULongLong; otherwise returns 0.0.
+
+ \since 4.6
+
+ If \a ok is non-null: \c{*}\a{ok} is set to true if the value could be
+ converted to a double; otherwise \c{*}\a{ok} is set to false.
+
+ \sa canConvert(), convert()
+*/
+qreal QVariant::toReal(bool *ok) const
+{
+ return qNumVariantToHelper<qreal>(d, handler, ok, d.data.d);
}
/*!
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index 569355a..79bd5b8 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -250,6 +250,8 @@ class Q_CORE_EXPORT QVariant
qulonglong toULongLong(bool *ok = 0) const;
bool toBool() const;
double toDouble(bool *ok = 0) const;
+ float toFloat(bool *ok = 0) const;
+ qreal toReal(bool *ok = 0) const;
QByteArray toByteArray() const;
QBitArray toBitArray() const;
QString toString() const;
diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp
index e3e1db6..60c7db4 100644
--- a/src/corelib/tools/qsharedpointer.cpp
+++ b/src/corelib/tools/qsharedpointer.cpp
@@ -107,6 +107,249 @@
cases, since they have the same functionality. See
\l{QWeakPointer#tracking-qobject} for more information.
+ \section1 Optional pointer tracking
+
+ A feature of QSharedPointer that can be enabled at compile-time for
+ debugging purposes is a pointer tracking mechanism. When enabled,
+ QSharedPointer registers in a global set all the pointers that it tracks.
+ This allows one to catch mistakes like assigning the same pointer to two
+ QSharedPointer objects.
+
+ This function is enabled by defining the \tt{QT_SHAREDPOINTER_TRACK_POINTERS}
+ macro before including the QSharedPointer header.
+
+ It is safe to use this feature even with code compiled without the
+ feature. QSharedPointer will ensure that the pointer is removed from the
+ tracker even from code compiled without pointer tracking.
+
+ Note, however, that the pointer tracking feature has limitations on
+ multiple- or virtual-inheritance (that is, in cases where two different
+ pointer addresses can refer to the same object). In that case, if a
+ pointer is cast to a different type and its value changes,
+ QSharedPointer's pointer tracking mechanism mail fail to detect that the
+ object being tracked is the same.
+
+ \omit
+ \secton1 QSharedPointer internals
+
+ QSharedPointer is in reality implemented by two ancestor classes:
+ QtSharedPointer::Basic and QtSharedPointer::ExternalRefCount. The reason
+ for having that split is now mostly legacy: in the beginning,
+ QSharedPointer was meant to support both internal reference counting and
+ external reference counting.
+
+ QtSharedPointer::Basic implements the basic functionality that is shared
+ between internal- and external-reference counting. That is, it's mostly
+ the accessor functions into QSharedPointer. Those are all inherited by
+ QSharedPointer, which adds another level of shared functionality (the
+ constructors and assignment operators). The Basic class has one member
+ variable, which is the actual pointer being tracked.
+
+ QtSharedPointer::ExternalRefCount implements the actual reference
+ counting and introduces the d-pointer for QSharedPointer. That d-pointer
+ itself is shared with with other QSharedPointer objects as well as
+ QWeakPointer.
+
+ The reason for keeping the pointer value itself outside the d-pointer is
+ because of multiple inheritance needs. If you have two QSharedPointer
+ objects of different pointer types, but pointing to the same object in
+ memory, it could happen that the pointer values are different. The \tt
+ differentPointers autotest exemplifies this problem. The same thing could
+ happen in the case of virtual inheritance: a pointer of class matching
+ the virtual base has different address compared to the pointer of the
+ complete object. See the \tt virtualBaseDifferentPointers autotest for
+ this problem.
+
+ The d pointer is of type QtSharedPointer::ExternalRefCountData for simple
+ QSharedPointer objects, but could be of a derived type in some cases. It
+ is basically a reference-counted reference-counter.
+
+ \section2 d-pointer
+ \section3 QtSharedPointer::ExternalRefCountData
+
+ This class is basically a reference-counted reference-counter. It has two
+ members: \tt strongref and \tt weakref. The strong reference counter is
+ controlling the lifetime of the object tracked by QSharedPointer. a
+ positive value indicates that the object is alive. It's also the number
+ of QSharedObject instances that are attached to this Data.
+
+ When the strong reference count decreases to zero, the object is deleted
+ (see below for information on custom deleters). The strong reference
+ count can also exceptionally be -1, indicating that there are no
+ QSharedPointers attached to an object, which is tracked too. The only
+ case where this is possible is that of
+ \l{QWeakPointer#tracking-qobject}{QWeakPointers tracking a QObject}.
+
+ The weak reference count controls the lifetime of the d-pointer itself.
+ It can be thought of as an internal/intrusive reference count for
+ ExternalRefCountData itself. This count is equal to the number of
+ QSharedPointers and QWeakPointers that are tracking this object. (In case
+ the object tracked derives from QObject, this number is increased by 1,
+ since QObjectPrivate tracks it too).
+
+ ExternalRefCountData is a virtual class: it has a virtual destructor and
+ a virtual destroy() function. The destroy() function is supposed to
+ delete the object being tracked and return true if it does so. Otherwise,
+ it returns false to indicate that the caller must simply call delete.
+ This allows the normal use-case of QSharedPointer without custom deleters
+ to use only one 12- or 16-byte (depending on whether it's a 32- or 64-bit
+ architecture) external descriptor structure, without paying the price for
+ the custom deleter that it isn't using.
+
+ \section3 QtSharedPointer::ExternalRefCountDataWithDestroyFn
+
+ This class is not used directly, per se. It only exists to enable the two
+ classes that derive from it. It adds one member variable, which is a
+ pointer to a function (which returns void and takes an
+ ExternalRefCountData* as a parameter). It also overrides the destroy()
+ function: it calls that function pointer with \tt this as parameter, and
+ returns true.
+
+ That means when ExternalRefCountDataWithDestroyFn is used, the \tt
+ destroyer field must be set to a valid function that \b will delete the
+ object tracked.
+
+ This class also adds an operator delete function to ensure that simply
+ calls the global operator delete. That should be the behaviour in all
+ compilers already, but to be on the safe side, this class ensures that no
+ funny business happens.
+
+ On a 32-bit architecture, this class is 16 bytes in size, whereas it's 24
+ bytes on 64-bit. (On Itanium where function pointers contain the global
+ pointer, it can be 32 bytes).
+
+ \section3 QtSharedPointer::ExternalRefCountWithCustomDeleter
+
+ This class derives from ExternalRefCountDataWithDestroyFn and is a
+ template class. As template parameters, it has the type of the pointer
+ being tracked (\tt T) and a \tt Deleter, which is anything. It adds two
+ fields to its parent class, matching those template parameters: a member
+ of type \tt Deleter and a member of type \tt T*.
+
+ The purpose of this class is to store the pointer to be deleted and the
+ deleter code along with the d-pointer. This allows the last strong
+ reference to call any arbitrary function that disposes of the object. For
+ example, this allows calling QObject::deleteLater() on a given object.
+ The pointer to the object is kept here to avoid the extra cost of keeping
+ the deleter in the generic case.
+
+ This class is never instantiated directly: the constructors and
+ destructor are private. Only the create() function may be called to
+ return an object of this type. See below for construction details.
+
+ The size of this class depends on the size of \tt Deleter. If it's an
+ empty functor (i.e., no members), ABIs generally assign it the size of 1.
+ But given that it's followed by a pointer, up to 3 or 7 padding bytes may
+ be inserted: in that case, the size of this class is 16+4+4 = 24 bytes on
+ 32-bit architectures, or 24+8+8 = 40 bytes on 64-bit architectures (48
+ bytes on Itanium with global pointers stored). If \tt Deleter is a
+ function pointer, the size should be the same as the empty structure
+ case, except for Itanium where it may be 56 bytes due to another global
+ pointer. If \tt Deleter is a pointer to a member function (PMF), the size
+ will be even bigger and will depend on the ABI. For architectures using
+ the Itanium C++ ABI, a PMF is twice the size of a normal pointer, or 24
+ bytes on Itanium itself. In that case, the size of this structure will be
+ 16+8+4 = 28 bytes on 32-bit architectures, 24+16+8 = 48 bytes on 64-bit,
+ and 32+24+8 = 64 bytes on Itanium.
+
+ (Values for Itanium consider an LP64 architecture; for ILP32, pointers
+ are 32-bit in length, function pointers are 64-bit and PMF are 96-bit, so
+ the sizes are slightly less)
+
+ \section3 QtSharedPointer::ExternalRefCountWithContiguousData
+
+ This class also derives from ExternalRefCountDataWithDestroyFn and it is
+ also a template class. The template parameter is the type \tt T of the
+ class which QSharedPointer tracks. It adds only one member to its parent,
+ which is of type \tt T (the actual type, not a pointer to it).
+
+ The purpose of this class is to lay the \tt T object out next to the
+ reference counts, saving one memory allocation per shared pointer. This
+ is particularly interesting for small \tt T or for the cases when there
+ are few if any QWeakPointer tracking the object. This class exists to
+ implement the QSharedPointer::create() call.
+
+ Like ExternalRefCountWithCustomDeleter, this class is never instantiated
+ directly. This class also provides a create() member that returns the
+ pointer, and hides its constructors and destructor. (With C++0x, we'd
+ delete them).
+
+ The size of this class depends on the size of \tt T.
+
+ \section3 Instantiating ExternalRefCountWithCustomDeleter and ExternalRefCountWithContiguousData
+
+ Like explained above, these classes have private constructors. Moreover,
+ they are not defined anywhere, so trying to call \tt{new ClassType} would
+ result in a compilation or linker error. Instead, these classes must be
+ constructed via their create() methods.
+
+ Instead of instantiating the class by the normal way, the create() method
+ calls \tt{operator new} directly with the size of the class, then calls
+ the parent class's constructor only (ExternalRefCountDataWithDestroyFn).
+ This ensures that the inherited members are initialised properly, as well
+ as the virtual table pointer, which must point to
+ ExternalRefCountDataWithDestroyFn's virtual table. That way, we also
+ ensure that the virtual destructor being called is
+ ExternalRefCountDataWithDestroyFn's.
+
+ After initialising the base class, the
+ ExternalRefCountWithCustomDeleter::create() function initialises the new
+ members directly, by using the placement \tt{operator new}. In the case
+ of the ExternalRefCountWithContiguousData::create() function, the address
+ to the still-uninitialised \tt T member is saved for the callee to use.
+ The member is only initialised in QSharedPointer::create(), so that we
+ avoid having many variants of the internal functions according to the
+ arguments in use for calling the constructor.
+
+ When initialising the parent class, the create() functions pass the
+ address of the static deleter() member function. That is, when the
+ virtual destroy() is called by QSharedPointer, the deleter() functions
+ are called instead. These functiosn static_cast the ExternalRefCountData*
+ parameter to their own type and execute their deletion: for the
+ ExternalRefCountWithCustomDeleter::deleter() case, it runs the user's
+ custom deleter, then destroys the deleter; for
+ ExternalRefCountWithContiguousData::deleter, it simply calls the \tt T
+ destructor directly.
+
+ By not calling the constructor of the derived classes, we avoid
+ instantiating their virtual tables. Since these classes are
+ template-based, there would be one virtual table per \tt T and \tt
+ Deleter type. (This is what Qt 4.5 did)
+
+ Instead, only one non-inline function is required per template, which is
+ the deleter() static member. All the other functions can be inlined.
+ What's more, the address of deleter() is calculated only in code, which
+ can be resolved at link-time if the linker can determine that the
+ function lies in the current application or library module (since these
+ classes are not exported, that is the case for Windows or for builds with
+ \tt{-fvisibility=hidden}).
+
+ In contrast, a virtual table would require at least 3 relocations to be
+ resolved at module load-time, per module where these classes are used.
+ (In the Itanium C++ ABI, there would be more relocations, due to the
+ RTTI)
+
+ \section3 Modifications due to pointer-tracking
+
+ To ensure that pointers created with pointer-tracking enabled get
+ un-tracked when destroyed, even if destroyed by code compiled without the
+ feature, QSharedPointer modifies slightly the instructions of the
+ previous sections.
+
+ When ExternalRefCountWithCustomDeleter or
+ ExternalRefCountWithContiguousData are used, their create() functions
+ will set the ExternalRefCountDataWithDestroyFn::destroyer function
+ pointer to safetyCheckDeleter() instead. These static member functions
+ simply call internalSafetyCheckRemove2() before passing control to the
+ normal deleter() function.
+
+ If neither custom deleter nor QSharedPointer::create() are used, then
+ QSharedPointer uses a custom deleter of its own: the normalDeleter()
+ function, which simply calls \tt delete. By using a custom deleter, the
+ safetyCheckDeleter() procedure described above kicks in.
+
+ \endomit
+
\sa QSharedDataPointer, QWeakPointer
*/
@@ -182,6 +425,29 @@
QWeakPointers created from QObject should never be passed to code that
hasn't been recompiled.
+ \omit
+ \secton1 QWeakPointer internals
+
+ QWeakPointer shares most of its internal functionality with
+ \l{QSharedPointer#qsharedpointer-internals}{QSharedPointer}, so see that
+ class's internal documentation for more information.
+
+ QWeakPointer requires an external reference counter in order to operate.
+ Therefore, it is incompatible by design with \l QSharedData-derived
+ classes.
+
+ It has a special QObject constructor, which works by calling
+ QtSharedPointer::ExternalRefCountData::getAndRef, which retrieves the
+ d-pointer from QObjectPrivate. If one isn't set yet, that function
+ creates the d-pointer and atomically sets it.
+
+ If getAndRef needs to create a d-pointer, it sets the strongref to -1,
+ indicating that the QObject is not shared: QWeakPointer is used only to
+ determine whether the QObject has been deleted. In that case, it cannot
+ be upgraded to QSharedPointer (see the previous section).
+
+ \endomit
+
\sa QSharedPointer
*/
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index ba479f9..cbeb79f 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -115,6 +115,9 @@ namespace QtSharedPointer {
template <class T> struct RemovePointer<QSharedPointer<T> > { typedef T Type; };
template <class T> struct RemovePointer<QWeakPointer<T> > { typedef T Type; };
+ // This class provides the basic functionality of a pointer wrapper.
+ // Its existence is mostly legacy, since originally QSharedPointer
+ // could also be used for internally-refcounted objects.
template <class T>
class Basic
{
@@ -155,6 +158,12 @@ namespace QtSharedPointer {
Type *value;
};
+ // This class is the d-pointer of QSharedPointer and QWeakPointer.
+ //
+ // It is a reference-counted reference counter. "strongref" is the inner
+ // reference counter, and it tracks the lifetime of the pointer itself.
+ // "weakref" is the outer reference counter and it tracks the lifetime of
+ // the ExternalRefCountData object.
struct ExternalRefCountData
{
QBasicAtomicInt weakref;
@@ -168,6 +177,9 @@ namespace QtSharedPointer {
inline ExternalRefCountData(Qt::Initialization) { }
virtual inline ~ExternalRefCountData() { Q_ASSERT(!weakref); Q_ASSERT(strongref <= 0); }
+ // overridden by derived classes
+ // returns false to indicate caller should delete the pointer
+ // returns true in case it has already done so
virtual inline bool destroy() { return false; }
#ifndef QT_NO_QOBJECT
@@ -178,18 +190,8 @@ namespace QtSharedPointer {
};
// sizeof(ExternalRefCount) = 12 (32-bit) / 16 (64-bit)
- template <class T, typename Deleter>
- struct CustomDeleter
- {
- Deleter deleter;
- T *ptr;
-
- inline CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {}
- };
- // sizeof(CustomDeleter) = sizeof(Deleter) + sizeof(void*)
- // for Deleter = function pointer: 8 (32-bit) / 16 (64-bit)
- // for Deleter = PMF: 12 (32-bit) / 24 (64-bit) (GCC)
-
+ // This class extends ExternalRefCountData with a pointer
+ // to a function, which is called by the destroy() function.
struct ExternalRefCountWithDestroyFn: public ExternalRefCountData
{
typedef void (*DestroyerFn)(ExternalRefCountData *);
@@ -204,13 +206,26 @@ namespace QtSharedPointer {
};
// sizeof(ExternalRefCountWithDestroyFn) = 16 (32-bit) / 24 (64-bit)
+ // This class extends ExternalRefCountWithDestroyFn and implements
+ // the static function that deletes the object. The pointer and the
+ // custom deleter are kept in the "extra" member.
template <class T, typename Deleter>
struct ExternalRefCountWithCustomDeleter: public ExternalRefCountWithDestroyFn
{
typedef ExternalRefCountWithCustomDeleter Self;
- typedef ExternalRefCountWithDestroyFn Parent;
- typedef CustomDeleter<T, Deleter> Next;
- Next extra;
+ typedef ExternalRefCountWithDestroyFn BaseClass;
+
+ struct CustomDeleter
+ {
+ Deleter deleter;
+ T *ptr;
+
+ inline CustomDeleter(T *p, Deleter d) : deleter(d), ptr(p) {}
+ };
+ CustomDeleter extra;
+ // sizeof(CustomDeleter) = sizeof(Deleter) + sizeof(void*)
+ // for Deleter = function pointer: 8 (32-bit) / 16 (64-bit)
+ // for Deleter = PMF: 12 (32-bit) / 24 (64-bit) (GCC)
static inline void deleter(ExternalRefCountData *self)
{
@@ -218,7 +233,7 @@ namespace QtSharedPointer {
executeDeleter(realself->extra.ptr, realself->extra.deleter);
// delete the deleter too
- realself->extra.~Next();
+ realself->extra.~CustomDeleter();
}
static void safetyCheckDeleter(ExternalRefCountData *self)
{
@@ -236,8 +251,8 @@ namespace QtSharedPointer {
Self *d = static_cast<Self *>(::operator new(sizeof(Self)));
// initialize the two sub-objects
- new (&d->extra) Next(ptr, userDeleter);
- new (d) Parent(destroy); // can't throw
+ new (&d->extra) CustomDeleter(ptr, userDeleter);
+ new (d) BaseClass(destroy); // can't throw
return d;
}
@@ -247,6 +262,10 @@ namespace QtSharedPointer {
~ExternalRefCountWithCustomDeleter();
};
+ // This class extends ExternalRefCountWithDestroyFn and adds a "T"
+ // member. That way, when the create() function is called, we allocate
+ // memory for both QSharedPointer's d-pointer and the actual object being
+ // tracked.
template <class T>
struct ExternalRefCountWithContiguousData: public ExternalRefCountWithDestroyFn
{
@@ -289,6 +308,8 @@ namespace QtSharedPointer {
~ExternalRefCountWithContiguousData();
};
+ // This is the main body of QSharedPointer. It implements the
+ // external reference counting functionality.
template <class T>
class ExternalRefCount: public Basic<T>
{
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index c3e5501..74b8fe2 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1196,10 +1196,12 @@ QGraphicsItem::~QGraphicsItem()
Q_ASSERT(d_ptr->children.isEmpty());
}
- if (d_ptr->scene)
+ if (d_ptr->scene) {
d_ptr->scene->d_func()->removeItemHelper(this);
- else
+ } else {
+ d_ptr->resetFocusProxy();
d_ptr->setParentItemHelper(0);
+ }
if (d_ptr->transformData) {
for(int i = 0; i < d_ptr->transformData->graphicsTransforms.size(); ++i) {
@@ -2190,11 +2192,10 @@ qreal QGraphicsItem::effectiveOpacity() const
void QGraphicsItem::setOpacity(qreal opacity)
{
// Notify change.
- const QVariant newOpacityVariant(itemChange(ItemOpacityChange, double(opacity)));
- qreal newOpacity = newOpacityVariant.toDouble();
+ const QVariant newOpacityVariant(itemChange(ItemOpacityChange, opacity));
- // Normalize.
- newOpacity = qBound<qreal>(0.0, newOpacity, 1.0);
+ // Normalized opacity
+ qreal newOpacity = qBound(qreal(0), newOpacityVariant.toReal(), qreal(1));
// No change? Done.
if (newOpacity == d_ptr->opacity)
@@ -2613,13 +2614,11 @@ void QGraphicsItem::setFocusProxy(QGraphicsItem *item)
}
QGraphicsItem *lastFocusProxy = d_ptr->focusProxy;
+ if (lastFocusProxy)
+ lastFocusProxy->d_ptr->focusProxyRefs.removeOne(&d_ptr->focusProxy);
d_ptr->focusProxy = item;
- if (d_ptr->scene) {
- if (lastFocusProxy)
- d_ptr->scene->d_func()->focusProxyReverseMap.remove(lastFocusProxy, this);
- if (item)
- d_ptr->scene->d_func()->focusProxyReverseMap.insert(item, this);
- }
+ if (item)
+ item->d_ptr->focusProxyRefs << &d_ptr->focusProxy;
}
/*!
@@ -3696,8 +3695,8 @@ qreal QGraphicsItem::zValue() const
*/
void QGraphicsItem::setZValue(qreal z)
{
- const QVariant newZVariant(itemChange(ItemZValueChange, double(z)));
- qreal newZ = qreal(newZVariant.toDouble());
+ const QVariant newZVariant(itemChange(ItemZValueChange, z));
+ qreal newZ = newZVariant.toReal();
if (newZ == d_ptr->z)
return;
@@ -4626,6 +4625,19 @@ void QGraphicsItemPrivate::clearSubFocus()
/*!
\internal
+ Sets the focusProxy pointer to 0 for all items that have this item as their
+ focusProxy. ### Qt 5: Use QPointer instead.
+*/
+void QGraphicsItemPrivate::resetFocusProxy()
+{
+ for (int i = 0; i < focusProxyRefs.size(); ++i)
+ *focusProxyRefs.at(i) = 0;
+ focusProxyRefs.clear();
+}
+
+/*!
+ \internal
+
Tells us if it is a proxy widget
*/
bool QGraphicsItemPrivate::isProxyWidget() const
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 982cdfc..c654d4f 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -398,6 +398,7 @@ public:
void setSubFocus();
void clearSubFocus();
+ void resetFocusProxy();
inline QTransform transformToParent() const;
inline void ensureSortedChildren();
@@ -419,6 +420,7 @@ public:
int siblingIndex;
int depth;
QGraphicsItem *focusProxy;
+ QList<QGraphicsItem **> focusProxyRefs;
QGraphicsItem *subFocusItem;
Qt::InputMethodHints imHints;
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index bdd1ac6..2178850 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -494,11 +494,7 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
item->d_func()->scene = 0;
// Unregister focus proxy.
- QMultiHash<QGraphicsItem *, QGraphicsItem *>::iterator it = focusProxyReverseMap.find(item);
- while (it != focusProxyReverseMap.end() && it.key() == item) {
- it.value()->d_ptr->focusProxy = 0;
- it = focusProxyReverseMap.erase(it);
- }
+ item->d_ptr->resetFocusProxy();
// Remove from parent, or unregister from toplevels.
if (QGraphicsItem *parentItem = item->parentItem()) {
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index 8b53306..836522d 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -131,7 +131,6 @@ public:
QGraphicsWidget *activeWindow;
int activationRefCount;
void setFocusItemHelper(QGraphicsItem *item, Qt::FocusReason focusReason);
- QMultiHash<QGraphicsItem *, QGraphicsItem *> focusProxyReverseMap;
QList<QGraphicsWidget *> popupWidgets;
void addPopup(QGraphicsWidget *widget);
diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp
index e3475d6..64bc5d3 100644
--- a/src/gui/image/qpnghandler.cpp
+++ b/src/gui/image/qpnghandler.cpp
@@ -956,7 +956,7 @@ QVariant QPngHandler::option(ImageOption option) const
void QPngHandler::setOption(ImageOption option, const QVariant &value)
{
if (option == Gamma)
- d->gamma = value.toDouble();
+ d->gamma = value.toFloat();
else if (option == Quality)
d->quality = value.toInt();
else if (option == Description)
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 769ccef..4f32ecc 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -73,6 +73,7 @@ QAbstractItemViewPrivate::QAbstractItemViewPrivate()
currentlyCommittingEditor(0),
pressedModifiers(Qt::NoModifier),
pressedPosition(QPoint(-1, -1)),
+ pressedAlreadySelected(false),
viewportEnteredNeeded(false),
state(QAbstractItemView::NoState),
editTriggers(QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed),
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index 75d48a4..2cbde51 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -352,7 +352,10 @@ void QItemDelegate::setClipping(bool clip)
QString QItemDelegatePrivate::valueToText(const QVariant &value, const QStyleOptionViewItemV4 &option)
{
QString text;
- switch (value.type()) {
+ switch (value.userType()) {
+ case QMetaType::Float:
+ text = option.locale.toString(value.toFloat(), 'g');
+ break;
case QVariant::Double:
text = option.locale.toString(value.toDouble(), 'g', DBL_DIG);
break;
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index 945d5e7..1870a3b 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -1968,7 +1968,8 @@ QListViewPrivate::QListViewPrivate()
modeProperties(0),
column(0),
uniformItemSizes(false),
- batchSize(100)
+ batchSize(100),
+ showElasticBand(false)
{
}
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index d39506d..8444a5b 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -2316,7 +2316,7 @@ bool QSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex
Q_D(const QSortFilterProxyModel);
QVariant l = (left.model() ? left.model()->data(left, d->sort_role) : QVariant());
QVariant r = (right.model() ? right.model()->data(right, d->sort_role) : QVariant());
- switch (l.type()) {
+ switch (l.userType()) {
case QVariant::Invalid:
return (r.type() == QVariant::Invalid);
case QVariant::Int:
@@ -2327,6 +2327,8 @@ bool QSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex
return l.toLongLong() < r.toLongLong();
case QVariant::ULongLong:
return l.toULongLong() < r.toULongLong();
+ case QMetaType::Float:
+ return l.toFloat() < r.toFloat();
case QVariant::Double:
return l.toDouble() < r.toDouble();
case QVariant::Char:
diff --git a/src/gui/itemviews/qstandarditemmodel.cpp b/src/gui/itemviews/qstandarditemmodel.cpp
index 7505ccc..168d423 100644
--- a/src/gui/itemviews/qstandarditemmodel.cpp
+++ b/src/gui/itemviews/qstandarditemmodel.cpp
@@ -1809,7 +1809,7 @@ bool QStandardItem::operator<(const QStandardItem &other) const
const int role = model() ? model()->sortRole() : Qt::DisplayRole;
const QVariant l = data(role), r = other.data(role);
// this code is copied from QSortFilterProxyModel::lessThan()
- switch (l.type()) {
+ switch (l.userType()) {
case QVariant::Invalid:
return (r.type() == QVariant::Invalid);
case QVariant::Int:
@@ -1820,6 +1820,8 @@ bool QStandardItem::operator<(const QStandardItem &other) const
return l.toLongLong() < r.toLongLong();
case QVariant::ULongLong:
return l.toULongLong() < r.toULongLong();
+ case QMetaType::Float:
+ return l.toFloat() < r.toFloat();
case QVariant::Double:
return l.toDouble() < r.toDouble();
case QVariant::Char:
diff --git a/src/gui/itemviews/qstyleditemdelegate.cpp b/src/gui/itemviews/qstyleditemdelegate.cpp
index 0494d4f..f7c7d12 100644
--- a/src/gui/itemviews/qstyleditemdelegate.cpp
+++ b/src/gui/itemviews/qstyleditemdelegate.cpp
@@ -267,7 +267,8 @@ QStyledItemDelegate::~QStyledItemDelegate()
QString QStyledItemDelegate::displayText(const QVariant &value, const QLocale& locale) const
{
QString text;
- switch (value.type()) {
+ switch (value.userType()) {
+ case QMetaType::Float:
case QVariant::Double:
text = locale.toString(value.toDouble());
break;
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index cbe1d2a..539a642 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -2797,15 +2797,14 @@ int QTreeView::indexRowSizeHint(const QModelIndex &index) const
if (isRightToLeft()) {
start = (start == -1 ? count - 1 : start);
- end = (end == -1 ? 0 : end);
+ end = 0;
} else {
start = (start == -1 ? 0 : start);
- end = (end == -1 ? count - 1 : end);
+ end = count - 1;
}
- int tmp = start;
- start = qMin(start, end);
- end = qMax(tmp, end);
+ if (end < start)
+ qSwap(end, start);
int height = -1;
QStyleOptionViewItemV4 option = d->viewOptionsV4();
diff --git a/src/gui/itemviews/qtreeview_p.h b/src/gui/itemviews/qtreeview_p.h
index d17016f..1bbba89 100644
--- a/src/gui/itemviews/qtreeview_p.h
+++ b/src/gui/itemviews/qtreeview_p.h
@@ -82,7 +82,7 @@ public:
uniformRowHeights(false), rootDecoration(true),
itemsExpandable(true), sortingEnabled(false),
expandsOnDoubleClick(true),
- allColumnsShowFocus(false), current(0),
+ allColumnsShowFocus(false), current(0), spanning(false),
animationsEnabled(false), columnResizeTimerID(0),
autoExpandDelay(-1), hoverBranch(-1), geometryRecursionBlock(false) {}
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index fea3e2d..df85809 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -2311,10 +2311,6 @@ bool QApplication::event(QEvent *e)
} else if (te->timerId() == d->toolTipFallAsleep.timerId()) {
d->toolTipFallAsleep.stop();
}
-#ifdef QT_MAC_USE_COCOA
- } else if (e->type() == QEvent::CocoaRequestModal) {
- d->_q_runAppModalWindow();
-#endif
}
return QCoreApplication::event(e);
}
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index 5b503b3..0c17892 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -1409,13 +1409,8 @@ void QApplicationPrivate::enterModal_sys(QWidget *widget)
qt_button_down = 0;
#ifdef QT_MAC_USE_COCOA
- if (!qt_mac_is_macsheet(widget)) {
- // Add a new, empty (null), NSModalSession to the stack.
- // The next time we spin the event dispatcher, it will
- // check the stack, and recurse into a modal session for it:
- QCocoaModalSessionInfo info = {widget, 0};
- QEventDispatcherMacPrivate::cocoaModalSessionStack.push(info);
- }
+ if (!qt_mac_is_macsheet(widget))
+ QEventDispatcherMacPrivate::beginModalSession(widget);
#endif
}
@@ -1441,7 +1436,7 @@ void QApplicationPrivate::leaveModal_sys(QWidget *widget)
}
#ifdef QT_MAC_USE_COCOA
if (!qt_mac_is_macsheet(widget))
- QEventDispatcherMacPrivate::rebuildModalSessionStack(true);
+ QEventDispatcherMacPrivate::endModalSession(widget);
#endif
}
#ifdef DEBUG_MODAL_EVENTS
@@ -1452,21 +1447,6 @@ void QApplicationPrivate::leaveModal_sys(QWidget *widget)
qt_event_request_menubarupdate();
}
-#if defined(QT_MAC_USE_COCOA)
-void QApplicationPrivate::_q_runAppModalWindow()
-{
- if (QEventDispatcherMacPrivate::blockCocoaRequestModal) {
- // Just postpone the event until the event dispatcher tells
- // us (by releasing the block) that it is OK to recurse into
- // a new event loop for our non-execing modal window:
- qApp->postEvent(qApp, new QEvent(QEvent::CocoaRequestModal));
- } else {
- // Recurse into a new event loop for the current app modal window:
- threadData->eventDispatcher->processEvents(QEventLoop::DialogExec);
- }
-}
-#endif
-
QWidget *QApplicationPrivate::tryModalHelper_sys(QWidget *top)
{
#ifndef QT_MAC_USE_COCOA
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index c90ebfe..5d409f4 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -484,12 +484,6 @@ public:
void _q_alertTimeOut();
QHash<QWidget *, QTimer *> alertTimerHash;
#endif
-#if defined(QT_MAC_USE_COCOA)
- void _q_runAppModalWindow();
-#endif
-#if defined(QT_MAC_USE_COCOA)
- void _q_runModalWindow();
-#endif
#ifndef QT_NO_STYLE_STYLESHEET
static QString styleSheet;
#endif
diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm
index 2e45479..efe6375 100644
--- a/src/gui/kernel/qeventdispatcher_mac.mm
+++ b/src/gui/kernel/qeventdispatcher_mac.mm
@@ -497,6 +497,40 @@ static bool IsMouseOrKeyEvent( NSEvent* event )
}
#endif
+static inline void qt_mac_waitForMoreEvents()
+{
+#ifndef QT_MAC_USE_COCOA
+ while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0e20, true) == kCFRunLoopRunTimedOut);
+#else
+ // If no event exist in the cocoa event que, wait
+ // (and free up cpu time) until at least one event occur.
+ // This implementation is a bit on the edge, but seems to
+ // work fine:
+ NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
+ untilDate:[NSDate distantFuture]
+ inMode:NSDefaultRunLoopMode
+ dequeue:YES];
+ if (event)
+ [NSApp postEvent:event atStart:YES];
+#endif
+}
+
+#ifdef QT_MAC_USE_COCOA
+static inline void qt_mac_waitForMoreModalSessionEvents()
+{
+ // If no event exist in the cocoa event que, wait
+ // (and free up cpu time) until at least one event occur.
+ // This implementation is a bit on the edge, but seems to
+ // work fine:
+ NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask
+ untilDate:[NSDate distantFuture]
+ inMode:NSModalPanelRunLoopMode
+ dequeue:YES];
+ if (event)
+ [NSApp postEvent:event atStart:YES];
+}
+#endif
+
bool QEventDispatcherMac::processEvents(QEventLoop::ProcessEventsFlags flags)
{
Q_D(QEventDispatcherMac);
@@ -515,55 +549,42 @@ bool QEventDispatcherMac::processEvents(QEventLoop::ProcessEventsFlags flags)
QMacCocoaAutoReleasePool pool;
NSEvent* event = 0;
- if (flags & QEventLoop::DialogExec || flags & QEventLoop::EventLoopExec) {
- // The point of the CocoaRequestModal event is to make sure that a
- // non-execed app modal window recurses into it's own dialog exec
- // once cocoa is spinning the event loop for us (e.g on top of [NSApp run]).
- // We expect only one event to notify us about this, regardless of how many
- // widgets that are waiting to be modal. So we remove all other pending
- // events, if any. And since cocoa will now take over event processing for us,
- // we allow new app modal widgets to recurse on top of us, hence the release of
- // the block:
- QBoolBlocker block(d->blockCocoaRequestModal, false);
- QCoreApplication::removePostedEvents(qApp, QEvent::CocoaRequestModal);
-
- if (NSModalSession session = d->activeModalSession())
- while ([NSApp runModalSession:session] == NSRunContinuesResponse) {
- // runModalSession will not wait for events, so we do it
- // ourselves (otherwise we would spend 100% CPU inside this loop):
- event = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantFuture] inMode:NSModalPanelRunLoopMode dequeue:YES];
- if (event)
- [NSApp postEvent:event atStart:YES];
- }
- else
+ // If Qt is used as a plugin, or just added into a native cocoa
+ // application, we should not run or stop NSApplication;
+ // This will be done from outside Qt.
+ // And if processEvents is called manually (rather than from QEventLoop), we
+ // cannot enter a tight loop and block the call, but instead return after one flush:
+ bool canExec_3rdParty = d->nsAppRunCalledByQt || ![NSApp isRunning];
+ bool canExec_Qt = flags & QEventLoop::DialogExec || flags & QEventLoop::EventLoopExec;
+
+ if (canExec_Qt && canExec_3rdParty) {
+ // We can use exec-mode, meaning that we can stay in a tight loop until
+ // interrupted. This is mostly an optimization, but it also allow us
+ // to use [NSApp run], which is the recommended way of running applications
+ // in cocoa. [NSApp run] should be called at least once for any cocoa app.
+ if (NSModalSession session = d->currentModalSession()) {
+ QBoolBlocker execGuard(d->currentExecIsNSAppRun, false);
+ while (!d->interrupt && [NSApp runModalSession:session] == NSRunContinuesResponse)
+ qt_mac_waitForMoreModalSessionEvents();
+ } else {
+ d->nsAppRunCalledByQt = true;
+ QBoolBlocker execGuard(d->currentExecIsNSAppRun, true);
[NSApp run];
-
- d->rebuildModalSessionStack(false);
+ }
retVal = true;
} else do {
- // Since we now are going to spin the event loop just _one_ round
- // we need to block all incoming CocoaRequestModal events to ensure
- // that we don't recurse into a new exec-ing event loop while doing
- // so (and as such, 'hang' the thread inside the recursion):
- QBoolBlocker block(d->blockCocoaRequestModal, true);
+ // INVARIANT: We cannot block the thread (and run in a tight loop).
+ // Instead we will process all current pending events and return.
bool mustRelease = false;
if (!(flags & QEventLoop::ExcludeUserInputEvents) && !d->queuedUserInputEvents.isEmpty()) {
- // process a pending user input event
+ // Process a pending user input event
mustRelease = true;
event = static_cast<NSEvent *>(d->queuedUserInputEvents.takeFirst());
} else {
- if (NSModalSession session = d->activeModalSession()) {
- // There's s a modal widget showing, run it's session:
- if (flags & QEventLoop::WaitForMoreEvents) {
- // Wait for at least one event
- // before spinning the session:
- event = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantFuture] inMode:NSModalPanelRunLoopMode dequeue:YES];
- if (event)
- [NSApp postEvent:event atStart:YES];
- }
+ if (NSModalSession session = d->currentModalSession()) {
+ if (flags & QEventLoop::WaitForMoreEvents)
+ qt_mac_waitForMoreModalSessionEvents();
[NSApp runModalSession:session];
retVal = true;
break;
@@ -634,41 +655,35 @@ bool QEventDispatcherMac::processEvents(QEventLoop::ProcessEventsFlags flags)
&& (flags & QEventLoop::WaitForMoreEvents));
if (canWait) {
// INVARIANT: We haven't processed any events yet. And we're told
- // to stay inside this function until at least one event is processed
- // (WaitForMoreEvents). So we wait on the window server:
-#ifndef QT_MAC_USE_COCOA
- while(CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0e20, true) == kCFRunLoopRunTimedOut);
-#else
- QMacCocoaAutoReleasePool pool;
- NSEvent *manualEvent = [NSApp nextEventMatchingMask:NSAnyEventMask
- untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode
- dequeue:YES];
- if (manualEvent)
- [NSApp sendEvent:manualEvent];
-#endif
+ // to stay inside this function until at least one event is processed.
+ qt_mac_waitForMoreEvents();
flags &= ~QEventLoop::WaitForMoreEvents;
} else {
- // Done with event processing for now. Leave the function:
+ // Done with event processing for now.
+ // Leave the function:
break;
}
}
- // Because pending deffered-delete events are only sendt after
- // returning from the loop level they were posted in, we schedule
- // an extra wakup to force the _current_ run loop to process them (in
- // case the application stands idle waiting for the delete event):
- wakeUp();
+#ifdef QT_MAC_USE_COCOA
+ // In case we _now_ process events using [NSApp run], we need to stop it to
+ // ensure that:
+ // 1. the QEventLoop that called us is still executing, or
+ // 2. we have a modal session that needs to be spun instead.
+ // In case this is a plain call to processEvents (perhaps from a loop)
+ // from the application (rather than from a QEventLoop), we delay the
+ // interrupting until we/ actually enter a lower loop level (hence the
+ // deffered delete of the object below):
+ QtMacInterruptDispatcherHelp::interruptLater();
+#endif
- if (d->interrupt){
- // We restart NSApplication by first stopping it, and then call 'run'
- // again (NSApplication is actually already stopped, hence the need
- // for a restart, but calling stop again will also make the call
- // return from the current recursion). When the call returns to
- // QEventLoop (mind, not from this recursion, but from the one we're
- // about to stop), it will just call QEventDispatcherMac::processEvents()
- // again.
+ if (d->interrupt) {
+ // We should continue to leave all recursion to processEvents until
+ // processEvents is called again (e.g. from a QEventLoop that
+ // was not yet told to quit:
interrupt();
}
+
return retVal;
}
@@ -700,104 +715,169 @@ bool QEventDispatcherMacPrivate::blockSendPostedEvents = false;
#ifdef QT_MAC_USE_COCOA
QStack<QCocoaModalSessionInfo> QEventDispatcherMacPrivate::cocoaModalSessionStack;
-bool QEventDispatcherMacPrivate::blockCocoaRequestModal = false;
+bool QEventDispatcherMacPrivate::currentExecIsNSAppRun = false;
+bool QEventDispatcherMacPrivate::nsAppRunCalledByQt = false;
+NSModalSession QEventDispatcherMacPrivate::currentModalSessionCached = 0;
-static void qt_mac_setChildDialogsResponsive(QWidget *widget, bool responsive)
+int QEventDispatcherMacPrivate::activeModalSessionCount()
{
+ // Returns the number of modal sessions created
+ // (and not just pushed onto the stack, pending to be created)
+ int count = 0;
+ for (int i=cocoaModalSessionStack.size()-1; i>=0; --i) {
+ QCocoaModalSessionInfo &info = cocoaModalSessionStack[i];
+ if (info.session)
+ ++count;
+ }
+ return count;
+}
+
+void QEventDispatcherMacPrivate::temporarilyStopAllModalSessions()
+{
+ // Stop all created modal session, and as such, make then
+ // pending again. The next call to currentModalSession will
+ // recreate the session on top again:
+ int stackSize = cocoaModalSessionStack.size();
+ for (int i=stackSize-1; i>=0; --i) {
+ QCocoaModalSessionInfo &info = cocoaModalSessionStack[i];
+ if (info.session) {
+ [NSApp endModalSession:info.session];
+ info.session = 0;
+ }
+ }
+ currentModalSessionCached = 0;
+}
+
+NSModalSession QEventDispatcherMacPrivate::currentModalSession()
+{
+ // If we have one or more modal windows, this function will create
+ // a session for each of those, and return the one for the top.
+ if (currentModalSessionCached)
+ return currentModalSessionCached;
+
+ if (cocoaModalSessionStack.isEmpty())
+ return 0;
+
+ // Since this code will end up calling our Qt event handler
+ // (also from beginModalSessionForWindow), we need to block
+ // that to avoid side effects of events beeing delivered:
+ QBoolBlocker block(blockSendPostedEvents, true);
+
+ if (![NSApp isRunning]) {
+ // Sadly, we need to introduce this little event flush
+ // to stop dialogs from blinking/poping in front if a
+ // modal session restart was needed:
+ while (NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask
+ untilDate:nil
+ inMode:NSDefaultRunLoopMode
+ dequeue: YES]) {
+ qt_mac_send_event(0, event, 0);
+ }
+ }
+
+ int sessionCount = cocoaModalSessionStack.size();
+ for (int i=0; i<sessionCount; ++i) {
+ QCocoaModalSessionInfo &info = cocoaModalSessionStack[i];
+ if (!info.widget)
+ continue;
+ if (info.widget->testAttribute(Qt::WA_DontShowOnScreen))
+ continue;
+ if (!info.session) {
+ QMacCocoaAutoReleasePool pool;
+ NSWindow *window = qt_mac_window_for(info.widget);
+ if (!window)
+ continue;
+ info.session = [NSApp beginModalSessionForWindow:window];
+ }
+ currentModalSessionCached = info.session;
+ }
+
+ return currentModalSessionCached;
+}
+
+static void setChildrenWorksWhenModal(QWidget *widget, bool worksWhenModal)
+{
+ // For NSPanels (but not NSWindows, sadly), we can set the flag
+ // worksWhenModal, so that they are active even when they are not modal.
QList<QDialog *> dialogs = widget->findChildren<QDialog *>();
for (int i=0; i<dialogs.size(); ++i){
NSWindow *window = qt_mac_window_for(dialogs[i]);
if (window && [window isKindOfClass:[NSPanel class]]) {
- [static_cast<NSPanel *>(window) setWorksWhenModal:responsive];
- if (responsive && dialogs[i]->isVisible()){
+ [static_cast<NSPanel *>(window) setWorksWhenModal:worksWhenModal];
+ if (worksWhenModal && dialogs[i]->isVisible()){
[window orderFront:window];
}
}
}
}
-NSModalSession QEventDispatcherMacPrivate::activeModalSession()
+void QEventDispatcherMacPrivate::updateChildrenWorksWhenModal()
{
- // Create (if needed) and return the modal session
- // for the top-most modal dialog, if any:
- if (cocoaModalSessionStack.isEmpty())
- return 0;
- QCocoaModalSessionInfo &info = cocoaModalSessionStack.last();
- if (!info.widget)
- return 0;
- if (info.widget->testAttribute(Qt::WA_DontShowOnScreen)){
- // INVARIANT: We have a modal widget, but it's not visible on screen.
- // This will e.g. be true for native dialogs. Make the dialog children
- // of the previous modal dialog unresponsive, so that the current dialog
- // (native or not) is the only reponsive dialog on screen:
- int size = cocoaModalSessionStack.size();
+ // Make the dialog children of the widget
+ // active. And make the dialog children of
+ // the previous modal dialog unactive again:
+ int size = cocoaModalSessionStack.size();
+ if (size > 0){
+ if (QWidget *prevModal = cocoaModalSessionStack[size-1].widget)
+ setChildrenWorksWhenModal(prevModal, true);
if (size > 1){
if (QWidget *prevModal = cocoaModalSessionStack[size-2].widget)
- qt_mac_setChildDialogsResponsive(prevModal, false);
+ setChildrenWorksWhenModal(prevModal, false);
}
- return 0;
}
+}
- if (!info.session) {
- QMacCocoaAutoReleasePool pool;
- NSWindow *window = qt_mac_window_for(info.widget);
- if (!window)
- return 0;
- // 'beginModalSessionForWindow' will give the event loop a spin, and as
- // such, deliver Qt events. This might lead to inconsistent behaviour
- // (especially if CocoaRequestModal is delivered), so we need to block:
- QBoolBlocker block(blockSendPostedEvents, true);
- info.session = [NSApp beginModalSessionForWindow:window];
- // Make the dialog children of the current modal dialog
- // responsive. And make the dialog children of
- // the previous modal dialog unresponsive again:
- qt_mac_setChildDialogsResponsive(info.widget, true);
- int size = cocoaModalSessionStack.size();
- if (size > 1){
- if (QWidget *prevModal = cocoaModalSessionStack[size-2].widget)
- qt_mac_setChildDialogsResponsive(prevModal, false);
- }
- }
- return info.session;
+void QEventDispatcherMacPrivate::beginModalSession(QWidget *widget)
+{
+ // Add a new, empty (null), NSModalSession to the stack.
+ // It will become active the next time QEventDispatcher::processEvents is called.
+ // A QCocoaModalSessionInfo is considered pending to become active if the widget pointer
+ // is non-zero, and the session pointer is zero (it will become active upon a call to
+ // currentModalSession). A QCocoaModalSessionInfo is considered pending to be stopped if
+ // the widget pointer is zero, and the session pointer is non-zero (it will be fully
+ // stopped in endModalSession().
+ QCocoaModalSessionInfo info = {widget, 0};
+ cocoaModalSessionStack.push(info);
+ updateChildrenWorksWhenModal();
+ currentModalSessionCached = 0;
}
-void QEventDispatcherMacPrivate::rebuildModalSessionStack(bool pop)
+void QEventDispatcherMacPrivate::endModalSession(QWidget *widget)
{
- // Calling [NSApp stopModal], or [NSApp stop], will stop all modal dialogs
- // in one go. So to to not confuse cocoa, we need to stop all our modal
- // sessions as well. QMacEventDispatcher will make them modal again
- // in the correct order as long as they are left on the cocoaModalSessionStack
- // and a CocoaRequestModal is posted:
- if (cocoaModalSessionStack.isEmpty())
- return;
+ // Mark all sessions attached to widget as pending to be stopped. We do this
+ // by setting the widget pointer to zero, but leave the session pointer.
+ // We don't tell cocoa to stop any sessions just yet, because cocoa only understands
+ // when we stop the _current_ modal session (which is the session on top of
+ // the stack, and might not belong to 'widget').
+ int stackSize = cocoaModalSessionStack.size();
+ for (int i=stackSize-1; i>=0; --i) {
+ QCocoaModalSessionInfo &info = cocoaModalSessionStack[i];
+ if (info.widget == widget)
+ info.widget = 0;
+ }
- QMacCocoaAutoReleasePool pool;
- [NSApp stopModal];
- [NSApp postEvent:[NSEvent otherEventWithType:NSApplicationDefined location:NSZeroPoint
- modifierFlags:0 timestamp:0. windowNumber:0 context:0
- subtype:SHRT_MAX data1:0 data2:0] atStart:NO];
+ // Now we stop, and remove, all sessions marked as pending
+ // to be stopped on _top_ of the stack, if any:
+ bool needToInterruptEventDispatcher = false;
+ bool needToUpdateChildrenWorksWhenModal = false;
- for (int i=0; i<cocoaModalSessionStack.size(); ++i){
+ for (int i=stackSize-1; i>=0; --i) {
QCocoaModalSessionInfo &info = cocoaModalSessionStack[i];
+ if (info.widget)
+ break;
+ cocoaModalSessionStack.remove(i);
+ needToUpdateChildrenWorksWhenModal = true;
+ currentModalSessionCached = 0;
if (info.session) {
[NSApp endModalSession:info.session];
- info.session = 0;
+ needToInterruptEventDispatcher = true;
}
}
- if (pop) {
- QCocoaModalSessionInfo info = cocoaModalSessionStack.pop();
- if (info.widget)
- qt_mac_setChildDialogsResponsive(info.widget, false);
- }
-
- if (!cocoaModalSessionStack.isEmpty()) {
- // Since we now have pending modal sessions again, make
- // sure that we enter modal for the one on the top later:
- qApp->postEvent(qApp, new QEvent(QEvent::CocoaRequestModal));
- } else {
- QCoreApplication::removePostedEvents(qApp, QEvent::CocoaRequestModal);
- }
+ if (needToUpdateChildrenWorksWhenModal)
+ updateChildrenWorksWhenModal();
+ if (needToInterruptEventDispatcher)
+ QEventDispatcherMac::instance()->interrupt();
}
#endif
@@ -858,27 +938,29 @@ void QEventDispatcherMacPrivate::postedEventsSourcePerformCallback(void *info)
}
}
-#ifdef QT_MAC_USE_COCOA
-static void stopNSApp()
-{
- QMacCocoaAutoReleasePool pool;
- static const short NSAppShouldStopForQt = SHRT_MAX;
- [NSApp stop:NSApp];
- [NSApp postEvent:[NSEvent otherEventWithType:NSApplicationDefined location:NSZeroPoint
- modifierFlags:0 timestamp:0. windowNumber:0 context:0
- subtype:NSAppShouldStopForQt data1:0 data2:0] atStart:NO];
-}
-#endif
-
void QEventDispatcherMac::interrupt()
{
Q_D(QEventDispatcherMac);
d->interrupt = true;
wakeUp();
+
#ifndef QT_MAC_USE_COCOA
CFRunLoopStop(mainRunLoop());
#else
- stopNSApp();
+ QMacCocoaAutoReleasePool pool;
+ // In case we wait for more events inside
+ // processEvents (or NSApp run), post a dummy to wake it up:
+ static const short NSAppShouldStopForQt = SHRT_MAX;
+ [NSApp postEvent:[NSEvent otherEventWithType:NSApplicationDefined location:NSZeroPoint
+ modifierFlags:0 timestamp:0. windowNumber:0 context:0
+ subtype:NSAppShouldStopForQt data1:0 data2:0] atStart:NO];
+
+ if (d->activeModalSessionCount() == 0) {
+ // We should only stop NSApp if we actually started it (and
+ // not some 3rd party application, e.g. if we are a plugin).
+ if (d->nsAppRunCalledByQt)
+ [NSApp stop:NSApp];
+ }
#endif
}
@@ -916,5 +998,52 @@ QEventDispatcherMac::~QEventDispatcherMac()
CFRelease(d->waitingObserver);
}
+/////////////////////////////////////////////////////////////////////////////
+
+#ifdef QT_MAC_USE_COCOA
+
+QtMacInterruptDispatcherHelp* QtMacInterruptDispatcherHelp::instance = 0;
+
+QtMacInterruptDispatcherHelp::QtMacInterruptDispatcherHelp() : cancelled(false)
+{
+ // This is the whole point of encapsulation this code
+ // inside a class; we can make the code (inside destructor)
+ // execute on lower loop level:
+ deleteLater();
+}
+
+QtMacInterruptDispatcherHelp::~QtMacInterruptDispatcherHelp()
+{
+ if (cancelled)
+ return;
+
+ instance = 0;
+
+ if (QEventDispatcherMacPrivate::currentExecIsNSAppRun) {
+ int activeCount = QEventDispatcherMacPrivate::activeModalSessionCount();
+ if (activeCount > 0) {
+ // The problem we now have hit: [NSApp stop] will not stop NSApp
+ // if a session is active; it will stop the session instead.
+ // So to stop NSApp, we need to temporarily stop all the
+ // sessions, then stop NSApp, then restart the session on top again.
+ // We need to do this to ensure that we're not stuck inside
+ // [NSApp run] when we really should be running a modal session:
+ QEventDispatcherMacPrivate::temporarilyStopAllModalSessions();
+ }
+ }
+ // Always interrupt once more in case the modal session stack changed
+ // while processEvents was called manually from within the application:
+ QEventDispatcherMac::instance()->interrupt();
+}
+
+void QtMacInterruptDispatcherHelp::interruptLater() {
+ if (instance) {
+ instance->cancelled = true;
+ delete instance;
+ }
+ instance = new QtMacInterruptDispatcherHelp;
+}
+
+#endif
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qeventdispatcher_mac_p.h b/src/gui/kernel/qeventdispatcher_mac_p.h
index 225d32e..6747d52 100644
--- a/src/gui/kernel/qeventdispatcher_mac_p.h
+++ b/src/gui/kernel/qeventdispatcher_mac_p.h
@@ -172,9 +172,15 @@ public:
#ifdef QT_MAC_USE_COCOA
// The following variables help organizing modal sessions:
static QStack<QCocoaModalSessionInfo> cocoaModalSessionStack;
- static bool blockCocoaRequestModal;
- static NSModalSession activeModalSession();
- static void rebuildModalSessionStack(bool pop);
+ static bool currentExecIsNSAppRun;
+ static bool nsAppRunCalledByQt;
+ static NSModalSession currentModalSessionCached;
+ static void updateChildrenWorksWhenModal();
+ static NSModalSession currentModalSession();
+ static int activeModalSessionCount();
+ static void temporarilyStopAllModalSessions();
+ static void beginModalSession(QWidget *widget);
+ static void endModalSession(QWidget *widget);
#endif
MacSocketHash macSockets;
@@ -192,6 +198,20 @@ private:
CFRunLoopActivity activity, void *info);
};
+#ifdef QT_MAC_USE_COCOA
+class QtMacInterruptDispatcherHelp : public QObject
+{
+ static QtMacInterruptDispatcherHelp *instance;
+ bool cancelled;
+
+ QtMacInterruptDispatcherHelp();
+ ~QtMacInterruptDispatcherHelp();
+
+ public:
+ static void interruptLater();
+};
+#endif
+
QT_END_NAMESPACE
#endif // QEVENTDISPATCHER_MAC_P_H
diff --git a/src/gui/kernel/qkde.cpp b/src/gui/kernel/qkde.cpp
index 23de838..98bf0a0 100644
--- a/src/gui/kernel/qkde.cpp
+++ b/src/gui/kernel/qkde.cpp
@@ -139,8 +139,6 @@ QString QKde::kdeStyle()
return QLatin1String("plastique");
else
return QLatin1String("windows");
-
- return QString();
}
/*!\internal
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 48a4bc3..5948cd4 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -3197,10 +3197,13 @@ void QWidgetPrivate::show_sys()
#else
// sync the opacity value back (in case of a fade).
[window setAlphaValue:q->windowOpacity()];
-
[window makeKeyAndOrderFront:window];
+
+ // If this window is app modal, we need to start spinning
+ // a modal session for it. Interrupting
+ // the event dispatcher will make this happend:
if (data.window_modality == Qt::ApplicationModal)
- QCoreApplication::postEvent(qApp, new QEvent(QEvent::CocoaRequestModal));
+ QEventDispatcherMac::instance()->interrupt();
#endif
if (q->windowType() == Qt::Popup) {
if (q->focusWidget())
@@ -3218,13 +3221,6 @@ void QWidgetPrivate::show_sys()
#endif
} else if (!q->testAttribute(Qt::WA_ShowWithoutActivating)) {
qt_event_request_activate(q);
-#ifdef QT_MAC_USE_COCOA
- if (q->windowModality() == Qt::ApplicationModal) {
- // We call 'activeModalSession' early to force creation of q's modal
- // session. This seems neccessary for child dialogs to pop to front:
- QEventDispatcherMacPrivate::activeModalSession();
- }
-#endif
}
} else if(topData()->embedded || !q->parentWidget() || q->parentWidget()->isVisible()) {
#ifndef QT_MAC_USE_COCOA
diff --git a/src/gui/painting/qcssutil.cpp b/src/gui/painting/qcssutil.cpp
index ac0ea08..ae8afed 100644
--- a/src/gui/painting/qcssutil.cpp
+++ b/src/gui/painting/qcssutil.cpp
@@ -353,7 +353,7 @@ void qDrawBorder(QPainter *p, const QRect &rect, const QCss::BorderStyle *styles
qNormalizeRadii(rect, radii, &tlr, &trr, &blr, &brr);
// Drawn in increasing order of precendence
- if (styles[BottomEdge] != BorderStyle_None) {
+ if (styles[BottomEdge] != BorderStyle_None && borders[BottomEdge] > 0) {
qreal dw1 = (blr.width() || paintsOver(styles, colors, BottomEdge, LeftEdge)) ? 0 : borders[LeftEdge];
qreal dw2 = (brr.width() || paintsOver(styles, colors, BottomEdge, RightEdge)) ? 0 : borders[RightEdge];
qreal x1 = br.x() + blr.width();
@@ -365,7 +365,7 @@ void qDrawBorder(QPainter *p, const QRect &rect, const QCss::BorderStyle *styles
if (blr.width() || brr.width())
qDrawRoundedCorners(p, x1, y1, x2, y2, blr, brr, BottomEdge, styles[BottomEdge], colors[BottomEdge]);
}
- if (styles[RightEdge] != BorderStyle_None) {
+ if (styles[RightEdge] != BorderStyle_None && borders[RightEdge] > 0) {
qreal dw1 = (trr.height() || paintsOver(styles, colors, RightEdge, TopEdge)) ? 0 : borders[TopEdge];
qreal dw2 = (brr.height() || paintsOver(styles, colors, RightEdge, BottomEdge)) ? 0 : borders[BottomEdge];
qreal x1 = br.x() + br.width() - borders[RightEdge];
@@ -377,7 +377,7 @@ void qDrawBorder(QPainter *p, const QRect &rect, const QCss::BorderStyle *styles
if (trr.height() || brr.height())
qDrawRoundedCorners(p, x1, y1, x2, y2, trr, brr, RightEdge, styles[RightEdge], colors[RightEdge]);
}
- if (styles[LeftEdge] != BorderStyle_None) {
+ if (styles[LeftEdge] != BorderStyle_None && borders[LeftEdge] > 0) {
qreal dw1 = (tlr.height() || paintsOver(styles, colors, LeftEdge, TopEdge)) ? 0 : borders[TopEdge];
qreal dw2 = (blr.height() || paintsOver(styles, colors, LeftEdge, BottomEdge)) ? 0 : borders[BottomEdge];
qreal x1 = br.x();
@@ -389,7 +389,7 @@ void qDrawBorder(QPainter *p, const QRect &rect, const QCss::BorderStyle *styles
if (tlr.height() || blr.height())
qDrawRoundedCorners(p, x1, y1, x2, y2, tlr, blr, LeftEdge, styles[LeftEdge], colors[LeftEdge]);
}
- if (styles[TopEdge] != BorderStyle_None) {
+ if (styles[TopEdge] != BorderStyle_None && borders[TopEdge] > 0) {
qreal dw1 = (tlr.width() || paintsOver(styles, colors, TopEdge, LeftEdge)) ? 0 : borders[LeftEdge];
qreal dw2 = (trr.width() || paintsOver(styles, colors, TopEdge, RightEdge)) ? 0 : borders[RightEdge];
qreal x1 = br.x() + tlr.width();
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 2ccb0c5..0762138 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -7487,8 +7487,8 @@ void qt_format_text(const QFont &fnt, const QRectF &_r,
QFontMetricsF fm(fnt);
QString text = str;
int offset = 0;
-start_lenghtVariant:
- bool hasMoreLenghtVariants = false;
+start_lengthVariant:
+ bool hasMoreLengthVariants = false;
// compatible behaviour to the old implementation. Replace
// tabs by spaces
bool has_tab = false;
@@ -7510,7 +7510,7 @@ start_lenghtVariant:
has_tab = true;
} else if (chr == QChar(ushort(0x9c))) {
// string with multiple length variants
- hasMoreLenghtVariants = true;
+ hasMoreLengthVariants = true;
break;
}
}
@@ -7634,9 +7634,9 @@ start_lenghtVariant:
}
QRectF bounds = QRectF(r.x() + xoff, r.y() + yoff, width, height);
- if (hasMoreLenghtVariants && !(tf & Qt::TextLongestVariant) && !r.contains(bounds)) {
+ if (hasMoreLengthVariants && !(tf & Qt::TextLongestVariant) && !r.contains(bounds)) {
offset++;
- goto start_lenghtVariant;
+ goto start_lengthVariant;
}
if (brect)
*brect = bounds;
diff --git a/src/gui/painting/qpainterpath.h b/src/gui/painting/qpainterpath.h
index 1adf315..e320c0b 100644
--- a/src/gui/painting/qpainterpath.h
+++ b/src/gui/painting/qpainterpath.h
@@ -298,9 +298,9 @@ inline void QPainterPath::lineTo(qreal x, qreal y)
lineTo(QPointF(x, y));
}
-inline void QPainterPath::arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLenght)
+inline void QPainterPath::arcTo(qreal x, qreal y, qreal w, qreal h, qreal startAngle, qreal arcLength)
{
- arcTo(QRectF(x, y, w, h), startAngle, arcLenght);
+ arcTo(QRectF(x, y, w, h), startAngle, arcLength);
}
inline void QPainterPath::arcMoveTo(qreal x, qreal y, qreal w, qreal h, qreal angle)
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 3f5643e..9b3b289 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -1471,10 +1471,10 @@ void QPdfBaseEngine::setProperty(PrintEnginePropertyKey key, const QVariant &val
{
QList<QVariant> margins(value.toList());
Q_ASSERT(margins.size() == 4);
- d->leftMargin = margins.at(0).toDouble();
- d->topMargin = margins.at(1).toDouble();
- d->rightMargin = margins.at(2).toDouble();
- d->bottomMargin = margins.at(3).toDouble();
+ d->leftMargin = margins.at(0).toReal();
+ d->topMargin = margins.at(1).toReal();
+ d->rightMargin = margins.at(2).toReal();
+ d->bottomMargin = margins.at(3).toReal();
d->hasCustomPageMargins = true;
break;
}
@@ -1576,7 +1576,7 @@ QVariant QPdfBaseEngine::property(PrintEnginePropertyKey key) const
margins << d->leftMargin << d->topMargin
<< d->rightMargin << d->bottomMargin;
} else {
- const int defaultMargin = 10; // ~3.5 mm
+ const qreal defaultMargin = 10; // ~3.5 mm
margins << defaultMargin << defaultMargin
<< defaultMargin << defaultMargin;
}
diff --git a/src/gui/painting/qprintengine_win.cpp b/src/gui/painting/qprintengine_win.cpp
index 7ac3224..21c0873 100644
--- a/src/gui/painting/qprintengine_win.cpp
+++ b/src/gui/painting/qprintengine_win.cpp
@@ -1360,10 +1360,10 @@ void QWin32PrintEngine::setProperty(PrintEnginePropertyKey key, const QVariant &
Q_ASSERT(margins.size() == 4);
int left, top, right, bottom;
// specified in 1/100 mm
- left = (margins.at(0).toDouble()*25.4/72.0) * 100;
- top = (margins.at(1).toDouble()*25.4/72.0) * 100;
- right = (margins.at(2).toDouble()*25.4/72.0) * 100;
- bottom = (margins.at(3).toDouble()*25.4/72.0) * 100;
+ left = (margins.at(0).toReal()*25.4/72.0) * 100;
+ top = (margins.at(1).toReal()*25.4/72.0) * 100;
+ right = (margins.at(2).toReal()*25.4/72.0) * 100;
+ bottom = (margins.at(3).toReal()*25.4/72.0) * 100;
d->setPageMargins(left, top, right, bottom);
break;
}
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index 6910eb3..f8399af 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -1665,10 +1665,10 @@ void QPrinter::getPageMargins(qreal *left, qreal *top, qreal *right, qreal *bott
Q_ASSERT(left && top && right && bottom);
const qreal multiplier = qt_multiplierForUnit(unit, resolution());
QList<QVariant> margins(d->printEngine->property(QPrintEngine::PPK_PageMargins).toList());
- *left = margins.at(0).toDouble() / multiplier;
- *top = margins.at(1).toDouble() / multiplier;
- *right = margins.at(2).toDouble() / multiplier;
- *bottom = margins.at(3).toDouble() / multiplier;
+ *left = margins.at(0).toReal() / multiplier;
+ *top = margins.at(1).toReal() / multiplier;
+ *right = margins.at(2).toReal() / multiplier;
+ *bottom = margins.at(3).toReal() / multiplier;
}
/*!
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index d4940d6..cce35b7 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -5196,8 +5196,7 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget
ret = Qt::ToolButtonIconOnly;
#ifdef Q_WS_X11
{
- Q_D(const QCommonStyle);
- static int buttonStyle = d->lookupToolButtonStyle();
+ static int buttonStyle = d_func()->lookupToolButtonStyle();
return buttonStyle;
}
#endif
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm
index 8736769..08b6ad8 100644
--- a/src/gui/styles/qmacstyle_mac.mm
+++ b/src/gui/styles/qmacstyle_mac.mm
@@ -4635,12 +4635,12 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
// no longer possible to move it, second the up/down buttons are removed when
// there is not enough space for them.
if (cc == CC_ScrollBar) {
- const int scrollBarLenght = (slider->orientation == Qt::Horizontal)
+ const int scrollBarLength = (slider->orientation == Qt::Horizontal)
? slider->rect.width() : slider->rect.height();
const QMacStyle::WidgetSizePolicy sizePolicy = widgetSizePolicy(widget);
- if (scrollBarLenght < scrollButtonsCutoffSize(thumbIndicatorCutoff, sizePolicy))
+ if (scrollBarLength < scrollButtonsCutoffSize(thumbIndicatorCutoff, sizePolicy))
tdi.attributes &= ~kThemeTrackShowThumb;
- if (scrollBarLenght < scrollButtonsCutoffSize(scrollButtonsCutoff, sizePolicy))
+ if (scrollBarLength < scrollButtonsCutoffSize(scrollButtonsCutoff, sizePolicy))
tdi.enableState = kThemeTrackNothingToScroll;
}
@@ -5109,9 +5109,9 @@ QStyle::SubControl QMacStyle::hitTestComplexControl(ComplexControl cc,
// The arrow buttons are not drawn if the scroll bar is to short,
// exclude them from the hit test.
- const int scrollBarLenght = (sb->orientation == Qt::Horizontal)
+ const int scrollBarLength = (sb->orientation == Qt::Horizontal)
? sb->rect.width() : sb->rect.height();
- if (scrollBarLenght < scrollButtonsCutoffSize(scrollButtonsCutoff, widgetSizePolicy(widget)))
+ if (scrollBarLength < scrollButtonsCutoffSize(scrollButtonsCutoff, widgetSizePolicy(widget)))
sbi.enableState = kThemeTrackNothingToScroll;
sbi.viewsize = sb->pageStep;
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 370290f..8ac811c 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -1298,7 +1298,6 @@ void QRenderRule::unsetClip(QPainter *p)
void QRenderRule::drawBackground(QPainter *p, const QRect& rect, const QPoint& off)
{
- setClip(p, borderRect(rect));
QBrush brush = hasBackground() ? background()->brush : QBrush();
if (brush.style() == Qt::NoBrush)
brush = defaultBackground;
@@ -1306,11 +1305,19 @@ void QRenderRule::drawBackground(QPainter *p, const QRect& rect, const QPoint& o
if (brush.style() != Qt::NoBrush) {
Origin origin = hasBackground() ? background()->clip : Origin_Border;
// ### fix for gradients
- p->fillRect(originRect(rect, origin), brush);
+ const QPainterPath &borderPath = borderClip(originRect(rect, origin));
+ if (!borderPath.isEmpty()) {
+ // Drawn intead of being used as clipping path for better visual quality
+ bool wasAntialiased = p->renderHints() & QPainter::Antialiasing;
+ p->setRenderHint(QPainter::Antialiasing);
+ p->fillPath(borderPath, brush);
+ p->setRenderHint(QPainter::Antialiasing, wasAntialiased);
+ } else {
+ p->fillRect(originRect(rect, origin), brush);
+ }
}
drawBackgroundImage(p, rect, off);
- unsetClip(p);
}
void QRenderRule::drawFrame(QPainter *p, const QRect& rect)
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index e0af6d2..181ec7e 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -382,10 +382,7 @@ LengthData ValueExtractor::lengthValue(const Value& v)
if (data.unit != LengthData::None)
s.chop(2);
- bool ok;
- data.number = s.toDouble(&ok);
- if (!ok)
- data.number = 0;
+ data.number = s.toDouble();
return data;
}
@@ -711,7 +708,7 @@ static ColorData parseColorValue(Value v)
for (int i = 0; i < qMin(colorDigits.count(), 7); i += 2) {
if (colorDigits.at(i).type == Value::Percentage) {
- colorDigits[i].variant = colorDigits.at(i).variant.toDouble() * 255. / 100.;
+ colorDigits[i].variant = colorDigits.at(i).variant.toReal() * (255. / 100.);
colorDigits[i].type = Value::Number;
} else if (colorDigits.at(i).type != Value::Number) {
return ColorData();
@@ -788,7 +785,7 @@ static BrushData parseBrushValue(const Value &v, const QPalette &pal)
ColorData cd = parseColorValue(color);
if(cd.type == ColorData::Role)
dependsOnThePalette = true;
- stops.append(QGradientStop(stop.variant.toDouble(), colorFromData(cd, pal)));
+ stops.append(QGradientStop(stop.variant.toReal(), colorFromData(cd, pal)));
} else {
parser.next();
Value value;
@@ -1079,8 +1076,8 @@ static bool setFontSizeFromValue(Value value, QFont *font, int *fontSizeAdjustme
if (s.endsWith(QLatin1String("pt"), Qt::CaseInsensitive)) {
s.chop(2);
value.variant = s;
- if (value.variant.convert(QVariant::Double)) {
- font->setPointSizeF(value.variant.toDouble());
+ if (value.variant.convert((QVariant::Type)qMetaTypeId<qreal>())) {
+ font->setPointSizeF(value.variant.toReal());
valid = true;
}
} else if (s.endsWith(QLatin1String("px"), Qt::CaseInsensitive)) {
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index cfec8e9..e26961f 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -198,8 +198,8 @@ public:
if (v.isNull()) {
return cellPadding;
} else {
- Q_ASSERT(v.type() == QVariant::Double);
- return QFixed::fromReal(v.toDouble() * deviceScale);
+ Q_ASSERT(v.userType() == QVariant::Double || v.userType() == QMetaType::Float);
+ return QFixed::fromReal(v.toReal() * deviceScale);
}
}
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index 9a2f49b6..075f2ff 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -267,10 +267,11 @@ private:
static uint variantHash(const QVariant &variant)
{
- switch (variant.type()) {
+ switch (variant.userType()) {
case QVariant::Invalid: return 0;
case QVariant::Bool: return variant.toBool();
case QVariant::Int: return variant.toInt();
+ case QMetaType::Float: return static_cast<int>(variant.toFloat());
case QVariant::Double: return static_cast<int>(variant.toDouble());
case QVariant::String: return qHash(variant.toString());
case QVariant::Color: return qHash(qvariant_cast<QColor>(variant).rgb());
@@ -325,7 +326,7 @@ void QTextFormatPrivate::recalcFont() const
f.setFamily(props.at(i).value.toString());
break;
case QTextFormat::FontPointSize:
- f.setPointSizeF(props.at(i).value.toDouble());
+ f.setPointSizeF(props.at(i).value.toReal());
break;
case QTextFormat::FontPixelSize:
f.setPixelSize(props.at(i).value.toInt());
@@ -352,10 +353,10 @@ void QTextFormatPrivate::recalcFont() const
f.setStrikeOut(props.at(i).value.toBool());
break;
case QTextFormat::FontLetterSpacing:
- f.setLetterSpacing(QFont::PercentageSpacing, props.at(i).value.toDouble());
+ f.setLetterSpacing(QFont::PercentageSpacing, props.at(i).value.toReal());
break;
case QTextFormat::FontWordSpacing:
- f.setWordSpacing(props.at(i).value.toDouble());
+ f.setWordSpacing(props.at(i).value.toReal());
break;
case QTextFormat::FontCapitalization:
f.setCapitalization(static_cast<QFont::Capitalization> (props.at(i).value.toInt()));
@@ -852,7 +853,7 @@ bool QTextFormat::boolProperty(int propertyId) const
if (!d)
return false;
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Bool)
+ if (prop.userType() != QVariant::Bool)
return false;
return prop.toBool();
}
@@ -868,7 +869,7 @@ int QTextFormat::intProperty(int propertyId) const
if (!d)
return 0;
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Int)
+ if (prop.userType() != QVariant::Int)
return 0;
return prop.toInt();
}
@@ -885,7 +886,7 @@ qreal QTextFormat::doubleProperty(int propertyId) const
if (!d)
return 0.;
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Double && prop.type() != QMetaType::Float)
+ if (prop.userType() != QVariant::Double && prop.userType() != QMetaType::Float)
return 0.;
return qVariantValue<qreal>(prop);
}
@@ -902,7 +903,7 @@ QString QTextFormat::stringProperty(int propertyId) const
if (!d)
return QString();
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::String)
+ if (prop.userType() != QVariant::String)
return QString();
return prop.toString();
}
@@ -920,7 +921,7 @@ QColor QTextFormat::colorProperty(int propertyId) const
if (!d)
return QColor();
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Color)
+ if (prop.userType() != QVariant::Color)
return QColor();
return qvariant_cast<QColor>(prop);
}
@@ -937,7 +938,7 @@ QPen QTextFormat::penProperty(int propertyId) const
if (!d)
return QPen(Qt::NoPen);
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Pen)
+ if (prop.userType() != QVariant::Pen)
return QPen(Qt::NoPen);
return qvariant_cast<QPen>(prop);
}
@@ -954,7 +955,7 @@ QBrush QTextFormat::brushProperty(int propertyId) const
if (!d)
return QBrush(Qt::NoBrush);
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::Brush)
+ if (prop.userType() != QVariant::Brush)
return QBrush(Qt::NoBrush);
return qvariant_cast<QBrush>(prop);
}
@@ -984,13 +985,13 @@ QVector<QTextLength> QTextFormat::lengthVectorProperty(int propertyId) const
if (!d)
return vector;
const QVariant prop = d->property(propertyId);
- if (prop.type() != QVariant::List)
+ if (prop.userType() != QVariant::List)
return vector;
QList<QVariant> propertyList = prop.toList();
for (int i=0; i<propertyList.size(); ++i) {
QVariant var = propertyList.at(i);
- if (var.type() == QVariant::TextLength)
+ if (var.userType() == QVariant::TextLength)
vector.append(qvariant_cast<QTextLength>(var));
}
@@ -1078,7 +1079,7 @@ int QTextFormat::objectIndex() const
if (!d)
return -1;
const QVariant prop = d->property(ObjectIndex);
- if (prop.type() != QVariant::Int) // ####
+ if (prop.userType() != QVariant::Int) // ####
return -1;
return prop.toInt();
}
@@ -1654,9 +1655,9 @@ void QTextCharFormat::setUnderlineStyle(UnderlineStyle style)
QString QTextCharFormat::anchorName() const
{
QVariant prop = property(AnchorName);
- if (prop.type() == QVariant::StringList)
+ if (prop.userType() == QVariant::StringList)
return prop.toStringList().value(0);
- else if (prop.type() != QVariant::String)
+ else if (prop.userType() != QVariant::String)
return QString();
return prop.toString();
}
@@ -1672,9 +1673,9 @@ QString QTextCharFormat::anchorName() const
QStringList QTextCharFormat::anchorNames() const
{
QVariant prop = property(AnchorName);
- if (prop.type() == QVariant::StringList)
+ if (prop.userType() == QVariant::StringList)
return prop.toStringList();
- else if (prop.type() != QVariant::String)
+ else if (prop.userType() != QVariant::String)
return QStringList();
return QStringList(prop.toString());
}
diff --git a/src/gui/widgets/qdatetimeedit.cpp b/src/gui/widgets/qdatetimeedit.cpp
index ae3af31..2900d39 100644
--- a/src/gui/widgets/qdatetimeedit.cpp
+++ b/src/gui/widgets/qdatetimeedit.cpp
@@ -1086,6 +1086,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
//hide cursor
d->edit->d_func()->setCursorVisible(false);
+ d->edit->d_func()->control->setCursorBlinkPeriod(0);
d->setSelected(0);
}
}
@@ -1106,9 +1107,7 @@ void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
//hide cursor
d->edit->d_func()->setCursorVisible(false);
- if (d->edit->d_func()->cursorTimer > 0)
- killTimer(d->edit->d_func()->cursorTimer);
- d->edit->d_func()->cursorTimer = 0;
+ d->edit->d_func()->control->setCursorBlinkPeriod(0);
d->setSelected(0);
oldCurrent = 0;
diff --git a/src/gui/widgets/qlineedit_p.cpp b/src/gui/widgets/qlineedit_p.cpp
index 5950d85..08fce9b 100644
--- a/src/gui/widgets/qlineedit_p.cpp
+++ b/src/gui/widgets/qlineedit_p.cpp
@@ -138,6 +138,7 @@ void QLineEditPrivate::init(const QString& txt)
{
Q_Q(QLineEdit);
control = new QLineControl(txt);
+ control->setFont(q->font());
QObject::connect(control, SIGNAL(textChanged(const QString &)),
q, SIGNAL(textChanged(const QString &)));
QObject::connect(control, SIGNAL(textEdited(const QString &)),
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 9243217..88059a0 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -73,7 +73,7 @@ class QMainWindowPrivate : public QWidgetPrivate
Q_DECLARE_PUBLIC(QMainWindow)
public:
inline QMainWindowPrivate()
- : layout(0), toolButtonStyle(Qt::ToolButtonIconOnly)
+ : layout(0), explicitIconSize(false), toolButtonStyle(Qt::ToolButtonIconOnly)
#ifdef Q_WS_MAC
, useHIToolBar(false)
#endif
@@ -107,8 +107,6 @@ void QMainWindowPrivate::init()
layout = new QMainWindowLayout(q);
const int metric = q->style()->pixelMetric(QStyle::PM_ToolBarIconSize, 0, q);
iconSize = QSize(metric, metric);
- explicitIconSize = false;
-
q->setAttribute(Qt::WA_Hover);
}
diff --git a/src/gui/widgets/qscrollbar.cpp b/src/gui/widgets/qscrollbar.cpp
index 390d1b8..37525e2 100644
--- a/src/gui/widgets/qscrollbar.cpp
+++ b/src/gui/widgets/qscrollbar.cpp
@@ -431,6 +431,12 @@ void QScrollBarPrivate::init()
q->setSizePolicy(sp);
q->setAttribute(Qt::WA_WState_OwnSizePolicy, false);
q->setAttribute(Qt::WA_OpaquePaintEvent);
+
+#if !defined(QT_NO_CONTEXTMENU) && defined(Q_WS_WINCE)
+ if (!q->style()->styleHint(QStyle::SH_ScrollBar_ContextMenu, 0, q)) {
+ q->setContextMenuPolicy(Qt::PreventContextMenu);
+ }
+#endif
}
#ifndef QT_NO_CONTEXTMENU
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 8eb2e15..6a8609e 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -2400,18 +2400,12 @@ QVariant QODBCDriver::handle() const
QString QODBCDriver::escapeIdentifier(const QString &identifier, IdentifierType) const
{
+ QChar quote = d->quoteChar();
QString res = identifier;
- if (d->isMySqlServer) {
- if(!identifier.isEmpty() && !identifier.startsWith(QLatin1Char('`')) && !identifier.endsWith(QLatin1Char('`')) ) {
- res.prepend(QLatin1Char('`')).append(QLatin1Char('`'));
- res.replace(QLatin1Char('.'), QLatin1String("`.`"));
- }
- } else {
- if(!identifier.isEmpty() && !identifier.startsWith(QLatin1Char('"')) && !identifier.endsWith(QLatin1Char('"')) ) {
- res.replace(QLatin1Char('"'), QLatin1String("\"\""));
- res.prepend(QLatin1Char('"')).append(QLatin1Char('"'));
- res.replace(QLatin1Char('.'), QLatin1String("\".\""));
- }
+ if(!identifier.isEmpty() && !identifier.startsWith(quote) && !identifier.endsWith(quote) ) {
+ res.replace(quote, QString(quote)+QString(quote));
+ res.prepend(quote).append(quote);
+ res.replace(QLatin1Char('.'), QString(quote)+QLatin1Char('.')+QString(quote));
}
return res;
}
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index d7f27bd..585f461 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -316,6 +316,7 @@ SUBDIRS += \
qstatusbar \
qstl \
qstring \
+ qstringbuilder \
qstringmatcher \
qstringlist \
qstringlistmodel \
@@ -444,6 +445,7 @@ SUBDIRS += checkxmlfiles \
xmlpatternsdiagnosticsts.depends = xmlpatternsxqts
xmlpatternsview.depends = xmlpatternsxqts
xmlpatternsxslts.depends = xmlpatternsxqts
+xmlpatternsschemats.depends = xmlpatternsxqts
}
unix:!embedded:contains(QT_CONFIG, dbus):SUBDIRS += \
diff --git a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
index 5e20d06..5541162 100644
--- a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
+++ b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp
@@ -43,12 +43,12 @@
#include <QtCore/qmath.h>
#include "math3dincludes.h"
-class tst_QMatrix : public QObject
+class tst_QMatrixNxN : public QObject
{
Q_OBJECT
public:
- tst_QMatrix() {}
- ~tst_QMatrix() {}
+ tst_QMatrixNxN() {}
+ ~tst_QMatrixNxN() {}
private slots:
void create2x2();
@@ -298,25 +298,25 @@ static qreal const transposedValues3x4[12] =
// Set a matrix to a specified array of values, which are assumed
// to be in row-major order. This sets the values using floating-point.
-void tst_QMatrix::setMatrix(QMatrix2x2& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix2x2& m, const qreal *values)
{
for (int row = 0; row < 2; ++row)
for (int col = 0; col < 2; ++col)
m(row, col) = values[row * 2 + col];
}
-void tst_QMatrix::setMatrix(QMatrix3x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix3x3& m, const qreal *values)
{
for (int row = 0; row < 3; ++row)
for (int col = 0; col < 3; ++col)
m(row, col) = values[row * 3 + col];
}
-void tst_QMatrix::setMatrix(QMatrix4x4& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix4x4& m, const qreal *values)
{
for (int row = 0; row < 4; ++row)
for (int col = 0; col < 4; ++col)
m(row, col) = values[row * 4 + col];
}
-void tst_QMatrix::setMatrix(QMatrix4x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrix(QMatrix4x3& m, const qreal *values)
{
for (int row = 0; row < 3; ++row)
for (int col = 0; col < 4; ++col)
@@ -326,7 +326,7 @@ void tst_QMatrix::setMatrix(QMatrix4x3& m, const qreal *values)
// Set a matrix to a specified array of values, which are assumed
// to be in row-major order. This sets the values directly into
// the internal data() array.
-void tst_QMatrix::setMatrixDirect(QMatrix2x2& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix2x2& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 2; ++row) {
@@ -335,7 +335,7 @@ void tst_QMatrix::setMatrixDirect(QMatrix2x2& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixDirect(QMatrix3x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix3x3& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 3; ++row) {
@@ -344,7 +344,7 @@ void tst_QMatrix::setMatrixDirect(QMatrix3x3& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixDirect(QMatrix4x4& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix4x4& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 4; ++row) {
@@ -353,7 +353,7 @@ void tst_QMatrix::setMatrixDirect(QMatrix4x4& m, const qreal *values)
}
}
}
-void tst_QMatrix::setMatrixDirect(QMatrix4x3& m, const qreal *values)
+void tst_QMatrixNxN::setMatrixDirect(QMatrix4x3& m, const qreal *values)
{
float *data = m.data();
for (int row = 0; row < 3; ++row) {
@@ -398,7 +398,7 @@ static bool matrixFuzzyCompare(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
// Determine if a matrix is the same as a specified array of values.
// The values are assumed to be specified in row-major order.
-bool tst_QMatrix::isSame(const QMatrix2x2& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix2x2& m, const qreal *values)
{
const float *mv = m.constData();
for (int row = 0; row < 2; ++row) {
@@ -419,7 +419,7 @@ bool tst_QMatrix::isSame(const QMatrix2x2& m, const qreal *values)
}
return true;
}
-bool tst_QMatrix::isSame(const QMatrix3x3& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix3x3& m, const qreal *values)
{
const float *mv = m.constData();
for (int row = 0; row < 3; ++row) {
@@ -440,7 +440,7 @@ bool tst_QMatrix::isSame(const QMatrix3x3& m, const qreal *values)
}
return true;
}
-bool tst_QMatrix::isSame(const QMatrix4x4& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix4x4& m, const qreal *values)
{
const float *mv = m.constData();
for (int row = 0; row < 4; ++row) {
@@ -461,7 +461,7 @@ bool tst_QMatrix::isSame(const QMatrix4x4& m, const qreal *values)
}
return true;
}
-bool tst_QMatrix::isSame(const QMatrix4x3& m, const qreal *values)
+bool tst_QMatrixNxN::isSame(const QMatrix4x3& m, const qreal *values)
{
const float *mv = m.constData();
for (int row = 0; row < 3; ++row) {
@@ -484,26 +484,26 @@ bool tst_QMatrix::isSame(const QMatrix4x3& m, const qreal *values)
}
// Determine if a matrix is the identity.
-bool tst_QMatrix::isIdentity(const QMatrix2x2& m)
+bool tst_QMatrixNxN::isIdentity(const QMatrix2x2& m)
{
return isSame(m, identityValues2);
}
-bool tst_QMatrix::isIdentity(const QMatrix3x3& m)
+bool tst_QMatrixNxN::isIdentity(const QMatrix3x3& m)
{
return isSame(m, identityValues3);
}
-bool tst_QMatrix::isIdentity(const QMatrix4x4& m)
+bool tst_QMatrixNxN::isIdentity(const QMatrix4x4& m)
{
return isSame(m, identityValues4);
}
-bool tst_QMatrix::isIdentity(const QMatrix4x3& m)
+bool tst_QMatrixNxN::isIdentity(const QMatrix4x3& m)
{
return isSame(m, identityValues4x3);
}
// Test the creation of QMatrix2x2 objects in various ways:
// construct, copy, and modify.
-void tst_QMatrix::create2x2()
+void tst_QMatrixNxN::create2x2()
{
QMatrix2x2 m1;
QVERIFY(isIdentity(m1));
@@ -538,7 +538,7 @@ void tst_QMatrix::create2x2()
// Test the creation of QMatrix3x3 objects in various ways:
// construct, copy, and modify.
-void tst_QMatrix::create3x3()
+void tst_QMatrixNxN::create3x3()
{
QMatrix3x3 m1;
QVERIFY(isIdentity(m1));
@@ -573,7 +573,7 @@ void tst_QMatrix::create3x3()
// Test the creation of QMatrix4x4 objects in various ways:
// construct, copy, and modify.
-void tst_QMatrix::create4x4()
+void tst_QMatrixNxN::create4x4()
{
QMatrix4x4 m1;
QVERIFY(isIdentity(m1));
@@ -615,7 +615,7 @@ void tst_QMatrix::create4x4()
// Test the creation of QMatrix4x3 objects in various ways:
// construct, copy, and modify.
-void tst_QMatrix::create4x3()
+void tst_QMatrixNxN::create4x3()
{
QMatrix4x3 m1;
QVERIFY(isIdentity(m1));
@@ -649,7 +649,7 @@ void tst_QMatrix::create4x3()
}
// Test isIdentity() for 2x2 matrices.
-void tst_QMatrix::isIdentity2x2()
+void tst_QMatrixNxN::isIdentity2x2()
{
for (int i = 0; i < 2 * 2; ++i) {
QMatrix2x2 m;
@@ -660,7 +660,7 @@ void tst_QMatrix::isIdentity2x2()
}
// Test isIdentity() for 3x3 matrices.
-void tst_QMatrix::isIdentity3x3()
+void tst_QMatrixNxN::isIdentity3x3()
{
for (int i = 0; i < 3 * 3; ++i) {
QMatrix3x3 m;
@@ -671,7 +671,7 @@ void tst_QMatrix::isIdentity3x3()
}
// Test isIdentity() for 4x4 matrices.
-void tst_QMatrix::isIdentity4x4()
+void tst_QMatrixNxN::isIdentity4x4()
{
for (int i = 0; i < 4 * 4; ++i) {
QMatrix4x4 m;
@@ -687,7 +687,7 @@ void tst_QMatrix::isIdentity4x4()
}
// Test isIdentity() for 4x3 matrices.
-void tst_QMatrix::isIdentity4x3()
+void tst_QMatrixNxN::isIdentity4x3()
{
for (int i = 0; i < 4 * 3; ++i) {
QMatrix4x3 m;
@@ -698,7 +698,7 @@ void tst_QMatrix::isIdentity4x3()
}
// Test 2x2 matrix comparisons.
-void tst_QMatrix::compare2x2()
+void tst_QMatrixNxN::compare2x2()
{
QMatrix2x2 m1(uniqueValues2);
QMatrix2x2 m2(uniqueValues2);
@@ -711,7 +711,7 @@ void tst_QMatrix::compare2x2()
}
// Test 3x3 matrix comparisons.
-void tst_QMatrix::compare3x3()
+void tst_QMatrixNxN::compare3x3()
{
QMatrix3x3 m1(uniqueValues3);
QMatrix3x3 m2(uniqueValues3);
@@ -724,7 +724,7 @@ void tst_QMatrix::compare3x3()
}
// Test 4x4 matrix comparisons.
-void tst_QMatrix::compare4x4()
+void tst_QMatrixNxN::compare4x4()
{
QMatrix4x4 m1(uniqueValues4);
QMatrix4x4 m2(uniqueValues4);
@@ -737,7 +737,7 @@ void tst_QMatrix::compare4x4()
}
// Test 4x3 matrix comparisons.
-void tst_QMatrix::compare4x3()
+void tst_QMatrixNxN::compare4x3()
{
QMatrix4x3 m1(uniqueValues4x3);
QMatrix4x3 m2(uniqueValues4x3);
@@ -750,7 +750,7 @@ void tst_QMatrix::compare4x3()
}
// Test matrix 2x2 transpose operations.
-void tst_QMatrix::transposed2x2()
+void tst_QMatrixNxN::transposed2x2()
{
// Transposing the identity should result in the identity.
QMatrix2x2 m1;
@@ -769,7 +769,7 @@ void tst_QMatrix::transposed2x2()
}
// Test matrix 3x3 transpose operations.
-void tst_QMatrix::transposed3x3()
+void tst_QMatrixNxN::transposed3x3()
{
// Transposing the identity should result in the identity.
QMatrix3x3 m1;
@@ -788,7 +788,7 @@ void tst_QMatrix::transposed3x3()
}
// Test matrix 4x4 transpose operations.
-void tst_QMatrix::transposed4x4()
+void tst_QMatrixNxN::transposed4x4()
{
// Transposing the identity should result in the identity.
QMatrix4x4 m1;
@@ -807,7 +807,7 @@ void tst_QMatrix::transposed4x4()
}
// Test matrix 4x3 transpose operations.
-void tst_QMatrix::transposed4x3()
+void tst_QMatrixNxN::transposed4x3()
{
QMatrix4x3 m3(uniqueValues4x3);
QMatrix3x4 m4 = m3.transposed();
@@ -818,7 +818,7 @@ void tst_QMatrix::transposed4x3()
}
// Test matrix addition for 2x2 matrices.
-void tst_QMatrix::add2x2_data()
+void tst_QMatrixNxN::add2x2_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -839,7 +839,7 @@ void tst_QMatrix::add2x2_data()
QTest::newRow("unique")
<< (void *)uniqueValues2 << (void *)transposedValues2 << (void *)sumValues;
}
-void tst_QMatrix::add2x2()
+void tst_QMatrixNxN::add2x2()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -858,7 +858,7 @@ void tst_QMatrix::add2x2()
}
// Test matrix addition for 3x3 matrices.
-void tst_QMatrix::add3x3_data()
+void tst_QMatrixNxN::add3x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -880,7 +880,7 @@ void tst_QMatrix::add3x3_data()
QTest::newRow("unique")
<< (void *)uniqueValues3 << (void *)transposedValues3 << (void *)sumValues;
}
-void tst_QMatrix::add3x3()
+void tst_QMatrixNxN::add3x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -899,7 +899,7 @@ void tst_QMatrix::add3x3()
}
// Test matrix addition for 4x4 matrices.
-void tst_QMatrix::add4x4_data()
+void tst_QMatrixNxN::add4x4_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -922,7 +922,7 @@ void tst_QMatrix::add4x4_data()
QTest::newRow("unique")
<< (void *)uniqueValues4 << (void *)transposedValues4 << (void *)sumValues;
}
-void tst_QMatrix::add4x4()
+void tst_QMatrixNxN::add4x4()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -941,7 +941,7 @@ void tst_QMatrix::add4x4()
}
// Test matrix addition for 4x3 matrices.
-void tst_QMatrix::add4x3_data()
+void tst_QMatrixNxN::add4x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -963,7 +963,7 @@ void tst_QMatrix::add4x3_data()
QTest::newRow("unique")
<< (void *)uniqueValues4x3 << (void *)transposedValues3x4 << (void *)sumValues;
}
-void tst_QMatrix::add4x3()
+void tst_QMatrixNxN::add4x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -982,12 +982,12 @@ void tst_QMatrix::add4x3()
}
// Test matrix subtraction for 2x2 matrices.
-void tst_QMatrix::subtract2x2_data()
+void tst_QMatrixNxN::subtract2x2_data()
{
// Use the same test cases as the add test.
add2x2_data();
}
-void tst_QMatrix::subtract2x2()
+void tst_QMatrixNxN::subtract2x2()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1015,12 +1015,12 @@ void tst_QMatrix::subtract2x2()
}
// Test matrix subtraction for 3x3 matrices.
-void tst_QMatrix::subtract3x3_data()
+void tst_QMatrixNxN::subtract3x3_data()
{
// Use the same test cases as the add test.
add3x3_data();
}
-void tst_QMatrix::subtract3x3()
+void tst_QMatrixNxN::subtract3x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1048,12 +1048,12 @@ void tst_QMatrix::subtract3x3()
}
// Test matrix subtraction for 4x4 matrices.
-void tst_QMatrix::subtract4x4_data()
+void tst_QMatrixNxN::subtract4x4_data()
{
// Use the same test cases as the add test.
add4x4_data();
}
-void tst_QMatrix::subtract4x4()
+void tst_QMatrixNxN::subtract4x4()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1081,12 +1081,12 @@ void tst_QMatrix::subtract4x4()
}
// Test matrix subtraction for 4x3 matrices.
-void tst_QMatrix::subtract4x3_data()
+void tst_QMatrixNxN::subtract4x3_data()
{
// Use the same test cases as the add test.
add4x3_data();
}
-void tst_QMatrix::subtract4x3()
+void tst_QMatrixNxN::subtract4x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1114,7 +1114,7 @@ void tst_QMatrix::subtract4x3()
}
// Test matrix multiplication for 2x2 matrices.
-void tst_QMatrix::multiply2x2_data()
+void tst_QMatrixNxN::multiply2x2_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -1148,7 +1148,7 @@ void tst_QMatrix::multiply2x2_data()
QTest::newRow("unique/transposed")
<< (void *)uniqueValues2 << (void *)transposedValues2 << (void *)uniqueResult;
}
-void tst_QMatrix::multiply2x2()
+void tst_QMatrixNxN::multiply2x2()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1163,7 +1163,7 @@ void tst_QMatrix::multiply2x2()
}
// Test matrix multiplication for 3x3 matrices.
-void tst_QMatrix::multiply3x3_data()
+void tst_QMatrixNxN::multiply3x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -1197,7 +1197,7 @@ void tst_QMatrix::multiply3x3_data()
QTest::newRow("unique/transposed")
<< (void *)uniqueValues3 << (void *)transposedValues3 << (void *)uniqueResult;
}
-void tst_QMatrix::multiply3x3()
+void tst_QMatrixNxN::multiply3x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1212,7 +1212,7 @@ void tst_QMatrix::multiply3x3()
}
// Test matrix multiplication for 4x4 matrices.
-void tst_QMatrix::multiply4x4_data()
+void tst_QMatrixNxN::multiply4x4_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -1246,7 +1246,7 @@ void tst_QMatrix::multiply4x4_data()
QTest::newRow("unique/transposed")
<< (void *)uniqueValues4 << (void *)transposedValues4 << (void *)uniqueResult;
}
-void tst_QMatrix::multiply4x4()
+void tst_QMatrixNxN::multiply4x4()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1266,7 +1266,7 @@ void tst_QMatrix::multiply4x4()
}
// Test matrix multiplication for 4x3 matrices.
-void tst_QMatrix::multiply4x3_data()
+void tst_QMatrixNxN::multiply4x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -1294,7 +1294,7 @@ void tst_QMatrix::multiply4x3_data()
QTest::newRow("unique/transposed")
<< (void *)uniqueValues4x3 << (void *)transposedValues3x4 << (void *)uniqueResult;
}
-void tst_QMatrix::multiply4x3()
+void tst_QMatrixNxN::multiply4x3()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1312,7 +1312,7 @@ void tst_QMatrix::multiply4x3()
}
// Test matrix multiplication by a factor for 2x2 matrices.
-void tst_QMatrix::multiplyFactor2x2_data()
+void tst_QMatrixNxN::multiplyFactor2x2_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<qreal>("factor");
@@ -1343,7 +1343,7 @@ void tst_QMatrix::multiplyFactor2x2_data()
QTest::newRow("zero")
<< (void *)values << (qreal)0.0f << (void *)nullValues4;
}
-void tst_QMatrix::multiplyFactor2x2()
+void tst_QMatrixNxN::multiplyFactor2x2()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1366,7 +1366,7 @@ void tst_QMatrix::multiplyFactor2x2()
}
// Test matrix multiplication by a factor for 3x3 matrices.
-void tst_QMatrix::multiplyFactor3x3_data()
+void tst_QMatrixNxN::multiplyFactor3x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<qreal>("factor");
@@ -1400,7 +1400,7 @@ void tst_QMatrix::multiplyFactor3x3_data()
QTest::newRow("zero")
<< (void *)values << (qreal)0.0f << (void *)nullValues4;
}
-void tst_QMatrix::multiplyFactor3x3()
+void tst_QMatrixNxN::multiplyFactor3x3()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1423,7 +1423,7 @@ void tst_QMatrix::multiplyFactor3x3()
}
// Test matrix multiplication by a factor for 4x4 matrices.
-void tst_QMatrix::multiplyFactor4x4_data()
+void tst_QMatrixNxN::multiplyFactor4x4_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<qreal>("factor");
@@ -1460,7 +1460,7 @@ void tst_QMatrix::multiplyFactor4x4_data()
QTest::newRow("zero")
<< (void *)values << (qreal)0.0f << (void *)nullValues4;
}
-void tst_QMatrix::multiplyFactor4x4()
+void tst_QMatrixNxN::multiplyFactor4x4()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1483,7 +1483,7 @@ void tst_QMatrix::multiplyFactor4x4()
}
// Test matrix multiplication by a factor for 4x3 matrices.
-void tst_QMatrix::multiplyFactor4x3_data()
+void tst_QMatrixNxN::multiplyFactor4x3_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<qreal>("factor");
@@ -1517,7 +1517,7 @@ void tst_QMatrix::multiplyFactor4x3_data()
QTest::newRow("zero")
<< (void *)values << (qreal)0.0f << (void *)nullValues4x3;
}
-void tst_QMatrix::multiplyFactor4x3()
+void tst_QMatrixNxN::multiplyFactor4x3()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1540,12 +1540,12 @@ void tst_QMatrix::multiplyFactor4x3()
}
// Test matrix division by a factor for 2x2 matrices.
-void tst_QMatrix::divideFactor2x2_data()
+void tst_QMatrixNxN::divideFactor2x2_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor2x2_data();
}
-void tst_QMatrix::divideFactor2x2()
+void tst_QMatrixNxN::divideFactor2x2()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1567,12 +1567,12 @@ void tst_QMatrix::divideFactor2x2()
}
// Test matrix division by a factor for 3x3 matrices.
-void tst_QMatrix::divideFactor3x3_data()
+void tst_QMatrixNxN::divideFactor3x3_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor3x3_data();
}
-void tst_QMatrix::divideFactor3x3()
+void tst_QMatrixNxN::divideFactor3x3()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1594,12 +1594,12 @@ void tst_QMatrix::divideFactor3x3()
}
// Test matrix division by a factor for 4x4 matrices.
-void tst_QMatrix::divideFactor4x4_data()
+void tst_QMatrixNxN::divideFactor4x4_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor4x4_data();
}
-void tst_QMatrix::divideFactor4x4()
+void tst_QMatrixNxN::divideFactor4x4()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1621,12 +1621,12 @@ void tst_QMatrix::divideFactor4x4()
}
// Test matrix division by a factor for 4x3 matrices.
-void tst_QMatrix::divideFactor4x3_data()
+void tst_QMatrixNxN::divideFactor4x3_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor4x3_data();
}
-void tst_QMatrix::divideFactor4x3()
+void tst_QMatrixNxN::divideFactor4x3()
{
QFETCH(void *, m1Values);
QFETCH(qreal, factor);
@@ -1648,12 +1648,12 @@ void tst_QMatrix::divideFactor4x3()
}
// Test matrix negation for 2x2 matrices.
-void tst_QMatrix::negate2x2_data()
+void tst_QMatrixNxN::negate2x2_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor2x2_data();
}
-void tst_QMatrix::negate2x2()
+void tst_QMatrixNxN::negate2x2()
{
QFETCH(void *, m1Values);
@@ -1671,12 +1671,12 @@ void tst_QMatrix::negate2x2()
}
// Test matrix negation for 3x3 matrices.
-void tst_QMatrix::negate3x3_data()
+void tst_QMatrixNxN::negate3x3_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor3x3_data();
}
-void tst_QMatrix::negate3x3()
+void tst_QMatrixNxN::negate3x3()
{
QFETCH(void *, m1Values);
@@ -1694,12 +1694,12 @@ void tst_QMatrix::negate3x3()
}
// Test matrix negation for 4x4 matrices.
-void tst_QMatrix::negate4x4_data()
+void tst_QMatrixNxN::negate4x4_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor4x4_data();
}
-void tst_QMatrix::negate4x4()
+void tst_QMatrixNxN::negate4x4()
{
QFETCH(void *, m1Values);
@@ -1717,12 +1717,12 @@ void tst_QMatrix::negate4x4()
}
// Test matrix negation for 4x3 matrices.
-void tst_QMatrix::negate4x3_data()
+void tst_QMatrixNxN::negate4x3_data()
{
// Use the same test cases as the multiplyFactor test.
multiplyFactor4x3_data();
}
-void tst_QMatrix::negate4x3()
+void tst_QMatrixNxN::negate4x3()
{
QFETCH(void *, m1Values);
@@ -1823,7 +1823,7 @@ static void m4Inverse(const Matrix4& min, Matrix4& mout)
}
// Test matrix inverted for 4x4 matrices.
-void tst_QMatrix::inverted4x4_data()
+void tst_QMatrixNxN::inverted4x4_data()
{
QTest::addColumn<void *>("m1Values");
QTest::addColumn<void *>("m2Values");
@@ -1866,7 +1866,7 @@ void tst_QMatrix::inverted4x4_data()
QTest::newRow("translate")
<< (void *)translate.v << (void *)inverseTranslate.v << true;
}
-void tst_QMatrix::inverted4x4()
+void tst_QMatrixNxN::inverted4x4()
{
QFETCH(void *, m1Values);
QFETCH(void *, m2Values);
@@ -1914,7 +1914,7 @@ void tst_QMatrix::inverted4x4()
QCOMPARE(inv, invertible);
}
-void tst_QMatrix::orthonormalInverse4x4()
+void tst_QMatrixNxN::orthonormalInverse4x4()
{
QMatrix4x4 m1;
QVERIFY(matrixFuzzyCompare(m1.inverted(), m1));
@@ -1949,7 +1949,7 @@ void tst_QMatrix::orthonormalInverse4x4()
}
// Test the generation and use of 4x4 scale matrices.
-void tst_QMatrix::scale4x4_data()
+void tst_QMatrixNxN::scale4x4_data()
{
QTest::addColumn<qreal>("x");
QTest::addColumn<qreal>("y");
@@ -1991,7 +1991,7 @@ void tst_QMatrix::scale4x4_data()
QTest::newRow("complex2D")
<< (qreal)2.0f << (qreal)-11.0f << (qreal)1.0f << (void *)complexScale2D;
}
-void tst_QMatrix::scale4x4()
+void tst_QMatrixNxN::scale4x4()
{
QFETCH(qreal, x);
QFETCH(qreal, y);
@@ -2103,7 +2103,7 @@ void tst_QMatrix::scale4x4()
}
// Test the generation and use of 4x4 translation matrices.
-void tst_QMatrix::translate4x4_data()
+void tst_QMatrixNxN::translate4x4_data()
{
QTest::addColumn<qreal>("x");
QTest::addColumn<qreal>("y");
@@ -2137,7 +2137,7 @@ void tst_QMatrix::translate4x4_data()
QTest::newRow("complex2D")
<< (qreal)2.0f << (qreal)-11.0f << (qreal)0.0f << (void *)complexTranslate2D;
}
-void tst_QMatrix::translate4x4()
+void tst_QMatrixNxN::translate4x4()
{
QFETCH(qreal, x);
QFETCH(qreal, y);
@@ -2203,7 +2203,7 @@ void tst_QMatrix::translate4x4()
}
// Test the generation and use of 4x4 rotation matrices.
-void tst_QMatrix::rotate4x4_data()
+void tst_QMatrixNxN::rotate4x4_data()
{
QTest::addColumn<qreal>("angle");
QTest::addColumn<qreal>("x");
@@ -2326,7 +2326,7 @@ void tst_QMatrix::rotate4x4_data()
<< (qreal)x << (qreal)y << (qreal)z
<< (void *)complexRotate;
}
-void tst_QMatrix::rotate4x4()
+void tst_QMatrixNxN::rotate4x4()
{
QFETCH(qreal, angle);
QFETCH(qreal, x);
@@ -2441,7 +2441,7 @@ static bool isSame(const QMatrix3x3& m1, const Matrix3& m2)
}
// Test the computation of normal matrices from 4x4 transformation matrices.
-void tst_QMatrix::normalMatrix_data()
+void tst_QMatrixNxN::normalMatrix_data()
{
QTest::addColumn<void *>("mValues");
@@ -2488,7 +2488,7 @@ void tst_QMatrix::normalMatrix_data()
QTest::newRow("null scale 2") << (void *)nullScaleValues2;
QTest::newRow("null scale 3") << (void *)nullScaleValues3;
}
-void tst_QMatrix::normalMatrix()
+void tst_QMatrixNxN::normalMatrix()
{
QFETCH(void *, mValues);
const qreal *values = (const qreal *)mValues;
@@ -2529,7 +2529,7 @@ void tst_QMatrix::normalMatrix()
}
// Test optimized transformations on 4x4 matrices.
-void tst_QMatrix::optimizedTransforms()
+void tst_QMatrixNxN::optimizedTransforms()
{
static qreal const translateValues[16] =
{1.0f, 0.0f, 0.0f, 4.0f,
@@ -2640,7 +2640,7 @@ void tst_QMatrix::optimizedTransforms()
}
// Test orthographic projections.
-void tst_QMatrix::ortho()
+void tst_QMatrixNxN::ortho()
{
QMatrix4x4 m1;
m1.ortho(QRect(0, 0, 300, 150));
@@ -2729,7 +2729,7 @@ void tst_QMatrix::ortho()
}
// Test perspective frustum projections.
-void tst_QMatrix::frustum()
+void tst_QMatrixNxN::frustum()
{
QMatrix4x4 m1;
m1.frustum(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f);
@@ -2765,7 +2765,7 @@ void tst_QMatrix::frustum()
}
// Test perspective field-of-view projections.
-void tst_QMatrix::perspective()
+void tst_QMatrixNxN::perspective()
{
QMatrix4x4 m1;
m1.perspective(45.0f, 1.0f, -1.0f, 1.0f);
@@ -2801,7 +2801,7 @@ void tst_QMatrix::perspective()
}
// Test left-handed vs right-handed coordinate flipping.
-void tst_QMatrix::flipCoordinates()
+void tst_QMatrixNxN::flipCoordinates()
{
QMatrix4x4 m1;
m1.flipCoordinates();
@@ -2828,7 +2828,7 @@ void tst_QMatrix::flipCoordinates()
}
// Test conversion of generic matrices to and from the non-generic types.
-void tst_QMatrix::convertGeneric()
+void tst_QMatrixNxN::convertGeneric()
{
QMatrix4x3 m1(uniqueValues4x3);
@@ -2860,7 +2860,7 @@ void tst_QMatrix::convertGeneric()
QVERIFY(isSame(m11, conv4x4));
}
-void tst_QMatrix::extractAxisRotation_data()
+void tst_QMatrixNxN::extractAxisRotation_data()
{
QTest::addColumn<float>("x");
QTest::addColumn<float>("y");
@@ -2893,7 +2893,7 @@ void tst_QMatrix::extractAxisRotation_data()
QTest::newRow("1, 1, 1, 300 deg") << 1.0f << 1.0f << 1.0f << 300.0f;
}
-void tst_QMatrix::extractAxisRotation()
+void tst_QMatrixNxN::extractAxisRotation()
{
QFETCH(float, x);
QFETCH(float, y);
@@ -2922,7 +2922,7 @@ void tst_QMatrix::extractAxisRotation()
}
}
-void tst_QMatrix::extractTranslation_data()
+void tst_QMatrixNxN::extractTranslation_data()
{
QTest::addColumn<QMatrix4x4>("rotation");
QTest::addColumn<float>("x");
@@ -2948,7 +2948,7 @@ void tst_QMatrix::extractTranslation_data()
QTest::newRow("rotZ 75, rotX 25, rotY 45, 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f;
}
-void tst_QMatrix::extractTranslation()
+void tst_QMatrixNxN::extractTranslation()
{
QFETCH(QMatrix4x4, rotation);
QFETCH(float, x);
@@ -2995,7 +2995,7 @@ struct Matrix4x4
};
// Test the inferring of special matrix types.
-void tst_QMatrix::inferSpecialType_data()
+void tst_QMatrixNxN::inferSpecialType_data()
{
QTest::addColumn<void *>("mValues");
QTest::addColumn<int>("flagBits");
@@ -3043,7 +3043,7 @@ void tst_QMatrix::inferSpecialType_data()
QTest::newRow("below")
<< (void *)belowValues << (int)General;
}
-void tst_QMatrix::inferSpecialType()
+void tst_QMatrixNxN::inferSpecialType()
{
QFETCH(void *, mValues);
QFETCH(int, flagBits);
@@ -3054,7 +3054,7 @@ void tst_QMatrix::inferSpecialType()
QCOMPARE(reinterpret_cast<Matrix4x4 *>(&m)->flagBits, flagBits);
}
-void tst_QMatrix::columnsAndRows()
+void tst_QMatrixNxN::columnsAndRows()
{
QMatrix4x4 m1(uniqueValues4);
@@ -3102,7 +3102,7 @@ void tst_QMatrix::columnsAndRows()
// Test converting QMatrix objects into QMatrix4x4 and then
// checking that transformations in the original perform the
// equivalent transformations in the new matrix.
-void tst_QMatrix::convertQMatrix()
+void tst_QMatrixNxN::convertQMatrix()
{
QMatrix m1;
m1.translate(-3.5, 2.0);
@@ -3149,7 +3149,7 @@ void tst_QMatrix::convertQMatrix()
// Test converting QTransform objects into QMatrix4x4 and then
// checking that transformations in the original perform the
// equivalent transformations in the new matrix.
-void tst_QMatrix::convertQTransform()
+void tst_QMatrixNxN::convertQTransform()
{
QTransform m1;
m1.translate(-3.5, 2.0);
@@ -3197,7 +3197,7 @@ void tst_QMatrix::convertQTransform()
}
// Test filling matrices with specific values.
-void tst_QMatrix::fill()
+void tst_QMatrixNxN::fill()
{
QMatrix4x4 m1;
m1.fill(0.0f);
@@ -3224,7 +3224,7 @@ void tst_QMatrix::fill()
}
// Test the mapRect() function for QRect and QRectF.
-void tst_QMatrix::mapRect_data()
+void tst_QMatrixNxN::mapRect_data()
{
QTest::addColumn<qreal>("x");
QTest::addColumn<qreal>("y");
@@ -3236,7 +3236,7 @@ void tst_QMatrix::mapRect_data()
QTest::newRow("rect")
<< (qreal)1.0f << (qreal)-20.5f << (qreal)100.0f << (qreal)63.75f;
}
-void tst_QMatrix::mapRect()
+void tst_QMatrixNxN::mapRect()
{
QFETCH(qreal, x);
QFETCH(qreal, y);
@@ -3334,12 +3334,12 @@ void tst_QMatrix::mapRect()
QVERIFY(mri == tri);
}
-class tst_QMatrix4x4Properties : public QObject
+class tst_QMatrixNxN4x4Properties : public QObject
{
Q_OBJECT
Q_PROPERTY(QMatrix4x4 matrix READ matrix WRITE setMatrix)
public:
- tst_QMatrix4x4Properties(QObject *parent = 0) : QObject(parent) {}
+ tst_QMatrixNxN4x4Properties(QObject *parent = 0) : QObject(parent) {}
QMatrix4x4 matrix() const { return m; }
void setMatrix(const QMatrix4x4& value) { m = value; }
@@ -3349,9 +3349,9 @@ private:
};
// Test getting and setting matrix properties via the metaobject system.
-void tst_QMatrix::properties()
+void tst_QMatrixNxN::properties()
{
- tst_QMatrix4x4Properties obj;
+ tst_QMatrixNxN4x4Properties obj;
QMatrix4x4 m1(uniqueValues4);
obj.setMatrix(m1);
@@ -3366,7 +3366,7 @@ void tst_QMatrix::properties()
QVERIFY(isSame(m2, transposedValues4));
}
-void tst_QMatrix::metaTypes()
+void tst_QMatrixNxN::metaTypes()
{
QVERIFY(QMetaType::type("QMatrix4x4") == QMetaType::QMatrix4x4);
@@ -3378,6 +3378,6 @@ void tst_QMatrix::metaTypes()
QVERIFY(qMetaTypeId<QMatrix4x4>() == QMetaType::QMatrix4x4);
}
-QTEST_APPLESS_MAIN(tst_QMatrix)
+QTEST_APPLESS_MAIN(tst_QMatrixNxN)
#include "tst_qmatrixnxn.moc"
diff --git a/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp b/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp
index 8f8d6a6..f87500c 100644
--- a/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp
+++ b/tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp
@@ -56,41 +56,61 @@ public:
tst_QAudioDeviceId(QObject* parent=0) : QObject(parent) {}
private slots:
+ void initTestCase();
void checkNull();
void checkEquality();
+
+private:
+ bool available;
};
-void tst_QAudioDeviceId::checkNull()
+void tst_QAudioDeviceId::initTestCase()
{
- // Default constructed is null.
- QAudioDeviceId deviceId0;
- QVERIFY(deviceId0.isNull());
+ // Only perform tests if audio output device exists!
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ if(devices.size() > 0)
+ available = true;
+ else {
+ qWarning()<<"NOTE: no audio output device found, no test will be performed";
+ available = false;
+ }
+}
- // Null is transferred
- QAudioDeviceId deviceId1(deviceId0);
- QVERIFY(deviceId1.isNull());
+void tst_QAudioDeviceId::checkNull()
+{
+ if(available) {
+ // Default constructed is null.
+ QAudioDeviceId deviceId0;
+ QVERIFY(deviceId0.isNull());
+
+ // Null is transferred
+ QAudioDeviceId deviceId1(deviceId0);
+ QVERIFY(deviceId1.isNull());
+ }
}
void tst_QAudioDeviceId::checkEquality()
{
- QAudioDeviceId deviceId0;
- QAudioDeviceId deviceId1;
+ if(available) {
+ QAudioDeviceId deviceId0;
+ QAudioDeviceId deviceId1;
- // Null ids are equivalent
- QVERIFY(deviceId0 == deviceId1);
- QVERIFY(!(deviceId0 != deviceId1));
+ // Null ids are equivalent
+ QVERIFY(deviceId0 == deviceId1);
+ QVERIFY(!(deviceId0 != deviceId1));
- deviceId1 = QAudioDeviceInfo::defaultOutputDevice();
+ deviceId1 = QAudioDeviceInfo::defaultOutputDevice();
- // Different
- QVERIFY(deviceId0 != deviceId1);
- QVERIFY(!(deviceId0 == deviceId1));
+ // Different
+ QVERIFY(deviceId0 != deviceId1);
+ QVERIFY(!(deviceId0 == deviceId1));
- // Same
- deviceId0 = deviceId1;
+ // Same
+ deviceId0 = deviceId1;
- QVERIFY(deviceId0 == deviceId1);
- QVERIFY(!(deviceId0 != deviceId1));
+ QVERIFY(deviceId0 == deviceId1);
+ QVERIFY(!(deviceId0 != deviceId1));
+ }
}
QTEST_MAIN(tst_QAudioDeviceId)
diff --git a/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
index 72121a7..47f3d00 100644
--- a/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
+++ b/tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
@@ -55,6 +55,7 @@ public:
tst_QAudioDeviceInfo(QObject* parent=0) : QObject(parent) {}
private slots:
+ void initTestCase();
void checkAvailableDefaultInput();
void checkAvailableDefaultOutput();
void outputList();
@@ -69,89 +70,134 @@ private slots:
void nearest();
private:
+ bool available;
QAudioDeviceInfo* device;
};
+void tst_QAudioDeviceInfo::initTestCase()
+{
+ // Only perform tests if audio output device exists!
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ if(devices.size() > 0)
+ available = true;
+ else {
+ qWarning()<<"NOTE: no audio output device found, no test will be performed";
+ available = false;
+ }
+}
+
void tst_QAudioDeviceInfo::checkAvailableDefaultInput()
{
- QVERIFY(!QAudioDeviceInfo::defaultInputDevice().isNull());
+ // Only perform tests if audio input device exists!
+ bool storeAvailable = available;
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput);
+ if(devices.size() > 0)
+ available = true;
+ else {
+ qWarning()<<"NOTE: no audio input device found, no test will be performed";
+ available = false;
+ }
+ if(available)
+ QVERIFY(!QAudioDeviceInfo::defaultInputDevice().isNull());
+ available = storeAvailable;
}
void tst_QAudioDeviceInfo::checkAvailableDefaultOutput()
{
- QVERIFY(!QAudioDeviceInfo::defaultOutputDevice().isNull());
+ if(available)
+ QVERIFY(!QAudioDeviceInfo::defaultOutputDevice().isNull());
}
void tst_QAudioDeviceInfo::outputList()
{
- QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
- QVERIFY(devices.size() > 0);
- device = new QAudioDeviceInfo(devices.at(0), this);
+ if(available) {
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ QVERIFY(devices.size() > 0);
+ device = new QAudioDeviceInfo(devices.at(0), this);
+ }
}
void tst_QAudioDeviceInfo::codecs()
{
- QStringList avail = device->supportedCodecs();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QStringList avail = device->supportedCodecs();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::channels()
{
- QList<int> avail = device->supportedChannels();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QList<int> avail = device->supportedChannels();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::sampleSizes()
{
- QList<int> avail = device->supportedSampleSizes();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QList<int> avail = device->supportedSampleSizes();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::byteOrders()
{
- QList<QAudioFormat::Endian> avail = device->supportedByteOrders();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QList<QAudioFormat::Endian> avail = device->supportedByteOrders();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::sampleTypes()
{
- QList<QAudioFormat::SampleType> avail = device->supportedSampleTypes();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QList<QAudioFormat::SampleType> avail = device->supportedSampleTypes();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::frequencies()
{
- QList<int> avail = device->supportedFrequencies();
- QVERIFY(avail.size() > 0);
+ if(available) {
+ QList<int> avail = device->supportedFrequencies();
+ QVERIFY(avail.size() > 0);
+ }
}
void tst_QAudioDeviceInfo::isformat()
{
- QAudioFormat format;
- format.setFrequency(44100);
- format.setChannels(2);
- format.setSampleType(QAudioFormat::SignedInt);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleSize(16);
- format.setCodec("audio/pcm");
-
- // Should always be true for these format
- QVERIFY(device->isFormatSupported(format));
+ if(available) {
+ QAudioFormat format;
+ format.setFrequency(44100);
+ format.setChannels(2);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleSize(16);
+ format.setCodec("audio/pcm");
+
+ // Should always be true for these format
+ QVERIFY(device->isFormatSupported(format));
+ }
}
void tst_QAudioDeviceInfo::preferred()
{
- QAudioFormat format = device->preferredFormat();
- QVERIFY(format.frequency() == 44100);
- QVERIFY(format.channels() == 2);
+ if(available) {
+ QAudioFormat format = device->preferredFormat();
+ QVERIFY(format.frequency() == 44100);
+ QVERIFY(format.channels() == 2);
+ }
}
void tst_QAudioDeviceInfo::nearest()
{
- QAudioFormat format1, format2;
- format1.setFrequency(8000);
- format2 = device->nearestFormat(format1);
- QVERIFY(format2.frequency() == 44100);
+ if(available) {
+ QAudioFormat format1, format2;
+ format1.setFrequency(8000);
+ format2 = device->nearestFormat(format1);
+ QVERIFY(format2.frequency() == 44100);
+ }
}
QTEST_MAIN(tst_QAudioDeviceInfo)
diff --git a/tests/auto/qaudioinput/tst_qaudioinput.cpp b/tests/auto/qaudioinput/tst_qaudioinput.cpp
index 891d1c4..6f1d568 100644
--- a/tests/auto/qaudioinput/tst_qaudioinput.cpp
+++ b/tests/auto/qaudioinput/tst_qaudioinput.cpp
@@ -60,6 +60,7 @@ private slots:
void pullFile();
private:
+ bool available;
QAudioFormat format;
QAudioInput* audio;
};
@@ -73,46 +74,62 @@ void tst_QAudioInput::initTestCase()
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);
- audio = new QAudioInput(format, this);
+ // Only perform tests if audio input device exists!
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput);
+ if(devices.size() > 0)
+ available = true;
+ else {
+ qWarning()<<"NOTE: no audio input device found, no test will be performed";
+ available = false;
+ }
+
+ if(available)
+ audio = new QAudioInput(format, this);
}
void tst_QAudioInput::settings()
{
- QAudioFormat f = audio->format();
-
- QVERIFY(format.channels() == f.channels());
- QVERIFY(format.frequency() == f.frequency());
- QVERIFY(format.sampleSize() == f.sampleSize());
- QVERIFY(format.codec() == f.codec());
- QVERIFY(format.byteOrder() == f.byteOrder());
- QVERIFY(format.sampleType() == f.sampleType());
+ if(available) {
+ QAudioFormat f = audio->format();
+
+ QVERIFY(format.channels() == f.channels());
+ QVERIFY(format.frequency() == f.frequency());
+ QVERIFY(format.sampleSize() == f.sampleSize());
+ QVERIFY(format.codec() == f.codec());
+ QVERIFY(format.byteOrder() == f.byteOrder());
+ QVERIFY(format.sampleType() == f.sampleType());
+ }
}
void tst_QAudioInput::notifyInterval()
{
- QVERIFY(audio->notifyInterval() == 1000); // Default
+ if(available) {
+ QVERIFY(audio->notifyInterval() == 1000); // Default
- audio->setNotifyInterval(500);
- QVERIFY(audio->notifyInterval() == 500); // Custom
+ audio->setNotifyInterval(500);
+ QVERIFY(audio->notifyInterval() == 500); // Custom
- audio->setNotifyInterval(1000); // reset
+ audio->setNotifyInterval(1000); // reset
+ }
}
void tst_QAudioInput::pullFile()
{
- QFile filename(SRCDIR "test.raw");
- filename.open( QIODevice::WriteOnly | QIODevice::Truncate );
+ if(available) {
+ QFile filename(SRCDIR "test.raw");
+ filename.open( QIODevice::WriteOnly | QIODevice::Truncate );
- QSignalSpy readSignal(audio, SIGNAL(notify()));
- audio->start(&filename);
+ QSignalSpy readSignal(audio, SIGNAL(notify()));
+ audio->start(&filename);
- QTest::qWait(5000);
+ QTest::qWait(5000);
- QVERIFY(readSignal.count() > 0);
- QVERIFY(audio->totalTime() > 0);
+ QVERIFY(readSignal.count() > 0);
+ QVERIFY(audio->totalTime() > 0);
- audio->stop();
- filename.close();
+ audio->stop();
+ filename.close();
+ }
}
QTEST_MAIN(tst_QAudioInput)
diff --git a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp
index 2c3f662..0552aa4 100644
--- a/tests/auto/qaudiooutput/tst_qaudiooutput.cpp
+++ b/tests/auto/qaudiooutput/tst_qaudiooutput.cpp
@@ -63,6 +63,7 @@ private slots:
void pushFile();
private:
+ bool available;
QAudioFormat format;
QAudioOutput* audio;
};
@@ -76,79 +77,95 @@ void tst_QAudioOutput::initTestCase()
format.setByteOrder(QAudioFormat::LittleEndian);
format.setSampleType(QAudioFormat::UnSignedInt);
+ // Only perform tests if audio output device exists!
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ if(devices.size() > 0)
+ available = true;
+ else {
+ qWarning()<<"NOTE: no audio output device found, no test will be performed";
+ available = false;
+ }
audio = new QAudioOutput(format, this);
}
void tst_QAudioOutput::settings()
{
- QAudioFormat f = audio->format();
-
- QVERIFY(format.channels() == f.channels());
- QVERIFY(format.frequency() == f.frequency());
- QVERIFY(format.sampleSize() == f.sampleSize());
- QVERIFY(format.codec() == f.codec());
- QVERIFY(format.byteOrder() == f.byteOrder());
- QVERIFY(format.sampleType() == f.sampleType());
+ if(available) {
+ QAudioFormat f = audio->format();
+
+ QVERIFY(format.channels() == f.channels());
+ QVERIFY(format.frequency() == f.frequency());
+ QVERIFY(format.sampleSize() == f.sampleSize());
+ QVERIFY(format.codec() == f.codec());
+ QVERIFY(format.byteOrder() == f.byteOrder());
+ QVERIFY(format.sampleType() == f.sampleType());
+ }
}
void tst_QAudioOutput::notifyInterval()
{
- QVERIFY(audio->notifyInterval() == 1000); // Default
+ if(available) {
+ QVERIFY(audio->notifyInterval() == 1000); // Default
- audio->setNotifyInterval(500);
- QVERIFY(audio->notifyInterval() == 500); // Custom
+ audio->setNotifyInterval(500);
+ QVERIFY(audio->notifyInterval() == 500); // Custom
- audio->setNotifyInterval(1000); // reset
+ audio->setNotifyInterval(1000); // reset
+ }
}
void tst_QAudioOutput::pullFile()
{
- QFile filename(SRCDIR "4.wav");
- QVERIFY(filename.exists());
- filename.open(QIODevice::ReadOnly);
-
- QSignalSpy readSignal(audio, SIGNAL(notify()));
- audio->setNotifyInterval(100);
- audio->start(&filename);
-
- QTestEventLoop::instance().enterLoop(1);
- // 4.wav is a little less than 700ms, so notify should fire 6 times!
- QVERIFY(readSignal.count() >= 6);
- QVERIFY(audio->totalTime() == 692250);
-
- audio->stop();
- filename.close();
+ if(available) {
+ QFile filename(SRCDIR "4.wav");
+ QVERIFY(filename.exists());
+ filename.open(QIODevice::ReadOnly);
+
+ QSignalSpy readSignal(audio, SIGNAL(notify()));
+ audio->setNotifyInterval(100);
+ audio->start(&filename);
+
+ QTestEventLoop::instance().enterLoop(1);
+ // 4.wav is a little less than 700ms, so notify should fire 6 times!
+ QVERIFY(readSignal.count() >= 6);
+ QVERIFY(audio->totalTime() == 692250);
+
+ audio->stop();
+ filename.close();
+ }
}
void tst_QAudioOutput::pushFile()
{
- QFile filename(SRCDIR "4.wav");
- QVERIFY(filename.exists());
- filename.open(QIODevice::ReadOnly);
-
- const qint64 fileSize = filename.size();
-
- QIODevice* feed = audio->start(0);
-
- char* buffer = new char[fileSize];
- filename.read(buffer, fileSize);
-
- qint64 counter=0;
- qint64 written=0;
- while(written < fileSize) {
- written+=feed->write(buffer+written,fileSize-written);
- QTest::qWait(20);
- counter++;
+ if(available) {
+ QFile filename(SRCDIR "4.wav");
+ QVERIFY(filename.exists());
+ filename.open(QIODevice::ReadOnly);
+
+ const qint64 fileSize = filename.size();
+
+ QIODevice* feed = audio->start(0);
+
+ char* buffer = new char[fileSize];
+ filename.read(buffer, fileSize);
+
+ qint64 counter=0;
+ qint64 written=0;
+ while(written < fileSize) {
+ written+=feed->write(buffer+written,fileSize-written);
+ QTest::qWait(20);
+ counter++;
+ }
+ QTestEventLoop::instance().enterLoop(1);
+
+ QVERIFY(written == fileSize);
+ QVERIFY(audio->totalTime() == 692250);
+
+ audio->stop();
+ filename.close();
+ delete [] buffer;
+ delete audio;
}
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(written == fileSize);
- QVERIFY(audio->totalTime() == 692250);
-
- audio->stop();
- filename.close();
- delete [] buffer;
- delete audio;
}
QTEST_MAIN(tst_QAudioOutput)
diff --git a/tests/auto/qcolumnview/qcolumnview.pro b/tests/auto/qcolumnview/qcolumnview.pro
index 00e3880..754f06f 100644
--- a/tests/auto/qcolumnview/qcolumnview.pro
+++ b/tests/auto/qcolumnview/qcolumnview.pro
@@ -1,8 +1,4 @@
CONFIG += qttest_p4
-include(../src/qcolumnview.pri)
-
SOURCES += tst_qcolumnview.cpp
TARGET = tst_qcolumnview
-
-
diff --git a/tests/auto/qdesktopservices/qdesktopservices.pro b/tests/auto/qdesktopservices/qdesktopservices.pro
index 537b105..05110bb 100644
--- a/tests/auto/qdesktopservices/qdesktopservices.pro
+++ b/tests/auto/qdesktopservices/qdesktopservices.pro
@@ -2,7 +2,3 @@ CONFIG += qttest_p4
SOURCES += tst_qdesktopservices.cpp
TARGET = tst_qdesktopservices
-
-include(../src/qdesktopservices.pri)
-
-
diff --git a/tests/auto/qdockwidget/tst_qdockwidget.cpp b/tests/auto/qdockwidget/tst_qdockwidget.cpp
index e0548a7..686f62f 100644
--- a/tests/auto/qdockwidget/tst_qdockwidget.cpp
+++ b/tests/auto/qdockwidget/tst_qdockwidget.cpp
@@ -598,7 +598,7 @@ void tst_QDockWidget::visibilityChanged()
QCOMPARE(spy.count(), 0);
mw.addDockWidget(Qt::RightDockWidgetArea, &dw2);
- qApp->processEvents();
+ QTest::qWait(200);
QCOMPARE(spy.count(), 1);
QCOMPARE(spy.at(0).at(0).toBool(), true);
}
diff --git a/tests/auto/qfilesystemmodel/qfilesystemmodel.pro b/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
index 55f3b5c..1daae04 100644
--- a/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
+++ b/tests/auto/qfilesystemmodel/qfilesystemmodel.pro
@@ -1,8 +1,5 @@
CONFIG += qttest_p4
-include(../../src/qfiledialog.pri)
-include(../../../../modeltest/modeltest.pri)
-
QT = core gui
SOURCES += tst_qfilesystemmodel.cpp
diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
index f827bfc..9ffbc05 100644
--- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
@@ -71,7 +71,7 @@ private slots:
void elidedText();
void veryNarrowElidedText();
void averageCharWidth();
- void elidedMultiLenght();
+ void elidedMultiLength();
};
tst_QFontMetrics::tst_QFontMetrics()
@@ -203,7 +203,7 @@ void tst_QFontMetrics::averageCharWidth()
QVERIFY(fmf.averageCharWidth() != 0);
}
-void tst_QFontMetrics::elidedMultiLenght()
+void tst_QFontMetrics::elidedMultiLength()
{
QString text1 = "Long Text 1\x9cShorter\x9csmall";
QString text1_long = "Long Text 1";
@@ -218,8 +218,9 @@ void tst_QFontMetrics::elidedMultiLenght()
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_short), text1_short);
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_short - 1), text1_small);
+ // Not even wide enough for "small" - should use ellipsis
QChar ellipsisChar(0x2026);
- QString text1_el = QString::fromLatin1("sm") + ellipsisChar;
+ QString text1_el = QString::fromLatin1("s") + ellipsisChar;
int width_small = fm.width(text1_el);
QCOMPARE(fm.elidedText(text1,Qt::ElideRight, width_small + 1), text1_el);
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index eadf8b7..a623b50 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -280,6 +280,7 @@ private slots:
void autoDetectFocusProxy();
void subFocus();
void reverseCreateAutoFocusProxy();
+ void focusProxyDeletion();
// task specific tests below me
void task141694_textItemEnsureVisible();
@@ -7516,5 +7517,46 @@ void tst_QGraphicsItem::reverseCreateAutoFocusProxy()
QVERIFY(text2->hasFocus());
}
+void tst_QGraphicsItem::focusProxyDeletion()
+{
+ QGraphicsRectItem *rect = new QGraphicsRectItem;
+ QGraphicsRectItem *rect2 = new QGraphicsRectItem;
+ rect->setFocusProxy(rect2);
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)rect2);
+
+ delete rect2;
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)0);
+
+ rect2 = new QGraphicsRectItem;
+ rect->setFocusProxy(rect2);
+ delete rect; // don't crash
+
+ rect = new QGraphicsRectItem;
+ rect->setFocusProxy(rect2);
+ QGraphicsScene *scene = new QGraphicsScene;
+ scene->addItem(rect);
+ scene->addItem(rect2);
+ delete rect2;
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)0);
+
+ rect2 = new QGraphicsRectItem;
+ QTest::ignoreMessage(QtWarningMsg, "QGraphicsItem::setFocusProxy: focus proxy must be in same scene");
+ rect->setFocusProxy(rect2);
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)0);
+ scene->addItem(rect2);
+ rect->setFocusProxy(rect2);
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)rect2);
+ delete rect; // don't crash
+
+ rect = new QGraphicsRectItem;
+ rect2 = new QGraphicsRectItem;
+ rect->setFocusProxy(rect2);
+ QCOMPARE(rect->focusProxy(), (QGraphicsItem *)rect2);
+ scene->addItem(rect);
+ scene->addItem(rect2);
+ rect->setFocusProxy(rect2);
+ delete scene; // don't crash
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro b/tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro
index 7cd8d51..889aac9 100644
--- a/tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro
+++ b/tests/auto/qhelpcontentmodel/tst_qhelpcontentmodel.pro
@@ -3,6 +3,20 @@ SOURCES += tst_qhelpcontentmodel.cpp
CONFIG += help
-DEFINES += SRCDIR=\\\"$$PWD\\\"
DEFINES += QT_USE_USING_NAMESPACE
!contains(QT_BUILD_PARTS, tools): DEFINES += QT_NO_BUILD_TOOLS
+
+wince*: {
+ DEFINES += SRCDIR=\\\"./\\\"
+ QT += network
+ addFiles.sources = $$PWD/data/*.*
+ addFiles.path = data
+ clucene.sources = $$QT_BUILD_TREE/lib/QtCLucene*.dll
+
+ DEPLOYMENT += addFiles
+ DEPLOYMENT += clucene
+
+ DEPLOYMENT_PLUGIN += qsqlite
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+} \ No newline at end of file
diff --git a/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp b/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
index 499c367..d765c25 100644
--- a/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
+++ b/tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp
@@ -98,6 +98,8 @@ void tst_QHelpEngineCore::init()
// defined in profile
m_path = QLatin1String(SRCDIR);
+ m_path = QFileInfo(m_path).absoluteFilePath();
+
m_colFile = m_path + QLatin1String("/data/col.qhc");
if (QFile::exists(m_colFile))
QDir::current().remove(m_colFile);
diff --git a/tests/auto/qhelpenginecore/tst_qhelpenginecore.pro b/tests/auto/qhelpenginecore/tst_qhelpenginecore.pro
index 11fca8e..27ebd0f 100644
--- a/tests/auto/qhelpenginecore/tst_qhelpenginecore.pro
+++ b/tests/auto/qhelpenginecore/tst_qhelpenginecore.pro
@@ -3,6 +3,21 @@ SOURCES += tst_qhelpenginecore.cpp
CONFIG += help
QT += sql
-DEFINES += SRCDIR=\\\"$$PWD\\\"
+
DEFINES += QT_USE_USING_NAMESPACE
!contains(QT_BUILD_PARTS, tools): DEFINES += QT_NO_BUILD_TOOLS
+
+wince*: {
+ DEFINES += SRCDIR=\\\"./\\\"
+ QT += network
+ addFiles.sources = $$PWD/data/*.*
+ addFiles.path = data
+ clucene.sources = $$QT_BUILD_TREE/lib/QtCLucene*.dll
+
+ DEPLOYMENT += addFiles
+ DEPLOYMENT += clucene
+
+ DEPLOYMENT_PLUGIN += qsqlite
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/auto/qobject/tst_qobject.pro b/tests/auto/qobject/tst_qobject.pro
index 9b2fec1..0500ea2 100644
--- a/tests/auto/qobject/tst_qobject.pro
+++ b/tests/auto/qobject/tst_qobject.pro
@@ -1,7 +1,7 @@
load(qttest_p4)
SOURCES += tst_qobject.cpp
-QT = core network
+QT = core network gui
contains(QT_CONFIG, qt3support):DEFINES+=QT_HAS_QT3SUPPORT
wince*: {
diff --git a/tests/auto/qtextcodec/test/test.pro b/tests/auto/qtextcodec/test/test.pro
index 9c07e76..99f94d4 100644
--- a/tests/auto/qtextcodec/test/test.pro
+++ b/tests/auto/qtextcodec/test/test.pro
@@ -1,6 +1,21 @@
load(qttest_p4)
-TARGET = ../tst_qtextcodec
+
SOURCES += ../tst_qtextcodec.cpp
+
+!wince*: {
+TARGET = ../tst_qtextcodec
+
+win32: {
+ CONFIG(debug, debug|release) {
+ TARGET = ../../debug/tst_qtextcodec
+} else {
+ TARGET = ../../release/tst_qtextcodec
+ }
+}
+} else {
+ TARGET = tst_qtextcodec
+}
+
wince*: {
addFiles.sources = ../*.txt
addFiles.path = .
diff --git a/tests/auto/qtouchevent/tst_qtouchevent.cpp b/tests/auto/qtouchevent/tst_qtouchevent.cpp
index f30c4db..69b8888 100644
--- a/tests/auto/qtouchevent/tst_qtouchevent.cpp
+++ b/tests/auto/qtouchevent/tst_qtouchevent.cpp
@@ -96,6 +96,63 @@ public:
}
};
+class tst_QTouchEventGraphicsItem : public QGraphicsItem
+{
+public:
+ QList<QTouchEvent::TouchPoint> touchBeginPoints, touchUpdatePoints, touchEndPoints;
+ bool seenTouchBegin, seenTouchUpdate, seenTouchEnd;
+ bool acceptTouchBegin, acceptTouchUpdate, acceptTouchEnd;
+
+ tst_QTouchEventGraphicsItem()
+ : QGraphicsItem()
+ {
+ reset();
+ }
+
+ void reset()
+ {
+ touchBeginPoints.clear();
+ touchUpdatePoints.clear();
+ touchEndPoints.clear();
+ seenTouchBegin = seenTouchUpdate = seenTouchEnd = false;
+ acceptTouchBegin = acceptTouchUpdate = acceptTouchEnd = true;
+ }
+
+ QRectF boundingRect() const { return QRectF(0, 0, 10, 10); }
+ void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) { }
+
+ bool sceneEvent(QEvent *event)
+ {
+ switch (event->type()) {
+ case QEvent::TouchBegin:
+ if (seenTouchBegin) qWarning("TouchBegin: already seen a TouchBegin");
+ if (seenTouchUpdate) qWarning("TouchBegin: TouchUpdate cannot happen before TouchBegin");
+ if (seenTouchEnd) qWarning("TouchBegin: TouchEnd cannot happen before TouchBegin");
+ seenTouchBegin = !seenTouchBegin && !seenTouchUpdate && !seenTouchEnd;
+ touchBeginPoints = static_cast<QTouchEvent *>(event)->touchPoints();
+ event->setAccepted(acceptTouchBegin);
+ break;
+ case QEvent::TouchUpdate:
+ if (!seenTouchBegin) qWarning("TouchUpdate: have not seen TouchBegin");
+ if (seenTouchEnd) qWarning("TouchUpdate: TouchEnd cannot happen before TouchUpdate");
+ seenTouchUpdate = seenTouchBegin && !seenTouchEnd;
+ touchUpdatePoints = static_cast<QTouchEvent *>(event)->touchPoints();
+ event->setAccepted(acceptTouchUpdate);
+ break;
+ case QEvent::TouchEnd:
+ if (!seenTouchBegin) qWarning("TouchEnd: have not seen TouchBegin");
+ if (seenTouchEnd) qWarning("TouchEnd: already seen a TouchEnd");
+ seenTouchEnd = seenTouchBegin && !seenTouchEnd;
+ touchEndPoints = static_cast<QTouchEvent *>(event)->touchPoints();
+ event->setAccepted(acceptTouchEnd);
+ break;
+ default:
+ return QGraphicsItem::sceneEvent(event);
+ }
+ return true;
+ }
+};
+
class tst_QTouchEvent : public QObject
{
Q_OBJECT
@@ -115,139 +172,348 @@ private slots:
void tst_QTouchEvent::touchDisabledByDefault()
{
- // the widget attribute is not enabled by default
- QWidget widget;
- QVERIFY(!widget.testAttribute(Qt::WA_AcceptTouchEvents));
-
- // events should not be accepted since they are not enabled
- QList<QTouchEvent::TouchPoint> touchPoints;
- touchPoints.append(QTouchEvent::TouchPoint(0));
- QTouchEvent touchEvent(QEvent::TouchBegin,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointPressed,
- touchPoints);
- bool res = QApplication::sendEvent(&widget, &touchEvent);
- QVERIFY(!res);
- QVERIFY(!touchEvent.isAccepted());
+ // QWidget
+ {
+ // the widget attribute is not enabled by default
+ QWidget widget;
+ QVERIFY(!widget.testAttribute(Qt::WA_AcceptTouchEvents));
+
+ // events should not be accepted since they are not enabled
+ QList<QTouchEvent::TouchPoint> touchPoints;
+ touchPoints.append(QTouchEvent::TouchPoint(0));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ touchPoints);
+ bool res = QApplication::sendEvent(&widget, &touchEvent);
+ QVERIFY(!res);
+ QVERIFY(!touchEvent.isAccepted());
+ }
+
+ // QGraphicsView
+ {
+ QGraphicsScene scene;
+ tst_QTouchEventGraphicsItem item;
+ QGraphicsView view(&scene);
+ scene.addItem(&item);
+ item.setPos(100, 100);
+ view.resize(200, 200);
+ view.fitInView(scene.sceneRect());
+
+ // touch events are not accepted by default
+ QVERIFY(!item.acceptTouchEvents());
+
+ // compose an event to the scene that is over the item
+ QTouchEvent::TouchPoint touchPoint(0);
+ touchPoint.setState(Qt::TouchPointPressed);
+ touchPoint.setPos(view.mapFromScene(item.mapToScene(item.boundingRect().center())));
+ touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint()));
+ touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint()));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ bool res = QApplication::sendEvent(view.viewport(), &touchEvent);
+ QVERIFY(!res);
+ QVERIFY(!touchEvent.isAccepted());
+ QVERIFY(!item.seenTouchBegin);
+ }
}
void tst_QTouchEvent::touchEventAcceptedByDefault()
{
- // enabling touch events should automatically accept touch events
- QWidget widget;
- widget.setAttribute(Qt::WA_AcceptTouchEvents);
-
- // QWidget handles touch event by converting them into a mouse event, so the event is both
- // accepted and handled (res == true)
- QList<QTouchEvent::TouchPoint> touchPoints;
- touchPoints.append(QTouchEvent::TouchPoint(0));
- QTouchEvent touchEvent(QEvent::TouchBegin,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointPressed,
- touchPoints);
- bool res = QApplication::sendEvent(&widget, &touchEvent);
- QVERIFY(res);
- QVERIFY(touchEvent.isAccepted());
-
- // tst_QTouchEventWidget does handle, sending succeeds
- tst_QTouchEventWidget touchWidget;
- touchWidget.setAttribute(Qt::WA_AcceptTouchEvents);
- touchEvent.ignore();
- res = QApplication::sendEvent(&touchWidget, &touchEvent);
- QVERIFY(res);
- QVERIFY(touchEvent.isAccepted());
+ // QWidget
+ {
+ // enabling touch events should automatically accept touch events
+ QWidget widget;
+ widget.setAttribute(Qt::WA_AcceptTouchEvents);
+
+ // QWidget handles touch event by converting them into a mouse event, so the event is both
+ // accepted and handled (res == true)
+ QList<QTouchEvent::TouchPoint> touchPoints;
+ touchPoints.append(QTouchEvent::TouchPoint(0));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ touchPoints);
+ bool res = QApplication::sendEvent(&widget, &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+
+ // tst_QTouchEventWidget does handle, sending succeeds
+ tst_QTouchEventWidget touchWidget;
+ touchWidget.setAttribute(Qt::WA_AcceptTouchEvents);
+ touchEvent.ignore();
+ res = QApplication::sendEvent(&touchWidget, &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ }
+
+ // QGraphicsView
+ {
+ QGraphicsScene scene;
+ tst_QTouchEventGraphicsItem item;
+ QGraphicsView view(&scene);
+ scene.addItem(&item);
+ item.setPos(100, 100);
+ view.resize(200, 200);
+ view.fitInView(scene.sceneRect());
+
+ // enabling touch events on the item also enables events on the viewport
+ item.setAcceptTouchEvents(true);
+ QVERIFY(view.viewport()->testAttribute(Qt::WA_AcceptTouchEvents));
+
+ // compose an event to the scene that is over the item
+ QTouchEvent::TouchPoint touchPoint(0);
+ touchPoint.setState(Qt::TouchPointPressed);
+ touchPoint.setPos(view.mapFromScene(item.mapToScene(item.boundingRect().center())));
+ touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint()));
+ touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint()));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ bool res = QApplication::sendEvent(view.viewport(), &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ QVERIFY(item.seenTouchBegin);
+ }
}
void tst_QTouchEvent::touchBeginPropagatesWhenIgnored()
{
- tst_QTouchEventWidget window, child, grandchild;
- child.setParent(&window);
- grandchild.setParent(&child);
-
- // all widgets accept touch events, grandchild ignores, so child sees the event, but not window
- window.setAttribute(Qt::WA_AcceptTouchEvents);
- child.setAttribute(Qt::WA_AcceptTouchEvents);
- grandchild.setAttribute(Qt::WA_AcceptTouchEvents);
- grandchild.acceptTouchBegin = false;
-
- QList<QTouchEvent::TouchPoint> touchPoints;
- touchPoints.append(QTouchEvent::TouchPoint(0));
- QTouchEvent touchEvent(QEvent::TouchBegin,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointPressed,
- touchPoints);
- bool res = QApplication::sendEvent(&grandchild, &touchEvent);
- QVERIFY(res);
- QVERIFY(touchEvent.isAccepted());
- QVERIFY(grandchild.seenTouchBegin);
- QVERIFY(child.seenTouchBegin);
- QVERIFY(!window.seenTouchBegin);
-
- // disable touch on grandchild. even though it doesn't accept it, child should still get the
- // TouchBegin
- grandchild.reset();
- child.reset();
- window.reset();
- grandchild.setAttribute(Qt::WA_AcceptTouchEvents, false);
-
- touchEvent.ignore();
- res = QApplication::sendEvent(&grandchild, &touchEvent);
- QVERIFY(res);
- QVERIFY(touchEvent.isAccepted());
- QVERIFY(!grandchild.seenTouchBegin);
- QVERIFY(child.seenTouchBegin);
- QVERIFY(!window.seenTouchBegin);
+ // QWidget
+ {
+ tst_QTouchEventWidget window, child, grandchild;
+ child.setParent(&window);
+ grandchild.setParent(&child);
+
+ // all widgets accept touch events, grandchild ignores, so child sees the event, but not window
+ window.setAttribute(Qt::WA_AcceptTouchEvents);
+ child.setAttribute(Qt::WA_AcceptTouchEvents);
+ grandchild.setAttribute(Qt::WA_AcceptTouchEvents);
+ grandchild.acceptTouchBegin = false;
+
+ QList<QTouchEvent::TouchPoint> touchPoints;
+ touchPoints.append(QTouchEvent::TouchPoint(0));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ touchPoints);
+ bool res = QApplication::sendEvent(&grandchild, &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ QVERIFY(grandchild.seenTouchBegin);
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!window.seenTouchBegin);
+
+ // disable touch on grandchild. even though it doesn't accept it, child should still get the
+ // TouchBegin
+ grandchild.reset();
+ child.reset();
+ window.reset();
+ grandchild.setAttribute(Qt::WA_AcceptTouchEvents, false);
+
+ touchEvent.ignore();
+ res = QApplication::sendEvent(&grandchild, &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ QVERIFY(!grandchild.seenTouchBegin);
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!window.seenTouchBegin);
+ }
+
+ // QGraphicsView
+ {
+ QGraphicsScene scene;
+ tst_QTouchEventGraphicsItem root, child, grandchild;
+ QGraphicsView view(&scene);
+ scene.addItem(&root);
+ root.setPos(100, 100);
+ child.setParentItem(&root);
+ grandchild.setParentItem(&child);
+ view.resize(200, 200);
+ view.fitInView(scene.sceneRect());
+
+ // all items accept touch events, grandchild ignores, so child sees the event, but not root
+ root.setAcceptTouchEvents(true);
+ child.setAcceptTouchEvents(true);
+ grandchild.setAcceptTouchEvents(true);
+ grandchild.acceptTouchBegin = false;
+
+ // compose an event to the scene that is over the grandchild
+ QTouchEvent::TouchPoint touchPoint(0);
+ touchPoint.setState(Qt::TouchPointPressed);
+ touchPoint.setPos(view.mapFromScene(grandchild.mapToScene(grandchild.boundingRect().center())));
+ touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint()));
+ touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint()));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ bool res = QApplication::sendEvent(view.viewport(), &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ QVERIFY(grandchild.seenTouchBegin);
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!root.seenTouchBegin);
+ }
+
+ // QGraphicsView
+ {
+ QGraphicsScene scene;
+ tst_QTouchEventGraphicsItem root, child, grandchild;
+ QGraphicsView view(&scene);
+ scene.addItem(&root);
+ root.setPos(100, 100);
+ child.setParentItem(&root);
+ grandchild.setParentItem(&child);
+ view.resize(200, 200);
+ view.fitInView(scene.sceneRect());
+
+ // leave touch disabled on grandchild. even though it doesn't accept it, child should
+ // still get the TouchBegin
+ root.setAcceptTouchEvents(true);
+ child.setAcceptTouchEvents(true);
+
+ // compose an event to the scene that is over the grandchild
+ QTouchEvent::TouchPoint touchPoint(0);
+ touchPoint.setState(Qt::TouchPointPressed);
+ touchPoint.setPos(view.mapFromScene(grandchild.mapToScene(grandchild.boundingRect().center())));
+ touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint()));
+ touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint()));
+ QTouchEvent touchEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ bool res = QApplication::sendEvent(view.viewport(), &touchEvent);
+ QVERIFY(res);
+ QVERIFY(touchEvent.isAccepted());
+ QVERIFY(!grandchild.seenTouchBegin);
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!root.seenTouchBegin);
+ }
}
void tst_QTouchEvent::touchUpdateAndEndNeverPropagate()
{
- tst_QTouchEventWidget window, child;
- child.setParent(&window);
-
- window.setAttribute(Qt::WA_AcceptTouchEvents);
- child.setAttribute(Qt::WA_AcceptTouchEvents);
- child.acceptTouchUpdate = false;
- child.acceptTouchEnd = false;
-
- QList<QTouchEvent::TouchPoint> touchPoints;
- touchPoints.append(QTouchEvent::TouchPoint(0));
- QTouchEvent touchBeginEvent(QEvent::TouchBegin,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointPressed,
- touchPoints);
- bool res = QApplication::sendEvent(&child, &touchBeginEvent);
- QVERIFY(res);
- QVERIFY(touchBeginEvent.isAccepted());
- QVERIFY(child.seenTouchBegin);
- QVERIFY(!window.seenTouchBegin);
-
- // send the touch update to the child, but ignore it, it doesn't propagate
- QTouchEvent touchUpdateEvent(QEvent::TouchUpdate,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointMoved,
- touchPoints);
- res = QApplication::sendEvent(&child, &touchUpdateEvent);
- QVERIFY(res);
- QVERIFY(!touchUpdateEvent.isAccepted());
- QVERIFY(child.seenTouchUpdate);
- QVERIFY(!window.seenTouchUpdate);
-
- // send the touch end, same thing should happen as with touch update
- QTouchEvent touchEndEvent(QEvent::TouchEnd,
- QTouchEvent::TouchScreen,
- Qt::NoModifier,
- Qt::TouchPointReleased,
- touchPoints);
- res = QApplication::sendEvent(&child, &touchEndEvent);
- QVERIFY(res);
- QVERIFY(!touchEndEvent.isAccepted());
- QVERIFY(child.seenTouchEnd);
- QVERIFY(!window.seenTouchEnd);
+ // QWidget
+ {
+ tst_QTouchEventWidget window, child;
+ child.setParent(&window);
+
+ window.setAttribute(Qt::WA_AcceptTouchEvents);
+ child.setAttribute(Qt::WA_AcceptTouchEvents);
+ child.acceptTouchUpdate = false;
+ child.acceptTouchEnd = false;
+
+ QList<QTouchEvent::TouchPoint> touchPoints;
+ touchPoints.append(QTouchEvent::TouchPoint(0));
+ QTouchEvent touchBeginEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ touchPoints);
+ bool res = QApplication::sendEvent(&child, &touchBeginEvent);
+ QVERIFY(res);
+ QVERIFY(touchBeginEvent.isAccepted());
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!window.seenTouchBegin);
+
+ // send the touch update to the child, but ignore it, it doesn't propagate
+ QTouchEvent touchUpdateEvent(QEvent::TouchUpdate,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointMoved,
+ touchPoints);
+ res = QApplication::sendEvent(&child, &touchUpdateEvent);
+ QVERIFY(res);
+ QVERIFY(!touchUpdateEvent.isAccepted());
+ QVERIFY(child.seenTouchUpdate);
+ QVERIFY(!window.seenTouchUpdate);
+
+ // send the touch end, same thing should happen as with touch update
+ QTouchEvent touchEndEvent(QEvent::TouchEnd,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointReleased,
+ touchPoints);
+ res = QApplication::sendEvent(&child, &touchEndEvent);
+ QVERIFY(res);
+ QVERIFY(!touchEndEvent.isAccepted());
+ QVERIFY(child.seenTouchEnd);
+ QVERIFY(!window.seenTouchEnd);
+ }
+
+ // QGraphicsView
+ {
+ QGraphicsScene scene;
+ tst_QTouchEventGraphicsItem root, child, grandchild;
+ QGraphicsView view(&scene);
+ scene.addItem(&root);
+ root.setPos(100, 100);
+ child.setParentItem(&root);
+ grandchild.setParentItem(&child);
+ view.resize(200, 200);
+ view.fitInView(scene.sceneRect());
+
+ root.setAcceptTouchEvents(true);
+ child.setAcceptTouchEvents(true);
+ child.acceptTouchUpdate = false;
+ child.acceptTouchEnd = false;
+
+ // compose an event to the scene that is over the child
+ QTouchEvent::TouchPoint touchPoint(0);
+ touchPoint.setState(Qt::TouchPointPressed);
+ touchPoint.setPos(view.mapFromScene(grandchild.mapToScene(grandchild.boundingRect().center())));
+ touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint()));
+ touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint()));
+ QTouchEvent touchBeginEvent(QEvent::TouchBegin,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ bool res = QApplication::sendEvent(view.viewport(), &touchBeginEvent);
+ QVERIFY(res);
+ QVERIFY(touchBeginEvent.isAccepted());
+ QVERIFY(child.seenTouchBegin);
+ QVERIFY(!root.seenTouchBegin);
+
+ // send the touch update to the child, but ignore it, it doesn't propagate
+ touchPoint.setState(Qt::TouchPointMoved);
+ QTouchEvent touchUpdateEvent(QEvent::TouchUpdate,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointMoved,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ res = QApplication::sendEvent(view.viewport(), &touchUpdateEvent);
+ QVERIFY(res);
+ // the scene accepts the event, since it found an item to send the event to
+ QVERIFY(touchUpdateEvent.isAccepted());
+ QVERIFY(child.seenTouchUpdate);
+ QVERIFY(!root.seenTouchUpdate);
+
+ // send the touch end, same thing should happen as with touch update
+ touchPoint.setState(Qt::TouchPointReleased);
+ QTouchEvent touchEndEvent(QEvent::TouchEnd,
+ QTouchEvent::TouchScreen,
+ Qt::NoModifier,
+ Qt::TouchPointReleased,
+ (QList<QTouchEvent::TouchPoint>() << touchPoint));
+ res = QApplication::sendEvent(view.viewport(), &touchEndEvent);
+ QVERIFY(res);
+ // the scene accepts the event, since it found an item to send the event to
+ QVERIFY(touchEndEvent.isAccepted());
+ QVERIFY(child.seenTouchEnd);
+ QVERIFY(!root.seenTouchEnd);
+ }
}
QPointF normalized(const QPointF &pos, const QRectF &rect)
diff --git a/tests/auto/uiloader/baseline/css_borderradius_allwidgets.ui b/tests/auto/uiloader/baseline/css_borderradius_allwidgets.ui
new file mode 100644
index 0000000..8c5f57c
--- /dev/null
+++ b/tests/auto/uiloader/baseline/css_borderradius_allwidgets.ui
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>698</width>
+ <height>589</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">* {
+ background: yellow;
+ padding: 2px;
+ border-radius: 4px;
+}
+
+QGroupBox {
+ border: 1px solid gray;
+}
+
+QAbstractButton {
+ background: cyan;
+}
+
+QFrame, QMenuBar {
+ background: magenta;
+}
+
+QLineEdit, QSpinBox {
+ background: white;
+}
+
+#gb1 * {
+}
+
+#gb2 * {
+ border: 1px solid blue;
+}
+
+#gb3 * {
+ border: 0px solid blue;
+}
+
+#gb4 * {
+ border-image: url(&quot;images/pushbutton.png&quot;) 6 6 6 6;
+ border-width:6px;
+}
+</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="0" column="0">
+ <widget class="QGroupBox" name="gb1">
+ <property name="title">
+ <string>No border</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QPushButton" name="pushButton_4">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_2"/>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_6">
+ <property name="text">
+ <string>RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_4">
+ <property name="text">
+ <string>CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit">
+ <property name="text">
+ <string>LineEdit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox">
+ <item>
+ <property name="text">
+ <string>ComboBox</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="listWidget_2">
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QGroupBox" name="gb3">
+ <property name="title">
+ <string>0px border</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QFrame" name="frame_2">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QPushButton" name="pushButton_5">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_3"/>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_7">
+ <property name="text">
+ <string>RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_5">
+ <property name="text">
+ <string>CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_2">
+ <property name="text">
+ <string>LineEdit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_2">
+ <item>
+ <property name="text">
+ <string>ComboBox</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="listWidget_3">
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QGroupBox" name="gb4">
+ <property name="title">
+ <string>border-image</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QFrame" name="frame_4">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QPushButton" name="pushButton_7">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_5"/>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_9">
+ <property name="text">
+ <string>RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_7">
+ <property name="text">
+ <string>CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_4">
+ <property name="text">
+ <string>LineEdit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_4">
+ <item>
+ <property name="text">
+ <string>ComboBox</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="listWidget_5">
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QGroupBox" name="gb2">
+ <property name="title">
+ <string>1px border</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <widget class="QFrame" name="frame_3">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QPushButton" name="pushButton_6">
+ <property name="text">
+ <string>PushButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_4"/>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="radioButton_8">
+ <property name="text">
+ <string>RadioButton</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="checkBox_6">
+ <property name="text">
+ <string>CheckBox</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_3">
+ <property name="text">
+ <string>LineEdit</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboBox_3">
+ <item>
+ <property name="text">
+ <string>ComboBox</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QListWidget" name="listWidget_4">
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>New Item</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>698</width>
+ <height>24</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuFile">
+ <property name="title">
+ <string>File</string>
+ </property>
+ <addaction name="actionOpen"/>
+ <addaction name="actionClose"/>
+ </widget>
+ <widget class="QMenu" name="menuEdit">
+ <property name="title">
+ <string>Edit</string>
+ </property>
+ </widget>
+ <addaction name="menuFile"/>
+ <addaction name="menuEdit"/>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <action name="actionOpen">
+ <property name="text">
+ <string>Open</string>
+ </property>
+ </action>
+ <action name="actionClose">
+ <property name="text">
+ <string>Close</string>
+ </property>
+ </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/tools/assistant/compat/mainwindow.cpp b/tools/assistant/compat/mainwindow.cpp
index 353efdb..13b555e 100644
--- a/tools/assistant/compat/mainwindow.cpp
+++ b/tools/assistant/compat/mainwindow.cpp
@@ -401,6 +401,7 @@ QString MainWindow::urlifyFileName(const QString &fileName)
return name;
}
+#ifndef QT_NO_PRINTER
class PrintThread : public QThread
{
QPrinter _printer;
@@ -436,6 +437,7 @@ protected:
_document = 0;
}
};
+#endif //QT_NO_PRINTER
void MainWindow::on_actionFilePrint_triggered()
{
diff --git a/tools/assistant/tools/assistant/remotecontrol.cpp b/tools/assistant/tools/assistant/remotecontrol.cpp
index b72d7e8..7867ba0 100644
--- a/tools/assistant/tools/assistant/remotecontrol.cpp
+++ b/tools/assistant/tools/assistant/remotecontrol.cpp
@@ -78,6 +78,8 @@ void StdInListenerWin::run()
bool ok = true;
char chBuf[4096];
DWORD dwRead;
+
+#ifndef Q_WS_WINCE
HANDLE hStdin, hStdinDup;
hStdin = GetStdHandle(STD_INPUT_HANDLE);
@@ -89,6 +91,10 @@ void StdInListenerWin::run()
0, false, DUPLICATE_SAME_ACCESS);
CloseHandle(hStdin);
+#else
+ HANDLE hStdinDup;
+ hStdinDup = stdin;
+#endif
while (ok) {
ok = ReadFile(hStdinDup, chBuf, 4096, &dwRead, NULL);
diff --git a/tools/linguist/shared/profileevaluator.cpp b/tools/linguist/shared/profileevaluator.cpp
index b062dec..16eba4f 100644
--- a/tools/linguist/shared/profileevaluator.cpp
+++ b/tools/linguist/shared/profileevaluator.cpp
@@ -2145,10 +2145,12 @@ ProItem::ProItemReturn ProFileEvaluator::Private::evaluateConditionalFunction(
if (m_skipLevel && !m_cumulative)
return ProItem::ReturnFalse;
QString parseInto;
- if (args.count() == 2) {
+ // the third optional argument to include() controls warnings
+ // and is not used here
+ if ((args.count() == 2) || (args.count() == 3)) {
parseInto = args[1];
} else if (args.count() != 1) {
- q->logMessage(format("include(file) requires one or two arguments."));
+ q->logMessage(format("include(file) requires one, two or three arguments."));
return ProItem::ReturnFalse;
}
QString fileName = args.first();
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp
index ca12e92..ebe5ec9 100644
--- a/tools/qdoc3/cppcodeparser.cpp
+++ b/tools/qdoc3/cppcodeparser.cpp
@@ -1724,9 +1724,6 @@ bool CppCodeParser::matchProperty(InnerNode *parent)
value = "?";
}
- /*
- Task 259071 requires work here. See gui/widgets/qdatetime.h, for example.
- */
if (key == "READ")
tre->addPropertyFunction(property, value, PropertyNode::Getter);
else if (key == "WRITE")
@@ -1737,9 +1734,11 @@ bool CppCodeParser::matchProperty(InnerNode *parent)
property->setDesignable(value.toLower() == "true");
else if (key == "RESET")
tre->addPropertyFunction(property, value, PropertyNode::Resetter);
+#if 0
else if (key == "NOTIFY") {
tre->addPropertyFunction(property, value, PropertyNode::Notifier);
}
+#endif
}
match(Tok_RightParen);
return true;
diff --git a/tools/xmlpatterns/xmlpatterns.pro b/tools/xmlpatterns/xmlpatterns.pro
index 9c1aac1..1c5ab2c 100644
--- a/tools/xmlpatterns/xmlpatterns.pro
+++ b/tools/xmlpatterns/xmlpatterns.pro
@@ -27,5 +27,3 @@ HEADERS = main.h \
qapplicationargumentparser.cpp \
qcoloringmessagehandler_p.h \
qcoloroutput_p.h
-
-include(../src/common.pri)
diff --git a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
index dd5bd37..8491129 100644
--- a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
+++ b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
@@ -15,5 +15,3 @@ CONFIG -= app_bundle
SOURCES = main.cpp
HEADERS = main.h
-
-include(../src/common.pri)
diff --git a/util/webkit/mkdist-webkit b/util/webkit/mkdist-webkit
index 5c80e73..b5c0460 100755
--- a/util/webkit/mkdist-webkit
+++ b/util/webkit/mkdist-webkit
@@ -110,6 +110,7 @@ excluded_directories="$excluded_directories WebCore/platform/graphics/win"
excluded_directories="$excluded_directories WebCore/platform/graphics/skia"
excluded_directories="$excluded_directories WebCore/platform/graphics/chromium"
excluded_directories="$excluded_directories WebCore/platform/graphics/wince"
+excluded_directories="$excluded_directories WebCore/platform/graphics/haiku"
excluded_directories="$excluded_directories WebCore/platform/image-decoders/bmp"
excluded_directories="$excluded_directories WebCore/platform/image-decoders/gif"
@@ -135,6 +136,8 @@ excluded_directories="$excluded_directories WebCore/accessibility/wx"
excluded_directories="$excluded_directories WebCore/storage/wince"
excluded_directories="$excluded_directories WebCore/platform/wx"
+excluded_directories="$excluded_directories WebCore/platform/wince"
+
excluded_directories="$excluded_directories WebKit/gtk"
excluded_directories="$excluded_directories WebKit/win"
excluded_directories="$excluded_directories WebKit/wx"
@@ -333,9 +336,9 @@ EOT
if [ -d "$repository/.git" -a -n "$lastImportRevison" ]; then
echo >>commitlog.txt
- echo "Changes in WebKit since the last update:" >>commitlog.txt
+ echo "Changes in WebKit/qt since the last update:" >>commitlog.txt
echo >>commitlog.txt
- git --git-dir=$repository/.git ls-files | egrep "ChangeLog$" | xargs git --git-dir=$repository/.git diff $lastImportRevison $rev -- | sed -n -e "s,^\+\(.*\),\1,p" >>commitlog.txt
+ git --git-dir=$repository/.git diff $lastImportRevison $rev -- WebKit/qt/ChangeLog | sed -n -e "s,^\+\(.*\),\1,p" >>commitlog.txt
fi
echo "Changes:"