Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 9adeab64 | 2016-01-13 11:54:10 | Update copyright year. | ||
| c09a90a2 | 2016-01-12 22:28:14 | Don't use macro names that start with `_[A-Z]' [3/3]. Such macro names are reserved for both C and C++. * src/cache/ftccache.h: s/_FTC_FACE_ID_HASH/FTC_FACE_ID_HASH/. Update all callers. (FTC_CACHE_LOOKUP_CMP): Replace `_XXX' with `XXX_'. * src/cache/ftcmru.c (FTC_MRULIST_LOOKUP_CMP): Ditto. | ||
| 9d0b76d7 | 2016-01-12 22:27:29 | Don't use macro names that start with `_[A-Z]' [2/3]. Such macro names are reserved for both C and C++. * include/freetype/ftimage.h, src/raster/ftraster.c, src/smooth/ftgrays.c, src/smooth/ftgrays.h: s/_STANDALONE_/STANDALONE_/. | ||
| 758587db | 2016-01-12 22:20:06 | Don't use macro names that start with `_[A-Z]' [1/3]. Such macro names are reserved for both C and C++. * src/bdf/bdflib.c: Replace macros of the form `_BDF_XXX' with `BDF_XXX_'. | ||
| 2e9d2660 | 2016-01-12 21:40:53 | Don't use macro names that contain `__' [2/2]. Such macro names are reserved for both C and C++. * src/cache/*: s/__/_/. | ||
| 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_'. | ||
| f53bab93 | 2016-01-10 12:03:36 | [cff] Fix usage of `|' operator. * src/cff/cf2intrp.c (cf2_interpT2CharString) [cf2_cmdEXTENDEDNMBR, default]: `|' is not guaranteed to be processed from left to right by the compiler. However, the code repeatedly calls `cf2_buf_readByte' to get the arguments to `|' ... Fix this. | ||
| 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. | ||
| 9c1a2b04 | 2015-12-22 12:05:46 | * src/type1/t1load.c (parse_subrs): Fix memory leak (#46744). | ||
| 7ce6c43c | 2015-12-22 05:39:58 | [base] Make hash interface symmetric. Use `num' and `str' infixes everywhere. * src/base/fthash.c (ft_hash_init): Renamed to... (hash_init): ... This. (ft_hash_str_init, ft_hash_num_init): New functions. (ft_hash_free): Renamed to... (ft_hash_str_free): ... This. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c, src/type1/t1load.c, src/type1/t1objs.c: Updated. | ||
| 60d13bd4 | 2015-12-21 17:27:17 | [type1] Avoid shift of negative numbers (#46732). * src/type1/t1load.c (parse_subrs): Do it. | ||
| bd4b8976 | 2015-12-20 19:36:04 | [type1, psaux] Handle large values of num_subrs correctly (#46692). We now use a hash to map from subr indices to array elements holding the subroutines, if necessary. * include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H. (T1_FontRec): Add `subrs_hash' field. * include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H. (T1_DecoderRec): Add `subrs_hash' field. * src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field. * src/type1/t1driver.c: Include FT_INTERNAL_HASH_H. (t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary. * src/type1/t1load.c: Include FT_INTERNAL_HASH_H. (parse_subrs): Use hash for subr indices that exceed the allocated number of subr slots. (t1_init_loader): Remove unnecessary code. (t1_done_loader, T1_Open_Face): Updated. * src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances, T1_Load_Glyph): Updated. * src/type1/t1objs.c (T1_Face_Done): Updated. * src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H. (t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if necessary. * src/cid/cidgload.c (cid_load_glyph): Updated. | ||
| 1caf629e | 2015-12-20 19:00:35 | [base] Thinko: Remove free function pointer. We don't copy keys or values while hashing. * include/freetype/internal/fthash.h (FT_Hash_FreeFunc): Removed. (FT_HashRec): Remove `free' field. * src/base/fthash.c (hash_str_free): Removed. (ft_hash_init, ft_hash_free): Updated. | ||
| 76e79ec9 | 2015-12-20 09:03:15 | [base, bdf] Don't expose `FT_Hashnode' in hash functions. * src/base/fthash.c (hash_lookup, ft_hash_str_lookup, ft_hash_num_lookup): Return pointer to `size_t' instead of `FT_Hashnode'. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c (bdf_get_property, _bdf_add_property, bdf_get_font_property): Updated. | ||
| ad306eaa | 2015-12-20 08:33:21 | [base, bdf] Add number hashing. * src/base/fthash.c (hash_num_lookup, hash_num_compare): New functions. (ft_hash_init): Add argument to select between number and string hashing. (ft_hash_num_insert, ft_hash_num_lookup): New functions. * include/freetype/internal/fthash.h: Updated. * src/bdf/bdflib.c (_bdf_parse_start): Updated. | ||
| 1b7549cc | 2015-12-20 08:00:33 | [base] Introduce hash lookup, compare, and free function pointers. * include/freetype/internal/fthash.c (FT_Hash_LookupFunc, FT_Hash_CompareFunc, FT_Hash_FreeFunc): New typedefs. (FT_HashRec): Add `lookup', `compare', and `free' fields. * src/base/fthash.c (hash_str_lookup, hash_str_compare, hash_str_free): New functions. (ft_hash_init): Set function pointers. (hash_bucket, ft_hash_free): Use them. | ||
| 609546c4 | 2015-12-20 07:17:29 | [base, bdf] Use a union as a hash key. We want to support both an integer and a string key later on. * include/freetype/internal/fthash.h (FT_Hashkey): New union. (FT_HashnodeRec): Updated. (ft_hash_insert, ft_hash_lookup): Renamed to ... (ft_hash_str_insert, ft_hash_str_lookup): ... this. * src/base/fthash.c (hash_bucket): Updated. (ft_hash_insert, ft_hash_lookup): Renamed to ... (hash_insert, hash_lookup): ... this. (ft_hash_str_insert, ft_hash_str_lookup): New wrapper functions. * src/bdf/bdflib.c: Updated. | ||
| 762b2328 | 2015-12-20 06:39:38 | Minor clean-ups. | ||
| 31343565 | 2015-12-19 17:02:13 | [bdf] Use new hash functions. * src/bdf/bdf.h: Include FT_INTERNAL_HASH_H. (hashnode, hashtable): Removed. (bdf_font_t): Use `FT_HashRec' type for `proptbl'. * src/bdf/bdflib.c: Remove all hash functions. Update code for new hash structure and function names. | ||
| c98a40f9 | 2015-12-19 16:59:40 | [bdf, base] Lift hash functions from bdf driver to base module. * src/base/fthash.c, include/freetype/internal/fthash.h: New files, containing (massaged) code from `bdflib.c' and `bdf.h'. * include/freetype/internal/internal.h (FT_INTERNAL_HASH_H): New macro. * src/base/ftbase.c: Include `fthash.c'. * src/base/Jamfile (_sources): Add `fthash'. * src/base/rules.mk (BASE_SRC): Add `fthash.c'. * docs/LICENSE.TXT: Updated. | ||
| 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. | ||
| a512b0fe | 2015-12-14 09:19:52 | [bdf] Remove dead code (#46625). The BDF specification only allows decimal numbers, no octal or hexidecimal decoding is needed. * src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos): Remove unused code and parameters. Update all callers. (odigits): Remove. | ||
| 4099281f | 2015-12-14 07:51:25 | [base] Fix calls to `FT_Stream_Seek'. * src/base/ftobjs.c (Mac_Read_sfnt_Resource, FT_Open_Face): Set `error'. | ||
| 0063649d | 2015-12-14 07:02:56 | Whitespace, `.mailmap' update. | ||
| f0cc1738 | 2015-12-14 07:00:41 | [base] Check error when seeking to data supplied offset (#46635). * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): `ft_lookup_PS_in_sfnt_stream' returns offset and and length from user supplied data. Use of this these values must be checked. | ||
| 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. | ||
| 453722db | 2015-12-05 13:20:30 | * src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces. Instead, reduce multiple spaces to a single one. We need this later for supporting character clusters in `afblue.dat'. | ||
| 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/. | ||
| a4154738 | 2015-12-03 07:49:46 | * builds/unix/install.mk (install): Remove stale `ft2build.h'. | ||
| 1b740a00 | 2015-12-02 00:30:57 | Minor rearrangement. | ||
| 5b05bc66 | 2015-12-01 12:09:02 | [type1] Avoid dangling pointer (#46572). * src/type1/t1afm.c (T1_Read_Metrics): Properly reset `face->afm_data'. | ||
| f8c20577 | 2015-11-28 22:43:33 | * include/freetype/ftlcdfil.h: Documentation tweak. | ||
| 66cf29b1 | 2015-11-28 19:08:05 | * Version 2.6.2 released. ========================= Tag sources with `VER-2-6-2'. * docs/VERSION.DLL: Update documentation and bump version number to 2.6.2. * 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.1/2.6.2/, s/261/262/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. * builds/unix/configure.raw (version_info): Set to 18:2:12. * CMakeLists.txt (VERSION_PATCH): Set to 2. * docs/CHANGES: Updated. | ||
| 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. | ||
| 25b1330a | 2015-11-28 18:07:53 | Minor documentation improvements. | ||
| 01ce1c6a | 2015-11-28 12:04:28 | Change default LCD filter to be normalized and color-balanced. Update documentation. * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update `default_filter'. | ||
| 98afe3f5 | 2015-11-28 11:58:49 | [docmaker] Allow references to section names. In the reference, we show the section's title enclosed in single quotes. * src/tools/docmaker/formatter.py (Formatter::__init__): Collect section names as identifiers. * src/tools/docmaker/tohtml.py (section_title_header): Split into... (section_title_header1, section_title_header2): ... these two strings. (HtmlFormatter::make_block_url, make_html_word, html_source_quote): Handle sections. (HtmlFormatter::section_enter): Updated to add `id' HTML attribute. | ||
| 30fdfe6c | 2015-11-27 23:16:08 | [cmake] Add script to test the config module. * builds/cmake/testbuild.sh: New file. | ||
| c80620c7 | 2015-11-27 18:37:21 | * CMakeLists.txt: Create `freetype-config.cmake' config module. | ||
| 9d0544f2 | 2015-11-27 18:28:31 | * CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'. | ||
| da97b4c4 | 2015-11-27 07:11:42 | [cmake] Add better control of library dependencies. * CMakeLists.txt: Add `WITH_*' variables to force/auto/omit ZLIB/BZip2/PNG/HarfBuzz. | ||
| 4854df62 | 2015-11-27 07:04:31 | [cmake] Make `FindHarfbuzz' observe the REQUIRED option. * builds/cmake/FindHarfBuzz.cmake: Implement it. | ||
| 5b3446b0 | 2015-11-27 06:47:13 | [cmake] Collect files specific to cmake in `builds/cmake'. * builds/FindHarfBuzz.cmake: Move to ... * builds/cmake/FindHarfBuzz.cmake: ... this place. * CMakeLists.txt (CMAKE_MODULE_PATH): Updated. | ||
| 8f982b38 | 2015-11-27 06:34:39 | CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'. | ||
| 7696e337 | 2015-11-26 14:31:08 | Use new docmaker syntax for identifiers with identical names. | ||
| 97b808fd | 2015-11-26 14:29:17 | [docmaker] Allow `foo[bar]' as identifier. We need this to handle equally named properties in different modules. * src/tools/docmaker/content.py (re_identifier), src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word, HtmlFormatter::index_exit, HtmlFormatter::section_enter, HtmlFormatter::block_enter): Handle `foo[bar]'. | ||
| 4a15013a | 2015-11-25 07:53:49 | * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480). (_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its contents. | ||
| d8fc009d | 2015-11-21 13:12:06 | Update `CHANGES' file. | ||
| 663f2d7a | 2015-11-21 06:30:43 | * include/freetype/internal/ftcalc.h: Don't use `register' keyword. This fixes compiler warnings. Reported by Behdad. | ||
| b96af12e | 2015-11-20 16:03:09 | Add `FT_LCD_FILTER_LEGACY1' enum value. This does the same as `FT_LCD_FILTER_LEGACY'. See https://bugs.freedesktop.org/show_bug.cgi?id=92981 for the reasoning. * include/freetype/ftlcdfil.h (FT_LcdFilter): New value `FT_LCD_FILTER_LEGACY1'. * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it. | ||
| 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. | ||
| 94cacac5 | 2015-11-15 04:45:42 | * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439). | ||
| 49984c9b | 2015-11-12 22:48:51 | Documentation typo. | ||
| 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. | ||
| ccd3188a | 2015-11-10 22:33:45 | Allow native CFF hinter in FT_RENDER_MODE_LIGHT. Both the native CFF hinter and the auto-hinter now have a very similar rendering style. * include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no longer implies FT_LOAD_FORCE_AUTOHINT. * include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New macro. * include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New macro. * src/cff/cffdrivr.c (cff_driver_class): Use it. * src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection logic. | ||
| 2985e4fa | 2015-11-09 21:37:40 | * src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408). | ||
| 837285e4 | 2015-11-09 09:20:08 | [truetype] Remove integer to pointer conversion compiler warning. Problem reported by Alexei. * src/truetype/ttgload.c (load_truetype_glyph): Use a solution found in the glib library to fix the issue. | ||
| abb33121 | 2015-11-08 10:00:34 | [sfnt] Accept version 3 of `EBLC' and `CBLC' tables also. * src/sfnt/ttsbit.c (tt_face_load_sbit): Implement 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. | ||
| 7363414b | 2015-11-07 06:32:46 | [ftfuzzer] Add copyright notices; do some formatting. | ||
| 0f0a6bb8 | 2015-11-05 13:48:11 | [sfnt] Ignore embedded bitmaps with zero size (#46379). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement it. | ||
| 758d55e5 | 2015-11-04 11:44:47 | [truetype] Catch infinite recursion in subglyphs (#46372). * include/freetype/internal/tttypes.h (TT_LoaderRec): New field `composites'. * src/truetype/ttgload.c: Include FT_LIST_H. (load_truetype_glyph): Add composite subglyph index to a list; abort if index is already in list. (tt_loader_init): Updated. (tt_loader_done): New function. (TT_Load_Glyph): Call `tt_loader_done'. | ||
| 040edaf5 | 2015-11-04 07:35:51 | [truetype] Better tracing of composite glyphs. * src/truetype/ttgload.c (TT_Load_Composite_Glyph, load_truetype_glyph): Implement it. | ||
| aae88087 | 2015-11-03 17:30:36 | [sfnt] Protect against zero-size bitmaps (#46345). * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check `glyph_size'. | ||
| 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. | ||
| 6bda921d | 2015-11-02 06:53:48 | [ftfuzzer] Update README file. | ||
| bcf618b2 | 2015-11-02 06:50:49 | [ftfuzzer] Add support for multiple files (patch #8779). Currently, libFuzzer only supports mutation of a single file. We circumvent this problem by using an uncompressed tar archive as multiple-file input for the fuzzer. This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing; a constructed tarball should contain a font file as the first element, and files to be attached as further elements. * src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers. (archive_read_entry_data, parse_data): New functions. (LLVMFuzzerTestOneInput): Updated. * src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom mutator for libFuzzer that can mutate tarballs in a sensible way. | ||
| 40cb1dc3 | 2015-10-31 19:08:27 | Formatting. | ||
| 57cbb8c1 | 2015-10-31 18:47:26 | [sfnt] Fix cmap 14 validation (#46346). * src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before accessing `numRanges' and `numMappings'. Fix size check for non-default UVS table. | ||
| 009cc150 | 2015-10-31 17:52:56 | [sfnt] Handle infinite recursion in bitmap strikes (#46344). * src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc, tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add argument for recursion depth. (tt_sbit_decoder_load_compound): Add argument for recursion depth. Increase recursion counter for recursive call. (tt_sbit_decoder_load_image): Add argument for recursion depth. Check recurse depth. (tt_face_load_sbit_image): Updated. | ||
| 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. | ||
| 017db03e | 2015-10-29 05:52:09 | * CMakeLists.txt: Remove code to set MSVC's /FD compiler switch. Problem reported by David Capello <davidcapello@gmail.com>; see http://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html for details. | ||
| fba29fab | 2015-10-27 21:04:48 | [pfr] Add some safety guards (#46302). * src/pfr/pfrload.h (PFR_CHECK): Rename to... (PFR_CHECK_SIZE): ... this. (PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE. * src/pfr/pfrload.c (pfr_log_font_count): Check `count'. (pfr_extra_item_load_kerning_pairs): Remove tracing message. (pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate. Allocate `chars' after doing a size checks. * src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid bitmap format to... (pfr_slot_load_bitmap): ... this function. Check bitmap size. | ||
| 4a3fce93 | 2015-10-27 19:27:39 | [pfr] Formatting, improving comments. |