From aaf21968deb85b635cb6aa6544df233ea5981346 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 13 Feb 2013 09:48:21 +0100 Subject: Update to following packages: openssl-1.0.1e freetype-2.4.11 --- freetype/ChangeLog | 1220 +++++++++++++++++++- freetype/Jamfile | 2 +- freetype/README | 10 +- freetype/builds/toplevel.mk | 3 +- freetype/builds/unix/aclocal.m4 | 2 +- freetype/builds/unix/config.guess | 19 +- freetype/builds/unix/config.sub | 29 +- freetype/builds/unix/configure | 97 +- freetype/builds/unix/configure.ac | 42 +- freetype/builds/unix/configure.raw | 40 +- freetype/builds/unix/unix-def.in | 2 +- freetype/builds/win32/vc2005/freetype.vcproj | 12 +- freetype/builds/win32/vc2005/index.html | 10 +- freetype/builds/win32/vc2008/freetype.vcproj | 12 +- freetype/builds/win32/vc2008/index.html | 10 +- freetype/builds/win32/vc2010/freetype.vcxproj | 12 +- freetype/builds/win32/vc2010/index.html | 10 +- freetype/builds/win32/visualc/freetype.dsp | 20 +- freetype/builds/win32/visualc/freetype.vcproj | 12 +- freetype/builds/win32/visualc/index.html | 10 +- freetype/builds/win32/visualce/freetype.dsp | 20 +- freetype/builds/win32/visualce/freetype.vcproj | 84 +- freetype/builds/win32/visualce/index.html | 10 +- freetype/builds/wince/vc2005-ce/freetype.vcproj | 76 +- freetype/builds/wince/vc2005-ce/index.html | 10 +- freetype/builds/wince/vc2008-ce/freetype.vcproj | 76 +- freetype/builds/wince/vc2008-ce/index.html | 10 +- freetype/devel/ftoption.h | 22 + freetype/docs/CHANGES | 64 +- freetype/docs/CUSTOMIZE | 17 +- freetype/docs/INSTALL.CROSS | 6 +- freetype/docs/VERSION.DLL | 54 +- freetype/docs/reference/ft2-auto_hinter.html | 313 +++++ freetype/docs/reference/ft2-base_interface.html | 18 +- freetype/docs/reference/ft2-basic_types.html | 4 +- freetype/docs/reference/ft2-bdf_fonts.html | 4 +- freetype/docs/reference/ft2-bitmap_handling.html | 4 +- freetype/docs/reference/ft2-bzip2.html | 4 +- freetype/docs/reference/ft2-cache_subsystem.html | 4 +- freetype/docs/reference/ft2-cid_fonts.html | 4 +- freetype/docs/reference/ft2-computations.html | 4 +- freetype/docs/reference/ft2-font_formats.html | 4 +- freetype/docs/reference/ft2-gasp_table.html | 4 +- freetype/docs/reference/ft2-glyph_management.html | 4 +- freetype/docs/reference/ft2-glyph_stroker.html | 4 +- freetype/docs/reference/ft2-glyph_variants.html | 8 +- freetype/docs/reference/ft2-gx_validation.html | 4 +- freetype/docs/reference/ft2-gzip.html | 4 +- .../docs/reference/ft2-header_file_macros.html | 52 +- freetype/docs/reference/ft2-incremental.html | 4 +- freetype/docs/reference/ft2-index.html | 506 ++++---- freetype/docs/reference/ft2-lcd_filtering.html | 4 +- freetype/docs/reference/ft2-list_processing.html | 4 +- freetype/docs/reference/ft2-lzw.html | 4 +- freetype/docs/reference/ft2-mac_specific.html | 4 +- freetype/docs/reference/ft2-module_management.html | 169 ++- freetype/docs/reference/ft2-multiple_masters.html | 4 +- freetype/docs/reference/ft2-ot_validation.html | 4 +- .../docs/reference/ft2-outline_processing.html | 4 +- freetype/docs/reference/ft2-pfr_fonts.html | 4 +- freetype/docs/reference/ft2-quick_advance.html | 4 +- freetype/docs/reference/ft2-raster.html | 4 +- freetype/docs/reference/ft2-sfnt_names.html | 4 +- freetype/docs/reference/ft2-sizes_management.html | 4 +- freetype/docs/reference/ft2-system_interface.html | 4 +- freetype/docs/reference/ft2-toc.html | 24 +- freetype/docs/reference/ft2-truetype_engine.html | 4 +- freetype/docs/reference/ft2-truetype_tables.html | 13 +- freetype/docs/reference/ft2-type1_tables.html | 4 +- freetype/docs/reference/ft2-user_allocation.html | 4 +- freetype/docs/reference/ft2-version.html | 6 +- freetype/docs/reference/ft2-winfnt_fonts.html | 4 +- freetype/docs/release | 9 +- freetype/include/freetype/config/ftconfig.h | 3 +- freetype/include/freetype/config/ftheader.h | 15 +- freetype/include/freetype/config/ftoption.h | 22 + freetype/include/freetype/config/ftstdlib.h | 4 +- freetype/include/freetype/freetype.h | 49 +- freetype/include/freetype/ftautoh.h | 349 ++++++ freetype/include/freetype/ftchapters.h | 14 + freetype/include/freetype/fterrdef.h | 4 +- freetype/include/freetype/ftmodapi.h | 161 ++- freetype/include/freetype/internal/autohint.h | 71 +- freetype/include/freetype/internal/ftcalc.h | 4 - freetype/include/freetype/internal/ftdriver.h | 368 +++--- freetype/include/freetype/internal/ftobjs.h | 800 ++++++++----- freetype/include/freetype/internal/ftpic.h | 32 +- freetype/include/freetype/internal/ftrfork.h | 41 +- freetype/include/freetype/internal/ftserv.h | 23 +- freetype/include/freetype/internal/fttrace.h | 5 +- freetype/include/freetype/internal/pshints.h | 42 +- .../include/freetype/internal/services/svprop.h | 81 ++ freetype/include/freetype/internal/sfnt.h | 319 +++-- freetype/include/freetype/ttnameid.h | 20 +- freetype/include/freetype/tttables.h | 15 +- freetype/src/autofit/afangles.c | 65 +- freetype/src/autofit/afcjk.c | 16 +- freetype/src/autofit/afcjk.h | 11 +- freetype/src/autofit/afdummy.c | 3 +- freetype/src/autofit/afglobal.c | 87 +- freetype/src/autofit/afglobal.h | 46 +- freetype/src/autofit/afhints.c | 200 ++-- freetype/src/autofit/afhints.h | 20 +- freetype/src/autofit/afindic.c | 6 +- freetype/src/autofit/afindic.h | 4 +- freetype/src/autofit/aflatin.c | 354 ++++-- freetype/src/autofit/aflatin.h | 19 +- freetype/src/autofit/aflatin2.c | 82 +- freetype/src/autofit/aflatin2.h | 4 +- freetype/src/autofit/afloader.c | 37 +- freetype/src/autofit/afloader.h | 30 +- freetype/src/autofit/afmodule.c | 213 +++- freetype/src/autofit/afmodule.h | 21 + freetype/src/autofit/afpic.c | 49 +- freetype/src/autofit/afpic.h | 48 +- freetype/src/autofit/aftypes.h | 38 +- freetype/src/base/basepic.c | 40 +- freetype/src/base/ftgloadr.c | 2 +- freetype/src/base/ftglyph.c | 8 +- freetype/src/base/ftinit.c | 4 +- freetype/src/base/ftobjs.c | 169 ++- freetype/src/base/ftoutln.c | 27 +- freetype/src/base/ftrfork.c | 4 +- freetype/src/base/ftstroke.c | 11 +- freetype/src/base/ftsynth.c | 2 +- freetype/src/base/fttrigon.c | 97 +- freetype/src/bdf/bdflib.c | 15 +- freetype/src/cache/ftccmap.c | 5 +- freetype/src/cff/cffdrivr.c | 26 +- freetype/src/cff/cffload.c | 41 +- freetype/src/cff/cffobjs.c | 23 +- freetype/src/cff/cffparse.c | 115 +- freetype/src/cff/cffpic.c | 4 +- freetype/src/cff/cffpic.h | 76 +- freetype/src/cid/cidload.c | 10 +- freetype/src/psaux/psconv.c | 206 +++- freetype/src/psaux/psconv.h | 10 +- freetype/src/psaux/t1decode.c | 8 +- freetype/src/pshinter/pshglob.c | 51 +- freetype/src/pshinter/pshmod.c | 17 +- freetype/src/pshinter/pshpic.c | 10 +- freetype/src/pshinter/pshpic.h | 16 +- freetype/src/psnames/psmodule.c | 53 +- freetype/src/psnames/pspic.c | 15 +- freetype/src/psnames/pspic.h | 23 +- freetype/src/raster/rastpic.c | 4 +- freetype/src/sfnt/sfdriver.c | 169 +-- freetype/src/sfnt/sfntpic.c | 26 +- freetype/src/sfnt/sfntpic.h | 81 +- freetype/src/sfnt/sfobjs.c | 21 +- freetype/src/sfnt/ttcmap.c | 333 +++--- freetype/src/sfnt/ttcmap.h | 99 +- freetype/src/sfnt/ttcmapc.h | 19 +- freetype/src/sfnt/ttload.c | 21 +- freetype/src/smooth/ftgrays.c | 29 +- freetype/src/smooth/ftsmooth.c | 57 +- freetype/src/smooth/ftspic.c | 4 +- freetype/src/tools/docmaker/content.py | 4 +- freetype/src/tools/docmaker/sources.py | 8 +- freetype/src/truetype/rules.mk | 5 +- freetype/src/truetype/truetype.c | 3 +- freetype/src/truetype/ttdriver.c | 39 +- freetype/src/truetype/ttgload.c | 163 ++- freetype/src/truetype/ttgxvar.c | 59 +- freetype/src/truetype/ttinterp.c | 824 ++++++++++--- freetype/src/truetype/ttinterp.h | 79 +- freetype/src/truetype/ttobjs.c | 10 +- freetype/src/truetype/ttobjs.h | 18 +- freetype/src/truetype/ttpic.c | 11 +- freetype/src/truetype/ttpic.h | 31 +- freetype/src/truetype/ttsubpix.c | 265 +++++ freetype/src/truetype/ttsubpix.h | 908 +++++++++++++++ freetype/src/type1/t1load.c | 36 +- freetype/src/type1/t1parse.c | 17 +- freetype/src/type42/t42parse.c | 3 +- 175 files changed, 8619 insertions(+), 2875 deletions(-) create mode 100644 freetype/docs/reference/ft2-auto_hinter.html create mode 100644 freetype/include/freetype/ftautoh.h create mode 100644 freetype/include/freetype/internal/services/svprop.h create mode 100644 freetype/src/truetype/ttsubpix.c create mode 100644 freetype/src/truetype/ttsubpix.h (limited to 'freetype') diff --git a/freetype/ChangeLog b/freetype/ChangeLog index 23b23d848..b5c7d13aa 100644 --- a/freetype/ChangeLog +++ b/freetype/ChangeLog @@ -1,3 +1,1133 @@ +2012-12-20 Werner Lemberg + + * Version 2.4.11 released. + ========================== + + + Tag sources with `VER-2-4-11'. + + * docs/CHANGES, docs/release: Updated. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.4.11. + + * 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.10/2.4.11/, s/2410/2411/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. + + * builds/unix/configure.raw (version_info): Set to 16:0:10. + + * builds/toplevel.mk (dist): Don't include `.mailmap'. + +2012-12-20 Alexei Podtelezhnikov + + [base] Improve trigonometric core. + + FreeType used to rely on a 24-step iteration CORDIC algorithm to + calculate trigonometric functions and rotate vectors. It turns out + that once the vector is in the right half-plane, the initial rotation + by 63 degrees is not necessary. The algorithm is perfectly capable + to converge to any angle starting from the second 45 degree rotation. + This patch removes the first rotation and makes it a 23-step CORDIC + algorithm. + + * src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macro + values. + (ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Remove initial + rotation. + +2012-12-19 Werner Lemberg + + * src/base/ftobjs.c (ft_property_do): Fix compiler warning. + +2012-12-19 Alexei Podtelezhnikov + + * src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters. + +2012-12-19 Alexei Podtelezhnikov + + [base] Clean up trigonometric core. + + * src/base/fttrrigon.c (ft_trig_pseudo_polarize): Align algorithm + with `ft_trig_pseudo_rotate'. + +2012-12-18 Infinality + + [truetype] Minor performance enhancement. + + * src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Use FT_MulFix + instead of FT_MulDiv. + +2012-12-17 Infinality + + [truetype] Remove unusued code and variables. + + * src/truetype/ttinterp.c: Updated. + (Ins_FDEF): Remove opcode patterns that are not being used. + +2012-12-16 Werner Lemberg + + Various compiler warning fixes. + + * include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use + `logical not' operator instead of negation. The idea is that `~' + returns exactly the data type enforced by the cast to a pointer (be + it 32bit or 64bit or whatever), while a negative integer has not + this flexibility. + * src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto. + * src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto. + * src/type/t1load.c (T1_Get_MM_Var): Ditto. + (parse_blend_axis_types): Use cast. + * src/bdf/bdflib.c (_bdf_readstream): Use cast. + +2012-12-16 Infinality + + [truetype] Remove unusued code and variables. Add minor fixes. + + * src/truetype/ttsubpix.h: Updated. + (SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS. + (ALLOW_X_DMOVEX_Rules): Remove Arial characters. + (ALLOW_X_DMOVE_Rules): Remove Arial characters. + (RASTERIZER_35_Rules): Verdana no longer needs to be here. + (SKIP_IUP_Rules): Formatting fix. + (DELTAP_SKIP_EXAGGERATED_VALUES_Rules): Remove Segoe UI. + (COMPATIBLE_WIDTHS_Rules): Add Monaco and Trebuchet MS. + (X_SCALING_Rules): Add misc. corrective fixes. + + * src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Adjust correction + factor for emboldening during scaling. + + * src/truetype/ttinterp.h: Updated. + (TT_ExecContextRec): Remove unused variables. + + * src/truetype/ttobjs.h: Updated. + (TT_SizeRec): Add ttfautohinted variable. + + * src/truetype/ttinterp.c: Updated. + (Ins_FDEF): Rework code to fix bugs and add more detection. + (Ins_CALL): Remove unused code. + (Ins_LOOPCALL): Remove unused code. + (TT_RunIns): Remove unusued code. + (Ins_SHPIX): Add logic to handle ttfautohinted fonts. + (Ins_MIRP): Don't round x in cut-in calculation. Add logic to handle + ttfautohinted fonts. + +2012-12-16 Werner Lemberg + + [sfnt] Fix Savannah bug #37936. + + * src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak. + +2012-12-15 Alexei Podtelezhnikov + + [base] Fix 11-year old bug. + + Since the initial commit (ebe85f59) the value of FT_TRIG_SCALE has + always been slightly less than the correct value, which has been + given in the comment as a hexadecimal. As a result, vector lengths + were underestimated and rotated vectors were shortened. + + * src/base/fttrigon.c (FT_TRIG_SCALE): Fix macro value. + +2012-12-15 Werner Lemberg + + [bdf] Fix Savannah bug #37907. + + * src/bdf/bdflib.c (_bdf_parse_glyphs) : Normalize + negative second parameter of `ENCODING' field also. + +2012-12-15 Werner Lemberg + + [bdf] Fix Savannah bug #37906. + + * src/bdf/bdflib.c (_bdf_parse_glyphs) : Use correct array + size for checking `glyph_enc'. + +2012-12-15 Werner Lemberg + + [bdf] Fix Savannah bug #37905. + + * src/bdf/bdflib.c (_bdf_parse_start) : Reset + `props_size' to zero in case of allocation error; this value gets + used in a loop in `bdf_free_font'. + +2012-12-10 Alexei Podtelezhnikov + + [truetype] Scale F_dot_P down. + + The dot product between freeVector and projVector or cosine of + the angle between these FT_F2Dot14 unit vectors used to be scaled up + by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P. + This patch scales the value down by 2^14 instead, which simplifies + its use throughout the bytecode interpreter. + + This does not lead to the loss of precision because the lower bits + are unreliable anyway. Consider two unit vectors (1,0) and (.6,.8) + for which the true value of F_dot_P is .6 * 0x40000000 = 0x26666666. + These vectors are stored as (0x4000,0) and (0x2666,0x3333) after + rounding and F_dot_P is assigned 0x26660000. The lower bits were + already lost while rounding the unit vector components. + + Besides code simplification, this change can lead to better + performance when FT_MulDiv with the scaled-down F_dot_P is less + likely to use the costly 64-bit path. We are not changing the type + of F_dot_P to FT_F2Dot14 at this point. + + * src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14 + bits and modify its use accordingly. + (Direct_Move, Direct_Move_Orig, Compute_Point_Displacement): Modify + the use of F_dot_P field. + * src/truetype/ttobjs.c (tt_size_run_fpgm): Change arbitrary + assignment of F_dot_P to its theoretical maximum in case we decide + to scale back its type later. + +2012-12-09 Johnson Y. Yan + + [type1] Another fix for 2012-09-17 commit. + + * src/type1/t1parse.c (T1_Get_Private_Dict) : Correctly set + `limit' value. + +2012-12-06 Alexei Podtelezhnikov + + [truetype] Tweak the previous commit. + + * src/truetype/ttinterp.c (Current_Ratio): Put unit vector + components as the second TT_MulFix14 arguments. This is required + on 16-bit systems. + +2012-12-06 Alexei Podtelezhnikov + + [truetype] Microoptimizations in bytecode interpreter. + + * src/truetype/ttinterp.c (TT_DivFix14): New macro. + (Normalize): Use it here. + (Current_Ratio): Use TT_MulFix14 instead of FT_MulDiv. + (Ins_SHPIX): Cancel out two TT_MulFix14 calls. + +2012-12-05 Alexei Podtelezhnikov + + [truetype] Cosmetic improvement in bytecode interpreter. + + * src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv, + FT_MulFix, and FT_DivFix instead of macros. + +2012-12-03 John Tytgat + + [pshinter] Clamp BlueScale value. + + This is Savannah bug #37856. + + * src/pshinter/pshglob.c (psh_calc_max_height): New function. + (psh_globals_new): Use it to limit BlueScale value to + `1 / max_of_blue_zone_heights'. + +2012-12-01 Alexei Podtelezhnikov + + [truetype, type1] Revise the use of FT_MulDiv. + + * src/truetype/ttgxvar.c: Updated. + * src/truetype/ttobjs.c: Updated. + * src/type1/t1load.c: Updated. + +2012-11-30 Werner Lemberg + + [configure] Preserve customized `ftoption.h'. + + Problem reported by Del Merritt . + + * builds/unix/configure.raw : Don't + remove existing FreeType configuration files. + +2012-11-29 John Tytgat + + [type1] Fix Savannah bug #37831. + + The bug report also contains a patch. + + * src/type1/t1parse.c (T1_Get_Private_Dict) : Really fix + change from 2012-09-17. + +2012-11-28 Alexei Podtelezhnikov + + [truetype] Fix formatting and typo. + +2012-11-27 Alexei Podtelezhnikov + + [cid, type1, type42] Clean up units_per_EM calculations. + + * src/cid/cidload.c (cid_parse_font_matrix): Updated. + * src/type1/t1load.c (t1_parse_font_matrix): Updated. + * src/type42/t42parse.c (t42_parse_font_matrix): Updated. + +2012-11-27 Alexei Podtelezhnikov + + [ftstroke] Minor improvement. + + * src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with + FT_MulDiv. + +2012-11-17 Werner Lemberg + + * src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work. + +2012-11-15 Alexei Podtelezhnikov + + [base] Fix integer overflows in dd5718c7d67a. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv. + +2012-11-15 Werner Lemberg + + [autofit] Trace stem widths. + + * src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some + FT_TRACE calls. + +2012-11-13 Werner Lemberg + + [cff] Add support for OpenType Collections (OTC). + + * src/cff/cffload.c (cff_font_load): Separate subfont and face + index handling to load both pure CFFs with multiple subfonts and + OTCs (with multiple faces where each face holds exactly one + subfont). + * src/cff/cffobjs.c (cff_face_init): Updated. + +2012-11-12 Werner Lemberg + + [autofit] Minor improvement. + + * src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix + loop. + +2012-11-10 Werner Lemberg + + [autofit] Improve tracing. + + * src/autofit/aflatin.c (af_latin_hint_edges) + [FT_DEBUG_LEVEL_TRACE]: Count number of actions and emit something + if there weren't any. + +2012-11-04 Alexei Podtelezhnikov + + [base] Fortify emboldening code against egregious distortions. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening + strength when it leads to segment collapse. + +2012-11-03 Alexei Podtelezhnikov + + [base] Clean up emboldening code and improve comments there. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential + calls to FT_MulFix and FT_DivFix with FT_MulDiv. + Mention that bisectors are used to figure out the shift direction. + +2012-10-24 Werner Lemberg + + [autofit] Add standard character to `AF_ScriptClassRec' structure. + + * src/autofit/aftypes.h (AF_ScriptClassRec): Add `standard_char' + member. + (AF_DEFINE_SCRIPT_CLASS): Updated. + + * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use it. + (af_latin_metrics_init, af_latin_script_class): Updated. + + * src/autofit/aflatin.c (af_latin2_metrics_init_widths): Use it. + (af_latin2_metrics_init, af_latin2_script_class): Updated. + + * src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it. + (af_cjk_metrics_init, af_cjk_script_class): Updated. + + * src/autofit/afindic.c (af_indic_metrics_init, + af_indic_script_class): Updated. + + * src/autofit/afcjk.h, src/autofit/aflatin.h: Updated. + + * src/autofit/afdummy.c: Updated. + +2012-10-24 Werner Lemberg + + [autofit] Only use Unicode CMap. + + * src/autofit/aflatin.c (af_latin_metrics_init): Implement it, to be + in sync with `af_face_globals_compute_script_coverage'. + +2012-10-21 Werner Lemberg + + [psaux] Improve parsing of invalid numbers. + + * src/psaux/psconv.c (PS_Conv_Strtol): Always parse complete number, + even in case of overflow. + (PS_Conv_ToInt): Only increase cursor if parsing was successful. + (PS_Conv_ToFixed): Ditto. + Trace underflow and data error. + +2012-10-21 Werner Lemberg + + [smooth] Improve tracing. + + * src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of + current band also. + +2012-10-20 Alexei Podtelezhnikov + + [truetype] Cheaper way to threshold angles between vectors. + + * src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot + cheaper than thresholding sine. + +2012-10-20 Werner Lemberg + + [cff] Improve parsing of invalid real numbers. + + * src/cff/cffparse.c (cff_parse_real): Always parse complete number, + even in case of overflow or underflow. + Also trace one more underflow. + +2012-10-20 Andreas Pehnack + + [sfnt] Load pure CFF fonts wrapped in SFNT container. + + Such fonts only have a `cmap' and a `CFF' table. + + * src/sfnt/ttload.c (tt_face_load_font_dir): Don't call + `check_table_dir' if font signature is `OTTO'. + +2012-10-20 Werner Lemberg + + [psaux] Fix some value overflows and improve tracing. + + * src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H. + (FT_COMPONENT): Define. + (PS_Conv_Strtol): Return FT_Long. + Handle bad data and overflow. + Emit some tracing messages in case of error. + (PS_Conv_ToInt): Return FT_Long. + (PS_Conv_ToFixed): Updated. + * src/psaux/psconv.h: Updated. + + * include/freetype/internal/fttrace.h: Add `psconv'. + +2012-10-20 Werner Lemberg + + [autofit] Fix `make multi CC=c++'. + + * src/autofit/aflatin.c, src/autofit/aflatin2.c: Include + `afglobal.h'. + * src/autofit/afloader.c: Fix order of header files. + * src/autofit/afmodule.c: Include `afglobal.h' and `aferrors.h'. + +2012-10-19 Werner Lemberg + + [cff] Fix more value errors and improve tracing. + + * src/cff/cffparse.c (cff_parse_integer): Emit tracing message in + case of error. + (cff_parse_real): Handle and trace overflow, underflow, and bad data + consistently. + (do_fixed): New helper function, handling and tracing overflow. + (cff_parse_fixed, cff_parse_fixed_scaled): Use `do_fixed'. + +2012-10-17 Werner Lemberg + + [psaux] Fix some value overflows. + + * src/psaux/psconv.c (PS_Conv_ToFixed): Implement it. + +2012-10-17 Bram Tassyns + + [cff] Fix value overflow. + + * src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it. + +2012-10-17 Werner Lemberg + + [truetype] Fix Savannah bug #37572. + + * src/truetype/ttinterp.c (Ins_ISECT): Use angle between vectors to + avoid grazing intersections. The previous threshold was too coarse, + incorrectly rejecting short but valid vectors. + +2012-09-30 Gilles Espinasse + + Remove useless `rm' detection. + + `rm -f' is directly used in the `configure' script created by + autoconf, thus no availability test is necessary. + + * builds/unix/configure.raw (RMF): Remove test. + * builds/unix/unix-def.in (DELETE): Updated. + +2012-09-29 Werner Lemberg + + [autofit] Minor optimization. + + * src/autofit/afglobals.c (af_face_globals_compute_script_coverage): + Add loop condition. + +2012-09-29 Werner Lemberg + + [autofit] Fix thinko. + + * src/autofit/aftypes.h (AF_SCRIPT): + s/AF_SCRIPT_NONE/AF_SCRIPT_DUMMY/. We already use `AF_SCRIPT_NONE' + as a bit mask. + + * src/autofit/afdummy.c: Updated. + +2012-09-18 Werner Lemberg + + [autofit] Implement `increase-x-height' property. + + * include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New + structure. + + * include/autofit/afmodule.c (af_property_get_face_globals): New + function, re-using code from `af_property_get'. + (af_property_set, af_property_get): Handle `increase-x-height'. + Updated. + +2012-09-18 Werner Lemberg + + [autofit] Implement Infinality's `increase glyph heights'. + + This is an improved version of a similar fix contained in the + so-called `Infinality patch', taken from + + http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.10-20120616_01-x86_64.tar.bz2 + + which addresses various enhancements of the auto-hinter. Without + properties to control a module's metadata it wasn't possible to + adapt the patches because everything was originally controlled by + environment variables which I consider not suitable in general. + + A patch to control `increase_x_height' follows. + + * src/autofit/afglobal.h (AF_PROP_INCREASE_X_HEIGHT_MIN, + AF_PROP_INCREASE_X_HEIGHT_MAX): New macros. + (AF_FaceGlobalsRec): Add `increase_x_height' member. + * src/autofit/afglobal.c (af_face_globals_new): Initialize it. + + * src/autofit/aflatin.c (af_latin_metrics_scale_dim), + * src/autofit/aflatin2.c (af_latin2_metrics_scale_dim): Implement + handling of `increase_x_height'. + +2012-09-18 Werner Lemberg + + [autofit] Add hierarchical property access to some structures. + + * src/autofit/afglobal.h: Include `afmodule.h'. + (AF_FaceGlobalsRec): Add `module' member. + (AF_FaceGlobals): Typedef moved to... + * src/autofit/aftypes.h: Here. + (AF_ScriptMetricsRec): Add `globals' member. + + * src/autofit/afglobal.c (af_face_globals_new, + af_face_globals_compute_script_coverage, + af_face_globals_get_metrics): Updated. + + * src/autofit/afloader.c (af_loader_reset), src/autofit/afmodule.c + (af_property_get): Updated. + +2012-09-17 Werner Lemberg + + [type1] Fix Savannah bug #37350. + + * src/type1/t1parse.c (T1_Get_Private_Dict) : Check for ASCII + storage only if we actually have at least four bytes. + +2012-09-15 Werner Lemberg + + [autofit] Implement `fallback-script' property. + + * src/autofit/afglobal.c: s/default_script/fallback_script/. + * src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/. + + * src/autofit/afmodule.c: s/default_script/fallback_script/. + (af_property_set, af_property_get): Implement `fallback-script'. + * src/autofit/afmodule.h: s/default_script/fallback_script/. + + * include/freetype/ftautoh.h: Document it. + +2012-09-15 Werner Lemberg + + [autofit] Correct previous Unicode 6.1.0 change. + + The auto-hinter's latin module only handles latin ligatures in the + `Alphabetical Presentation Forms' block. + + * src/autofit/aflatin.c (af_latin_uniranges): Fix it. + +2012-09-15 Werner Lemberg + + * src/autofit/afmodule.c: s/FT_Err_/AF_Err_/. + +2012-09-15 Werner Lemberg + + [autofit] Make default script a global property. + + * src/autofit/afmodule.h (AF_ModuleRec): Add `default_script' field. + + * src/autofit/afglobal.c (af_face_globals_compute_script_coverage, + af_face_globals_new), src/autofit/afloader.c (af_loader_reset), + src/autofit/afmodule.c (af_property_get) , + af_autofitter_init: + Handle default script. + + * src/autofit/afglobal.h: Updated. + +2012-09-15 Werner Lemberg + + Use `FT_Module' instead of `FT_Library' argument in property funcs. + + This internal change simplifies access to global module data. + + * include/freetype/internal/services/svprop.h + (FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly. + + * src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c + (af_property_set, af_property_get): Updated. + +2012-09-14 Werner Lemberg + + [autofit] Update to Unicode 6.1.0. + + * src/autofit/afcjk.c (af_cjk_uniranges), src/autofit/aflatin.c + (af_latin_uniranges): Add and fix ranges. + +2012-09-14 Werner Lemberg + + [autofit] Pass `AF_Module' instead of `AF_Loader'. + + We want to access the (not yet existing) module's global data later + on. + + * src/autofit/afloader.c: Include `afmodule.h'. + (af_loader_init, af_loader_reset, af_loader_done, + af_loader_load_glyph): Change accordingly. + * src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'. + Updated. + + * src/autofit/afmodule.h: Include `afloader.h'. + (AF_ModuleRec): Define here. + * src/autofit/afloader.h (AF_Module): Define here. + Updated. + +2012-09-14 Werner Lemberg + + [autofit] Fix `make multi'. + + * include/freetype/internal/fttrace.h: Add `afmodule'. + * src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H. + (FT_COMPONENT): Define. + +2012-09-14 Werner Lemberg + + * src/autofit/afmodule.c: s/FT_Autofitter/AF_Module/. + +2012-09-12 Werner Lemberg + + [autofit] Minor reorganization. + + * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT, + AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to... + * src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE, + AF_DIGIT): This and update code. + +2012-09-01 Werner Lemberg + + [autofit] Implement `glyph-to-script-map' property. + + * include/freetype/ftautoh.h: New public header file. + * include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro. + + * src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to... + * src/autofit/afglobal.h: This header file. + * src/autofit/afmodule.c: Include FT_AUTOHINTER_H. + (af_property_get): Handle `glyph-to-script-map'. + +2012-08-31 Werner Lemberg + + [autofit] Implement properties service framework. + + No properties are added yet. + + * src/autofit/afmodule.c: Include FT_SERVICE_PROPERTIES_H. + (af_property_set, af_property_get): New dummy functions. + (af_service_properties, af_services, af_get_interface): Provide + service setup. + (autofit_moduleclass): Add service interface. + + * src/autofit/afpic.c: Add necessary forward declarations. + (autofit_module_class_pic_init): Add code for service addition. + (autofit_module_pic_free): Add code for service removal. + * src/autofit/afpic.h (AF_SERVICES_GET, AF_SERVICE_PROPERTIES_GET): + New macros which provide necessary syntactical sugar for PIC + support. + +2012-08-30 Werner Lemberg + + Implement properties to control FreeType modules. + + * include/freetype/fterrdef.h (FT_Err_Missing_Property): New error + code. + * include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get): + New API. + + * include/freetype/internal/services/svprop.h: New file. + * include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New + macro. + + * src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H. + (ft_property_do, FT_Property_Set, FT_Property_Get): New functions. + +2012-08-29 Werner Lemberg + + [docmaker] Allow `-' in tags and identifiers. + + * src/tools/docmaker/content.py (re_identifier), + src/tools/docmaker/sources.py (re_markup_tag1, re_markup_tag2, + re_crossref): Add `-' in patterns. + +2012-08-27 Werner Lemberg + + [FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings. + + * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER), + include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER, + FT_DEFINE_MODULE), include/freetype/internal/ftserv.h + (FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2, + FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4, + FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6), + src/autofit/afpic.c (autofit_module_class_pic_init), + src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c + (ft_create_default_module_classes), src/cff/cffparse.c + (FT_Create_Class_cff_field_handlers), src/cff/cffpic.c + (cff_driver_class_pic_init), src/pshinter/pshpic.c + (pshinter_module_class_pic_init), src/psnames/pspic.c + (psnames_module_class_pic_init), src/raster/rastpic.c + (ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c + (sfnt_module_class_pic_init), src/sfnt/ttcmap.c + (FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c + (ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c + (tt_driver_class_pic_init): Initialize allocation variable. + +2012-08-27 Werner Lemberg + + [truetype] Fix compilation warning. + + * src/truetype/ttgload.c (IS_HINTED): Move macro to... + * src/truetype/ttobjs.h: This header file. + +2012-08-27 Werner Lemberg + + [autofit, cff, pshinter, psnames] More renamings for orthogonality. + + * src/autofit/afmodule.c, src/autofit/afpic.h: + s/AF_AUTOFITTER_/AF_/. + + * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffparse.c, + src/cff/cffpic.h: s/FT_CFF_/CFF_/. + + * src/pshinter/pshmod.c, src/pshinter/pshpic.h: + s/FT_PSHINTER_/PSHINTER_/. + + * src/psnames/psmodule.c, src/psnames/pspic.h: + s/FT_PSCMAPS/PSCMAPS_/. + +2012-08-27 Werner Lemberg + + [sfnt, truetype] More renamings for orthogonality. + + * src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c, + src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/, + s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/. + +2012-08-27 Werner Lemberg + + [autofit] Some macro and variable renamings for orthogonality. + + * include/freetype/internal/autohint.h, src/base/ftobjs.c, + src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h: + s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/. + +2012-08-26 Werner Lemberg + + Fix Savannah bug #37178. + + * src/base/ftobjs.c (FT_Open_Face): Initialize `error' with + `FT_Err_Missing_Module' before loop to indicate `no valid drivers'. + +2012-08-17 Werner Lemberg + + * src/base/ftsynth.c (FT_GlyphSlot_Oblique): Fix shear angle. + + The old value was far too large (more than 20°). The new one + corresponds to 12°, quite common in typography. + +2012-08-12 Alexei Podtelezhnikov + + [smooth] Fix Savannah bug #37017. + + * src/smooth/ftgrays.c (gray_render_cubic): Use a different set of + checks when detecting super curvy splines to be split. + +2012-08-05 Werner Lemberg + + [autofit] Improve recognition of flat segments. + + Problem reported by Brad Dunzer . + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): We have + a flat segment if the horizontal distance of best on-points is + larger than a given threshold. + +2012-08-05 Werner Lemberg + + [autofit] Variable renamings. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Replace + `glyph' with `outline'. + s/best_first/best_contour_first/. + s/best_last/best_contour_last/. + +2012-07-31 Werner Lemberg + + [type1] Fix Savannah bug #37000. + + * src/type1/t1load.c (parse_encoding): Fix order of checks. + +2012-07-17 Werner Lemberg + + [psaux] Fix Savannah bug #36833. + + * src/psaux/t1decode.c (t1operator_seac): `seac' is not a valid + operator if we want metrics only. + +2012-07-16 Werner Lemberg + + [type1] Fix Savannah bug #36832. + + * src/type1/t1load.c (parse_charstrings): Reject negative number of + glyphs. + +2012-07-13 Werner Lemberg + + [type1] Fix Savannah bug #36829. + + * src/type1/t1load.c (parse_encoding): Check cursor position after + call to T1_Skip_PS_Token. + +2012-07-12 Alexei Podtelezhnikov + + Revert the last commit 45337b07. + + * src/base/ftstroke.c (FT_Stroker_New): Revert the previous change. + +2012-07-11 Alexei Podtelezhnikov + + [ftstroke] Fix uninitialized return value. + + * src/base/ftstroke.c (FT_Stroker_New): Return FT_Err_Ok instead. + +2012-07-11 Werner Lemberg + + [smooth] Avoid memory leak in case of failure. + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use flags to + indicate what to clean up after finishing the function, with and + without errors. + +2012-07-09 Werner Lemberg + + Fix compilation with MSVC 5.0. + + Problem reported by Peter Breitenlohner and Akira Kakuto. + + * include/freetype/config/ftstdlib.h (ft_setjmp): Updated. + * src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast. + +2012-07-09 Werner Lemberg + + [autofit] Improve debugging messages; do some code cleanup. + + * src/autofit/aflatin.c (af_latin_align_linked_edge, + af_latin_hint_edges): Synchronize with formatting used in the + ttfautohint project. + +2012-07-07 Gilles Espinasse + + Fix strict-aliasing warning. + + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Avoid double cast. + +2012-07-07 Dave Thomas + + [ARM] Fix FT_MulFix_arm. + + * include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]: + Avoid ADDS instruction to clobber condition codes. + +2012-07-06 Werner Lemberg + + [autofit] Do some code cleanup. + + * src/autofit/afglobal.c (af_face_globals_new): Simplify. + + * src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf' + everywhere. + (FT_COMPONENT): New macro. + (af_glyph_hints_done): Simplify. + + * include/freetype/internal/fttrace.h: Updated. + +2012-07-05 Werner Lemberg + + [autofit] Improve output of debugging information. + + * src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more + data; report no data. + (af_glyph_hints_dump_edges): Report no data. + +2012-07-04 Werner Lemberg + + [autofit] Fix Savannah bug #36091. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues), + src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Change the + constraint for testing round vs. flat segment: Accept either a + small distance or a small angle. + +2012-07-04 Werner Lemberg + + [autofit] Beautify blue zone tracing. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues), + src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Implement it. + +2012-07-03 Werner Lemberg + + [autofit] Quantize stem widths. + + * src/autofit/afangles.c (af_sort_widths): Rename to... + (af_sort_and_quantize_widths): This. + Add code to avoid stem widths which are almost identical. + * src/autofit/aftypes.h, src/autofit/aflatin.c, src/autofit/afcjk.c: + Updated. + +2012-07-03 Werner Lemberg + + [autofit] Minor speed-up. + + * src/autofit/afangles (af_sort_pos, af_sort_widths): Don't swap + elements if they are equal. + +2012-06-30 Gilles Espinasse + + Fix `checking if gcc static flag -static works' test. + + On my linux build tree, I receive yes answer in in every package I + build except freetype for this test checking if gcc static flag + `-static' works + + On freetype, no is received, unless bzip2 and zlib are disabled using + + ./configure --without-bzip2 --without-zlib + + The reason is that bzip2 and zlib tests add `-lz' and `-lbz2' to + LDFLAGS and this broke static flag test. + + * builds/unix/configure.raw: Update CFLAGS and LDFLAGS only after + LT_INIT has run. + +2012-06-28 Infinality + + [truetype] Fix various artifacts. + + Verdana was broken in the original Infinality commit. Also + includes other minor fixes. + + * src/truetype/ttsubpix.h: Updated. Removed unused macros. + (RASTERIZER_35_Rules): Add Verdana. + (SKIP_NONPIXEL_Y_MOVES_Rules): Add Tahoma `s'. + (MIRP_CVT_ZERO_Rules): Remove Verdana. + (ALWAYS_SKIP_DELTAP_Rules): Add Russian char 0x438. + (COMPATIBLE_WIDTHS_Rules): Rearrange some rules. + (X_SCALING_Rules): Adjust Verdana `a' at 12 and 13 ppem. + + * src/truetype/ttsubpix.c: Updated. + (sph_set_tweaks): Re-execute fpgm always. + +2012-06-28 Gilles Espinasse + + Fix CFLAGS and LDFLAGS share configure test. + + * builds/unix/configure.raw: Fix typo. + +2012-06-28 Werner Lemberg + + [truetype] Set the `subpixel_positioned' flag unconditionally. + + This is how the code currently behaves. + + * src/truetype/ttgload.c (tt_loader_init): Do it. + +2012-06-27 Werner Lemberg + + Fix conditional compilation. + + * src/base/basepic.c: Use FT_CONFIG_OPTION_MAC_FONTS. + +2012-06-27 Werner Lemberg + + Fix conditional compilation. + + * include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't + enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function + elsewhere also. + + * src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK. + + * src/truetype/ttgload.c (tt_loader_init): Fix compiler warning. + + * src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning. + + * src/truetype/ttinterp.h: Use + TT_CONFIG_OPTION_BYTECODE_INTERPRETER. + +2012-06-26 Infinality + + [truetype] Remove unused rounding functionality. + + The subpixel hinting patch contained the concept of an adjustable + number of gridlines per pixel. This is no longer used due to x + being completely ignored instead. This will return some of the + code to its existing state prior to the original Infinality + commit. + + * include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID, + FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): Removed. + + * src/truetype/ttinterp.c: Updated. + (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid, + Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45, + SetSuperRound): Remove parameter to handle the number of grid lines per + pixel. + (SET_SuperRound, ROUND_None, CUR_Func_round): Updated. + (DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated. + (DO_ROUND, DO_NROUND): Updated. + (Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP, + Ins_MDRP, Ins_MIRP): Perform Round_None instead of calling a modified + rounding function. Remove gridlines_per_pixel. Create a local + variable to store control value cutin. Simplify the conditional for + ignore_x_mode. Adjust rounding calls to pass only two values. + +2012-06-25 Werner Lemberg + + [cff] Fix Savannah bug #36705. + + Handle numbers like 2.001 correctly. + + * src/cff/cffparse.c (cff_parse_real): Avoid negative values for + `shift'. + +2012-06-18 Infinality + + [truetype] Support subpixel hinting. + + This is the large, famous `Infinality' patch to support ClearType + bytecode which has been available from + http://www.infinality.net/blog/ for some time, and which has been + refined over the last years. While still experimental, it is now + mature enough to be included directly into FreeType. + + Most of the code is based on the ClearType whitepaper written by + Greg Hitchcock + + http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx + + which gives a detailed overview of the necessary changes to the + Microsoft rasterizer so that older fonts are supported. However, a + lot of details are still missing, and this patches provides a + framework to easily handle rendering issues down to the glyph level + of certain fonts. + + Note that ClearType support is not completely implemented! In + particular, full support for the options `compatible_widths', + `symmetrical_smoothing, and `bgr' (via the GETINFO bytecode + instruction) is missing. + + * src/truetype/ttsubpix.c: New file, providing code to handle + `tweaks', this is, rules for certain glyphs in certain fonts + (including wildcards) which need a special treatment. + + * src/truetype/ttsubpix.h: New file, holding the tweaking rules. + + * include/freetype/config/ftoption.h, src/devel/ftoption.h + (TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro. + + * include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID, + FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros. + + * src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include + `ttsubpix.c'. + + * src/truetype/ttgload.c: Include `ttsubpix.h'. + [All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.] + + (tt_get_metrics): Set tweak flags. + (TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary. + (TT_Process_Simple_Glyph): Compensate emboldening if necessary. + (compute_glyph_metrics): Handle `compatible widths' option. + (tt_loader_init): Handle ClearType GETINFO information bits. + + * src/truetype/rules.mk (TT_DRC_SRC): Updated. + + * src/truetype/ttinterp.c: Include `ttsubpix.h'. + [Where necessary, changes below are guarded by + TT_CONFIG_OPTION_SUBPIXEL_HINTING.] + + (Direct_Move, Direct_Move_X): Extended. + (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid, + Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45, + SetSuperRound): Add parameter to handle the number of grid lines per + pixel. + (SET_SuperRound, ROUND_None, CUR_Func_round): Updated. + (DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated. + (DO_ROUND, DO_NROUND): Updated. + (DO_RS): Take care of `Typeman' bytecode patterns. + (Ins_FDEF): Add some debugging code. Commented out. + (Ins_ENDF): Restore state. + (Ins_CALL, Ins_LOOPCALL): Handle inline delta functions. + (Ins_MD): Handle `Vacuform' rounds. + (Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP, + Ins_MDRP, Ins_MIRP): Handle tweaks. + (Ins_ALIGNRP): Add tweak guard. + (Ins_IUP, Ins_DELTAP): Handle tweaks. + (Ins_GETINFO): Handle new ClearType bits. + (TT_RunIns): Handle tweaks. + + * src/truetype/ttinterp.h: Updated. + (SPH_TweakRule, SPH_ScaleRule): New structures for tweaks. + (TT_ExecContextRec): Add members for subpixel hinting support. + + * src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member. + 2012-06-15 Werner Lemberg * Version 2.4.10 released. @@ -181,7 +1311,7 @@ 2012-03-14 Werner Lemberg - Fix Savannah bug #35833. + [type1] Fix Savannah bug #35833. Based on the patch given in the bug report. @@ -1190,7 +2320,7 @@ 2011-09-27 Simon Bünzli - Fix Savannah bug #34189. + [type1] Fix Savannah bug #34189. * src/type1/t1load.c (T1_Open_Face): Initialize `face->len_buildchar'. @@ -1271,7 +2401,7 @@ 2011-09-07 Werner Lemberg - Fix Savannah bug #33816. + [cff] Fix Savannah bug #33816. * src/cff/cfftypes.h (CFF_FontRecDictRec): New member `has_font_matrix'. @@ -1333,7 +2463,7 @@ 2011-08-09 Werner Lemberg - Fix Savannah bug #33975. + [cff] Fix Savannah bug #33975. * src/cff/cffparse.c (cff_parse_font_matrix): Fix typo. @@ -1465,7 +2595,7 @@ 2011-07-02 Just Fill Bugs - Fix Savannah bug #33246. + [truetype] Fix Savannah bug #33246. * src/truetype/ttobjs.c (tt_check_single_notdef): New function. (tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE. @@ -1579,7 +2709,7 @@ 2011-06-29 Werner Lemberg - Fix Savannah bug #33663. + [bdf] Fix Savannah bug #33663. * src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for ENCODING correctly. @@ -2133,7 +3263,7 @@ 2011-04-13 Werner Lemberg - Fix Savannah bug #33047. + [psaux] Fix Savannah bug #33047. Patch submitted by anonymous reporter. @@ -2226,7 +3356,7 @@ 2011-03-07 Bram Tassyns - Fix Savannah bug #27988. + [cff] Fix Savannah bug #27988. * src/cff/cffobjs.c (remove_style): New function. (cff_face_init): Use it to strip off the style part of the family @@ -3058,14 +4188,14 @@ 2010-10-12 Werner Lemberg - Fix Savannah bug #31310. + [truetype] Fix Savannah bug #31310. * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against invalid `runcnt' values. 2010-10-08 Chris Liddell - Fix Savannah bug #31275. + [sfnt] Fix Savannah bug #31275. * src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H. @@ -3124,7 +4254,7 @@ 2010-10-02 Werner Lemberg - Fix Savannah bug #31088 (sort of). + [sfnt] Fix Savannah bug #31088 (sort of). * src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64 function entries. @@ -3140,7 +4270,7 @@ 2010-10-01 suzuki toshiya - Fix Savannah bug #31040. + [truetype] Fix Savannah bug #31040. * src/truetype/ttinterp.c (free_buffer_in_size): Remove. (TT_RunIns): Updated. @@ -3374,7 +4504,7 @@ 2010-08-17 Teijo Kinnunen - Fix Savannah bug #30788. + [cache] Fix Savannah bug #30788. * src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for NULL too. @@ -3451,7 +4581,7 @@ 2010-08-05 Werner Lemberg - Fix Savannah bug #30657. + [truetype] Fix Savannah bug #30657. * src/truetype/ttinterp.c (BOUNDSL): New macro. Change `BOUNDS' to `BOUNDSL' where appropriate. @@ -3461,7 +4591,7 @@ 2010-08-05 Werner Lemberg - Fix Savannah bug #30656. + [type42] Fix Savannah bug #30656. * src/type42/t42parse.c (t42_parse_sfnts): Protect against negative string_size. @@ -3660,7 +4790,7 @@ 2010-07-08 Werner Lemberg - Fix Savannah bug #30361. + [truetype] Fix Savannah bug #30361. * src/truetype/ttinterp.c (Ins_IUP): Fix bounds check. @@ -3781,7 +4911,7 @@ 2010-06-30 Werner Lemberg - Fix Savannah bug #30263. + [smooth] Fix Savannah bug #30263. * src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned int' to avoid integer overflow. @@ -3872,7 +5002,7 @@ 2010-06-26 Werner Lemberg - Fix Savannah bug #30262. + [sfnt] Fix Savannah bug #30262. * src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth' arbitrarily to 100 to avoid stack exhaustion. @@ -3889,14 +5019,14 @@ 2010-06-25 Werner Lemberg - Fix Savannah bug #30261. + [pfr] Fix Savannah bug #30261. * src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain neither outline nor bitmap glyphs. 2010-06-25 Werner Lemberg - Fix Savannah bug #30254. + [cff] Fix Savannah bug #30254. * src/cff/cffload.c (cff_index_get_pointers): Do sanity check for first offset also. @@ -3911,7 +5041,7 @@ 2010-06-24 Werner Lemberg - Fix Savannah bug #30247. + [pcf] Fix Savannah bug #30247. * src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with zero metrics. @@ -3928,14 +5058,14 @@ 2010-06-24 Werner Lemberg - Fix Savannah bug #30236. + [sfnt] Fix Savannah bug #30236. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer to `cmap_table'. 2010-06-24 Werner Lemberg - Fix Savannah bug #30235. + [pfr] Fix Savannah bug #30235. * src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against invalid indices if there aren't any coordinates for indexing. @@ -3951,7 +5081,7 @@ 2010-06-23 Werner Lemberg - Fix Savannah bug #30220. + [bdf] Fix Savannah bug #30220. * include/freetype/fterrdef.h (BDF_Err_Missing_Fontboundingbox_Field): New error code. @@ -3963,21 +5093,21 @@ 2010-06-21 Werner Lemberg - Fix Savannah bug #30168. + [pfr] Fix Savannah bug #30168. * src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of subglyphs to avoid endless recursion. 2010-06-20 Werner Lemberg - Fix Savannah bug #30145. + [psaux] Fix Savannah bug #30145. * src/psaux/psobjs.c (t1_builder_add_contour): Protect against `outline == NULL' which might happen in invalid fonts. 2010-06-19 Werner Lemberg - Fix Savannah bug #30135. + [bdf] Fix Savannah bug #30135. * src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static string `empty'. @@ -3985,14 +5115,14 @@ 2010-06-15 Werner Lemberg - Fix Savannah bug #30108. + [autofit] Fix Savannah bug #30108. * src/autofit/afglobal.c (af_face_globals_compute_script_coverage): Properly mask AF_DIGIT bit in comparison. 2010-06-11 Werner Lemberg - Fix Savannah bug #30106. + [pshinter] Fix Savannah bug #30106. Point numbers for FreeType's implementation of hinting masks are collected before the final number of points of a glyph has been @@ -4021,14 +5151,14 @@ 2010-06-09 Werner Lemberg - Fix Savannah bug #30082. + [cff] Fix Savannah bug #30082. * src/cff/cffgload.c (cff_decoder_parse_charstrings) : Protect against stack underflow. 2010-06-08 Werner Lemberg - Fix Savannah bug #30053. + [cff] Fix Savannah bug #30053. * src/cff/cffparse.c (cff_parse_real): Handle border case where `fraction_length' has value 10. @@ -4074,7 +5204,7 @@ 2010-05-21 Bram Tassyns - Fix Savannah bug #27987. + [cff] Fix Savannah bug #27987. * src/cff/cffobjs.c (remove_subset_prefix): New function. (cff_face_init): Use it to adjust `cffface->family_name'. @@ -4110,7 +5240,7 @@ 2010-05-10 Ken Sharp - Fix Savannah bug #29846. + [psaux] Fix Savannah bug #29846. Previously we discovered fonts which used `setcurrentpoint' to set the initial point of a contour to 0,0. This caused FreeType to @@ -4129,9 +5259,9 @@ and real proper usage of the operator to work the same way as Adobe interpreters apparently do. - (t1_decoder_parse_charstrings): Make `setcurrentpoint' use the top - two elements of the stack to establish unconditionally the current x - and y coordinates. + * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make + `setcurrentpoint' use the top two elements of the stack to establish + unconditionally the current x and y coordinates. Make the `flex' subroutine handling (OtherSubr 0) put the current x,y coordinates onto the stack, instead of two dummy uninitialised @@ -4139,7 +5269,7 @@ 2010-04-14 Ken Sharp - Fix Savannah bug #29444. + [psaux] Fix Savannah bug #29444. * src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid) `lineto' immediately after `hsbw', in accordance with Acrobat, GS, @@ -4147,21 +5277,21 @@ 2010-04-14 Michał Cichoń - Fix Savannah bug #27999. + [psaux] Fix Savannah bug #27999. * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove selected entry, not all. 2010-04-06 Jonathan Kew - Add overflow check to `fvar' table. + [truetype] Add overflow check to `fvar' table. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance count. 2010-04-05 Ken Sharp - Fix Savannah bug #29335. + [raster] Fix Savannah bug #29335. * src/raster/ftraster.c (Line_Up): Use slow multiplication to prevent overflow. This shouldn't have any serious impact on speed, @@ -4184,7 +5314,7 @@ 2010-04-01 John Tytgat - Fix Savannah bug #29404. + [truetype] Fix Savannah bug #29404. * src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1 of `head' table of TrueType fonts). @@ -4203,20 +5333,20 @@ 2010-03-11 Chris Liddell - Fix Savannah bug #27442. + [raster] Fix Savannah bug #27442. * src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'. 2010-03-09 Werner Lemberg - Remove unused variable. + [cff] Remove unused variable. Reported by Graham. * src/cff/cffparse.c (cff_parse_real): Remove `rest'. 2010-03-02 John Tytgat - Improve CFF string (especially glyphname) lookup performance. + [cff] Improve CFF string (especially glyphname) lookup performance. We do this by avoiding memory allocation and file I/O. This is Savannah patch #7104. @@ -4283,7 +5413,7 @@ 2010-02-18 Chris Liddell - Fix Savannah bug #28905. + [truetype] Fix Savannah bug #28905. Initialize phantom points before calling the incremental interface to update glyph metrics. diff --git a/freetype/Jamfile b/freetype/Jamfile index 972a0e462..b3d48279b 100644 --- a/freetype/Jamfile +++ b/freetype/Jamfile @@ -195,7 +195,7 @@ rule RefDoc actions RefDoc { - python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.4.10 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h + python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.4.11 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h } RefDoc refdoc ; diff --git a/freetype/README b/freetype/README index 0cbca455e..068e623a1 100644 --- a/freetype/README +++ b/freetype/README @@ -1,4 +1,4 @@ - FreeType 2.4.10 + FreeType 2.4.11 =============== Please read the docs/CHANGES file, it contains IMPORTANT @@ -19,9 +19,9 @@ and download one of the following files. - freetype-doc-2.4.10.tar.bz2 - freetype-doc-2.4.10.tar.gz - ftdoc2410.zip + freetype-doc-2.4.11.tar.bz2 + freetype-doc-2.4.11.tar.gz + ftdoc2411.zip Bugs @@ -44,7 +44,7 @@ ---------------------------------------------------------------------- -Copyright 2006-2011 by +Copyright 2006-2012 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/freetype/builds/toplevel.mk b/freetype/builds/toplevel.mk index 18bcef2c4..03b6e28d5 100644 --- a/freetype/builds/toplevel.mk +++ b/freetype/builds/toplevel.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2000, 2001, 2003, 2006, 2008, 2009, 2010 by +# Copyright 1996-2001, 2003, 2006, 2008-2010, 2012 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -201,6 +201,7 @@ dist: currdir=`pwd` ; \ for f in `find . -wholename '*/.git' -prune \ -o -name .gitignore \ + -o -name .mailmap \ -o -type d \ -o -print` ; do \ ln -s $$currdir/$$f tmp/$$f ; \ diff --git a/freetype/builds/unix/aclocal.m4 b/freetype/builds/unix/aclocal.m4 index de1d2fc21..0940200fd 100644 --- a/freetype/builds/unix/aclocal.m4 +++ b/freetype/builds/unix/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.12.1 -*- Autoconf -*- +# generated automatically by aclocal 1.12.5 -*- Autoconf -*- # Copyright (C) 1996-2012 Free Software Foundation, Inc. diff --git a/freetype/builds/unix/config.guess b/freetype/builds/unix/config.guess index d622a44e5..872b96a16 100644 --- a/freetype/builds/unix/config.guess +++ b/freetype/builds/unix/config.guess @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. -timestamp='2012-02-10' +timestamp='2012-09-25' # 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 @@ -200,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -302,7 +306,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -801,6 +805,9 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; @@ -1201,6 +1208,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1256,7 +1266,7 @@ EOF NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1330,9 +1340,6 @@ EOF exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c <. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.4.10' -PACKAGE_STRING='FreeType 2.4.10' +PACKAGE_VERSION='2.4.11' +PACKAGE_STRING='FreeType 2.4.11' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -674,7 +674,6 @@ INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM RMDIR -RMF EXEEXT_BUILD CC_BUILD CPP @@ -1303,7 +1302,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.10 to adapt to many kinds of systems. +\`configure' configures FreeType 2.4.11 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1368,7 +1367,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.4.10:";; + short | recursive ) echo "Configuration of FreeType 2.4.11:";; esac cat <<\_ACEOF @@ -1483,7 +1482,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.4.10 +FreeType configure 2.4.11 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2081,7 +2080,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.10, which was +It was created by FreeType $as_me 2.4.11, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2437,7 +2436,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update docs/VERSION.DLL! -version_info='15:0:9' +version_info='16:0:10' ft_version=`echo $version_info | tr : .` @@ -3636,46 +3635,8 @@ fi - # auxiliary programs -# Extract the first word of "rm", so it can be a program name with args. -set dummy rm; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RMF+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RMF"; then - ac_cv_prog_RMF="$RMF" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RMF="rm -f" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RMF=$ac_cv_prog_RMF -if test -n "$RMF"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RMF" >&5 -$as_echo "$RMF" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "rmdir", so it can be a program name with args. set dummy rmdir; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -4256,8 +4217,14 @@ _ACEOF $as_echo_n "checking whether 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 + +ac_clean_files= +for f in ft2build.h ftoption.h ftstdlib.h; do + if test ! -f $f; then + ac_clean_files="$ac_clean_files $f" + touch $f + fi +done cat > conftest.c <<\_ACEOF #include @@ -4276,7 +4243,7 @@ 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 +rm -f conftest.* $ac_clean_files if test x != "x${ac_cpp_ft_sizeof_int}" \ -a x != x"${ac_cpp_ft_sizeof_long}"; then @@ -4724,8 +4691,6 @@ fi fi if test x$with_zlib != xno && test -n "$LIBZ"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" - LDFLAGS="$LDFLAGS $LIBZ" SYSTEM_ZLIB=yes fi @@ -4786,8 +4751,7 @@ fi fi if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" - LDFLAGS="$LDFLAGS $LIBBZ2" + SYSTEM_LIBBZ2=yes fi # Some options handling SDKs/archs in CFLAGS should be copied @@ -4818,8 +4782,8 @@ $as_echo "no, copy to LDFLAGS" >&6; } shift 1 ;; -m32|-m64|-march=*|-mcpu=*) # options taking no argument - { $as_echo "$as_me:${as_lineno-$LINENO}: result: whether CFLAGS and LDFLAGS share ${c}" >&5 -$as_echo "whether CFLAGS and LDFLAGS share ${c}" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CFLAGS and LDFLAGS share ${c}" >&5 +$as_echo_n "checking whether CFLAGS and LDFLAGS share ${c}... " >&6; } if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -5376,9 +5340,6 @@ esac - - - case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 @@ -12827,6 +12788,20 @@ CC="$lt_save_CC" +# changing LDFLAGS value should only be done after +# lt_cv_prog_compiler_static_works test +if test x$SYSTEM_ZLIB = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" + LDFLAGS="$LDFLAGS $LIBZ" +fi + +if test x$SYSTEM_LIBBZ2 = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" + LDFLAGS="$LDFLAGS $LIBBZ2" +fi + + + # configuration file -- stay in 8.3 limit # @@ -13352,7 +13327,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.10, which was +This file was extended by FreeType $as_me 2.4.11, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13418,7 +13393,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.10 +FreeType config.status 2.4.11 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/freetype/builds/unix/configure.ac b/freetype/builds/unix/configure.ac index 04cfab3c3..7189d4e81 100644 --- a/freetype/builds/unix/configure.ac +++ b/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.10], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.4.11], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='15:0:9' +version_info='16:0:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -66,10 +66,8 @@ AC_SUBST(CC_BUILD) AC_SUBST(EXEEXT_BUILD) - # auxiliary programs -AC_CHECK_PROG([RMF], [rm], [rm -f]) AC_CHECK_PROG([RMDIR], [rmdir], [rmdir]) @@ -105,8 +103,14 @@ AC_CHECK_SIZEOF([long]) AC_MSG_CHECKING([whether 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 + +ac_clean_files= +for f in ft2build.h ftoption.h ftstdlib.h; do + if test ! -f $f; then + ac_clean_files="$ac_clean_files $f" + touch $f + fi +done cat > conftest.c <<\_ACEOF #include @@ -125,7 +129,7 @@ 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 +rm -f conftest.* $ac_clean_files if test x != "x${ac_cpp_ft_sizeof_int}" \ -a x != x"${ac_cpp_ft_sizeof_long}"; then @@ -253,8 +257,6 @@ if test x$with_zlib != xno && test -z "$LIBZ"; then AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) fi if test x$with_zlib != xno && test -n "$LIBZ"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" - LDFLAGS="$LDFLAGS $LIBZ" SYSTEM_ZLIB=yes fi @@ -268,8 +270,7 @@ if test x$with_bzip2 != xno && test -z "$LIBBZ2"; then AC_CHECK_LIB([bz2], [BZ2_bzDecompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) fi if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" - LDFLAGS="$LDFLAGS $LIBBZ2" + SYSTEM_LIBBZ2=yes fi # Some options handling SDKs/archs in CFLAGS should be copied @@ -297,7 +298,7 @@ do shift 1 ;; -m32|-m64|-march=*|-mcpu=*) # options taking no argument - AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}]) + AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c}]) if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null then AC_MSG_RESULT([yes]) @@ -688,18 +689,29 @@ esac AC_SUBST([ftmac_c]) AC_SUBST([LIBZ]) AC_SUBST([LIBBZ2]) -AC_SUBST([CFLAGS]) -AC_SUBST([LDFLAGS]) AC_SUBST([FT2_EXTRA_LIBS]) AC_SUBST([SYSTEM_ZLIB]) - LT_INIT(win32-dll) AC_SUBST([hardcode_libdir_flag_spec]) AC_SUBST([wl]) AC_SUBST([build_libtool_libs]) +# changing LDFLAGS value should only be done after +# lt_cv_prog_compiler_static_works test +if test x$SYSTEM_ZLIB = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" + LDFLAGS="$LDFLAGS $LIBZ" +fi + +if test x$SYSTEM_LIBBZ2 = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" + LDFLAGS="$LDFLAGS $LIBBZ2" +fi + +AC_SUBST([CFLAGS]) +AC_SUBST([LDFLAGS]) # configuration file -- stay in 8.3 limit # diff --git a/freetype/builds/unix/configure.raw b/freetype/builds/unix/configure.raw index 666c243b9..bf26061f0 100644 --- a/freetype/builds/unix/configure.raw +++ b/freetype/builds/unix/configure.raw @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='15:0:9' +version_info='16:0:10' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -66,10 +66,8 @@ AC_SUBST(CC_BUILD) AC_SUBST(EXEEXT_BUILD) - # auxiliary programs -AC_CHECK_PROG([RMF], [rm], [rm -f]) AC_CHECK_PROG([RMDIR], [rmdir], [rmdir]) @@ -105,8 +103,14 @@ AC_CHECK_SIZEOF([long]) AC_MSG_CHECKING([whether 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 + +ac_clean_files= +for f in ft2build.h ftoption.h ftstdlib.h; do + if test ! -f $f; then + ac_clean_files="$ac_clean_files $f" + touch $f + fi +done cat > conftest.c <<\_ACEOF #include @@ -125,7 +129,7 @@ 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 +rm -f conftest.* $ac_clean_files if test x != "x${ac_cpp_ft_sizeof_int}" \ -a x != x"${ac_cpp_ft_sizeof_long}"; then @@ -253,8 +257,6 @@ if test x$with_zlib != xno && test -z "$LIBZ"; then AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])]) fi if test x$with_zlib != xno && test -n "$LIBZ"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" - LDFLAGS="$LDFLAGS $LIBZ" SYSTEM_ZLIB=yes fi @@ -268,8 +270,7 @@ if test x$with_bzip2 != xno && test -z "$LIBBZ2"; then AC_CHECK_LIB([bz2], [BZ2_bzDecompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])]) fi if test x$with_bzip2 != xno && test -n "$LIBBZ2"; then - CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" - LDFLAGS="$LDFLAGS $LIBBZ2" + SYSTEM_LIBBZ2=yes fi # Some options handling SDKs/archs in CFLAGS should be copied @@ -297,7 +298,7 @@ do shift 1 ;; -m32|-m64|-march=*|-mcpu=*) # options taking no argument - AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}]) + AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c}]) if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null then AC_MSG_RESULT([yes]) @@ -688,18 +689,29 @@ esac AC_SUBST([ftmac_c]) AC_SUBST([LIBZ]) AC_SUBST([LIBBZ2]) -AC_SUBST([CFLAGS]) -AC_SUBST([LDFLAGS]) AC_SUBST([FT2_EXTRA_LIBS]) AC_SUBST([SYSTEM_ZLIB]) - LT_INIT(win32-dll) AC_SUBST([hardcode_libdir_flag_spec]) AC_SUBST([wl]) AC_SUBST([build_libtool_libs]) +# changing LDFLAGS value should only be done after +# lt_cv_prog_compiler_static_works test +if test x$SYSTEM_ZLIB = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_SYSTEM_ZLIB" + LDFLAGS="$LDFLAGS $LIBZ" +fi + +if test x$SYSTEM_LIBBZ2 = xyes; then + CFLAGS="$CFLAGS -DFT_CONFIG_OPTION_USE_BZIP2" + LDFLAGS="$LDFLAGS $LIBBZ2" +fi + +AC_SUBST([CFLAGS]) +AC_SUBST([LDFLAGS]) # configuration file -- stay in 8.3 limit # diff --git a/freetype/builds/unix/unix-def.in b/freetype/builds/unix/unix-def.in index e0a7a3a61..d3ebc8b26 100644 --- a/freetype/builds/unix/unix-def.in +++ b/freetype/builds/unix/unix-def.in @@ -15,7 +15,7 @@ TOP_DIR := $(shell cd $(TOP_DIR); pwd) -DELETE := @RMF@ +DELETE := rm -f DELDIR := @RMDIR@ CAT := cat SEP := / diff --git a/freetype/builds/win32/vc2005/freetype.vcproj b/freetype/builds/win32/vc2005/freetype.vcproj index 5ab0f3d37..71a8b24f0 100644 --- a/freetype/builds/win32/vc2005/freetype.vcproj +++ b/freetype/builds/win32/vc2005/freetype.vcproj @@ -16,7 +16,7 @@ - + @@ -33,7 +33,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -101,7 +101,7 @@ - + diff --git a/freetype/builds/win32/vc2005/index.html b/freetype/builds/win32/vc2005/index.html index 1e656e230..a380079d9 100644 --- a/freetype/builds/win32/vc2005/index.html +++ b/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.10 sources:

+compiles the following libraries from the FreeType 2.4.11 sources:

    -    freetype2410.lib     - release build; single threaded
    -    freetype2410_D.lib   - debug build;   single threaded
    -    freetype2410MT.lib   - release build; multi-threaded
    -    freetype2410MT_D.lib - debug build;   multi-threaded
    + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/win32/vc2008/freetype.vcproj b/freetype/builds/win32/vc2008/freetype.vcproj index f3e8e1764..ba755306d 100644 --- a/freetype/builds/win32/vc2008/freetype.vcproj +++ b/freetype/builds/win32/vc2008/freetype.vcproj @@ -70,7 +70,7 @@ /> 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.10 sources:

+compiles the following libraries from the FreeType 2.4.11 sources:

    -    freetype2410.lib     - release build; single threaded
    -    freetype2410_D.lib   - debug build;   single threaded
    -    freetype2410MT.lib   - release build; multi-threaded
    -    freetype2410MT_D.lib - debug build;   multi-threaded
    + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/win32/vc2010/freetype.vcxproj b/freetype/builds/win32/vc2010/freetype.vcxproj index 9231a13b7..6623003e7 100644 --- a/freetype/builds/win32/vc2010/freetype.vcxproj +++ b/freetype/builds/win32/vc2010/freetype.vcxproj @@ -95,12 +95,12 @@ AllRules.ruleset - freetype2410_D - freetype2410MT_D - freetype2410ST_D - freetype2410 - freetype2410MT - freetype2410ST + freetype2411_D + freetype2411MT_D + freetype2411ST_D + freetype2411 + freetype2411MT + freetype2411ST diff --git a/freetype/builds/win32/vc2010/index.html b/freetype/builds/win32/vc2010/index.html index cde95d1a9..9c4dd0bbc 100644 --- a/freetype/builds/win32/vc2010/index.html +++ b/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.10 sources:

+compiles the following libraries from the FreeType 2.4.11 sources:

    -    freetype2410.lib     - release build; single threaded
    -    freetype2410_D.lib   - debug build;   single threaded
    -    freetype2410MT.lib   - release build; multi-threaded
    -    freetype2410MT_D.lib - debug build;   multi-threaded
    + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/win32/visualc/freetype.dsp b/freetype/builds/win32/visualc/freetype.dsp index ecc54c43a..b8e05ae09 100644 --- a/freetype/builds/win32/visualc/freetype.dsp +++ b/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\freetype2410.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411.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\freetype2410_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411_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\freetype2410_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT_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\freetype2410.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2411.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT.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\freetype2410.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2410ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype2411ST.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\freetype2410_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411ST_D.lib" !ENDIF diff --git a/freetype/builds/win32/visualc/freetype.vcproj b/freetype/builds/win32/visualc/freetype.vcproj index 0e1862afe..cd5e73535 100644 --- a/freetype/builds/win32/visualc/freetype.vcproj +++ b/freetype/builds/win32/visualc/freetype.vcproj @@ -69,7 +69,7 @@ /> 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.10 sources:

+compiles the following libraries from the FreeType 2.4.11 sources:

    -    freetype2410.lib     - release build; single threaded
    -    freetype2410_D.lib   - debug build;   single threaded
    -    freetype2410MT.lib   - release build; multi-threaded
    -    freetype2410MT_D.lib - debug build;   multi-threaded
    + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/win32/visualce/freetype.dsp b/freetype/builds/win32/visualce/freetype.dsp index ecc54c43a..b8e05ae09 100644 --- a/freetype/builds/win32/visualce/freetype.dsp +++ b/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\freetype2410.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411.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\freetype2410_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411_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\freetype2410_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT_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\freetype2410.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype2411.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411MT.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\freetype2410.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype2410ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype2411ST.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\freetype2410_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2410ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype2411_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype2411ST_D.lib" !ENDIF diff --git a/freetype/builds/win32/visualce/freetype.vcproj b/freetype/builds/win32/visualce/freetype.vcproj index 1b68de720..3210d77f5 100644 --- a/freetype/builds/win32/visualce/freetype.vcproj +++ b/freetype/builds/win32/visualce/freetype.vcproj @@ -87,7 +87,7 @@ /> PPC/SP WM6 (Windows Mobile 6) -It compiles the following libraries from the FreeType 2.4.10 sources:

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

    -    freetype2410.lib     - release build; single threaded
    -    freetype2410_D.lib   - debug build;   single threaded
    -    freetype2410MT.lib   - release build; multi-threaded
    -    freetype2410MT_D.lib - debug build;   multi-threaded
    + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/wince/vc2005-ce/freetype.vcproj b/freetype/builds/wince/vc2005-ce/freetype.vcproj index 0cc1db5f8..381cf9199 100644 --- a/freetype/builds/wince/vc2005-ce/freetype.vcproj +++ b/freetype/builds/wince/vc2005-ce/freetype.vcproj @@ -21,7 +21,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -61,7 +61,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -101,7 +101,7 @@ - + @@ -121,7 +121,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -201,7 +201,7 @@ - + @@ -221,7 +221,7 @@ - + @@ -241,7 +241,7 @@ - + @@ -261,7 +261,7 @@ - + @@ -281,7 +281,7 @@ - + @@ -301,7 +301,7 @@ - + @@ -321,7 +321,7 @@ - + @@ -341,7 +341,7 @@ - + @@ -361,7 +361,7 @@ - + @@ -381,7 +381,7 @@ - + @@ -401,7 +401,7 @@ - + @@ -421,7 +421,7 @@ - + @@ -441,7 +441,7 @@ - + @@ -461,7 +461,7 @@ - + @@ -481,7 +481,7 @@ - + @@ -501,7 +501,7 @@ - + @@ -521,7 +521,7 @@ - + @@ -541,7 +541,7 @@ - + @@ -561,7 +561,7 @@ - + @@ -581,7 +581,7 @@ - + @@ -601,7 +601,7 @@ - + @@ -621,7 +621,7 @@ - + @@ -641,7 +641,7 @@ - + @@ -661,7 +661,7 @@ - + @@ -681,7 +681,7 @@ - + @@ -701,7 +701,7 @@ - + @@ -721,7 +721,7 @@ - + @@ -741,7 +741,7 @@ - + @@ -758,7 +758,7 @@ - + diff --git a/freetype/builds/wince/vc2005-ce/index.html b/freetype/builds/wince/vc2005-ce/index.html index a35f9b0bb..ff1e345f8 100644 --- a/freetype/builds/wince/vc2005-ce/index.html +++ b/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.10 sources:

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

      -    freetype2410.lib     - release build; single threaded
      -    freetype2410_D.lib   - debug build;   single threaded
      -    freetype2410MT.lib   - release build; multi-threaded
      -    freetype2410MT_D.lib - debug build;   multi-threaded
      + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/builds/wince/vc2008-ce/freetype.vcproj b/freetype/builds/wince/vc2008-ce/freetype.vcproj index c42dc9967..536e4457d 100644 --- a/freetype/builds/wince/vc2008-ce/freetype.vcproj +++ b/freetype/builds/wince/vc2008-ce/freetype.vcproj @@ -88,7 +88,7 @@ /> PPC/SP WM6 (Windows Mobile 6) -It compiles the following libraries from the FreeType 2.4.10 sources:

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

      -    freetype2410.lib     - release build; single threaded
      -    freetype2410_D.lib   - debug build;   single threaded
      -    freetype2410MT.lib   - release build; multi-threaded
      -    freetype2410MT_D.lib - debug build;   multi-threaded
      + freetype2411.lib - release build; single threaded + freetype2411_D.lib - debug build; single threaded + freetype2411MT.lib - release build; multi-threaded + freetype2411MT_D.lib - debug build; multi-threaded

    Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/freetype/devel/ftoption.h b/freetype/devel/ftoption.h index ba7db164c..6b2a40f83 100644 --- a/freetype/devel/ftoption.h +++ b/freetype/devel/ftoption.h @@ -558,6 +558,28 @@ FT_BEGIN_HEADER #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING if you want to compile */ + /* EXPERIMENTAL subpixel hinting support into the TrueType driver. This */ + /* replaces the native TrueType hinting mechanism when anything but */ + /* FT_RENDER_MODE_MONO is requested. */ + /* */ + /* Enabling this causes the TrueType driver to ignore instructions under */ + /* certain conditions. This is done in accordance with the guide here, */ + /* with some minor differences: */ + /* */ + /* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ + /* */ + /* By undefining this, you only compile the code necessary to hint */ + /* TrueType glyphs with native TT hinting. */ + /* */ + /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */ + /* defined. */ + /* */ +#define TT_CONFIG_OPTION_SUBPIXEL_HINTING + + /*************************************************************************/ /* */ /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */ diff --git a/freetype/docs/CHANGES b/freetype/docs/CHANGES index 75042d593..18ec1945a 100644 --- a/freetype/docs/CHANGES +++ b/freetype/docs/CHANGES @@ -1,4 +1,64 @@ +CHANGES BETWEEN 2.4.10 and 2.4.11 + + I. IMPORTANT BUG FIXES + + - Some vulnerabilities in the BDF implementation have been fixed. + Users of this font format should upgrade. + + + II. IMPORTANT CHANGES + + - Subpixel hinting support has been contributed by Infinality, + based on Greg Hitchcock's whitepaper at + + http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx + + Originally, it was a separate patch available from + + http://www.infinality.net/blog/ + + and which has been integrated. + + Note that ClearType support is not completely implemented! In + particular, full support for the options `compatible_widths', + `symmetrical_smoothing, and `bgr' (via the GETINFO bytecode + instruction) is missing. + + Activation of subpixel hinting support can be controlled with + the `TT_CONFIG_OPTION_SUBPIXEL_HINTING' configuration option; it + is switched off by default. This feature is still experimental; + we welcome test reports! + + - Support for OpenType collections (OTC) has been added. + + - Pure CFF fonts within an SFNT wrapper are now supported. + + + III. MISCELLANEOUS + + - Minor rendering improvements to the auto-hinter. + + - `FT_GlyphSlot_Oblique' now uses a shear angle of 12°. + + - Experimental support to handle `property modules', for example + to control the behaviour of the auto-hinter. The API consists + of two new functions, `FT_Property_Set' and `FT_Property_Get'. + + The code is still subject to change and should not be used for + production. + + - The `ftdiff' demo program now supports UTF-8 encoded input files + for option `-f'. + + - Using keys `r' and `R', you can now adjust the stroker radius in + the `ftview' demo program. + + - Other, minor fixes and improvements. + + +====================================================================== + CHANGES BETWEEN 2.4.9 and 2.4.10 I. IMPORTANT BUG FIXES @@ -47,7 +107,7 @@ CHANGES BETWEEN 2.4.8 and 2.4.9 - The demo programs no longer recognize and handle default suffixes; you now have to always specify the complete font name. - - Better rendering and LCD mode cycling added to ftview. + - Better rendering and LCD mode cycling added to `ftview'. ====================================================================== @@ -234,7 +294,7 @@ CHANGES BETWEEN 2.4.1 and 2.4.2 The two new functions increment the respective counter. `FT_Done_Library' and `FT_Done_Face' then only destroy a library or face if the counter is 1, otherwise they simply decrement the - counter. + counter. ====================================================================== diff --git a/freetype/docs/CUSTOMIZE b/freetype/docs/CUSTOMIZE index 7d7d474ec..396eda38e 100644 --- a/freetype/docs/CUSTOMIZE +++ b/freetype/docs/CUSTOMIZE @@ -31,6 +31,10 @@ II. Modules list make uses `modules.cfg' to generate `ftmodule.h' (in the object directory). + If you build FreeType in a directory separate from the source files, + put your customized `modules.cfg' in that directory; that way you + can keep the source files `clean'. + If you don't use GNU make you have to manually edit the file `include/freetype/config/ftmodule.h' (which is *not* used with if compiled with GNU make) to add or remove the drivers and components @@ -77,11 +81,12 @@ IV. Overriding default configuration and module headers [This is actually a combination of method 2 and 3.] - Just put your custom `ftoption.h' file into the objects directory - (normally `/objs'), which GNU make prefers over the - standard location. No action is needed for `ftmodule.h' because - it is generated automatically in the objects directory. - + Just put your custom `ftoption.h' file into the objects directory + (normally `/objs' if you build in the source tree, or the + directory where you invoke configure if you build in a separate + directory), which GNU make prefers over the standard location. No + action is needed for `ftmodule.h' because it is generated + automatically in the objects directory. 2. Using the C include path @@ -137,7 +142,7 @@ IV. Overriding default configuration and module headers ---------------------------------------------------------------------- -Copyright 2003, 2005, 2006 by +Copyright 2003, 2005, 2006, 2012 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/freetype/docs/INSTALL.CROSS b/freetype/docs/INSTALL.CROSS index 3def12c8c..005d44293 100644 --- a/freetype/docs/INSTALL.CROSS +++ b/freetype/docs/INSTALL.CROSS @@ -44,11 +44,11 @@ INSTALL.UNIX for required tools and the basic self-building procedure. the option pair `--host=' and `--target='. This is broken and doesn't work. Similarly, an explicit CC specification like - env CC=mips-ip22-linux-gcc ./configure + env CC=mips-ip22-linux-gcc ./configure # BAD or - env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure + env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure # BAD doesn't work either; such a configuration confuses the `configure' script while trying to find the cross and native C @@ -121,7 +121,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure. ---------------------------------------------------------------------- -Copyright 2006, 2008 by suzuki toshiya +Copyright 2006, 2008, 2012 by suzuki toshiya David Turner, Robert Wilhelm, and Werner Lemberg. diff --git a/freetype/docs/VERSION.DLL b/freetype/docs/VERSION.DLL index 1fb0724ec..cf8c35325 100644 --- a/freetype/docs/VERSION.DLL +++ b/freetype/docs/VERSION.DLL @@ -1,5 +1,5 @@ Due to our use of `libtool' to generate and install the FreeType 2 -libraries on Unix systems, as well as other historical events, it is +libraries on Unix systems, as well as other historical events, it is generally very difficult to know precisely which release of the font engine is installed on a given system. @@ -10,16 +10,16 @@ FreeType on Unix. 1. Version and Release numbers ------------------------------ -For each new public release of FreeType 2, there are generally *three* +For each new public release of FreeType 2, there are generally *three* distinct `version' numbers to consider: - * The official FreeType 2 release number, like 2.0.9 or 2.1.3. + * The official FreeType 2 release number, like 2.3.1 or 2.4.10. - * The libtool (and Unix) specific version number, like 9.2.3. This is - what `freetype-config --version' returns. + * The libtool (and Unix) specific version number, like 13.0.7. This + is what `freetype-config --version' returns. * The platform-specific shared object number, used for example when - the library is installed as `/usr/lib/libfreetype.so.6.3.2'. + the library is installed as `/usr/lib/libfreetype.so.6.7.1'. The platform-specific number is, unsurprisingly, platform-specific and varies with the operating system you are using (several variants of @@ -38,21 +38,21 @@ macros defined in FT_FREETYPE_H: See below for a small autoconf fragment. -The release number is also available at *runtime* through the -`FT_Library_Version' API. Unfortunately, this one wasn't available or -working correctly before the 2.1.3 official release. +The release number is also available at *runtime* through the +`FT_Library_Version' API. 2. History ---------- -The following table gives, for each official release, the corresponding -libtool number, as well as the shared object number found on _most_ -systems, but not all of them: +The following table gives, for all releases since 2.3.0, the +corresponding libtool number, as well as the shared object number found +on _most_ systems, but not all of them: - release libtool so + release libtool so ------------------------------- + 2.4.11 16.0.10 6.10.0 2.4.10 15.0.9 6.9.0 2.4.9 14.1.8 6.8.1 2.4.8 14.0.8 6.8.0 @@ -77,34 +77,6 @@ systems, but not all of them: 2.3.2 9.13.3 6.3.13 2.3.1 9.12.3 6.3.12 2.3.0 9.11.3 6.3.11 - 2.2.1 9.10.3 6.3.10 - 2.2.0 9.9.3 6.3.9 - 2.1.10 9.8.3 6.3.8 - 2.1.9 9.7.3 6.3.7 - 2.1.8 9.6.3 6.3.6 - 2.1.7 9.5.3 6.3.5 - 2.1.6 9.5.3 6.3.5 - 2.1.5 9.4.3 6.3.4 - 2.1.4 9.3.3 6.3.3 - 2.1.3 9.2.3 6.3.2 - 2.1.2 9.1.3 6.3.1 - 2.1.1 9.0.3 ? - 2.1.0 8.0.2 ? - 2.0.9 9.0.3 ? - 2.0.8 8.0.2 ? - 2.0.4 7.0.1 ? - 2.0.1 6.1.0 ? - -The libtool numbers are a bit inconsistent due to the library's history: - - - 2.1.0 was created as a development branch from 2.0.8 (hence the same - libtool numbers). - - - 2.0.9 was a bug-fix release of the `stable' branch, and we - incorrectly increased its libtool number. - - - 2.1.4 was a development version, however it was stable enough to be - the basis of the 2.2.0 release. 3. Autoconf Code Fragment diff --git a/freetype/docs/reference/ft2-auto_hinter.html b/freetype/docs/reference/ft2-auto_hinter.html new file mode 100644 index 000000000..68a87d4ba --- /dev/null +++ b/freetype/docs/reference/ft2-auto_hinter.html @@ -0,0 +1,313 @@ + + + + +FreeType-2.4.11 API Reference + + + + + + +
    [Index][TOC]
    +

    FreeType-2.4.11 API Reference

    + +

    +The auto-hinter +

    +

    Synopsis

    + + + + +
    glyph-to-script-mapfallback-script
    FT_AUTOHINTER_SCRIPT_XXXincrease-x-height
    FT_Prop_GlyphToScriptMapFT_Prop_IncreaseXHeight


    + +
    +

    While FreeType's auto-hinter 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.

    +

    Note that the auto-hinter's module name is ‘autofitter’ for historical reasons.

    +

    +
    +

    glyph-to-script-map

    +
    +

    The auto-hinter provides various script modules to hint glyphs. Examples of supported scripts are Latin or CJK. Before a glyph is auto-hinted, the Unicode character map of the font gets examined, and the script is then determined based on Unicode character ranges, see below.

    +

    OpenType fonts, however, often provide much more glyphs than character codes (small caps, superscripts, ligatures, swashes, etc.), to be controlled by so-called ‘features’. Handling OpenType features can be quite complicated and thus needs a separate library on top of FreeType.

    +

    The mapping between glyph indices and scripts (in the auto-hinter sense, see the FT_AUTOHINTER_SCRIPT_XXX values) is stored as an array with ‘num_glyphs’ elements, as found in the font's FT_Face structure. The ‘glyph-to-script-map’ property returns a pointer to this array which can be modified as needed. Note that the modification should happen before the first glyph gets processed by the auto-hinter so that the global analysis of the font shapes actually uses the modified mapping.

    +

    The following example code demonstrates how to access it (omitting the error handling).

    +
    +  FT_Library                library;
    +  FT_Face                   face;
    +  FT_Prop_GlyphToScriptMap  prop;
    +
    +
    +  FT_Init_FreeType( &library );
    +  FT_New_Face( library, "foo.ttf", 0, &face );
    +
    +  prop.face = face;
    +
    +  FT_Property_Get( library, "autofitter",
    +                            "glyph-to-script-map", &prop );
    +
    +  // adjust `prop.map' as needed right here
    +
    +  FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
    +
    +

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

    FT_AUTOHINTER_SCRIPT_XXX

    +
    +Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). +

    +
    +
    +#define FT_AUTOHINTER_SCRIPT_NONE   0
    +#define FT_AUTOHINTER_SCRIPT_LATIN  1
    +#define FT_AUTOHINTER_SCRIPT_CJK    2
    +#define FT_AUTOHINTER_SCRIPT_INDIC  3
    +
    +

    +
    +

    A list of constants used for the glyph-to-script-map property to specify the script submodule the auto-hinter should use for hinting a particular glyph.

    +

    +
    values
    +

    + + + + + + + + + +
    FT_AUTOHINTER_SCRIPT_NONE
    +

    Don't auto-hint this glyph.

    +
    FT_AUTOHINTER_SCRIPT_LATIN
    +

    Apply the latin auto-hinter. For the auto-hinter, ‘latin’ is a very broad term, including Cyrillic and Greek also since characters from those scripts share the same design constraints.

    +

    By default, characters from the following Unicode ranges are assigned to this submodule.

    +
    +  U+0020 - U+007F  // Basic Latin (no control characters)
    +  U+00A0 - U+00FF  // Latin-1 Supplement (no control characters)
    +  U+0100 - U+017F  // Latin Extended-A
    +  U+0180 - U+024F  // Latin Extended-B
    +  U+0250 - U+02AF  // IPA Extensions
    +  U+02B0 - U+02FF  // Spacing Modifier Letters
    +  U+0300 - U+036F  // Combining Diacritical Marks
    +  U+0370 - U+03FF  // Greek and Coptic
    +  U+0400 - U+04FF  // Cyrillic
    +  U+0500 - U+052F  // Cyrillic Supplement
    +  U+1D00 - U+1D7F  // Phonetic Extensions
    +  U+1D80 - U+1DBF  // Phonetic Extensions Supplement
    +  U+1DC0 - U+1DFF  // Combining Diacritical Marks Supplement
    +  U+1E00 - U+1EFF  // Latin Extended Additional
    +  U+1F00 - U+1FFF  // Greek Extended
    +  U+2000 - U+206F  // General Punctuation
    +  U+2070 - U+209F  // Superscripts and Subscripts
    +  U+20A0 - U+20CF  // Currency Symbols
    +  U+2150 - U+218F  // Number Forms
    +  U+2460 - U+24FF  // Enclosed Alphanumerics
    +  U+2C60 - U+2C7F  // Latin Extended-C
    +  U+2DE0 - U+2DFF  // Cyrillic Extended-A
    +  U+2E00 - U+2E7F  // Supplemental Punctuation
    +  U+A640 - U+A69F  // Cyrillic Extended-B
    +  U+A720 - U+A7FF  // Latin Extended-D
    +  U+FB00 - U+FB06  // Alphab. Present. Forms (Latin Ligatures)
    + U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
    + U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
    +
    +

    +
    FT_AUTOHINTER_SCRIPT_CJK
    +

    Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old Vietnamese, and some other scripts.

    +

    By default, characters from the following Unicode ranges are assigned to this submodule.

    +
    +  U+1100 - U+11FF  // Hangul Jamo
    +  U+2E80 - U+2EFF  // CJK Radicals Supplement
    +  U+2F00 - U+2FDF  // Kangxi Radicals
    +  U+2FF0 - U+2FFF  // Ideographic Description Characters
    +  U+3000 - U+303F  // CJK Symbols and Punctuation
    +  U+3040 - U+309F  // Hiragana
    +  U+30A0 - U+30FF  // Katakana
    +  U+3100 - U+312F  // Bopomofo
    +  U+3130 - U+318F  // Hangul Compatibility Jamo
    +  U+3190 - U+319F  // Kanbun
    +  U+31A0 - U+31BF  // Bopomofo Extended
    +  U+31C0 - U+31EF  // CJK Strokes
    +  U+31F0 - U+31FF  // Katakana Phonetic Extensions
    +  U+3200 - U+32FF  // Enclosed CJK Letters and Months
    +  U+3300 - U+33FF  // CJK Compatibility
    +  U+3400 - U+4DBF  // CJK Unified Ideographs Extension A
    +  U+4DC0 - U+4DFF  // Yijing Hexagram Symbols
    +  U+4E00 - U+9FFF  // CJK Unified Ideographs
    +  U+A960 - U+A97F  // Hangul Jamo Extended-A
    +  U+AC00 - U+D7AF  // Hangul Syllables
    +  U+D7B0 - U+D7FF  // Hangul Jamo Extended-B
    +  U+F900 - U+FAFF  // CJK Compatibility Ideographs
    +  U+FE10 - U+FE1F  // Vertical forms
    +  U+FE30 - U+FE4F  // CJK Compatibility Forms
    +  U+FF00 - U+FFEF  // Halfwidth and Fullwidth Forms
    + U+1B000 - U+1B0FF // Kana Supplement
    + U+1D300 - U+1D35F // Tai Xuan Hing Symbols
    + U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
    + U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
    + U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
    + U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
    + U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
    +
    +

    +
    FT_AUTOHINTER_SCRIPT_INDIC
    +

    Apply the indic auto-hinter, covering all major scripts from the Indian sub-continent and some other related scripts like Thai, Lao, or Tibetan.

    +

    By default, characters from the following Unicode ranges are assigned to this submodule.

    +
    +  U+0900 - U+0DFF  // Indic Range
    +  U+0F00 - U+0FFF  // Tibetan
    +  U+1900 - U+194F  // Limbu
    +  U+1B80 - U+1BBF  // Sundanese
    +  U+1C80 - U+1CDF  // Meetei Mayak
    +  U+A800 - U+A82F  // Syloti Nagri 
    + U+11800 - U+118DF // Sharada
    +
    +

    Note that currently Indic support is rudimentary only, missing blue zone support.

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

    FT_Prop_GlyphToScriptMap

    +
    +Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). +

    +
    +
    +   typedef struct  FT_Prop_GlyphToScriptMap_
    +   {
    +     FT_Face   face;
    +     FT_Byte*  map;
    +
    +   } FT_Prop_GlyphToScriptMap;
    +
    +

    +
    +

    The data exchange structure for the glyph-to-script-map property.

    +

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

    fallback-script

    +
    +

    If no auto-hinter script module can be assigned to a glyph, a fallback script gets assigned to it (see also the glyph-to-script-map property). By default, this is FT_AUTOHINTER_SCRIPT_CJK. Using the ‘fallback-script’ property, this fallback value can be changed.

    +
    +  FT_Library  library;
    +  FT_UInt     fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
    +
    +
    +  FT_Init_FreeType( &library );
    +
    +  FT_Property_Set( library, "autofitter",
    +                            "fallback-script", &fallback_script );
    +
    +

    +
    note
    +

    This property can be used with FT_Property_Get also.

    +

    It's important to use the right timing for changing this value: The creation of the glyph-to-script map which eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like glyph-to-script-map, or by auto-hinting any glyph from that face. In particular, if you have already created an FT_Face structure but not loaded any glyph (using the auto-hinter), a change of the fallback glyph will affect this face.

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

    increase-x-height

    +
    +

    For ppem values in the range 6 <= ppem <= ‘increase-x-height’, round up the font's x height much more often than normally. If the value is set to 0, which is the default, this feature is switched off. Use this property to improve the legibility of small font sizes if necessary.

    +
    +  FT_Library               library;
    +  FT_Face                  face;
    +  FT_Prop_IncreaseXHeight  prop;
    +
    +
    +  FT_Init_FreeType( &library );
    +  FT_New_Face( library, "foo.ttf", 0, &face );
    +  FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
    +
    +  prop.face  = face;
    +  prop.limit = 14;
    +
    +  FT_Property_Set( library, "autofitter",
    +                            "increase-x-height", &prop );
    +
    +

    +
    note
    +

    This property can be used with FT_Property_Get also.

    +

    Set this value right after calling FT_Set_Char_Size, but before loading any glyph (using the auto-hinter).

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

    FT_Prop_IncreaseXHeight

    +
    +Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). +

    +
    +
    +   typedef struct  FT_Prop_IncreaseXHeight_
    +   {
    +     FT_Face  face;
    +     FT_UInt  limit;
    +
    +   } FT_Prop_IncreaseXHeight;
    +
    +

    +
    +

    The data exchange structure for the increase-x-height property.

    +

    +
    +
    + + +
    [Index][TOC]
    + + + diff --git a/freetype/docs/reference/ft2-base_interface.html b/freetype/docs/reference/ft2-base_interface.html index 351031241..8ed2f11b3 100644 --- a/freetype/docs/reference/ft2-base_interface.html +++ b/freetype/docs/reference/ft2-base_interface.html @@ -3,7 +3,7 @@ -FreeType-2.4.10 API Reference +FreeType-2.4.11 API Reference