Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| da11e5e7 | 2013-01-23 20:11:40 | [base] Fix integer overflow. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and outgoing vectors and use fixed point arithmetic. | ||
| e1a2ac19 | 2013-01-23 19:51:28 | [base] Fix integer overflow. * src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the coordinates down to avoid overflow. | ||
| 869fb8c4 | 2013-01-23 19:43:28 | [base] Split out MSB function. * src/base/fttrigon.c (ft_trig_prenorm): Borrow from here. * include/freetype/internal/ftcalc.h (FT_MSB): Declare here. * src/base/ftcalc.c (FT_MSB): Define here. | ||
| e0469372 | 2013-01-22 11:07:07 | [truetype] Fix font height. * src/truetype/ttobjs.c (tt_size_reset): The Windows rendering engine uses rounded values of the ascender and descender to compute the TrueType font height. | ||
| 71900980 | 2013-01-16 20:08:35 | Minor. | ||
| cd3f871e | 2013-01-16 19:56:08 | [sfnt] Fix optimized sbit loader. It was not taking bit_depth into consideration when blitting! * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned, * tt_sbit_decoder_load_bit_aligned): Handle bit depth. | ||
| 3a406127 | 2013-01-16 19:48:31 | [truetype] Improve sub-pixel code. This patches fixes many issues with the ttsubpix implementation. 1. Data tables are defined, instead of declared, in the header, and thus copied into each source file that includes it. 2. These tables were defined as global, mutable, visible variables, and thus costing private RAM to every process that loads the library (> 50 KB / process, this is huge!). Additionally, this also made the library export the symbols completely needlessly. 3. Missing `sph_' and `SPH_' prefixes to some of the definitions. Note that this doesn't try to fix the incredibly inefficient storage format for the data tables used by the code. This one will require another pass in the future. * src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS): Renamed to... (SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This. Update all users. (SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where appropriate. (Font_Class): Rename to... (SPH_Font_Class): This. Decorate with `const' where appropriate. * src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak): Decorate arguments with `const' where appropriate. Move font tweaking tables to... * src/truetype/ttsubpic.c: This file and decorate them with `static' and `const' where appropriate. (X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to... (spu_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This. Update all users. | ||
| 0e0fdc5d | 2013-01-12 23:05:55 | [truetype] Improve accuracy of normalization of short vectors. Unit vector components are stored as 2.14 fixed-point numbers. In order to calculate all 14 bits accurately, a short vector to be normalized has to be upscaled to at least 14 bits before its length is calculated. This has been safe since accurate CORDIC algorithms were adopted. * src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000. | ||
| 081aba39 | 2013-01-12 22:36:37 | [truetype] Kill very old vector normalization hacks. Back in the days, vector length calculations were not very accurate and the vector normalization function, Normalize, had to meticulously correct the errors for long vectors [commit b7ef2b096867]. It was no longer necessary after accurate CORDIC algorithms were adopted, but the code remained. It is time to kill it. * src/truetype/ttinterp.c (Normalize): Remove error compensation. (TT_VecLen): Remove any mention of old less accurate implementation. | ||
| a692170a | 2013-01-12 19:17:05 | Call it fixed-point. | ||
| e4ecce3b | 2013-01-11 09:02:22 | Disable FT_CONFIG_OPTION_OLD_INTERNALS. After the next release we are going to remove the code completely. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_OLD_INTERNALS): Comment out. * docs/CHANGES: Document it. | ||
| 53c0cb59 | 2013-01-11 08:29:22 | Typos, whitespace. | ||
| ad9d5c97 | 2013-01-10 22:29:07 | [base] Update the overflow protection bit. The recent optimizations of CORDIC iterations drastically reduce the expansion factor. The vector components with MSB of 29 are now safe from overflow. * src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro. (ft_trig_prenorm): Use it and remove dead code. | ||
| 4412e74d | 2013-01-10 20:16:20 | Minor comment improvements. | ||
| 6b83a367 | 2013-01-09 00:25:32 | [base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability. * src/base/ftbbox.c: Updated. * src/base/ftobjs.c: Updated. * src/base/fttrigon.c: Updated. * src/pshinter/pshalgo.c: Updated. * src/pshinter/pshrec.c: Updated. | ||
| 09dbb059 | 2013-01-08 23:29:44 | [base] Clean up trigonometric core. * src/base/fttrigon.c: Document the algorithm in a large comment. (FT_TRIG_COSCALE): Remove macro. (FT_Tan: Use `FT_TRIG_SCALE' instead. (FT_Cos, FT_Vector_Unit): Ditto and round the return values. | ||
| 5dd9657f | 2013-01-02 23:45:14 | [base] Use rounding in CORDIC iterations. * src/base/fttrigon.c (ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Improve accuracy by rounding. | ||
| b4ac30b0 | 2013-01-02 22:21:37 | [base] Reduce trigonometric algorithms. After we get within 45 degrees by means of true 90-degree rotations, we can remove initial 45-degree CORDIC iteration and start from atan(1/2) pseudorotation, reducing expansion factor thereby. * src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros. (ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update. * src/tools/cordic.py: Bring up to date with trigonometric core. * docs/CHANGES: Old typo. | ||
| 50e634ab | 2013-01-02 20:31:56 | * src/pshinter/pshalgo.h: Remove unused code. | ||
| 7d6dc907 | 2012-12-27 01:08:24 | * src/truetype/ttgload.c (tt_loader_init): Add more tracing. | ||
| 2ef0a198 | 2012-12-23 21:14:37 | [type1] Fix handling of /FontBBox in MM fonts. Problem reported by Del Merritt <del@alum.mit.edu> If we have /FontBBox { { 11 12 13 14 15 16 17 18 } { 21 22 23 24 25 26 27 28 } { 31 32 33 34 35 36 37 38 } { 41 42 43 44 45 46 47 48 } } in the /Blend dictionary, then the first BBox is { 11 21 31 41 }, the second { 12 22 32 42 }, etc. * include/freetype/internal/psaux.h (T1_FieldType): Add `T1_FIELD_TYPE_MM_BBOX' (for temporary use). * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>: Implement it. | ||
| f44f3f0e | 2012-12-23 18:30:34 | Formatting, minor internal documentation improvement. | ||
| cbf3fb39 | 2012-12-21 14:20:25 | * src/tools/cordic.py: Bring up to date with trigonometric core. | ||
| 3ffb822e | 2012-12-21 16:45:27 | Check parameters of `FT_Outline_New'. Problem reported by Robin Watts <robin.watts@artifex.com>. * src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that `numContours' and `numPoints' fit into FT_Outline's `n_points' and `n_contours', respectively. | ||
| c6a66b49 | 2012-12-20 08:31:56 | * 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'. | ||
| d7383b7b | 2012-12-20 01:03:22 | [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. | ||
| 768590a9 | 2012-12-20 06:08:23 | * src/base/ftobjs.c (ft_property_do): Fix compiler warning. | ||
| df018924 | 2012-12-20 06:07:33 | Formatting. | ||
| 32fc416f | 2012-12-19 23:05:32 | * src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters. | ||
| 06174dbb | 2012-12-19 22:46:27 | [base] Clean up trigonometric core. * src/base/fttrrigon.c (ft_trig_pseudo_polarize): Align algorithm with `ft_trig_pseudo_rotate'. | ||
| 1749ae20 | 2012-12-18 07:23:09 | [truetype] Minor performance enhancement. | ||
| 94b79e74 | 2012-12-17 19:17:30 | [truetype] Remove unusued code and variables. | ||
| a9f6f85e | 2012-12-17 09:08:09 | 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. | ||
| 461cc936 | 2012-12-16 20:02:42 | Merge branch 'master' of ssh://git.sv.nongnu.org/srv/git/freetype/freetype2 Conflicts: src/truetype/ttinterp.c | ||
| 71f242c2 | 2012-12-16 19:52:01 | [truetype ] Remove unusued code. Add minor fixes. | ||
| e2fa4a6c | 2012-12-16 20:19:56 | [truetype] Remove dead code. | ||
| 309b8b31 | 2012-12-16 19:08:36 | [sfnt] Fix Savannah bug #37936. * src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak. | ||
| 8ac5c5c8 | 2012-12-15 23:33:55 | [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. | ||
| 7f2e4f4f | 2012-12-15 09:39:41 | [bdf] Fix Savannah bug #37907. * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize negative second parameter of `ENCODING' field also. | ||
| 07bdb6e2 | 2012-12-15 02:02:23 | [bdf] Fix Savannah bug #37906. * src/bdf/bdflib.c (_bdf_parse_glyphs): Use correct array size for checking `glyph_enc'. | ||
| 9b6b5754 | 2012-12-15 01:34:41 | [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'. | ||
| 65d65721 | 2012-12-10 06:59:29 | [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. | ||
| 13e87e04 | 2012-12-09 19:48:22 | Formatting. | ||
| 06d6916c | 2012-12-09 00:07:51 | [type1] Another fix for 2012-09-17 commit. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set `limit' value. | ||
| f5e2e398 | 2012-12-08 12:30:37 | Add .mailmap file. | ||
| cece4d3b | 2012-12-06 20:23:38 | [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. | ||
| 5ad05f97 | 2012-12-06 00:27:20 | [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. | ||
| b50088bd | 2012-12-05 23:05:47 | [truetype] Cosmetic improvement in bytecode interpreter. * src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv, FT_MulFix, and FT_DivFix instead of macros. | ||
| 54d43a39 | 2012-12-05 11:14:41 | [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'. | ||
| 4d3a1e6c | 2012-12-05 06:32:57 | Formatting. | ||
| 4ae9cbb0 | 2012-12-01 23:36:02 | [truetype, type1] Revise the use of FT_MulDiv. * src/truetype/ttgxvar.c: Updated. * src/truetype/ttobjs.c: Updated. * src/type1/t1load.c: Updated. | ||
| 74e6a1f2 | 2012-11-30 15:29:33 | [doc] Minor improvements. | ||
| b731c827 | 2012-11-30 15:22:03 | Minor. | ||
| 7e8e1761 | 2012-11-30 13:45:47 | [configure] Preserve customized `ftoption.h'. Problem reported by Del Merritt <del@alum.mit.edu>. * builds/unix/configure.raw <cpp computation of bit length>: Don't remove existing FreeType configuration files. | ||
| 337fcb6a | 2012-11-29 21:10:10 | [type1] Fix Savannah bug #37831. The bug report also contains a patch. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix change from 2012-09-17. | ||
| 6a126e14 | 2012-11-28 23:32:02 | [truetype] Fix formatting and typo. | ||
| 79180ad0 | 2012-11-27 21:36:20 | [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. | ||
| 72e976d4 | 2012-11-27 21:18:34 | [ftstroke] Minor improvement. * src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with FT_MulDiv. | ||
| fa22ec1c | 2012-11-17 11:45:24 | * src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work. | ||
| 0690d3d7 | 2012-11-15 20:50:59 | [base] Fix integer overflows in dd5718c7d67a. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv. | ||
| 3a553400 | 2012-11-15 16:37:05 | [autofit] Trace stem widths. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some FT_TRACE calls. | ||
| 55127272 | 2012-11-13 09:22:11 | [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. | ||
| 1a37e417 | 2012-11-12 11:01:07 | [autofit] Minor improvement. * src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix loop. | ||
| f966da82 | 2012-11-10 12:42:18 | [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. | ||
| 3af607b0 | 2012-11-04 17:25:29 | Improve documentation of Unicode IVS handling. | ||
| 21332fb6 | 2012-11-04 08:03:34 | Add example for FT_Get_Sfnt_Table. | ||
| dd5718c7 | 2012-11-04 00:57:57 | [base] Fortify emboldening code against egregious distortions. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening strength when it leads to segment collapse. | ||
| 48ce226a | 2012-11-03 22:27:27 | [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. | ||
| 553bb3c3 | 2012-10-24 14:22:14 | [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. | ||
| 118c6025 | 2012-10-24 12:26:20 | [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)'. | ||
| 8e82a961 | 2012-10-21 11:02:50 | [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. | ||
| fdcbaf19 | 2012-10-21 10:40:12 | [smooth] Improve tracing. * src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of current band also. | ||
| 24e897db | 2012-10-20 22:23:01 | [truetype] Cheaper way to threshold angles between vectors. * src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot cheaper than thresholding sine. | ||
| ad4eecca | 2012-10-20 21:27:17 | [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. | ||
| 1e168834 | 2012-10-20 11:42:22 | [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'. | ||
| eaf0afb4 | 2012-10-20 11:27:25 | [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'. | ||
| dda1e93d | 2012-10-20 08:34:57 | [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'. | ||
| 4404ec4e | 2012-10-19 09:06:53 | [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'. | ||
| 0708b23e | 2012-10-17 21:38:19 | [psaux] Fix some value overflows. * src/psaux/psconv.c (PS_Conv_ToFixed): Implement it. | ||
| 76accc18 | 2012-10-17 19:55:20 | [cff] Fix value overflow. * src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it. | ||
| 2df16761 | 2012-10-17 11:34:22 | [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. | ||
| 4f18d457 | 2012-10-07 22:36:46 | Improve documentation regarding vertical layout. | ||
| be81ec22 | 2012-09-30 08:42:30 | 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. | ||
| bf745003 | 2012-09-29 22:40:40 | [autofit] Minor optimization. * src/autofit/afglobals.c (af_face_globals_compute_script_coverage): Add loop condition. | ||
| 156ba42e | 2012-09-29 10:08:01 | [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. | ||
| 7da6bbc3 | 2012-09-25 06:37:15 | Typos. | ||
| 3683fb55 | 2012-09-18 23:31:05 | [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. | ||
| d180ac70 | 2012-09-18 23:26:37 | [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'. | ||
| 842c4ea2 | 2012-09-18 15:23:41 | [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. | ||
| 273e2b79 | 2012-09-18 13:27:27 | Cosmetics. | ||
| ebda8b32 | 2012-09-17 20:59:31 | Fix Savannah bug #37350. * src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII storage only if we actually have at least four bytes. | ||
| 302fd625 | 2012-09-16 07:51:20 | [autofit] Cosmetics. | ||
| d4ec0075 | 2012-09-15 18:26:28 | [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. | ||
| 44e1f0d3 | 2012-09-15 11:11:18 | [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. | ||
| ce92c5fa | 2012-09-15 10:56:15 | * src/autofit/afmodule.c: s/FT_Err_/AF_Err_/. | ||
| d0014f2c | 2012-09-15 10:33:43 | [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) <glyph-to-script-map>, af_autofitter_init: Handle default script. * src/autofit/afglobal.h: Updated. | ||
| 073a4cef | 2012-09-15 09:10:06 | 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. | ||
| 8ae2a65e | 2012-09-14 14:10:01 | [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. | ||
| 95dae1c4 | 2012-09-14 12:26:57 | [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. | ||
| 6d29c5cb | 2012-09-14 11:57:36 | [autofit] Fix `make multi'. * include/freetype/internal/fttrace.h: Add `afmodule'. * src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H. (FT_COMPONENT): Define. |