Commit Graph

4931 Commits

Author SHA1 Message Date
Priyeshkkumar c96739bfc9 * builds/windows/ftdebug.c (ft_logging_init, ft_logging_init):
Fixed coding style.

    * src/base/ftdebug.c (ft_logging_init): Fixed coding style.
2020-08-24 13:47:38 +05:30
Priyeshkkumar ec03321013 * src/sfnt/ttload.c (tt_face_load_font_dir): Changed layout of tracing
messages.

    * src/base/ftdebug.c (ft_logging_init): Fix Seg fault.
2020-08-24 12:28:12 +05:30
Priyeshkkumar 4f472b5799 * include/freetype/ftlogging.h (FT_Trace_Set_Level): Use more relevant
parameters name in function declaration.
    (FT_Custom_Log_Handler): Changed function name `ft_custom_log_handler'->
    `FT_Custom_Log_Handler'.
    Updated documentation.

    * include/freetype/ftchapters.h: Added `debugging_apis' section under
    `support_api' chapter.

    * .gitmodules: Updated submodule to track recent changes in dlg library.

    * src/base/ftdebug.c (ft_log_handler): Updated code according to the
    recent updates in dlg library.
    (ft_logging_init): Added environment variable `FT_LOGGING_FILE', the
    variable `ft_fileptr' stores it's value.
    Changed function name `ft_custom_log_handler'->
    `FT_Custom_Log_Handler'.

    * include/freetype/internal/ftdebug.h: Changed function name
    `ft_custom_log_handler'-> `FT_Custom_Log_Handler'.

    * README.git: Updated documentation.

    * docs/DEBUG: Updated documentation.
2020-08-24 10:58:17 +05:30
Priyeshkkumar 17700d419b * include/freetype/internal/ftdebug.h (FT_LOG ): Use more relevant
temporary variable name, to hold the name of FT_COMPONENT.
    (FT_ERROR): Store the name of `FT_COMPONENT' in a temporary variable
    and then pass it as a parameter to `ft_add_tag' and `ft_remove_tag'.

    * src/base/ftdebug.c : Updated Comments.
    (FT_Trace_Set_Level, FT_Trace_Set_Default_Level): Reinitialize the
    values of `ft_timestamp_flag' and `ft_component_flag' every time
    `FT_Trace_Set_Level' and `FT_Trace_Set_Default_Level' is used.
2020-08-21 12:18:07 +05:30
Priyesh Kumar d86528a78e * src/base/ftobjs.c (Mac_Read_POST_Resource): Fixed `-Wformat'
warnings.

    *  src/bdf/bdflib.c (ACMSG3, ACMSG7): Fixed `-Wformat' warnings.
2020-08-14 11:34:41 +05:30
Priyeshkkumar 008ee3ebca * src/base/ftdebug.c (ft_log_handler): Fix "-Wunused-parameter" warning.
* include/freetype/ftlogging.h ( FTLOGGING_H_ ): Added Include guard.

    * src/*: Fixed format specifiers.

    * [priyesh]ChangeLog: Fix typo.
2020-08-12 14:47:03 +05:30
Priyesh Kumar 141ac5301b [build] Fix MinGW errors while building dlg with FreeType on Windows.
* builds/freetype.mk (DLG_DIR): New variable to include dlg's header
files.
(INCLUDES): Added `DLG_DIR'
When using MinGW to build dlg along with FreeType on Windows there are
missing dlg's include files errors. Therefore we need to add path to dlg's
include files to remove the errors.

* src/base/ftsystem.c: Fix `-Wformat' warnings.
2020-08-06 06:21:22 +05:30
Priyeshkkumar b528826f69 Merging master branch with priyeshLogLibrary branch 2020-07-28 13:43:28 +05:30
Priyeshkkumar a0f918d1f1 Minor Changes 2020-07-22 19:46:14 +05:30
Priyesh Kumar 117da1f7e6 Minor Changes in autogen.sh and builds/toplevel.mk 2020-07-22 13:26:41 +05:30
Priyeshkkumar 9bd35c7d91 Updated builds/toplevel.mk for builds that don't use ./configure 2020-07-22 16:52:51 +05:30
Priyeshkkumar 1e1912dbac Started working on build process 2020-07-20 18:13:17 +05:30
Priyeshkkumar afa548bb74 Added a flag to toggle ON/OFF the printing of FT_COMPONENT and Timestamp with actual log message 2020-07-13 18:37:34 +05:30
Priyeshkkumar 0c793e381c Added code to print FT_COMPONENT and Time Stamp 2020-07-05 00:33:48 +05:30
Priyeshkkumar bfe6d5218a Added support of callback functions to handle logs outside FreeType 2020-07-04 13:09:33 +05:30
Priyeshkkumar b378812f22 Updates on dynamic change of trace level 2020-07-03 15:00:27 +05:30
Priyeshkkumar fde1c1698d Minor Updates on FT_ERROR part 2020-07-02 22:21:46 +05:30
Priyeshkkumar 1d6ffcc77a Added public APIs to set new/default trace level, started working on Callback function 2020-07-02 19:50:49 +05:30
Priyeshkkumar 52926578db Addded logic to print trace messages to a file 2020-06-30 17:44:52 +05:30
Priyeshkkumar 421bb589e6 Added functions to initialize and un-initialize logging 2020-06-29 21:53:44 +05:30
Priyeshkkumar 01ce8ff340 Implemented a basic integration of dlg with FreeType 2020-06-29 17:49:57 +05:30
Sebastian Rasmussen a443474755 [cff] Fix handling of `style_name == NULL' (#58630).
* 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.
2020-06-20 05:31:34 +02:00
Sebastian Rasmussen f594ffdc35 [cff] Fix another two memory leaks (#58629).
* 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.
2020-06-19 18:55:49 +02:00
Sebastian Rasmussen 2e2f3cb5ba [psaux] Fix memory leak (#58626).
* src/psaux/psstack.c (cf2_stack_init): If `cf2_stack_init' fails to
allocate the stack, return error early.
2020-06-19 18:51:33 +02:00
Sebastian Rasmussen 09b98060d3 Fix memory leak (#58624).
* 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.
2020-06-19 18:49:36 +02:00
Alexei Podtelezhnikov 6e722f2eaa [base] Rework d1180b5f95 until further notice.
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Reject large
outlines.
2020-06-19 08:39:23 -04:00
Sebastian Rasmussen 8ed5a2477e [cff, cid] Fix segfaults in case of error (#58621).
* 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'.
2020-06-19 10:37:50 +02:00
Werner Lemberg d1180b5f95 [base] Fix UBSAN error.
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.
2020-06-19 08:18:26 +02:00
Werner Lemberg 4d364b6821 [woff2] Fix segfault.
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.
2020-06-19 05:41:37 +02:00
Stephen McDowell d924c5cf7e [sfnt] Support Intel compilers.
* src/sfnt/pngshim.c (premultiply_data): Intel compilers do not
currently support `__builtin_shuffle'.
2020-06-19 04:14:39 +02:00
Sebastian Rasmussen a4429959b0 [base] Fix memory leak (#58611).
* src/base/ftobjs.c (FT_New_Size): When the call to `clazz->init_size'
fails, make sure to free `size->internal'.
2020-06-19 03:57:21 +02:00
Sebastian Rasmussen 575b78d9e3 [cff] Fix memory leak (#58610).
* src/cff/cffobjs.c (cff_size_init): When the call to
`funcs->create' fails, make sure to free `internal'.
2020-06-19 03:53:27 +02:00
Werner Lemberg 74cebeae12 * src/cff/cffload.c (cff_index_get_pointers): Rename `t' to `tbl'. 2020-06-19 03:41:12 +02:00
Sebastian Rasmussen c8cd139c30 [cff] Free table upon error allocating other data (#58609).
* 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.
2020-06-19 03:37:32 +02:00
Werner Lemberg 7438235b42 woff2tags.h: Fix copyright year. 2020-06-17 15:12:30 +02:00
Werner Lemberg 1658685967 Remove redundant inclusion of `ft2build.h'.
* */*: Remove `#include <ft2build.h>' where possible.

* include/freetype/freetype.h: Remove cpp error about missing
inclusion of `ft2build.h'.
2020-06-13 21:15:45 +02:00
David Turner e13391333f Make macros for header file names optional.
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.
2020-06-08 13:31:55 +02:00
Werner Lemberg 9e6e903cc4 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Trace number of cmaps. 2020-06-02 17:14:54 +02:00
David Turner 4eee13404d Remove Jamfile files from the tree.
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.
2020-05-18 17:56:06 +02:00
Alexei Podtelezhnikov 3f70e6d20c [smooth] Turn on LCD filtering during FreeType initialization.
* 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.
2020-05-12 00:38:46 -04:00
Alexei Podtelezhnikov 652f886319 [smooth] Stop using dedicated LCD modules and classes.
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.
2020-05-11 23:30:37 -04:00
Werner Lemberg 132f19b779 * Version 2.10.2 released. ==========================
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.
2020-05-09 07:09:40 +02:00
Jakub Alba a45da25349 * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#58319).
The font that exceeds the old limit is Icono Regular, version
1.00000.
2020-05-08 10:59:37 +02:00
Nikhil Ramakrishnan 7a019a63ed [woff2] Return if single stream operation fails.
* src/sfnt/sfwoff2.c (get_x_mins): Do it.

* src/sfnt/woff2tags.c: Remove unused include.
2020-04-04 14:06:37 +05:30
Moazin Khatti 6a431038c9 [gzip] Support `gzip' encoded header conditionally.
In order to support `gzip' encoded header the call to
`inflateInit2' was modified in commit 6a92b1fadd.
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.
2020-03-02 18:21:27 +05:00
Ben Wagner 11975fe9f6 Fix state of `FT_Face' for buggy `gvar' tables (#57923).
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.
2020-02-29 20:29:14 +01:00
Ben Wagner 216e077600 [truetype] Add better checks for loading `gvar' table (#57905).
* 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.
2020-02-28 07:43:00 +01:00
Dominik Röttsches 5b1a37af56 Fix for CFF space glyph regression (#57541).
* src/psaux/psft.c (cf2_decoder_parse_substrings): Replace early-out
  with FT_OFFSET.
2020-02-25 11:02:28 +01:00
Werner Lemberg fa147af4a5 [woff2] Fix font table access.
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.
2020-02-22 18:30:46 +01:00
Werner Lemberg 6e49dff005 [psaux] Make `t1_decoder_parse_metrics' handle `op_div' (#57519).
* src/psaux/t1decode.c (t1_decoder_parse_metrics): Copy
corresponding code from old engine's `t1_decoder_parse_charstrings'
function.
2020-02-21 21:00:04 +01:00