diff options
author | Werner Lemberg <wl@gnu.org> | 2018-01-06 08:39:36 +0100 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2018-01-06 08:39:36 +0100 |
commit | 3758aed7605aff97d6156937efde8ec51919caab (patch) | |
tree | 66641d51d392ec19a12def886a4b8ea55faac7a3 | |
parent | b720070988ea80ca74d644cd7ab77f1f81c54a1e (diff) | |
download | freetype-3758aed7605aff97d6156937efde8ec51919caab.tar.gz |
Add `FT_Done_MM_Var'.
This is necessary in case the application's memory routines differ
from FreeType. A typical example is a Python application on Windows
that calls FreeType compiled as a DLL via the `ctypes' interface.
* include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
and define.
* docs/CHANGES: Updated.
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | docs/CHANGES | 3 | ||||
-rw-r--r-- | include/freetype/ftmm.h | 22 | ||||
-rw-r--r-- | src/base/ftmm.c | 19 |
4 files changed, 56 insertions, 1 deletions
@@ -1,3 +1,16 @@ +2018-01-06 Werner Lemberg <wl@gnu.org> + + Add `FT_Done_MM_Var'. + + This is necessary in case the application's memory routines differ + from FreeType. A typical example is a Python application on Windows + that calls FreeType compiled as a DLL via the `ctypes' interface. + + * include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare + and define. + + * docs/CHANGES: Updated. + 2018-01-03 Werner Lemberg <wl@gnu.org> [truetype] Round offsets of glyph components only if hinting is on. diff --git a/docs/CHANGES b/docs/CHANGES index b9e3d4767..0a83aa2e7 100644 --- a/docs/CHANGES +++ b/docs/CHANGES @@ -56,6 +56,9 @@ CHANGES BETWEEN 2.8.1 and 2.8.2 PostScript name is provided, not looking up special entries for named instances. + - A new function `FT_Done_MM_Var' is provided to free the memory + returned in a call to `FT_Get_MM_Var'. + - On platforms using the `configure' script, the installed `ftoption.h' file now correctly reflects configuration options like `--with-harfbuzz'. diff --git a/include/freetype/ftmm.h b/include/freetype/ftmm.h index 8502b88af..7ba34bba5 100644 --- a/include/freetype/ftmm.h +++ b/include/freetype/ftmm.h @@ -286,7 +286,7 @@ FT_BEGIN_HEADER /* <Output> */ /* amaster :: The variation descriptor. */ /* Allocates a data structure, which the user must */ - /* deallocate with `free' after use. */ + /* deallocate with a call to @FT_Done_MM_Var after use. */ /* */ /* <Return> */ /* FreeType error code. 0~means success. */ @@ -299,6 +299,26 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Function> */ + /* FT_Done_MM_Var */ + /* */ + /* <Description> */ + /* Free the memory allocated by @FT_Get_MM_Var. */ + /* */ + /* <Input> */ + /* library :: A handle of the face's parent library object that was */ + /* used in the call to @FT_Get_MM_Var to create `amaster'. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Done_MM_Var( FT_Library library, + FT_MM_Var *amaster ); + + + /*************************************************************************/ + /* */ + /* <Function> */ /* FT_Set_MM_Design_Coordinates */ /* */ /* <Description> */ diff --git a/src/base/ftmm.c b/src/base/ftmm.c index c8b6d1361..800441bca 100644 --- a/src/base/ftmm.c +++ b/src/base/ftmm.c @@ -148,6 +148,25 @@ /* documentation is in ftmm.h */ FT_EXPORT_DEF( FT_Error ) + FT_Done_MM_Var( FT_Library library, + FT_MM_Var* amaster ) + { + FT_Memory memory; + + + if ( !library ) + return FT_THROW( Invalid_Library_Handle ); + + memory = library->memory; + FT_FREE( amaster ); + + return FT_Err_Ok; + } + + + /* documentation is in ftmm.h */ + + FT_EXPORT_DEF( FT_Error ) FT_Set_MM_Design_Coordinates( FT_Face face, FT_UInt num_coords, FT_Long* coords ) |