kc3-lang/freetype/src/autofit

Branch :


Log

Author Commit Date CI Message
22167629 2016-04-25 21:18:24 [autofit] Add blue-zone support for Gujarati script. This essentially moves the Gujarati script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Gujarati. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Gujarati standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Gujarati data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Gujarati data; in particular, use AF_WRITING_SYSTEM_LATIN.
80afef8b 2016-04-23 21:34:15 [autofit] Improve Georgian blue zone characters. Suggested by Akaki Razmadze <razmadzekoko@gmail.com>. * src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM): Updated. * src/autofit/afblue.c: Regenerated.
c8c7ad79 2016-04-09 08:24:00 [autofit] Add support for Georgian scripts. Georgian is problematic, since `uppercase' forms of Mkhedruli (called Mtavruli) are not yet defined in Unicode, which means that proper blue zones can't be defined. However, there is already a proposal submitted to Unicode; see http://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf Additionally, due to historical reasons, Unicode treats Khutsuri as the same script as Mkhedruli, and so does OpenType. However, since the two scripts have completely different shapes it can happen that blue zones differ considerably. The tag `geok' used here (derived from ISO 15924) to differentiate the two scripts is not an OpenType tag in use. If we now have a font that contains both glyphs for Mkhedruli and Khutsuri, and it uses OpenType features for both also, HarfBuzz unavoidably treats all glyphs as `geor'. As a consequence, blue zones for `geok' are not used for glyphs involved in the OpenType features. An issue not yet resolved is which OpenType feature should be used to access Mtavruli glyph shapes; right now, FreeType doesn't set up support for them, but it is easy to add them later on as soon as more information is available. * src/autofit/afblue.dat: Add blue zone data for Georgian. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Georgian standard characters. * src/autofit/afranges.c: Add Georgian data. * src/autofit/afstyles.h: Add Georgian data.
e8542260 2016-04-08 23:21:34 Typos.
bf8f100d 2016-04-05 11:43:58 [autofit] Provide dummy blue zone for pseudo script `none'. Even if the dummy hinter is used as the handler for `none' (which doesn't use blue zones), it is more consistent than the old value (which was 0), pointing to Arabic... * src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
f73a9937 2016-03-26 08:31:19 [autofit] Mark `aflatin2.[ch]' as not compilable.
614a8f17 2016-03-21 19:39:14 * src/autofit/afhints.c (af_glyph_hints_reload): Thinko. This fixes the previous commit to this file.
709486db 2016-03-20 22:20:32 [autofit] Show `near' points in tracing. * src/autofit/afhints.h (AF_FLAG_NEAR): New macro. * src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it. (af_glyph_hints_reload): Handle AF_FLAG_NEAR.
da86b73f 2016-03-15 07:55:05 * src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
caa48b0d 2016-03-05 19:47:07 [autofit] Avoid excessive stem length rounding (#25392). * src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument to pass difference between hinted and unhinted position of base point; use this to adjust the stem width depending on the PPEM so that it doesn't become too large under certain circumstances. Update all callers using value 0 for this argument except... (af_latin_align_linked_edge): Pass position delta of base point to `af_latin_compute_stem_width'.
3eb6f66a 2016-03-01 07:10:30 [autofit] Fix reallocation error introduced in 2016-02-27 (#47310). * src/autofit/aflatin.c (af_latin_hints_compute_segments): Reassign `prev_segment' after reallocation.
015c6e08 2016-03-01 06:45:52 Fix clang warnings. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Use FT_UShort for `min_flags' and `max_flags'. Initialize `prev_*' variables. * src/cff/cffobjs.c (cff_face_init) [FT_DEBUG_LEVEL_TRACE]: Fix types of local variables. * src/smooth/ftgrays.c (gray_dump_cells) [FT_DEBUG_LEVEL_TRACE]: Update `printf' format string. * src/tools/ftfuzzer/ftfuzzer.cc (setIntermediateAxis): Add cast. (LLVMFuzzerTestOneInput): Fix loop type.
5c7646d2 2016-02-29 09:12:35 [autofit] Add blue-zone support for Sinhala script. This essentially moves the Sinhala script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Sinhala. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Sinhala standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Sinhala data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Sinhala data; in particular, use AF_WRITING_SYSTEM_LATIN.
f2169478 2016-02-28 22:48:34 [autofit] Properly handle spikes pointing to the x-axis. An example that gets better rendered is glyph `uusignTaml' (glyph index 2286) in font `FreeSerif.ttf' (Version 0412.2263) at 22ppem. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Properly handle segments where the last point of the first segment is identical to the first point in the second one. This can happen for malformed fonts or spikes. We either merge the new segment with the previous one (both segments point into the same direction), or we discard the shorter segment if they point into different directions.
ce486645 2016-02-27 15:01:49 [autofit] Minor code clean-up. * src/autofit/aflatin.c (af_latin_hints_compute_segments): Change some local variable names to better differentiate between values along a segment and values orthogonal to it.
ebfd7ce5 2016-02-26 08:10:41 [autofit] Improve BOUND action. In complex glyph shapes, the original logic was too simple to cater for situations that would actually need something similar to PS Hint masks. This fix should alleviate the worst cases. * src/autofit/aflatin.c (af_latin_hint_edges): Don't allow complete disappearance of stems.
44324b37 2016-02-25 06:58:47 [autofit] Add blue-zone support for Tamil script. This essentially moves the Tamil script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Tamil. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Tamli standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Tamil data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Tamil data; in particular, use AF_WRITING_SYSTEM_LATIN.
a5952d30 2016-02-18 12:56:38 [autofit] Add blue-zone support for Malayalam script. This essentially moves the Malayalam script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Malayalam. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Malayalam standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Malayalam data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Malayalam data; in particular, use AF_WRITING_SYSTEM_LATIN.
32950391 2016-02-15 12:54:40 Whitespace.
f380d743 2016-01-30 11:16:04 Typo.
baa41ff2 2016-01-30 07:44:30 [autofit] Minor tracing improvement. * src/autofit/afhints.c (af_glyph_hints_dump_points): Insert newline at the start of a new contour.
8d810097 2016-01-28 10:13:24 [autofit] Add blue-zone support for Kannada script. This essentially moves the Kannada script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Kannada. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Kannada standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Kannada data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Kannada data; in particular, use AF_WRITING_SYSTEM_LATIN.
fb672897 2016-01-20 21:13:16 [autofix] Complete last autofit commit. Problem reported by Kostya Serebryany <kcc@google.com>. * src/autofit/afshaper.c (af_shaper_get_coverage) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Update signature.
ec776596 2016-01-19 19:33:57 [autofit] Fix handling of default script. Patch taken from ttfautohint, commit 071ae2c00e0d67f9d19418f4fade1c23d27dc185. There were two bugs. - We now use non-standard script tags like `khms' for special purposes. However, HarfBuzz maps such tags to `DFLT', and without this commit the associated lookups were incorrectly assigned to the non-standard tags. - Let's assume we have a Bengali font, and the font's `DFLT' script tag handles the necessary lookups for Bengali, too. Without this commit, the `DFLT' lookups were assigned to ttfautohint's default script (usually `latn') before the standard lookups for Bengali were handled. We now have the following order while searching for covered glyph indices. special features of scripts (e.g. `sups' for Cyrillic) Unicode mappings of scripts remaining features of scripts (especially important for Indic scripts) default features of default script * src/autofit/afshaper.c, src/autofit/afshaper.h (af_shaper_get_coverage): Add boolean parameter to indicate default script. Update all callers. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Fix search order for coverages.
fc11af1e 2016-01-19 19:15:54 Various minor clang fixes. * src/autofit/afcjk.c (af_cjk_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize `ch'. * src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Add cast. * src/base/ftdbgmem.c (ft_mem_table_destroy): Add cast. * src/base/fthash.c (hash_num_lookup): Add cast. * src/base/fttrigon.c (ft_trig_downscale) [FT_LONG64]: Fix cast. * src/gxvalid/gxvcommn.c (gxv_EntryTable_validate): Comment out redundant code. * src/type1/t1driver.c (t1_get_ps_font_value) <PS_DICT_SUBR>: Add cast. * src/type1/t1load.c (parse_subrs): Fix type of `count'.
9adeab64 2016-01-13 11:54:10 Update copyright year.
37412ff9 2016-01-12 21:37:13 Don't use macro names that contain `__' [1/2]. Such macro names are reserved for both C and C++. */*: Replace macros of the form `__XXX_H__' with `XXX_H_'.
2e09812c 2015-12-25 08:05:30 [autofit] Make top-to-bottom hinting work in latin auto-hinter. This improves rendering of scripts like Bengali or Devanagari. * src/autofit/afhints.c (af_axis_hints_new_edge): Add parameter to pass top-to-bottom hinting flag. This makes the function sort edges in descending vertical position. * src/autofit/afhints.c: Updated. * src/autofit/aflatin.c (af_latin_hints_compute_edges, af_latin_hint_edges): Use `top_to_bottom_hinting' flag. * src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/autofit/aflatin2.c (af_latin2_hints_compute_edges): Updated.
172db325 2015-12-24 08:17:51 [autofit] Add hinting direction to `AF_ScriptClassRec'. Still unused. * src/autofit/afglobal.c (SCRIPT): Handle hinting direction. * src/autofit/aftypes.h (AF_ScriptClassRec): Add `top_to_bottom_hinting' field. (AF_HINTING_BOTTOM_TO_TOP, AF_HINTING_TOP_TO_BOTTOM): New macros. (AF_DEFINE_SCRIPT_CLASS): Updated.
b0de5a82 2015-12-23 23:25:03 [autofit] Start implementing hinting direction (up/down, down/up). Right now, it does nothing. * src/autofit/afscript.h: Add another parameter to `SCRIPT', specifying hinting direction. * src/autofit/afglobal.c, scr/autofit/afglobal.h, src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/afshaper.c, src/autofit/aftypes.h: Extend `SCRIPT' definitions.
1f80c815 2015-12-16 08:22:42 Whitespace.
02451c79 2015-12-15 17:53:46 [autofit] Add blue-zone support for Bengali script. This essentially moves the Bengali script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Bengali. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Bengali standard characters and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Bengali data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Bengali data; in particular, use AF_WRITING_SYSTEM_LATIN.
0063649d 2015-12-14 07:02:56 Whitespace, `.mailmap' update.
d8f9a453 2015-12-13 15:54:17 [autofit] Add support for Myanmar script. * src/autofit/afblue.dat: Add blue zone data for Myanmar. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Myanmar standard characters. * src/autofit/afranges.c: Add Myanmar data. * src/autofit/afstyles.h: Add Myanmar data.
868d5a0e 2015-12-12 07:28:22 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Minor.
79a42ad2 2015-12-12 07:27:14 * src/autofit/afscript.h: Avoid potential crash.
4fe3b55d 2015-12-11 08:08:48 [autofit] Restore OpenType feature check. This was removed while rewriting the HarfBuzz interface. * src/autofit/afglobal.h (AF_FaceGlobalsRec): Add `hb_buf' field to hold internal HarfBuzz buffer, needed for feature comparison. * src/autofit/afglobal.c (af_face_globals_new, af_face_globals_free): Initialize and destroy `hb_buf'. * src/autofit/afshaper.c (af_shaper_get_cluster): Compare character (cluster) with and without applied feature. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix tracing message.
3c3d7c21 2015-12-10 11:54:41 Another typo.
93fdf4eb 2015-12-10 11:52:08 Formatting.
bbe84ed9 2015-12-10 09:33:41 [autofit] Remove redundant code. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Do it.
5330e3de 2015-12-10 08:32:58 [autofit] Minor.
dd305f31 2015-12-09 21:00:33 [autofit] Thinko. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Don't count empty blue zones (bug introduced 2015-12-06).
0164d934 2015-12-09 20:04:18 [autofit] Introduce subscript top blue zones. This feature is mainly for Khmer: The idea is to avoid a clash between the top of subscript glyphs and the bottom of normal baseline glyphs. This only works for character clusters mapped to multiple glyphs. * src/autofit/afblue.dat: Add subscript top blue zone for Khmer. * src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_SUB_TOP): New macro. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/aflatin.h (AF_LATIN_IS_SUB_TOP_BLUE, AF_LATIN_BLUE_SUB_TOP): New macros. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle new blue zone property. Update tracing messages. (af_latin_metrics_scale_dim): Handle new blue zone property. (af_latin_hints_compute_blue_edges): Updated.
f02e1df7 2015-12-09 14:45:30 [autofit] Fix tracing message. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Display inactive blue zones also.
c13526e6 2015-12-08 09:48:50 * src/autofit/afblue.dat: Add more Khmer clusters. Some fonts have incorrect ligatures; we need more samples to get a good mean value. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
b38ca3cb 2015-12-06 19:48:31 [autofit] Typos. * src/autofit/afshaper.c (af_shaper_buf_create, af_shaper_get_elem) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Make it compile.
facb79ab 2015-12-06 19:34:59 [autofit] Add support for Khmer script. We split Khmer into two auto-hinter scripts: `Khmer' (`khmr') and `Khmer symbols' (`khms', U+19E0-U+19FF). * src/autofit/afblue.dat: Add blue zone data for Khmer. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Khmer standard characters. * src/autofit/afranges.c: Add Khmer data. * src/autofit/afstyles.h: Add Khmer data.
24aa9c66 2015-12-06 18:52:41 [autofit] Rewrite HarfBuzz interface to support character clusters. Scripts like Khmer have blue zones that can't be directly represented by Unicode characters. Instead, it is necessary to let HarfBuzz convert character clusters into proper glyph representation forms, then deriving the blue zone information from the resulting glyphs. * src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by... * src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new files, providing a new API to access HarfBuzz. The new API manages a HarfBuzz buffer with `af_shaper_buf_create' and `af_shaper_buf_destroy'. The buffer receives a UTF8 encoded string with function `af_shaper_get_cluster', and the resulting glyph data (indices, advance widths, vertical offsets) can be iteratively accessed with function `af_shaper_get_elem'. * src/autofit/afcjk.c (af_cjk_metrics_init_widths, af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated. * src/autofit/aflatin.c (af_latin_metrics_init_widths, af_latin_metrics_init_blues, af_latin_metrics_check_digits): Updated. * include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/. * src/autofit/afglobal.c: s/hbshim.h/afshaper.h/. (af_face_globals_compute_style_coverage): Updated. * src/autofit/afglocal.h: s/hbshim.h/afshaper.h/. * src/autofit/autofit.c: s/hbshim.c/afshaper.c/. * src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC): Updated.
de599941 2015-12-06 18:18:02 [autofit] Prepare forthcoming changes. This makes it easier to control the commits. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Add dummy loop. No functional change.
f45c0bf9 2015-12-06 09:58:18 [autofit] Use string of standard characters. This is more flexible; additionally, it would allow character clusters. * src/autofit/aftypes.h (SCRIPT, AF_DEFINE_SCRIPT_CLASS): Updated. (AF_ScriptClassRec): Replace `standard_char[123]' with `standard_charstring'. * src/autofit/afscript.h: Replace last three character arguments of the `SCRIPT' calls with a string parameter, holding the standard characters (in UTF-8 encoding) separated with spaces. * src/autofit/afglobal.c, src/autofit/afglobal.h, src/autofit/afpic.c, src/autofit/afranges.c, src/autofit/hbshim.c (SCRIPT): Updated. * src/autofit/afcjk.c (af_cjk_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Updated.
a8a54c30 2015-12-05 13:26:44 * src/autofit/afblue.dat: Separate blue zone characters with spaces. Another preparation for character cluster support. * src/autofit/afblue.c, src/autofit.afblue.h: Regenerated.
f7e6d51a 2015-12-05 13:08:45 * src/autofit/afblue.hin (GET_UTF8_CHAR): Use `do...while(0)'. * src/autofit/afblue.h: Regenerated.
53696f03 2015-12-05 07:44:16 * src/autofit/afwarp.c: s/INT_MIN/FT_INT_MIN/.
4679bf83 2015-11-28 19:05:36 Fix C++ compilation. * src/autofit/afloader.c: Include FT_INTERNAL_CALC_H. * src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
68fb4789 2015-11-15 13:06:48 * src/autofit/afhints.c (af_get_segment_index): Fix it. The old code was too simple, returning invalid values in most cases where a segment crosses the contour start.
75722f89 2015-11-11 09:55:16 [cff, autofit] Switch off stem darkening by default. * src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c (cff_driver_init): Do it.
be32b168 2015-11-08 08:37:51 [autofit] Don't distort (latin) glyphs too much (#46195). * src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and `descender' fields. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect ascender and descender data for blue zones. (af_latin_metrics_scale_dim): Reject vertical scaling values that change the result by more than two pixels.
b6fd5bc0 2015-11-03 10:40:58 * src/autofit/afloader.c (af_loader_load_g): Implement emboldening.
bf2ba9e3 2015-11-02 13:12:34 [autofit] Implement darkening computation function. This is a crude adaption of the original `cf2_computeDarkening' function. * src/autofit/afloader.c (af_intToFixed, af_fixedToInt, af_floatToFixed): New macros, taken from `cf2fixed.h'. (af_loader_compute_darkening): New function. * src/autofit/afloader.h: Updated.
37c401ac 2015-11-02 09:32:26 [autofit] Add functions to get standard widths for writing systems. We need the computed standard horizontal and vertical widths for the emboldening calculation. This method provides a convenient way to extract it from writing-system-specific metrics structures, which all script definitions must implement. * src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New function type. (AF_WritingSystemClassRec): New member `style_metrics_getstdw'. (AF_DEFINE_WRITING_SYSTEM_CLASS): Updated. * src/autofit/afcjk.c (af_cjk_get_standard_width): New function. (af_cjk_writing_system_class): Updated. * src/autofit/afdummy.c (af_dummy_writing_system_class): Updated. * src/autofit/afindic.c (af_cjk_get_standard_width): New function. (af_indic_writing_system_class): Updated. * src/autofit/aflatin.c (af_latin_get_standard_width): New function. (af_indic_writing_system_class): Updated. * src/autofit/aflatin.c (af_latin_get_standard_width): New function. (af_indic_writing_system_class): Updated.
b2a85ad3 2015-11-02 09:20:32 [autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data. * src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields. * src/autofit/afglobal.c (af_face_globals_new): Initialize new fields. (af_face_globals_free): Reset new fields.
d682e510 2015-11-02 09:06:36 [autofit] Add stem-darkening properties. Actual code follows in a later commit. * include/freetype/ftautoh.h: Document `no-stem-darkening' and `darkening-parameters'. * src/autofit/afmodule.h: New fields `no_stem_darkening' and `darken_params'. * src/autofit/afmodule.c (af_property_set, af_property_get): Handle them. (af_autofitter_init): Initialize them.
4188deac 2015-10-30 08:07:56 Comments.
02cfd714 2015-10-29 20:50:57 * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor.
7f00fa64 2015-10-25 10:59:59 [autofit] Improve tracing. * src/autofit/afhints.c (af_print_idx, af_get_segment_index, af_get_edge_index): New functions. (af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'. Add segment and edge index for each point. Slightly change printing order of some elements. Don't print `-1' but `--' for missing elements. (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove unnecessary `|', `[', and `]'. Don't print `-1' but `--' for missing elements.
3066f5f5 2015-10-21 14:05:41 Revert erroneously applied commits.
e6593389 2015-10-21 08:04:29 [sfnt] Avoid unnecessarily large allocation for WOFFs (#46257). * src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize' only after thorough checks. Add tracing messages.
8cabd919 2015-10-04 08:18:01 * Version 2.6.1 released. ========================= Tag sources with `VER-2-6-1'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6.1. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/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.6/2.6.1/, s/26/261/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. * builds/unix/configure.raw (version_info): Set to 18:1:12. * CMakeLists.txt (VERSION_PATCH): Set to 1. * src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for dumping functions.
fab67b85 2015-10-01 16:47:05 * src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges. They should be a subset of `af_deva_uniranges'.
f68bd408 2015-10-01 16:43:45 afranges.c: Add some comments.
dbd04269 2015-09-30 17:52:42 [autofit] Replace `no-base' with `non-base'. * src/autofit/*: Do it.
a3046567 2015-09-28 09:45:56 [autofit] Add support for Lao script. Thanks to Danh Hong <danhhong@gmail.com> for guidance with blue zone characters! * src/autofit/afblue.dat: Add blue zone data for Lao. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Lao standard characters. * src/autofit/afranges.c: Add Lao data. * src/autofit/afstyles.h: Add Lao data.
19188a9a 2015-09-26 16:57:17 [autofit] Minor tracing improvement. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit blue zones header line if there are no blue zones.
a9f6f04e 2015-09-04 22:28:13 [autofit] Missing piece.
d3cba0ed 2015-09-04 10:28:53 [autofit] Redesign code ranges (2/2). This commit adds two fallback scripts (`latb', `latp') and implements support for the no-base character ranges introduced in the previous commit. * src/autofit/aftypes.h (AF_ScriptClassRec): Add `script_uni_nobase_ranges' field. (AF_DEFINE_SCRIPT_CLASS): Updated. * src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and `latp' fallback scripts. * src/autofit/afblue.dat: Add blue zones for Latin subscript and superscript fallback scripts. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base characters. (AF_STYLE_MASK): Updated. * src/autofit/afglobal.c (SCRIPT): Updated. (af_face_globals_compute_style_coverage): Handle new style flag. * src/autofit/aflatin.c (af_latin_hints_apply): Handle new style flag. * src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
696b7126 2015-09-04 10:10:59 [autofit] Redesign code ranges (1/2). This patch introduces auxiliary code ranges that identify no-base characters; they refer to glyphs of a script that should be hinted without alignments to blue zones (mostly diacritics). It also splits off ranges for fallback scripts that handle subscript and superscript characters not covered by OpenType features. For example, this greatly helps improve the hinting of various phonetic alphabets, which contain a large amount characters that look like superscript glyphs. Finally, code ranges are updated to Unicode 8.0, and enclosed characters are removed in general since they normally look better if they stay unhinted. * src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode 8.0. Split off superscript-like and subscript-like glyphs into... (af_latb_uniranges, af_latp_uniranges): ... these two new arrays. (af_xxxx_nobase_uniranges): New arrays that hold no-base characters of the corresponding character ranges.
8cbbcf6b 2015-09-03 06:47:30 [autofit] Pass glyph index to hinting function. No functionality change yet. * src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass glyph index. * src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply), src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c (af_indic_hints_apply), src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/aflatin2.c (af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g): Updated.
40103a3a 2015-08-31 08:51:52 [autofit] Code clean-up. * src/autofit/afglobal.h (AF_STYLE_MASK): New macro. (AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Updated.
87c81f04 2015-08-30 10:35:21 [autofit] Make glyph style array use 16bit values. * include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use `FT_UShort' for `map' field. * src/autofit/afglobal.c (af_face_globals_compute_style_coverage, af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h (af_get_coverage): Use FT_UShort for `glyph_styles' array. * src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to 16 bits. (AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
ff406e2e 2015-08-06 07:34:50 [autofit] Improve Arabic hinting. Problem reported by Titus Nemeth <tn@tntypography.eu> (by using ttfautohint). * src/autofit/afblue.dat: Add neutral blue zone for the tatweel character. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
15e2a4f7 2015-08-05 21:53:50 [autofit] Improve recognition of flat vs. rounded segments. Lower the flatness threshold from upem/8 to upem/14, making the auto-hinter accept shorter elements. Synchronize flat/round stem selection algorithm with blue zone code. * src/autofit/aflatin.c (FLAT_THRESHOLD): New macro. (af_latin_metrics_init_blues): Use it. (af_latin_hints_compute_segments): Collect information on maximum and minimum coordinates of `on' points; use this to add a constraint for the flat/round decision similar to `af_latin_metrics_init_blues'.
f9be567f 2015-07-09 15:10:31 Better support of user-supplied C++ namespaces. See http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html for a rationale. * src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h, src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h, src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h (FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose header files that contain FT_{BEGIN,END}_HEADER macros by themselves. * src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include FT_CONFIG_STANDARD_LIBRARY_H earlier. * src/truetype/ttpic.h: Include FT_INTERNL_PIC_H.
5931268e 2015-06-23 09:24:48 s/TYPEOF/FT_TYPEOF/ (#45376). * builds/unix/ftconfig.in, builds/vms/ftconfig.in, include/freetype2/config/ftconfig.h, include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
31d97df9 2015-06-21 19:12:12 Make Jam support work again. This is just very basic stuff and just a little bit tested on GNU/Linux only. I won't delve into this since I'm not a Jam user. * Jamfile: Call `HDRMACRO' for `ftserv.h' also. (DEFINES): Replace with... (CCFLAGS): ... this. * src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is already handled in the top-level Jamfile. * src/autofit/Jamfile (DEFINES): Replace with... (CCFLAGS): ... this. (_sources): Add missing files. * src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no longer contains macro header definitions. * src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile, src/truetype/Jamfile (_sources): Add missing files.
e1862306 2015-06-07 16:11:18 * Version 2.6 released. ======================= Tag sources with `VER-2-6'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/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.5.5/2.6/, s/255/26/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 6. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 18:0:12. * CMakeLists.txt (VERSION_MINOR): Set to 0. (VERSION_PATCH): Set to 6. * src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add declarations for dumping functions. * src/truetype/ttinterp.c (TT_New_Context): Pacify compiler. * builds/toplevel.mk: Use `freetype.mk's code to compute the version string. Don't include a zero patch level in version string. * builds/freetype.mk: Remove code for computing the version string.
a678560d 2015-05-28 17:31:15 Minor.
40914952 2015-04-29 21:57:30 [autofit] Speed up IUP. * src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to the same position from true interpolation, use `scale' to reduce divisions.
14df6b1a 2015-04-22 11:14:35 [autofit] By default, enable warping code but switch off warping. Suggested by Behdad. * include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER. * src/autofit/afmodule.c (af_autofitter_init): Initialize `warping' with `false'.
12661a5a 2015-04-21 07:13:59 [autofit] Introduce `warping' property. This code replaces the debugging hook from the previous commit with a better, more generic solution. * include/ftautoh.h: Document it. * src/autofit/afmodule.h (AF_ModuleRec) [AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field. * src/autofit/afmodule.c (_af_debug_disable_warper): Remove. (af_property_set, af_property_get, af_autofitter_init) [AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option. * src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no longer existing `_af_debug_disable_warper'. * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c (af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init) [AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the scaler flags if warping is off. * src/autofit/aftypes.h: Updated.
58f48f0d 2015-04-16 20:11:49 [autofit] Add debugging hook to disable warper. * src/autofit/afmodule.c (_af_debug_disable_warper) [FT_DEBUG_AUTOFIT]: New global variable. * src/autofit/aftypes.h: Updated. (AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet). * src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro. * src/autofi/aflatin.c (af_latin_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use of warper. * src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'. * src/autofit/aflatin2.c (af_latin2_hints_apply) [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
eae1b3e3 2015-04-13 22:40:17 [autofit,pshinter] NULL.
67b912d2 2015-04-03 22:38:11 * src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
770b5d06 2015-04-02 23:15:36 * src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
886f4d04 2015-04-01 22:57:43 [autofit] Finish the thought. * src/autofit/afhints.c (af_direction_compute): make sure the long arm is never negative so that its `FT_ABS' is not necessary.
a2fa657a 2015-04-01 15:55:41 [autofit] Call dumper functions for tracing. * src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code. * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor improvement. * src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
db8df797 2015-04-01 13:30:55 [autofit] Make debugging stuff work again. The interface to ftgrid was broken in the series of commits starting with [autofit] Allocate AF_Loader on the stack instead of AF_Module. from 2015-01-14. * src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]: Use a global AF_GlyphHintsRec object for debugging. (af_autofitter_done, af_autofitter_load_glyph): Updated. * src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
16217e5f 2015-04-01 13:13:56 * src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko.
dac5644c 2015-03-21 23:30:16 [base] Optimize `FT_Angle_Diff'. Under normal circumstances we are usually close to the desired range of angle values, so that the remainder is not really necessary. * src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder. * src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro.
d3284462 2015-03-11 16:45:58 [autofit] Add support for Arabic script. Thanks to Titus Nemeth <tn@tntypography.eu> for guidance! * src/autofit/afblue.dat: Add blue zone data for Arabic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Arabic standard characters. * src/autofit/afranges.c: Add Arabic data. * src/autofit/afstyles.h: Add Arabic data. * docs/CHANGES: Document it.
a374c9cf 2015-03-03 11:23:45 [autofit] Fix Savannah bug #44241. * src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs with less than 3 points.