diff --git a/3party/freetype/ChangeLog b/3party/freetype/ChangeLog index a72c6db45a..5cda57a46e 100644 --- a/3party/freetype/ChangeLog +++ b/3party/freetype/ChangeLog @@ -1,3 +1,587 @@ +2013-06-19 Werner Lemberg + + * Version 2.5.0.1 released. + =========================== + + + Tag sources with `VER-2-5-0-1'. + + * include/freetype/config/ftoption.h: Undefine + CFF_CONFIG_OPTION_OLD_ENGINE. + * devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE. + +2013-06-19 Werner Lemberg + + * builds/unix/install.mk (install): Don't create `cache' directory. + + Found by Peter Breitenlohner . + +2013-06-19 Werner Lemberg + + * Version 2.5.0 released. + ========================= + + + Tag sources with `VER-2-5-0'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.5.0. + + * README, Jamfile (RefDoc), + builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, + builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, + builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html, + builds/win32/visualc/freetype.dsp, + builds/win32/visualc/freetype.vcproj, + builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, + builds/win32/visualce/freetype.vcproj, + builds/win32/visualce/index.html, + builds/wince/vc2005-ce/freetype.vcproj, + builds/wince/vc2005-ce/index.html, + builds/wince/vc2008-ce/freetype.vcproj, + builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/. + + * include/freetype/freetype.h (FREETYPE_MINOR): Set to 5. + (FREETYPE_PATCH): Set to 0. + + * builds/unix/configure.raw (version_info): Set to 16:2:10. + + * src/base/ftobjs.c (FT_Open_Face): Pacify compiler. + * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto. + +2013-06-18 Werner Lemberg + + Fix Savannah bug #39269. + + * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in + case of reacollocation failures. + +2013-06-18 Andrew Church + + Fix Savannah bug #39266. + + If memory allocations fail at certain points while opening a font, + FreeType can either crash due to a NULL dereference or leak memory. + + * include/freetype/internal/ftobjs.c (FT_Face_InternalRec, + FT_LibraryRec): Make `refcount' a signed integer. If, for example, + FT_Open_Face() fails in a memory allocation before the face's + reference count is set to 1, a subsequent `FT_Done_Library' call + would otherwise loop over `FT_Done_Face' 2^32 times before freeing + the face. + + * src/base/ftobjs.c (open_face): Initialize `stream' and friends + earlier. + (FT_Open_Face) : Behave correctly if `node' is NULL. + (FT_Destroy_Module) : Check that `renderer_clazz' is valid. + +2013-06-14 Werner Lemberg + + * src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC. + +2013-06-06 Dave Arnold + Werner Lemberg + + [cff] Add code to Adobe's engine to handle ppem > 2000. + + * src/cff/cffgload.c (cff_slot_load): If we get + FT_Err_Glyph_Too_Big, retry unhinted and scale up later on. + +2013-06-12 Werner Lemberg + + Another try on pragmas. + + * include/freetype/internal/ftdebug.h: Move pragmas to... + * include/freetype/internal/internal.h: ... this file since it gets + included by all source files. + * include/freetype/internal/ftserv.h: Remove pragma which has no + effect. + +2013-06-12 Werner Lemberg + + * include/freetype/internal/ftdebug.h: Disable MSVC warning C4127. + + This partially undoes commit 3f6e0e0c. + +2013-06-12 Werner Lemberg + + More compiler warning fixes. + + */*: Use cast to `FT_Bool' (or `Bool') where appropriate. + +2013-06-10 Werner Lemberg + + [truetype] Improve handling of broken sbit advance widths. + + * src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled) + `linearHoriAdvance' if the sbit's `horiAdvance' value is zero. + + Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem. + +2013-06-10 Werner Lemberg + + [sfnt] Improve embedded bitmap tracing. + + * src/base/ftobjs.c (FT_Request_Size): Move trace message regarding + bitmap strike match to... + (FT_Match_Size): This function. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics, + tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, + tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png, + tt_sbit_decoder_load_image): Decorate with tracing messages. + +2013-06-10 Werner Lemberg + + Fix Savannah bug #39160. + + * src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too + for the degenerate case. + +2013-06-09 David Turner + + * src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush. + + This code, present since eight(!) years in the unused `CACHE' + branch, has been forgotten to apply to the master branch. It's + really amazing that noone has ever complained since + `FTC_Manager_Reset' is pretty useless without flushing the cache. + +2013-06-07 Werner Lemberg + + Add and improve pragmas for MSVC compiler. + + * include/freetype/internal/ftdebug.h: Remove pragmas. + * include/freetype/internal/ftserv.h: Use push and pop for pragmas. + * include/freetype/internal/ftvalid.h: Handle warning C4324. + * src/base/ftobjs.c: Use push and pop for pragmas. + * src/gzip/ftgzip.c: Handle warning C4244. + +2013-06-07 Werner Lemberg + + [cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/. + + * src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it. + +2013-06-06 Dave Arnold + + [cff] Add early exit feature for width-only calls. + + This is for `FT_Get_Advance'. + + There are 7 places where the spec says the width can be defined: + + hstem/hstemhm + vstem/vstemhm + cntrmask/hintmask + hmoveto + vmoveto + rmoveto + endchar + + * src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls, + if possible. + + (cf2_interpT2CharString) , , + , , , + , : Exit early for width-only calls. + +2013-06-06 Werner Lemberg + + Next round of compiler fixes. + + * builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init): + Add proper cast. + + * include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix + cast. + * include/freetype/internal/ftstream.h: Decorate stream and frame + macros with `FT_Long' and `FT_ULong' as appropriate. + + * src/base/ftrfork.c (raccess_guess_darwin_hfsplus, + raccess_guess_darwin_newvfs): Use cast. + + * src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast. + + * src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast. + * src/cache/ftcmanag.h (FTC_ManagerRec): Ditto. + + * src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast. + * src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto. + * src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto. + + * src/cid/cidparse.c (cid_parser_new): Use cast. + + * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast. + + * src/psaux/psobjs.c (reallocate_t1_table): Fix argument type. + + * src/raster/ftraster.c (ft_black_reset): Use cast. + + * src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast. + (ALL_POINTS): Fix cast. + + * src/type1/t1driver.c (t1_ps_get_font_value): Add casts. + * src/type1/t1parse.c (T1_Get_Private_Dict): Add cast. + +2013-06-05 Dave Arnold + + Fix more MSVC Win32 compiler warnings. + + * src/base/ftobjs.c: Fix typo in MS pragma. + + * src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property): + `lineno' is only used in debug mode. + + * src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in + debug mode. + +2013-06-05 Werner Lemberg + + Fix compiler warnings. + + * include/freetype/internal/ftmemory.h: Decorate memory allocation + macros with `FT_Long' where appropriate. + Remove duplicate of FT_MEM_QRENEW_ARRAY definition. + + * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use + cast. + + * src/base/ftobjs.c: Add warning disabling pragma for MSVC while + including `md5.c'. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : Add + cast. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts. + (tt_sbit_decoder_load_bitmap): Beautification. + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize + variables (earlier). + + * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler. + + * src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants + where appropriate. + + * src/type1/t1load.c (T1_Get_MM_Var): Ditto. + +2013-06-04 Werner Lemberg + + * src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'. + + Problem reported by Ingmar Sittl . + +2013-06-04 Werner Lemberg + + Apply fixes for cppcheck nitpicks. + + http://cppcheck.sourceforge.net/ + + The call was (from the top-level of the FreeType tree): + + cppcheck --force \ + --enable=all \ + -I include \ + -I include/freetype/ \ + -I include/freetype/config/ \ + -I include/freetype/internal/ \ + . &> cppcheck.log + + Note that the current version heavily chokes on FreeType, delivering + many wrong results. I will report those issues to the cppcheck team + so that a newer version gives improved results hopefully. + + */* Improve variable scopes. + */* Remove redundant initializations which get overwritten. + + * src/base/ftmac.c ,builds/mac/ftmac.c (count_faces_scalable): + Remove unused variable. + + * src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero. + + * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate): + Remove functionless code. + + * src/tools/ftrandom.c (main): Fix memory leak. + +2013-06-03 Werner Lemberg + + Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option. + + This controls whether the old FreeType CFF engine gets compiled into + FreeType. It is now disabled by default. + + * devel/ftoption.h, include/freetype/config/ftoption.h + (CFF_CONFIG_OPTION_OLD_ENGINE): New macro. + + * src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c + (CFF_Operator, cff_argument_counts, cff_builder_add_point, + cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load), + src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use + CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code. + + * docs/CHANGES: Updated. + +2013-06-02 Werner Lemberg + + Fix PNG library handling. + + * builds/unix/configure.raw: Don't use LIBPNG_LIBS but + LIBPNG_LDFLAGS. + +2013-05-23 Behdad Esfahbod + + Add support for color embedded bitmaps (eg. color emoji). + + A new load flag, FT_LOAD_COLOR, makes FreeType load color + embedded-bitmaps, following this draft specification + + https://color-emoji.googlecode.com/git/specification/v1.html + + which defines two new SFNT tables, `CBDT' and `CBLC' (named and + modeled after `EBDT' and `EBLC', respectively). The color bitmaps + are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA + pre-multiplied sRGB images. If PNG support is available, PNG color + images as defined in the same proposed specification are supported + also. + + Note that color bitmaps are converted to grayscale if client didn't + ask for color. + + * builds/unix/configure.raw: Search for libpng. + Add `--without-png' option. + + * devel/ftoption.h, include/freetype/config/ftoption.h + (FT_CONFIG_OPTION_USE_PNG): New macro. + + * include/freetype/freetype.h (FT_LOAD_COLOR): New load flag. + + * include/freetype/ftimage.h (FT_Pixel_Mode): Add + `FT_PIXEL_MODE_BGRA'. + + * include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags. + + * src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated. + (ft_gray_for_premultiplied_srgb_bgra): New function. + (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA. + + * src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files. + + * src/sfnt/sfnt.c: Include `pngshim.c'. + + * src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h' + (tt_face_load_eblc): Load `CBLC'. + (tt_sbit_decoder_init): Load `CBDT'. + (tt_sbit_decoder_alloc_bitmap): Pass load flags to select between + color and grayscale bitmaps. + Set `num_grays'. This is used by `ftview' to choose the blending + algorithm. + (tt_sbit_decoder_load_byte_aligned, + tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound, + tt_sbit_decoder_load_image): Pass load flag. + s/write/pwrite/. + Don't call `tt_sbit_decoder_alloc_bitmap'. + Updated. + (tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function. + (tt_sbit_decoder_load_bitmap): Pass load flag. + Handle new glyph formats 17, 18, and 19. + Call `tt_sbit_decoder_alloc_bitmap'. + Flatten color bitmaps if necessary. + (tt_face_load_sbit_image): Updated. + + * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'. + + * docs/CHANGES: Updated. + +2013-05-24 Guenter + + Apply Savannah patch #8055. + + Make `apinames' create an import file for NetWare. + + * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2. + (OutputFormat): Add `OUTPUT_NETWARE_IMP'. + (names_dump): Handle it. + (usage): Updated. + (main): Handle new command line flag `-wN'. + +2013-05-23 Behdad Esfahbod + + Compilation fix. + + * src/truetype/ttinterp.c (TT_RunIns) + [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work. + +2013-05-22 Infinality + + [truetype] Formatting and an additional subpixel tweak. + + * src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix. + * src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): + Revert previous modification for Verdana clones. + +2013-05-22 Infinality + + [truetype] Adjust subpixel zp2 moves and tweak rules. + + These modifications fix thin diagonal stems in some legacy fonts. + + * src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro. + (Move_Zp2_Point): Don't always disable x moves for subpixel rendering. + (Ins_SHP): Disable x moves here for subpixel rendering. + (Ins_SHPIX): Only disable x moves in compatibility mode. + Split out zp2 move reversals and reorder conditional respectively. + + * src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight. + Only adjust Verdana clones for 17 ppem. + (SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New. + (ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'. + +2013-05-20 Infinality + + [truetype] Simplify and improve subpixel function detection. + + Some small enhancements have allowed the removal of many macros and + the simplification of existing rules in `ttsubpix.c'. + + * src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX, + SPH_TWEAK_ALLOW_X_MOVE_ZP2, + SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES, + SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed. + (SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro. + + * src/truetype/ttsubpix.c: Updated affected rules. + + * src/truetype/ttinterp.c (Direct_Move_X): Updated. + (INS_FDEF): Add additional function detection. + (INS_ENDF): Set runtime flag. + (Ins_CALL): Skip the call under certain conditions. + Remove bad code. + (Ins_LOOPCALL): Skip the call under certain conditions. + Remove bad code. + (Move_Zp2_Point): Updated. + (Ins_SHPIX): Updated. + Skip the move under some situations. + (Ins_MIAP): Improve conditions. + (Ins_MIRP): Updated. + (Ins_DELTAP): Skip move under certain conditions. + Simplify conditions. + (TT_RunIns): Updated. + Add code to handle new function detection. + Trace messages. + +2013-05-17 Werner Lemberg + + Update more FT_Err_XXX macros using FT_ERR and FT_THROW; + + * builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c, + builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it. + +2013-05-15 Werner Lemberg + + [truetype] Add `interpreter-version' property. + + This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable + at runtime. + + * include/freetype/ftttdrv.h: New file. + + * include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New + macro. + + * src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H. + (tt_property_set, tt_property_get): Fill templates. + + * src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version' + member. + Remove unused `extension_component' member. + + * src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H. + (tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph, + compute_glyph_metrics, tt_loader_init): Use `interpreter_version'. + + * src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H. + (SUBPIXEL_HINTING): New macro to check `interpreter_version' flag. + Update all affected functions to use it. + Use TT_INTERPRETER_VERSION_XXX where appropriate. + + * src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H. + (tt_driver_init): Initialize `interpreter_version'. + + * src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H. + Use TT_INTERPRETER_VERSION_XXX where appropriate. + +2013-05-13 Werner Lemberg + + [truetype] Avoid empty source file. + + * src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: + Provide dummy typedef. + +2013-05-13 Werner Lemberg + + * src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable. + + Fix suggested by Vaibhav Nagarnaik . + +2013-05-13 Brian Nixon + + Fix Savannah bug #38970. + + * src/base/ftdebug.c, builds/win32/ftdebug.c, + builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c + (ft_debug_init): Don't read past the environment variable FT2_DEBUG. + +2013-05-12 Werner Lemberg + + [truetype] Add framework for TrueType properties. + + * src/truetype/ttdrivr.c: Include FT_SERVICE_PROPERTIES_H. + (tt_property_set, tt_property_get): New functions, still empty. + Define `tt_service_properties' service. + Update `tt_services'. + + * src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H. + (TT_SERVICE_PROPERTIES_GET): New macro. + (TTModulePIC): Add `tt_service_properties'. + +2013-05-12 Werner Lemberg + + Fix Savannah bug #38967. + + * src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast. + +2013-05-12 Werner Lemberg + + Introduce unsigned 64bit type (if available). + + * include/freetype/config/ftconfig.h: Define FT_UINT64 if available. + [FT_LONG64]: Provide FT_UInt64. + + * builds/unix/ftconfig.in: Synchronized. + +2013-05-12 Werner Lemberg + + Fix Savannah bug #38968. + + * include/freetype/ftmodapi.h: Add `FT_EXPORT' to + FT_Property_{Set,Get}. + * src/base/ftobjs.c: Add `FT_EXPORT_DEF' to + FT_Property_{Set,Get}. + +2013-05-10 Werner Lemberg + + [sfnt] Clean up bitmap code. + + * src/sfnt/ttsbit.c: Deleted. + * src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'. + * rules.mk (SFNT_DRV_H): Updated. + +2013-05-10 Werner Lemberg + + */* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code. + 2013-05-08 Werner Lemberg * Version 2.4.12 released. @@ -253,13 +837,13 @@ New macro. * src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H. - (cff_property_set, cff_property_get): New function, still empty. + (cff_property_set, cff_property_get): New functions, still empty. Define `cff_service_properties' service. Update `cff_services'. * src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H. (CFF_SERVICE_PROPERTIES_GET): New macro. - CffModulePIC: Add `cff_service_properties'. + (CffModulePIC): Add `cff_service_properties'. 2013-04-03 Werner Lemberg diff --git a/3party/freetype/Jamfile b/3party/freetype/Jamfile index 716ee596c7..2fec5f106f 100644 --- a/3party/freetype/Jamfile +++ b/3party/freetype/Jamfile @@ -195,7 +195,7 @@ rule RefDoc actions RefDoc { - python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.4.12 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h + python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.5.0 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h } RefDoc refdoc ; diff --git a/3party/freetype/README b/3party/freetype/README index c4feb1a24b..798715a411 100644 --- a/3party/freetype/README +++ b/3party/freetype/README @@ -1,5 +1,5 @@ - FreeType 2.4.12 - =============== + FreeType 2.5.0 + ============== Homepage: http://www.freetype.org @@ -24,9 +24,9 @@ and download one of the following files. - freetype-doc-2.4.12.tar.bz2 - freetype-doc-2.4.12.tar.gz - ftdoc2412.zip + freetype-doc-2.5.0.tar.bz2 + freetype-doc-2.5.0.tar.gz + ftdoc250.zip To view the documentation online, go to diff --git a/3party/freetype/builds/amiga/src/base/ftdebug.c b/3party/freetype/builds/amiga/src/base/ftdebug.c index d3c5eaddd9..4e13a6a6fc 100644 --- a/3party/freetype/builds/amiga/src/base/ftdebug.c +++ b/3party/freetype/builds/amiga/src/base/ftdebug.c @@ -208,6 +208,9 @@ while ( *p && *p != ':' ) p++; + if ( !*p ) + break; + if ( *p == ':' && p > q ) { FT_Int n, i, len = (FT_Int)( p - q ); @@ -236,7 +239,7 @@ p++; if ( *p ) { - level = *p++ - '0'; + level = *p - '0'; if ( level < 0 || level > 7 ) level = -1; } diff --git a/3party/freetype/builds/amiga/src/base/ftsystem.c b/3party/freetype/builds/amiga/src/base/ftsystem.c index 6f9eac17fc..42a552dbe8 100644 --- a/3party/freetype/builds/amiga/src/base/ftsystem.c +++ b/3party/freetype/builds/amiga/src/base/ftsystem.c @@ -4,7 +4,7 @@ /* */ /* Amiga-specific FreeType low-level system interface (body). */ /* */ -/* Copyright 1996-2001, 2002, 2005, 2006, 2007, 2010 by */ +/* Copyright 1996-2002, 2005-2007, 2010, 2013 by */ /* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -386,7 +386,7 @@ Free_VecPooled( APTR poolHeader, if ( !stream ) - return FT_Err_Invalid_Stream_Handle; + return FT_THROW( Invalid_Stream_Handle ); #ifdef __amigaos4__ sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_SHARED ); @@ -398,7 +398,7 @@ Free_VecPooled( APTR poolHeader, FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } sysfile->file = Open( (STRPTR)filepathname, MODE_OLDFILE ); if ( !sysfile->file ) @@ -407,7 +407,7 @@ Free_VecPooled( APTR poolHeader, FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } fib = AllocDosObject( DOS_FIB, NULL ); @@ -418,7 +418,7 @@ Free_VecPooled( APTR poolHeader, FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } if ( !( ExamineFH( sysfile->file, fib ) ) ) { @@ -428,7 +428,7 @@ Free_VecPooled( APTR poolHeader, FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } stream->size = fib->fib_Size; FreeDosObject( DOS_FIB, fib ); @@ -447,7 +447,7 @@ Free_VecPooled( APTR poolHeader, ft_amiga_stream_close( stream ); FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " opened `%s' but zero-sized\n", filepathname )); - return FT_Err_Cannot_Open_Stream;; + return FT_THROW( Cannot_Open_Stream ); } FT_TRACE1(( "FT_Stream_Open:" )); diff --git a/3party/freetype/builds/mac/ftmac.c b/3party/freetype/builds/mac/ftmac.c index 719dd0ce97..16d50e87ff 100644 --- a/3party/freetype/builds/mac/ftmac.c +++ b/3party/freetype/builds/mac/ftmac.c @@ -5,7 +5,7 @@ /* Mac FOND support. Written by just@letterror.com. */ /* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */ /* */ -/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by */ +/* Copyright 1996-2008, 2013 by */ /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -184,7 +184,7 @@ typedef short ResourceIndex; FT_UNUSED( pathSpec ); FT_UNUSED( face_index ); - return FT_Err_Unimplemented_Feature; + return FT_THROW( Unimplemented_Feature ); } #else @@ -270,7 +270,7 @@ typedef short ResourceIndex; return FT_Err_Ok; } else - return FT_Err_Unknown_File_Format; + return FT_THROW( Unknown_File_Format ); } #endif /* HAVE_QUICKDRAW_CARBON */ @@ -323,10 +323,10 @@ typedef short ResourceIndex; CFRelease( cf_fontName ); if ( ats_font_id == 0 || ats_font_id == 0xFFFFFFFFUL ) - return FT_Err_Unknown_File_Format; + return FT_THROW( Unknown_File_Format ); if ( noErr != FT_ATSFontGetFileReference( ats_font_id, ats_font_ref ) ) - return FT_Err_Unknown_File_Format; + return FT_THROW( Unknown_File_Format ); /* face_index calculation by searching preceding fontIDs */ /* with same FSRef */ @@ -365,7 +365,7 @@ typedef short ResourceIndex; FT_UNUSED( maxPathSize ); FT_UNUSED( face_index ); - return FT_Err_Unimplemented_Feature; + return FT_THROW( Unimplemented_Feature ); } #else @@ -385,7 +385,7 @@ typedef short ResourceIndex; return err; if ( noErr != FSRefMakePath( &ref, path, maxPathSize ) ) - return FT_Err_Unknown_File_Format; + return FT_THROW( Unknown_File_Format ); return FT_Err_Ok; } @@ -404,7 +404,7 @@ typedef short ResourceIndex; FT_UNUSED( pathSpec ); FT_UNUSED( face_index ); - return FT_Err_Unimplemented_Feature; + return FT_THROW( Unimplemented_Feature ); } #else @@ -425,7 +425,7 @@ typedef short ResourceIndex; if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone, NULL, NULL, pathSpec, NULL ) ) - return FT_Err_Unknown_File_Format; + return FT_THROW( Unknown_File_Format ); return FT_Err_Ok; } @@ -580,7 +580,7 @@ typedef short ResourceIndex; if ( noErr != FSPathMakeRef( pathname, &ref, FALSE ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); /* at present, no support for dfont format */ err = FSOpenResourceFile( &ref, 0, NULL, fsRdPerm, res ); @@ -598,7 +598,7 @@ typedef short ResourceIndex; if ( noErr != FT_FSPathMakeSpec( pathname, &spec, FALSE ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); /* at present, no support for dfont format without FSRef */ /* (see above), try original resource-fork font */ @@ -696,11 +696,9 @@ typedef short ResourceIndex; count_faces_scalable( char* fond_data ) { AsscEntry* assoc; - FamRec* fond; short i, face, face_all; - fond = (FamRec*)fond_data; face_all = EndianS16_BtoN( *( (short *)( fond_data + sizeof ( FamRec ) ) ) ) + 1; assoc = (AsscEntry*)( fond_data + sizeof ( FamRec ) + 2 ); @@ -847,17 +845,17 @@ typedef short ResourceIndex; /* We should not extract parent directory by string manipulation. */ if ( noErr != FSPathMakeRef( path_fond, &ref, FALSE ) ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone, NULL, NULL, NULL, &par_ref ) ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); if ( noErr != FSRefMakePath( &par_ref, path_lwfn, path_size ) ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); if ( ft_strlen( (char *)path_lwfn ) + 1 + base_lwfn[0] > path_size ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); /* now we have absolute dirname in path_lwfn */ if ( path_lwfn[0] == '/' ) @@ -870,11 +868,11 @@ typedef short ResourceIndex; path_lwfn[dirname_len + base_lwfn[0]] = '\0'; if ( noErr != FSPathMakeRef( path_lwfn, &ref, FALSE ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone, NULL, NULL, NULL, NULL ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); return FT_Err_Ok; @@ -886,7 +884,7 @@ typedef short ResourceIndex; /* pathname for FSSpec is always HFS format */ if ( ft_strlen( (char *)path_fond ) > path_size ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); ft_strcpy( (char *)path_lwfn, (char *)path_fond ); @@ -895,7 +893,7 @@ typedef short ResourceIndex; i--; if ( i + 1 + base_lwfn[0] > path_size ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); if ( ':' == path_lwfn[i] ) { @@ -909,7 +907,7 @@ typedef short ResourceIndex; } if ( noErr != FT_FSPathMakeSpec( path_lwfn, &spec, FALSE ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); return FT_Err_Ok; @@ -1003,7 +1001,7 @@ typedef short ResourceIndex; /* detect integer overflows */ if ( total_size < old_total_size ) { - error = FT_Err_Array_Too_Large; + error = FT_ERR( Array_Too_Large ); goto Error; } @@ -1088,7 +1086,7 @@ typedef short ResourceIndex; if ( noErr != FT_FSPathMakeRes( pathname, &res ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); pfb_data = NULL; pfb_size = 0; @@ -1123,7 +1121,7 @@ typedef short ResourceIndex; sfnt = GetResource( TTAG_sfnt, sfnt_id ); if ( sfnt == NULL ) - return FT_Err_Invalid_Handle; + return FT_THROW( Invalid_Handle ); sfnt_size = (FT_ULong)GetHandleSize( sfnt ); if ( FT_ALLOC( sfnt_data, (FT_Long)sfnt_size ) ) @@ -1182,23 +1180,26 @@ typedef short ResourceIndex; FT_Long face_index, FT_Face* aface ) { - FT_Error error = FT_Err_Cannot_Open_Resource; + FT_Error error = FT_ERR( Cannot_Open_Resource ); ResFileRefNum res_ref; ResourceIndex res_index; Handle fond; - short num_faces_in_res, num_faces_in_fond; + short num_faces_in_res; if ( noErr != FT_FSPathMakeRes( pathname, &res_ref ) ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); UseResFile( res_ref ); if ( ResError() ) - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); num_faces_in_res = 0; for ( res_index = 1; ; ++res_index ) { + short num_faces_in_fond; + + fond = Get1IndResource( TTAG_FOND, res_index ); if ( ResError() ) break; @@ -1239,7 +1240,7 @@ typedef short ResourceIndex; GetResInfo( fond, &fond_id, &fond_type, fond_name ); if ( ResError() != noErr || fond_type != TTAG_FOND ) - return FT_Err_Invalid_File_Format; + return FT_THROW( Invalid_File_Format ); HLock( fond ); parse_fond( *fond, &have_sfnt, &sfnt_id, lwfn_file_name, face_index ); @@ -1322,7 +1323,7 @@ typedef short ResourceIndex; face_index, aface ); else - error = FT_Err_Unknown_File_Format; + error = FT_ERR( Unknown_File_Format ); found_no_lwfn_file: if ( have_sfnt && FT_Err_Ok != error ) @@ -1389,7 +1390,7 @@ typedef short ResourceIndex; /* test for valid `library' and `aface' delayed to FT_Open_Face() */ if ( !pathname ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); error = FT_Err_Ok; *aface = NULL; @@ -1432,7 +1433,7 @@ typedef short ResourceIndex; FT_UNUSED( face_index ); FT_UNUSED( aface ); - return FT_Err_Unimplemented_Feature; + return FT_THROW( Unimplemented_Feature ); #else @@ -1443,11 +1444,11 @@ typedef short ResourceIndex; if ( !ref ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); err = FSRefMakePath( ref, pathname, sizeof ( pathname ) ); if ( err ) - error = FT_Err_Cannot_Open_Resource; + error = FT_ERR( Cannot_Open_Resource ); error = FT_New_Face_From_Resource( library, pathname, face_index, aface ); if ( error != 0 || *aface != NULL ) @@ -1487,7 +1488,7 @@ typedef short ResourceIndex; if ( !spec || FSpMakeFSRef( spec, &ref ) != noErr ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); else return FT_New_Face_From_FSRef( library, &ref, face_index, aface ); @@ -1500,11 +1501,11 @@ typedef short ResourceIndex; if ( !spec ) - return FT_Err_Invalid_Argument; + return FT_THROW( Invalid_Argument ); err = FT_FSpMakePath( spec, pathname, sizeof ( pathname ) ); if ( err ) - error = FT_Err_Cannot_Open_Resource; + error = FT_ERR( Cannot_Open_Resource ); error = FT_New_Face_From_Resource( library, pathname, face_index, aface ); if ( error != 0 || *aface != NULL ) @@ -1522,7 +1523,7 @@ typedef short ResourceIndex; FT_UNUSED( face_index ); FT_UNUSED( aface ); - return FT_Err_Unimplemented_Feature; + return FT_THROW( Unimplemented_Feature ); #endif /* HAVE_FSREF, HAVE_FSSPEC */ diff --git a/3party/freetype/builds/unix/config.guess b/3party/freetype/builds/unix/config.guess index 2055429b1a..b79252d6b1 100755 --- a/3party/freetype/builds/unix/config.guess +++ b/3party/freetype/builds/unix/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2013-04-24' +timestamp='2013-06-10' # 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 @@ -132,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -853,21 +874,21 @@ EOF exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -880,67 +901,54 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif - #else - #include - #ifdef __UCLIBC__ - LIBC=uclibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -959,59 +967,63 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; or1k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - LIBC=gnu - test -r /lib/libc.so && od -An -S13 /lib/libc.so | grep -q __uClibc_main && LIBC=uclibc echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1244,19 +1256,21 @@ EOF exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) diff --git a/3party/freetype/builds/unix/configure b/3party/freetype/builds/unix/configure index 8f03c152d5..64acde93eb 100755 --- a/3party/freetype/builds/unix/configure +++ b/3party/freetype/builds/unix/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeType 2.4.12. +# Generated by GNU Autoconf 2.69 for FreeType 2.5. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.4.12' -PACKAGE_STRING='FreeType 2.4.12' +PACKAGE_VERSION='2.5' +PACKAGE_STRING='FreeType 2.5' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -739,6 +739,7 @@ enable_biarch_config enable_mmap with_zlib with_bzip2 +with_png with_old_mac_fonts with_fsspec with_fsref @@ -1302,7 +1303,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.4.12 to adapt to many kinds of systems. +\`configure' configures FreeType 2.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1367,7 +1368,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.4.12:";; + short | recursive ) echo "Configuration of FreeType 2.5:";; esac cat <<\_ACEOF @@ -1389,6 +1390,8 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-zlib use internal zlib instead of system-wide --without-bzip2 do not support bzip2 compressed fonts + --without-png do not support png compressed OpenType embedded + bitmaps --with-old-mac-fonts allow Mac resource-based fonts to be used --with-fsspec use obsolete FSSpec API of MacOS, if available (default=yes) @@ -1482,7 +1485,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.4.12 +FreeType configure 2.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2080,7 +2083,7 @@ 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.4.12, which was +It was created by FreeType $as_me 2.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2436,7 +2439,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update docs/VERSION.DLL! -version_info='16:1:10' +version_info='16:2:10' ft_version=`echo $version_info | tr : .` @@ -4694,6 +4697,7 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then SYSTEM_ZLIB=yes fi + # check for system libbz2 # don't quote AS_HELP_STRING! @@ -4754,6 +4758,34 @@ if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then SYSTEM_LIBBZ2=yes fi + +# check for system libpng + +HAVE_LIBPNG=no + +# Check whether --with-png was given. +if test "${with_png+set}" = set; then : + withval=$with_png; +fi + +if test x$with_png != xno; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpng" >&5 +$as_echo_n "checking for libpng... " >&6; } + if test -z "$LIBPNG_CFLAGS" -a -z "$LIBPNG_LDFLAGS"; then + if ! which libpng-config >/dev/null; then + as_fn_error $? "\`libpng-config' not found; +either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables, +or pass \`--without-png' to the \`configure' script." "$LINENO" 5 + fi + LIBPNG_CFLAGS="`libpng-config --cflags`" + LIBPNG_LDFLAGS="`libpng-config --ldflags`" + fi + HAVE_LIBPNG=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPNG_LDFLAGS" >&5 +$as_echo "$LIBPNG_LDFLAGS" >&6; } +fi + + # Some options handling SDKs/archs in CFLAGS should be copied # to LDFLAGS. Apple TechNote 2137 recommends to include these # options in CFLAGS but not in LDFLAGS. @@ -12799,6 +12831,10 @@ if test x$SYSTEM_LIBBZ2 = xyes; then CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" LDFLAGS="$LDFLAGS $LIBBZ2" fi +if test x$HAVE_LIBPNG = xyes; then + CFLAGS="$CFLAGS $LIBPNG_CFLAGS -DFT_CONFIG_OPTION_USE_PNG" + LDFLAGS="$LDFLAGS $LIBPNG_LDFLAGS" +fi @@ -13327,7 +13363,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.4.12, which was +This file was extended by FreeType $as_me 2.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13393,7 +13429,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeType config.status 2.4.12 +FreeType config.status 2.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/3party/freetype/builds/unix/configure.ac b/3party/freetype/builds/unix/configure.ac index 5d62cefd4f..e00d2cc334 100644 --- a/3party/freetype/builds/unix/configure.ac +++ b/3party/freetype/builds/unix/configure.ac @@ -11,13 +11,13 @@ # indicate that you have read the license and understand and accept it # fully. -AC_INIT([FreeType], [2.4.12], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.5], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='16:1:10' +version_info='16:2:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -254,12 +254,15 @@ AC_ARG_WITH([zlib], AS_HELP_STRING([--without-zlib], [use internal zlib instead of system-wide])) if test x$with_zlib != xno && test -z "$LIBZ"; then - AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) + AC_CHECK_LIB([z], + [gzsetparams], + [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) fi if test x$with_zlib != xno && test -n "$LIBZ"; then SYSTEM_ZLIB=yes fi + # check for system libbz2 # don't quote AS_HELP_STRING! @@ -267,12 +270,37 @@ AC_ARG_WITH([bzip2], AS_HELP_STRING([--without-bzip2], [do not support bzip2 compressed fonts])) if test x$with_bzip2 != xno && test -z "$LIBBZ2"; then - AC_CHECK_LIB([bz2], [BZ2_bzDecompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) + AC_CHECK_LIB([bz2], + [BZ2_bzDecompress], + [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) fi if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then SYSTEM_LIBBZ2=yes fi + +# check for system libpng + +HAVE_LIBPNG=no +AC_ARG_WITH([png], + AS_HELP_STRING([--without-png], + [do not support png compressed OpenType embedded bitmaps])) +if test x$with_png != xno; then + AC_MSG_CHECKING([for libpng]) + if test -z "$LIBPNG_CFLAGS" -a -z "$LIBPNG_LDFLAGS"; then + if ! which libpng-config >/dev/null; then + AC_MSG_ERROR([`libpng-config' not found; +either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables, +or pass `--without-png' to the `configure' script.]) + fi + LIBPNG_CFLAGS="`libpng-config --cflags`" + LIBPNG_LDFLAGS="`libpng-config --ldflags`" + fi + HAVE_LIBPNG=yes + AC_MSG_RESULT([$LIBPNG_LDFLAGS]) +fi + + # Some options handling SDKs/archs in CFLAGS should be copied # to LDFLAGS. Apple TechNote 2137 recommends to include these # options in CFLAGS but not in LDFLAGS. @@ -709,6 +737,10 @@ if test x$SYSTEM_LIBBZ2 = xyes; then CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" LDFLAGS="$LDFLAGS $LIBBZ2" fi +if test x$HAVE_LIBPNG = xyes; then + CFLAGS="$CFLAGS $LIBPNG_CFLAGS -DFT_CONFIG_OPTION_USE_PNG" + LDFLAGS="$LDFLAGS $LIBPNG_LDFLAGS" +fi AC_SUBST([CFLAGS]) AC_SUBST([LDFLAGS]) diff --git a/3party/freetype/builds/unix/configure.raw b/3party/freetype/builds/unix/configure.raw index b691ab36c1..6a6edc7157 100644 --- a/3party/freetype/builds/unix/configure.raw +++ b/3party/freetype/builds/unix/configure.raw @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='16:1:10' +version_info='16:2:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -254,12 +254,15 @@ AC_ARG_WITH([zlib], AS_HELP_STRING([--without-zlib], [use internal zlib instead of system-wide])) if test x$with_zlib != xno && test -z "$LIBZ"; then - AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) + AC_CHECK_LIB([z], + [gzsetparams], + [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) fi if test x$with_zlib != xno && test -n "$LIBZ"; then SYSTEM_ZLIB=yes fi + # check for system libbz2 # don't quote AS_HELP_STRING! @@ -267,12 +270,37 @@ AC_ARG_WITH([bzip2], AS_HELP_STRING([--without-bzip2], [do not support bzip2 compressed fonts])) if test x$with_bzip2 != xno && test -z "$LIBBZ2"; then - AC_CHECK_LIB([bz2], [BZ2_bzDecompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) + AC_CHECK_LIB([bz2], + [BZ2_bzDecompress], + [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) fi if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then SYSTEM_LIBBZ2=yes fi + +# check for system libpng + +HAVE_LIBPNG=no +AC_ARG_WITH([png], + AS_HELP_STRING([--without-png], + [do not support png compressed OpenType embedded bitmaps])) +if test x$with_png != xno; then + AC_MSG_CHECKING([for libpng]) + if test -z "$LIBPNG_CFLAGS" -a -z "$LIBPNG_LDFLAGS"; then + if ! which libpng-config >/dev/null; then + AC_MSG_ERROR([`libpng-config' not found; +either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables, +or pass `--without-png' to the `configure' script.]) + fi + LIBPNG_CFLAGS="`libpng-config --cflags`" + LIBPNG_LDFLAGS="`libpng-config --ldflags`" + fi + HAVE_LIBPNG=yes + AC_MSG_RESULT([$LIBPNG_LDFLAGS]) +fi + + # Some options handling SDKs/archs in CFLAGS should be copied # to LDFLAGS. Apple TechNote 2137 recommends to include these # options in CFLAGS but not in LDFLAGS. @@ -709,6 +737,10 @@ if test x$SYSTEM_LIBBZ2 = xyes; then CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" LDFLAGS="$LDFLAGS $LIBBZ2" fi +if test x$HAVE_LIBPNG = xyes; then + CFLAGS="$CFLAGS $LIBPNG_CFLAGS -DFT_CONFIG_OPTION_USE_PNG" + LDFLAGS="$LDFLAGS $LIBPNG_LDFLAGS" +fi AC_SUBST([CFLAGS]) AC_SUBST([LDFLAGS]) diff --git a/3party/freetype/builds/unix/ftconfig.in b/3party/freetype/builds/unix/ftconfig.in index e0ad0ff1d9..d171e24760 100644 --- a/3party/freetype/builds/unix/ftconfig.in +++ b/3party/freetype/builds/unix/ftconfig.in @@ -242,6 +242,18 @@ FT_BEGIN_HEADER /* */ typedef signed XXX FT_Int64; + + /*************************************************************************/ + /* */ + /* */ + /* FT_UInt64 */ + /* */ + /* A typedef for a 64bit unsigned integer type. The size depends on */ + /* the configuration. Only defined if there is real 64bit support; */ + /* otherwise, it gets emulated with a structure (if necessary). */ + /* */ + typedef unsigned XXX FT_UInt64; + /* */ #endif @@ -339,7 +351,8 @@ FT_BEGIN_HEADER #endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ #ifdef FT_LONG64 - typedef FT_INT64 FT_Int64; + typedef FT_INT64 FT_Int64; + typedef FT_UINT64 FT_UInt64; #endif diff --git a/3party/freetype/builds/unix/ftsystem.c b/3party/freetype/builds/unix/ftsystem.c index 95f8271ec3..92c7d92114 100644 --- a/3party/freetype/builds/unix/ftsystem.c +++ b/3party/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, 2008 by */ +/* Copyright 1996-2002, 2004-2008, 2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -235,7 +235,7 @@ if ( !stream ) - return FT_Err_Invalid_Stream_Handle; + return FT_THROW( Invalid_Stream_Handle ); /* open the file */ file = open( filepathname, O_RDONLY ); @@ -243,7 +243,7 @@ { FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } /* Here we ensure that a "fork" will _not_ duplicate */ @@ -365,7 +365,7 @@ stream->size = 0; stream->pos = 0; - return FT_Err_Cannot_Open_Stream; + return FT_THROW( Cannot_Open_Stream ); } diff --git a/3party/freetype/builds/unix/install.mk b/3party/freetype/builds/unix/install.mk index 2e5ef080e3..056f46cd1c 100644 --- a/3party/freetype/builds/unix/install.mk +++ b/3party/freetype/builds/unix/install.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2002, 2003, 2006 by +# Copyright 1996-2000, 2002, 2003, 2006, 2013 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -31,7 +31,6 @@ install: $(PROJECT_LIBRARY) $(MKINSTALLDIRS) $(DESTDIR)$(libdir) \ $(DESTDIR)$(libdir)/pkgconfig \ $(DESTDIR)$(includedir)/freetype2/freetype/config \ - $(DESTDIR)$(includedir)/freetype2/freetype/cache \ $(DESTDIR)$(bindir) \ $(DESTDIR)$(datadir)/aclocal $(LIBTOOL) --mode=install $(INSTALL) \ diff --git a/3party/freetype/builds/vms/ftsystem.c b/3party/freetype/builds/vms/ftsystem.c index fb35967ccf..5c2819edb5 100644 --- a/3party/freetype/builds/vms/ftsystem.c +++ b/3party/freetype/builds/vms/ftsystem.c @@ -4,7 +4,7 @@ /* */ /* VMS-specific FreeType low-level system interface (body). */ /* */ -/* Copyright 1996-2001, 2002, 2005, 2010 by */ +/* Copyright 1996-2002, 2005, 2010, 2013 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -212,7 +212,7 @@ if ( !stream ) - return FT_Err_Invalid_Stream_Handle; + return FT_THROW( Invalid_Stream_Handle ); /* open the file */ file = open( filepathname, O_RDONLY ); @@ -220,7 +220,7 @@ { FT_ERROR(( "FT_Stream_Open:" )); FT_ERROR(( " could not open `%s'\n", filepathname )); - return FT_Err_Cannot_Open_Resource; + return FT_THROW( Cannot_Open_Resource ); } if ( fstat( file, &stat_buf ) < 0 ) @@ -274,7 +274,7 @@ stream->size = 0; stream->pos = 0; - return FT_Err_Cannot_Open_Stream; + return FT_THROW( Cannot_Open_Stream ); } diff --git a/3party/freetype/builds/win32/ftdebug.c b/3party/freetype/builds/win32/ftdebug.c index baf1d4a652..58b7f89ecf 100644 --- a/3party/freetype/builds/win32/ftdebug.c +++ b/3party/freetype/builds/win32/ftdebug.c @@ -166,9 +166,12 @@ while ( *p && *p != ':' ) p++; + if ( !*p ) + break; + if ( *p == ':' && p > q ) { - int n, i, len = p - q; + int n, i, len = (int)( p - q ); int level = -1, found = -1; @@ -194,7 +197,7 @@ p++; if ( *p ) { - level = *p++ - '0'; + level = *p - '0'; if ( level < 0 || level > 7 ) level = -1; } diff --git a/3party/freetype/builds/win32/vc2005/index.html b/3party/freetype/builds/win32/vc2005/index.html index 236055c78c..788b83020d 100644 --- a/3party/freetype/builds/win32/vc2005/index.html +++ b/3party/freetype/builds/win32/vc2005/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.vcproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.12 sources:

+compiles the following libraries from the FreeType 2.5.0 sources:

    -    freetype2412.lib     - release build; single threaded
    -    freetype2412_D.lib   - debug build;   single threaded
    -    freetype2412MT.lib   - release build; multi-threaded
    -    freetype2412MT_D.lib - debug build;   multi-threaded
    + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/vc2008/index.html b/3party/freetype/builds/win32/vc2008/index.html index 13ad4a91b7..498ba6d5ac 100644 --- a/3party/freetype/builds/win32/vc2008/index.html +++ b/3party/freetype/builds/win32/vc2008/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.vcproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.12 sources:

+compiles the following libraries from the FreeType 2.5.0 sources:

    -    freetype2412.lib     - release build; single threaded
    -    freetype2412_D.lib   - debug build;   single threaded
    -    freetype2412MT.lib   - release build; multi-threaded
    -    freetype2412MT_D.lib - debug build;   multi-threaded
    + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/vc2010/index.html b/3party/freetype/builds/win32/vc2010/index.html index a7f4dbd4b7..caceac116a 100644 --- a/3party/freetype/builds/win32/vc2010/index.html +++ b/3party/freetype/builds/win32/vc2010/index.html @@ -11,14 +11,14 @@

This directory contains a project file for Visual C++, named freetype.vcxproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.12 sources:

+compiles the following libraries from the FreeType 2.5.0 sources:

    -    freetype2412.lib     - release build; single threaded
    -    freetype2412_D.lib   - debug build;   single threaded
    -    freetype2412MT.lib   - release build; multi-threaded
    -    freetype2412MT_D.lib - debug build;   multi-threaded
    + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/visualc/freetype.dsp b/3party/freetype/builds/win32/visualc/freetype.dsp index 643eab806a..f0cc24a4b8 100644 --- a/3party/freetype/builds/win32/visualc/freetype.dsp +++ b/3party/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\freetype2412.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250.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\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250_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\freetype2412_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype250_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT_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\freetype2412.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype250.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT.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\freetype2412.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2412ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype250ST.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\freetype2412_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250ST_D.lib" !ENDIF diff --git a/3party/freetype/builds/win32/visualc/index.html b/3party/freetype/builds/win32/visualc/index.html index aae4f417b5..ef6a5ed629 100644 --- a/3party/freetype/builds/win32/visualc/index.html +++ b/3party/freetype/builds/win32/visualc/index.html @@ -11,14 +11,14 @@

This directory contains project files for Visual C++, named freetype.dsp, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.4.12 sources:

+compiles the following libraries from the FreeType 2.5.0 sources:

    -    freetype2412.lib     - release build; single threaded
    -    freetype2412_D.lib   - debug build;   single threaded
    -    freetype2412MT.lib   - release build; multi-threaded
    -    freetype2412MT_D.lib - debug build;   multi-threaded
    + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/win32/visualce/freetype.dsp b/3party/freetype/builds/win32/visualce/freetype.dsp index 643eab806a..f0cc24a4b8 100644 --- a/3party/freetype/builds/win32/visualce/freetype.dsp +++ b/3party/freetype/builds/win32/visualce/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\freetype2412.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250.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\freetype2412_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250_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\freetype2412_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype250_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT_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\freetype2412.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype250.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT.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\freetype2412.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2412ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype250ST.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\freetype2412_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2412ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250ST_D.lib" !ENDIF diff --git a/3party/freetype/builds/win32/visualce/index.html b/3party/freetype/builds/win32/visualce/index.html index fe6d63e7da..c97a861a1c 100644 --- a/3party/freetype/builds/win32/visualce/index.html +++ b/3party/freetype/builds/win32/visualce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.12 sources:

    +It compiles the following libraries from the FreeType 2.5.0 sources:

      -    freetype2412.lib     - release build; single threaded
      -    freetype2412_D.lib   - debug build;   single threaded
      -    freetype2412MT.lib   - release build; multi-threaded
      -    freetype2412MT_D.lib - debug build;   multi-threaded
      + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/wince/ftdebug.c b/3party/freetype/builds/wince/ftdebug.c index cd105dc177..354f4f0a7f 100644 --- a/3party/freetype/builds/wince/ftdebug.c +++ b/3party/freetype/builds/wince/ftdebug.c @@ -184,9 +184,12 @@ while ( *p && *p != ':' ) p++; + if ( !*p ) + break; + if ( *p == ':' && p > q ) { - int n, i, len = p - q; + int n, i, len = (int)( p - q ); int level = -1, found = -1; @@ -212,7 +215,7 @@ p++; if ( *p ) { - level = *p++ - '0'; + level = *p - '0'; if ( level < 0 || level > 7 ) level = -1; } diff --git a/3party/freetype/builds/wince/vc2005-ce/index.html b/3party/freetype/builds/wince/vc2005-ce/index.html index 533ce04169..db53853569 100644 --- a/3party/freetype/builds/wince/vc2005-ce/index.html +++ b/3party/freetype/builds/wince/vc2005-ce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.12 sources:

    +It compiles the following libraries from the FreeType 2.5.0 sources:

      -    freetype2412.lib     - release build; single threaded
      -    freetype2412_D.lib   - debug build;   single threaded
      -    freetype2412MT.lib   - release build; multi-threaded
      -    freetype2412MT_D.lib - debug build;   multi-threaded
      + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/builds/wince/vc2008-ce/index.html b/3party/freetype/builds/wince/vc2008-ce/index.html index 206ee885c5..50160ecb51 100644 --- a/3party/freetype/builds/wince/vc2008-ce/index.html +++ b/3party/freetype/builds/wince/vc2008-ce/index.html @@ -21,14 +21,14 @@ the following targets:

  • PPC/SP WM6 (Windows Mobile 6)
  • -It compiles the following libraries from the FreeType 2.4.12 sources:

    +It compiles the following libraries from the FreeType 2.5.0 sources:

      -    freetype2412.lib     - release build; single threaded
      -    freetype2412_D.lib   - debug build;   single threaded
      -    freetype2412MT.lib   - release build; multi-threaded
      -    freetype2412MT_D.lib - debug build;   multi-threaded
      + freetype250.lib - release build; single threaded + freetype250_D.lib - debug build; single threaded + freetype250MT.lib - release build; multi-threaded + freetype250MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/3party/freetype/devel/ftoption.h b/3party/freetype/devel/ftoption.h index 32160045bc..220625df91 100644 --- a/3party/freetype/devel/ftoption.h +++ b/3party/freetype/devel/ftoption.h @@ -203,6 +203,20 @@ FT_BEGIN_HEADER #define FT_CONFIG_OPTION_USE_BZIP2 + /*************************************************************************/ + /* */ + /* PNG bitmap support. */ + /* */ + /* FreeType now handles loading color bitmap glyphs in the PNG format. */ + /* This requires help from the external libpng library. Uncompressed */ + /* color bitmaps do not need any external libraries and will be */ + /* supported regardless of this configuration. */ + /* */ + /* Define this macro if you want to enable this `feature'. */ + /* */ +#define FT_CONFIG_OPTION_USE_PNG + + /*************************************************************************/ /* */ /* Define to disable the use of file stream functions and types, FILE, */ @@ -735,6 +749,25 @@ FT_BEGIN_HEADER #undef T1_CONFIG_OPTION_NO_MM_SUPPORT + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** C F F D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ + /* engine gets compiled into FreeType. If defined, it is possible to */ + /* switch between the two engines using the `hinting-engine' property of */ + /* the cff driver module. */ + /* */ +#define CFF_CONFIG_OPTION_OLD_ENGINE + + /*************************************************************************/ /*************************************************************************/ /**** ****/ @@ -774,37 +807,10 @@ FT_BEGIN_HEADER /* - * Define this variable if you want to keep the layout of internal - * structures that was used prior to FreeType 2.2. This also compiles in - * a few obsolete functions to avoid linking problems on typical Unix - * distributions. - * - * For embedded systems or building a new distribution from scratch, it - * is recommended to disable the macro since it reduces the library's code - * size and activates a few memory-saving optimizations as well. + * This macro is obsolete. Support has been removed in FreeType + * version 2.5. */ -#define FT_CONFIG_OPTION_OLD_INTERNALS - - - /* - * To detect legacy cache-lookup call from a rogue client (<= 2.1.7), - * we restrict the number of charmaps in a font. The current API of - * FTC_CMapCache_Lookup() takes cmap_index & charcode, but old API - * takes charcode only. To determine the passed value is for cmap_index - * or charcode, the possible cmap_index is restricted not to exceed - * the minimum possible charcode by a rogue client. It is also very - * unlikely that a rogue client is interested in Unicode values 0 to 15. - * - * NOTE: The original threshold was 4 deduced from popular number of - * cmap subtables in UCS-4 TrueType fonts, but now it is not - * irregular for OpenType fonts to have more than 4 subtables, - * because variation selector subtables are available for Apple - * and Microsoft platforms. - */ - -#ifdef FT_CONFIG_OPTION_OLD_INTERNALS -#define FT_MAX_CHARMAP_CACHEABLE 15 -#endif +/* #define FT_CONFIG_OPTION_OLD_INTERNALS */ /* diff --git a/3party/freetype/docs/CHANGES b/3party/freetype/docs/CHANGES index c47e8e4c33..a5db2d23a1 100644 --- a/3party/freetype/docs/CHANGES +++ b/3party/freetype/docs/CHANGES @@ -1,8 +1,83 @@ +CHANGES BETWEEN 2.4.12 and 2.5 + + I. IMPORTANT BUG FIXES + + - The cache manager function `FTC_Manager_Reset' didn't flush the + cache. + + + II. IMPORTANT CHANGES + + - Behdad Esfahbod (on behalf of Google) contributed support for + color embedded bitmaps (eg. color emoji). + + A new load flag, FT_LOAD_COLOR, makes FreeType load color + embedded-bitmaps, following this draft specification + + https://color-emoji.googlecode.com/git/specification/v1.html + + which defines two new SFNT tables, `CBDT' and `CBLC' (named and + modeled after `EBDT' and `EBLC', respectively). The color + bitmaps are stored in the new FT_PIXEL_MODE_BGRA format to + represent BGRA pre-multiplied sRGB images. If PNG support is + available, PNG color images as defined in the same proposed + specification are supported also. + + Note that color bitmaps are converted to grayscale if client + didn't ask for color. + + - As announced in the previous release, the old FreeType CFF + engine is now disabled by default. It can be conditionally + compiled by defining the configuration macro + CFF_CONFIG_OPTION_OLD_ENGINE. + + - As announced in the previous release, all code related to macro + FT_CONFIG_OPTION_OLD_INTERNALS has been removed, thus becoming + obsolete. + + + III. MISCELLANEOUS + + - The property API (`FT_Property_Get' and `FT_Property_Set') is + now declared as stable. + + The exception, however, are the experimental auto-hinter + properties `glyph-to-script-map' and `fallback-script' which are + subject to change in a forthcoming release. + + - `ftview' has been updated to support color embedded bitmaps; it + can be toggled on and off with key `c'. The small cache toggle + is now key `K'. + + - It is now possible to control the version of the TrueType + hinting engine using the new `interpreter-version' property of + the `truetype' module: Versions 35 and 38 (the default) are + supported, which roughly corresponds to disable and enable + subpixel hinting support, respectively. + + In both `ftview' and `ftdiff', switching between the two + versions can be done with key `H'. In the `ftbench' demo + program, command line option `-H' has been extended to activate + the non-default interpreter version. + + - The `ttdebug' program has been further improved. In particular, + it accepts a new command line option `-H' to select the hinting + engine. + + - Another round of TrueType subpixel hinting fixes. + + - The `apinames' tool can now create an import file for NetWare. + + - 64bit compilation of the new CFF engine was buggy. + + - Some fixes to improve robustness in memory-tight situations. + + +====================================================================== + CHANGES BETWEEN 2.4.11 and 2.4.12 - I. IMPORTANT CHANGES - - We have another CFF parsing and hinting engine! Written by Dave Arnold , this work has been contributed by Adobe in collaboration with Google. It is vastly superior to diff --git a/3party/freetype/docs/VERSION.DLL b/3party/freetype/docs/VERSION.DLL index e119d42438..2d1cc9acff 100644 --- a/3party/freetype/docs/VERSION.DLL +++ b/3party/freetype/docs/VERSION.DLL @@ -52,6 +52,7 @@ on _most_ systems, but not all of them: release libtool so ------------------------------- + 2.5.0 16.2.10 6.10.2 2.4.12 16.1.10 6.10.1 2.4.11 16.0.10 6.10.0 2.4.10 15.0.9 6.9.0 diff --git a/3party/freetype/docs/reference/ft2-auto_hinter.html b/3party/freetype/docs/reference/ft2-auto_hinter.html index b3d8a604f7..f2cf72a9d0 100644 --- a/3party/freetype/docs/reference/ft2-auto_hinter.html +++ b/3party/freetype/docs/reference/ft2-auto_hinter.html @@ -3,7 +3,7 @@ -FreeType-2.4.12 API Reference +FreeType-2.5.0 API Reference + + + + + +
    [Index][TOC]
    +

    FreeType-2.5.0 API Reference

    + +

    +The TrueType driver +

    +

    Synopsis

    + + +
    interpreter-versionTT_INTERPRETER_VERSION_XXX


    + +
    +

    While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

    +

    The TrueType driver's module name is ‘truetype’.

    +

    +
    +

    interpreter-version

    +
    +

    Currently, two versions are available which represent the bytecode interpreter with and without subpixel hinting support, respectively. The default is subpixel support if TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel support otherwise (since it isn't available then).

    +

    If subpixel hinting is on, many TrueType bytecode instructions behave differently compared to B/W or grayscale rendering. The main idea is to render at a much increased horizontal resolution, then sampling down the created output to subpixel precision. However, many older fonts are not suited to this and must be specially taken care of by applying (hardcoded) font-specific tweaks.

    +

    Details on subpixel hinting and some of the necessary tweaks can be found in Greg Hitchcock's whitepaper at ‘http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx’.

    +

    The following example code demonstrates how to activate subpixel hinting (omitting the error handling).

    +
    +  FT_Library  library;
    +  FT_Face     face;
    +  FT_UInt     interpreter_version = TT_INTERPRETER_VERSION_38;
    +
    +
    +  FT_Init_FreeType( &library );
    +
    +  FT_Property_Set( library, "truetype",
    +                            "interpreter-version",
    +                            &interpreter_version );
    +
    +

    +
    note
    +

    This property can be used with FT_Property_Get also.

    +
    +
    +
    + + +
    [Index][TOC]
    + +
    +

    TT_INTERPRETER_VERSION_XXX

    +
    +Defined in FT_TRUETYPE_DRIVER_H (freetype/ftttdrv.h). +

    +
    +
    +#define TT_INTERPRETER_VERSION_35  35
    +#define TT_INTERPRETER_VERSION_38  38
    +
    +

    +
    +

    A list of constants used for the interpreter-version property to select the hinting engine for Truetype fonts.

    +

    The numeric value in the constant names represents the version number as returned by the ‘GETINFO’ bytecode instruction.

    +

    +
    values
    +

    + + + + + +
    TT_INTERPRETER_VERSION_35
    +

    Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.

    +
    TT_INTERPRETER_VERSION_38
    +

    Version 38 corresponds to MS rasterizer v.1.9; it is roughly equivalent to the hinting provided by DirectWrite ClearType (as can be found, for example, in the Internet Explorer 9 running on Windows 7).

    +
    +
    +
    note
    +

    This property controls the behaviour of the bytecode interpreter and thus how outlines get hinted. It does not control how glyph get rasterized! In particular, it does not control subpixel color filtering.

    +

    If FreeType has not been compiled with configuration option FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version 38 causes an ‘FT_Err_Unimplemented_Feature’ error.

    +
    +
    +
    + + +
    [Index][TOC]
    + + + diff --git a/3party/freetype/docs/reference/ft2-type1_tables.html b/3party/freetype/docs/reference/ft2-type1_tables.html index 16757d8fe1..63b6dee1a2 100644 --- a/3party/freetype/docs/reference/ft2-type1_tables.html +++ b/3party/freetype/docs/reference/ft2-type1_tables.html @@ -3,7 +3,7 @@ -FreeType-2.4.12 API Reference +FreeType-2.5.0 API Reference