summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* [smooth] Use direct rendering mode in Harmony.Alexei Podtelezhnikov2020-07-032-41/+59
| | | | | | | | | Instead of rendering 3 bitmaps side by side and reshuffling, we use direct rendering to deliver the bitmaps on each third byte. * src/smooth/ftsmooth.c (ft_smooth_raster_lcd) [!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Set up direct mode with... (ft_smooth_lcd_spans): ... new span function.
* [smooth] Separate LCD paths from gray rendering.Alexei Podtelezhnikov2020-07-032-200/+293
| | | | | | | | | | | This makes `ft_smooth_render' a lot smaller and easier to follow. It also cleanly separates Harmony and ClearType-style LCD rendering algorithms. Now I only wish to move LCD filtering and geometry from FT_Library to FT_Renderer. * src/smooth/ftsmooth.c (ft_smooth_render): Move LCD code from here... (ft_smooth_raster_lcd, ft_smooth_raster_lcdv): ... to here. [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Reorganize #ifdef's.
* [cff] Fix handling of `style_name == NULL' (#58630).Sebastian Rasmussen2020-06-202-1/+11
| | | | | | | * src/cff/cffobjs.c (cff_face_init): If a call to `cff_strcpy' fails by returning NULL in `cff_face_init', `remove_style' is still called. This means that the NULL pointer is dereferenced, causing a crash.
* Simplify unused macro.Alexei Podtelezhnikov2020-06-191-2/+1
|
* [cff] Fix another two memory leaks (#58629).Sebastian Rasmussen2020-06-192-24/+39
| | | | | | | * src/cff/cffobjs.c (cff_size_init): If a call to `funcs->create' fails to allocate one of the `internal->subfont' variables, make sure to free `internal->topfont' and any successfully allocated subfonts.
* [psaux] Fix memory leak (#58626).Sebastian Rasmussen2020-06-192-6/+13
| | | | | * src/psaux/psstack.c (cf2_stack_init): If `cf2_stack_init' fails to allocate the stack, return error early.
* Fix memory leak (#58624).Sebastian Rasmussen2020-06-192-1/+10
| | | | | | * src/base/ftobjs.c (FT_New_Size): Avoid trying to free `size->internal`, unless `size' has been allocated. This mistake appeared in the fix for 58611.
* [base] Rework d1180b5f9598 until further notice.Alexei Podtelezhnikov2020-06-192-5/+10
| | | | | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Reject large outlines.
* [cff, cid] Fix segfaults in case of error (#58621).Sebastian Rasmussen2020-06-193-2/+13
| | | | | | | * src/cff/cffobjs.c (cff_slot_done), src/cid/cidobjs.c (cid_slot_done): If `ft_glyphslot_init' fails to allocate `internal', then the class' `done_slot' callback (called by `ft_glyphslot_done') must not dereference the pointer to `internal'.
* [base] Fix UBSAN error.Werner Lemberg2020-06-192-0/+18
| | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23166 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Avoid values larger than 32 bits.
* [woff2] Fix segfault.Werner Lemberg2020-06-192-0/+17
| | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23402 * src/sfnt/sfwoff2.c (get_x_mins): Check whether `loca' table exists.
* [sfnt] Support Intel compilers.Stephen McDowell2020-06-192-1/+13
| | | | | * src/sfnt/pngshim.c (premultiply_data): Intel compilers do not currently support `__builtin_shuffle'.
* [base] Fix memory leak (#58611).Sebastian Rasmussen2020-06-192-0/+8
| | | | | * src/base/ftobjs.c (FT_New_Size): When the call to `clazz->init_size' fails, make sure to free `size->internal'.
* [cff] Fix memory leak (#58610).Sebastian Rasmussen2020-06-192-4/+15
| | | | | * src/cff/cffobjs.c (cff_size_init): When the call to `funcs->create' fails, make sure to free `internal'.
* * src/cff/cffload.c (cff_index_get_pointers): Rename `t' to `tbl'.Werner Lemberg2020-06-192-13/+20
|
* [cff] Free table upon error allocating other data (#58609).Sebastian Rasmussen2020-06-192-0/+12
| | | | | | * src/cff/cffload.c (cff_index_get_pointers): When new_bytes fails to allocate, make sure to free the table. Do the same for both allocations if there is a later error.
* woff2tags.h: Fix copyright year.Werner Lemberg2020-06-171-1/+1
|
* Remove redundant inclusion of `ft2build.h'.Werner Lemberg2020-06-13267-270/+9
| | | | | | | * */*: Remove `#include <ft2build.h>' where possible. * include/freetype/freetype.h: Remove cpp error about missing inclusion of `ft2build.h'.
* Make macros for header file names optional.David Turner2020-06-08330-1083/+1003
| | | | | | | | | | | | | | | | | We no longer have to take care of the 8.3 file name limit; this allows us (a) to introduce longer, meaningful file names, and (b) to avoid macro names in `#include' lines altogether since some compilers (most notably Visual C++) doesn't support this properly. */*: Replace #include FOO_H with #include <freetype/foo.h> or something similar. Also update the documentation.
* * src/sfnt/ttcmap.c (tt_face_build_cmaps): Trace number of cmaps.Werner Lemberg2020-06-022-1/+6
|
* Remove obsolete HAVE_STDINT_H probing macro.David Turner2020-05-183-7/+11
| | | | | | | | | This macro was updated by the unix configure script and the `CMakeLists.txt' one, but is never used in the source tree (nor is <stdint.h> included anywhere). * CMakeLists.txt, builds/unix/ftconfig.in: Don't handle `HAVE_STDINT_H'.
* Remove Jamfile files from the tree.David Turner2020-05-1831-1148/+12
| | | | | | | | These have not been used in a very, very long time, so better remove them. A corresponding patch will be submitted to the `freetype2-demos' repository. * src/Jamfile, src/*/Jamfile, Jamrules: Delete.
* [smooth] Turn on LCD filtering during FreeType initialization.Alexei Podtelezhnikov2020-05-126-32/+28
| | | | | | | | | * src/smooth/ftsmooth.c (ft_smooth_init): Enable LCD filtering. * include/freetype/ftlcdfil.h: Document it, remove patent warnings. * include/freetype/freetype.h (FT_Render_Mode): Updated. * include/freetype/config/ftoption.h, devel/ftoption.h [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Do not mention patents.
* [smooth] Stop using dedicated LCD modules and classes.Alexei Podtelezhnikov2020-05-117-112/+25
| | | | | | | | | | | | | | | The LCD modules were never truly independent. They mostly served as a way to disable patented LCD rendering, which is no longer necessary. The `smooth' module now handles LCD modes as well. * src/smooth/ftsmooth.c (ft_smooth_lcd_renderer_class. ft_smooth_lcdv_renderer_class): Deleted. (ft_render_smooth): Reworked from `ft_render_smooth_generic'. * src/smooth/ftsmooth.h: Remove dedicated LCD classes. * src/smooth/module.mk: Remove dedicated LCD modules. * include/freetype/config/ftmodule.h: Ditto. * builds/amiga/include/config/ftmodule.h: Ditto. * include/freetype/ftmodapi.h: Do not mention LCD modules.
* Formatting.Alexei Podtelezhnikov2020-05-091-3/+3
|
* * Version 2.10.2 released. ==========================VER-2-10-2Werner Lemberg2020-05-0916-68/+110
| | | | | | | | | | | | | | | | | | | | Tag sources with `VER-2-10-2'. * docs/VERSION.TXT: Add entry for version 2.10.2. * README, Jamfile (RefDoc), src/base/ftver.rc, builds/windows/vc2010/index.html, builds/windows/visualc/index.html, builds/windows/visualce/index.html, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html, docs/freetype-config.1: s/2.10.1/2.10.2/, s/2101/2102/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. * builds/unix/configure.raw (version_info): Set to 23:2:17. * CMakeLists.txt (VERSION_PATCH): Set to 2. * docs/CHANGES: Updated.
* * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#58319).Jakub Alba2020-05-082-1/+8
| | | | | The font that exceeds the old limit is Icono Regular, version 1.00000.
* Typo and comment.Alexei Podtelezhnikov2020-05-031-3/+4
|
* * builds/freetype.mk: Refactor for readability.Alexei Podtelezhnikov2020-05-033-19/+20
|
* [builds] Clean up Windows CE project files.Alexei Podtelezhnikov2020-05-028-140/+185
| | | | | | | | | | | | | Remove version from filenames that caused a lot of polution in the release process. Use VERSIONINFO resource instead. * builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/freetype.dsp: s/2101//g, but add `ftver.rc'. * builds/wince/vc2008-ce/index.html, builds/wince/vc2005-ce/index.html, builds/windows/visualce/index.html: s/2101//g.
* * devel/ft2build.h: Override FT_CONFIG_MODULES_H here as well.Alexei Podtelezhnikov2020-05-012-0/+5
|
* [builds/unix] Consolidate marco overrides (for the demos to see them).Alexei Podtelezhnikov2020-05-013-6/+13
| | | | | | * builds/unix/unix-cc.in (FT_CONFIG_MODULES_H, FT_CONFIG_OPTIONS_H): Override them here... * builds/freetype.mk: ... instead of here.
* Grammar fix for last commit.Werner Lemberg2020-04-301-2/+1
|
* CHANGES: We are going to remove Jam.Werner Lemberg2020-04-301-0/+3
|
* Allow setting `CC' in Unix build (#58051).Werner Lemberg2020-04-082-2/+13
| | | | | * builds/unix/unix-cc.in (CC): Use `override'. The command line value of `CC' (if any) is stored already in `CCraw'.
* [woff2] Return if single stream operation fails.Nikhil Ramakrishnan2020-04-043-4/+11
| | | | | | * src/sfnt/sfwoff2.c (get_x_mins): Do it. * src/sfnt/woff2tags.c: Remove unused include.
* [docs] Fix building docs if `srcdir' != `builddir'.Nikhil Ramakrishnan2020-03-224-6/+18
| | | | | | | | | | | `docs/reference/*' was moved one directory up in commit 237fed6. * builds/unix/unix-def.in (PIP): Remove variable. * configure: Create `docs' directory and copy assets from `docs/markdown'. * docs/README: Output directory is `reference'.
* [docwriter] Drop support for Python < 3.5.Nikhil Ramakrishnan2020-03-2110-28/+302
| | | | | | | | | | | | | | | | | | | | | | | | Python versions < 3.5 have reached end-of-life and as such, no security or bug fixes will be provided for those versions. See https://devguide.python.org/#status-of-python-branches for more information. * Jamfile (RefDoc): Add `site' parameter. * builds/detect.mk (std_setup): Update Python version requirement. * builds/freetype.mk (refdoc-venv): Use pip as `python -m pip'. * builds/unix/ax_compare_version.m4, builds/unix/ax_prog_python_version.m4: Macros to detect Python version. New files. * builds/unix/configure.raw: Check for Python >= 3.5 and remove check for `pip'. * docs/CHANGES, docs/INSTALL.GNU, docs/README: Updated.
* [gzip] Support `gzip' encoded header conditionally.Moazin Khatti2020-03-022-0/+29
| | | | | | | | | | | | | | | | | In order to support `gzip' encoded header the call to `inflateInit2' was modified in commit 6a92b1fadde26477a9179. However, this code breaks with the outdated internal version of zlib. This is a temporary fix to conditionally support `gzip' encoded header whenever a system installation of zlib is being used. Problem report in https://lists.nongnu.org/archive/html/freetype-devel/2020-02/msg00023.html * src/gzip/ftgzip.c (FT_Gzip_Uncompress): Change the the call to `inflateInit2' depending on whether the system installation is being used or the internal copy.
* Fix state of `FT_Face' for buggy `gvar' tables (#57923).Ben Wagner2020-02-292-21/+46
| | | | | | | | | | | | | | | | By resetting the blend as implemented with this commit fonts with invalid `gvar' tables may keep calling into `ft_var_load_gvar' from `tt_set_mm_blend' and failing, but the font was invalid anyway and we want to keep seeing the failure in `tt_set_mm_blend'. * src/truetype/ttgxvar.c (ft_var_load_gvar): Calculate length of offset array once. Allocate arrays after `FT_FRAME_ENTER' (extra check before allocating and avoid needing to free array later if error entering frame). Always call `FT_FRAME_EXIT'. Consistently set counts immediately after array initialized. Reset the blend (particularly `blend->glyphoffsets') on failure.
* ChangeLog entry for last commit.Werner Lemberg2020-02-291-0/+18
|
* Update docwriter stylesheet.Nikhil Ramakrishnan2020-03-011-47/+9
| | | | | | | | | | | | | | | | This change is required to support docwriter 1.2.1. See https://github.com/freetype/docwriter/issues/36 for more information. * docs/markdown/stylesheets/extra.css: (.md-typeset code) -> (.md-typeset pre>code) (pre) -> (pre>code) (p, .md-typeset p, h4): Remove commented styles. (table.index): Remove unused styles.
* [truetype] Add better checks for loading `gvar' table (#57905).Ben Wagner2020-02-282-30/+70
| | | | | | | | | * src/truetype/ttgxvar.c (ft_var_load_gvar): Delay settings of any `blend->xxxcount' values until the corresponding data has been checked. Also do some sanitizing to avoid a too early exit. (TT_Vary_Apply_Glyph_Deltas): Improve tracing message.
* Make `FT_HAS_*' and `FT_IS_*' really return true (#57906).Werner Lemberg2020-02-272-14/+20
| | | | * include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Implement it.
* Fix for CFF space glyph regression (#57541).Dominik Röttsches2020-02-252-4/+8
| | | | | * src/psaux/psft.c (cf2_decoder_parse_substrings): Replace early-out with FT_OFFSET.
* [woff2] Fix font table access.Werner Lemberg2020-02-222-3/+24
| | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20778 * src/sfnt/sfwoff2.c (get_x_mins): Explicitly check for presence of `head' table, which might not have been processed yet.
* [psaux] Make `t1_decoder_parse_metrics' handle `op_div' (#57519).Werner Lemberg2020-02-212-12/+58
| | | | | | * src/psaux/t1decode.c (t1_decoder_parse_metrics): Copy corresponding code from old engine's `t1_decoder_parse_charstrings' function.
* [autofit] Add support for Hanifi Rohingya script.Nikolaus Waxweiler2020-02-197-41/+105
| | | | | | | | | | * src/autofit/afblue.dat: Add blue zone data for Hanifi Rohingya. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Hanifi Rohingya standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Hanifi Rohingya data.
* Require HarfBuzz 1.8.Werner Lemberg2020-02-193-2/+12
| | | | | | | | * builds/unix/configure.raw, CMakeLists.txt: Request HarfBuzz 1.8.0 or newer. We are going to add auto-hinter support for Hanifi Rohingya, which was introduced in Unicode 11.0.
* Minor.Werner Lemberg2020-02-161-1/+1
|