|
89184195
|
2021-01-16T07:53:09
|
|
README, README.git: First updates due to freedesktop.org migration.
|
|
268bdd77
|
2021-01-15T14:49:32
|
|
CHANGES: Mention 'COLR' v1 support.
|
|
ba1a6acf
|
2021-01-15T10:09:00
|
|
[sfnt] Additional checks for 'colr' table presence.
* sfnt/ttcolr.c (tt_face_get_colr_glyph_paint,
tt_face_get_colorline_stops, tt_face_get_paint): Additional checks
for whether colr table is present. Prevents crashes when these
methods are called on non-COLR fonts.
|
|
53fea877
|
2021-01-14T16:06:03
|
|
Add config option to test for 'COLR' v1 support in headers.
* include/freetype/config/ftoption.h (TT_SUPPORT_COLRV1): New macro
so that clients can test whether the FreeType checkout that they are
building against supports the 'COLR' v1 API. This is intended to be
a temporary solution until 'COLR' v1 support is released in a
FreeType version and such a check can be made by using the version
number instead.
|
|
be06a9d0
|
2020-12-16T17:02:22
|
|
[sfnt] Add 'COLR' v1 API to iterate color stops (#59703).
* src/sfnt/ttcolr.c (tt_face_get_colorline_stops): New function to
return the current `FT_ColorStop` object from `FT_ColorStopIterator`.
Also increment the iterator.
* src/sfnt/ttcolr.h: Updated.
|
|
cdad4db4
|
2020-12-16T16:52:24
|
|
[sfnt] Add API to get actual paint from `FT_OpaquePaint` (#59703).
* src/sfnt/ttcolr.c (tt_face_get_paint): New function to resolve an
`FT_OpaquePaint` paint reference into an `FT_COLR_Paint` object of a
certain format, which contains the detailed information stored in a
paint of the respective format.
(read_paint): New function to provide the format specific parsing
and to populate the data members of each specific `FT_COLR_Paint`
subtype.
(read_color_line): New function to parse retrieved color line
information into an `FT_ColorLine` object, which has information
about the color line extend mode as well as an
`FT_ColorStopIterator` object.
* src/sfnt/ttcolr.h: Updated.
|
|
4b58cf47
|
2020-12-16T17:18:56
|
|
[base] Fill 'COLR' v1 API templates to make them work (#59703).
* src/base/ftobjs.c (FT_Get_Color_Glyph_Paint, FT_Get_Paint_Layers,
FT_Get_Paint, FT_Get_Colorline_Stops): Add basic sanity checks,
check for existence of `FT_Face`, check arguments and delegate calls
for the respective 'COLR' v1 API to the SFNT driver.
|
|
d3e95d97
|
2020-12-16T17:12:30
|
|
[sfnt] Register 'COLR' v1 API in driver (#59703).
* include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_Paint_Func,
TT_Get_Paint_Layers_Func, TT_Get_Colorline_Stops_Func,
TT_Get_Paint_Func): New function pointer types.
(SFNT_Interface): Add them.
(FT_DEFINE_SFNT_INTERFACE): Updated.
* src/sfnt/sfdriver.c (PUT_COLOR_LAYERS_V1): New macro.
(sfnt_interface): Add new function pointers.
|
|
6260b490
|
2020-12-16T17:06:42
|
|
[sfnt] Add 'COLR' v1 API to retrieve color layers (#59703).
* src/sfnt/ttcolr.c (tt_face_get_paint_layers): New function to get
the layers of a `PaintColrLayers` table in the font, using an
`FT_LayerIterator` from an `FT_PaintColrLayers` object retrieved via
`tt_face_get_paint`.
* src/sfnt/ttcolr.h: Updated.
|
|
9e422b67
|
2020-12-16T16:44:34
|
|
[sfnt] Add API to retrieve 'COLR' v1 root paint (#59703).
* src/sfnt/ttcolr.c (BaseGlyphV1Record): New structure.
(tt_face_load_colr): Handle version 1 table header.
(find_base_glyph_v1_record): New auxiliary function.
(tt_face_get_colr_glyph_paint): New function to find the root
`FT_OpaquePaint` object for a given glyph ID.
* src/sfnt/ttcolr.h: Updated.
|
|
08dba4dc
|
2020-12-16T16:14:19
|
|
Add new methods required for 'COLR' v1 to public API (#59703).
* include/freetype/freetype.h (FT_Get_Color_Glyph_Paint): New method
for retrieving the root paint object for a color glyph by specifying
a glyph ID.
(FT_Get_Paint_Layers): New method for retrieving the layers of a
`PaintColorGlyph`.
(FT_Get_ColorLine_Stops): New method for retrieving the stops of a
color.
(FT_Get_Paint): New method for resolving an `FT_OpaquePaint` into an
`FT_COLR_Paint` object.
|
|
f57c24db
|
2020-12-16T16:02:02
|
|
Add types required for 'COLR' v1 to public API (#59703).
* include/freetype/freetype.h (FT_PaintFormat, FT_ColorStopIterator,
FT_ColorIndex, FT_ColorStop, FT_PaintExtend, FT_ColorLine,
FT_Affine23, FT_CompositeMode, FT_OpaquePaint, FT_PaintColrLayers,
FT_PaintSolid, FT_PaintLinearGradient, FT_PaintRadialGradient,
FT_PaintGlyph, FT_PaintColrGlyph, FT_PaintTransformed,
FT_PaintTranslate, FT_PaintRotate, FT_PaintSkew, FT_PaintComposite,
FT_COLR_Paint): Adding structs and enum to represent paint format,
color stop information, gradient extend information, structs to
reference paint offsets, and to define transforms and compositions.
Adding a union type to represent the union of the structs,
distinguished by `FT_PaintFormat`.
|
|
03ceda97
|
2021-01-10T15:34:46
|
|
* builds/*: s/BUILD_DIR/PLATFORM_DIR/.
The old variable name caused confusion.
|
|
34315538
|
2021-01-08T13:22:34
|
|
[builds] Revert `FTMODULE_H' changes.
* builds/toplevel.mk, builds/freetype.mk: Revert changes.
|
|
0901a6f7
|
2021-01-07T19:43:15
|
|
Tweak .gitignore.
|
|
6f24bab6
|
2021-01-07T16:57:13
|
|
[builds/windows] Fix up DLG build with VC++.
* builds/windows/vc2010/script.bat: Copy headers to include/.
* builds/windows/vc2010/freetype.vcxproj: Remove DLG paths.
|
|
576403f2
|
2021-01-07T16:02:32
|
|
[builds] Relocate `FTMODULE_H'.
* builds/toplevel.mk: Place `FTMODULE_H' in include/.
* builds/freetype.mk: Simplify included path.
|
|
cbc14b10
|
2021-01-07T10:13:15
|
|
Fix ABI incompatibility.
* include/freetype/ftimage.h (FT_Pixel_Mode): Don't insert
`FT_PIXEL_MODE_GRAY16' but append it.
* src/base/ftobjs.c (pixel_modes): Updated.
|
|
8afc1854
|
2021-01-07T10:04:24
|
|
Fix typos from last commit.
|
|
6369058e
|
2021-01-07T00:13:23
|
|
[dlg] Move the headers to include/dlg to simplify their use.
* autogen.sh, builds/toplevel.mk: Copy headers to incluide/dlg.
* builds/freetype.mk, builds/windows/vc2010/freetype.vcxproj:
Simplify included path.
* include/freetype/internal/ftdebug.h: Simplify #include.
* src/dlg/rules.mk, .gitignore: Updated.
|
|
f88c00e4
|
2021-01-06T19:19:29
|
|
* meson.build: Add summary.
Based on a patch from Vincent Torri <vincent.torri@gmail.com>.
|
|
c6345ca3
|
2021-01-06T08:55:16
|
|
* meson.build: Fix 'png' build option (#59458).
Without this patch, 'png' is always required.
|
|
74f1b6be
|
2021-01-04T23:35:01
|
|
[builds/windows] Add SDF to VC2010 project.
* builds/windows/vc2010/freetype.vcxproj: Updated;
AfterBuild conveniences.
|
|
c6ff2556
|
2020-12-26T10:50:21
|
|
[sdf] Use 'counter-clockwise', not 'anti-clockwise'.
We prefer US nomenclature.
* src/sdf/ftsdf.c (SDF_Contour_Orientation):
s/SDF_ORIENTATION-ACW/SDF_ORIENTATION_CCW/.
Update all users.
|
|
bca740d5
|
2020-12-26T08:55:49
|
|
Typo.
|
|
b6c8542d
|
2020-12-26T08:51:46
|
|
* src/base/ftobjs.c (pixel_modes): Updated.
|
|
10a5dfec
|
2020-12-26T08:34:38
|
|
[sdf] Remove custom memory tracker.
The internal FreeType memory tracker is sufficient.
* src/sdf/ftsdf.c (FT_DEBUG_INNER, FT_ASSIGNP_INNER, SDF_MemoryUser,
sdf_alloc, sdf_free, SDF_ALLOC, SDF_FREE,
SDF_MEMORY_TRACKER_DECLARE, SDF_MEMORY_TRACKER_SETUP,
SDF_MEMORY_TRACKER_DONE): Removed.
s/SDF_ALLOC/FT_ALLOC/.
s/SDF_FREE/FT_FREE/.
Other updates.
|
|
a8d3ad35
|
2020-12-24T08:43:55
|
|
.mailmap: Updated and synchronized with 'freetype2-demos' repository.
|
|
286e9e0d
|
2020-12-24T08:41:12
|
|
[sdf] Two more copyright notices.
|
|
3c983eb8
|
2020-12-24T08:36:09
|
|
[sdf] Fix `make multi`.
* src/sdf/ftsdf.c: Include `ftoutln.h`.
|
|
aa1b5362
|
2020-12-24T08:32:04
|
|
[sdf] Fix tracing.
* include/freetype/internal.fttrace.h: Add 'bsdf' component.
* src/sdf/ftbsdf.c, src/sdf/ftsdf.c (FT_COMPONENT): Define.
|
|
04a64432
|
2020-12-24T08:29:05
|
|
[sdf] Add copyright notices.
|
|
eb2b5bb1
|
2020-12-24T07:44:16
|
|
docs/CHANGES: Mention new SDF module.
|
|
b298a644
|
2020-08-21T04:59:08
|
|
[sdf] Add debugging function.
* src/sdf/ftsdf.c (sdf_shape_dump): New function.
|
|
6444875f
|
2020-08-21T03:59:23
|
|
[sdf] Add brief technical overview of both rasterizers.
|
|
6cd6df55
|
2020-08-20T21:57:43
|
|
[sdf] Add 'bsdf' renderer to 'sdf' module.
* src/sdf/ftsdfrend.c (ft_bsdf_render): New function.
(ft_bitmap_sdf_renderer_class): New structure.
|
|
d27d107f
|
2020-08-20T21:25:46
|
|
[sdf] Add interface functions for the 'bsdf' rasterizer.
* src/sdf/ftsdf.c (bsdf_raster_new, bsdf_raster_reset,
bsdf_raster_set_mode, bsdf_raster_render, bsdf_raster_done): New
functions.
(ft_bitmap_sdf_raster): New variable.
* src/sdf/ftsdf.h: Updated.
|
|
a2113475
|
2020-08-20T21:21:33
|
|
[sdf] Add function to copy SDF data into output bitmap.
* src/sdf/ftbsdf.c (finalize_sdf): New function.
|
|
e2ae96b9
|
2020-08-20T21:19:32
|
|
[sdf] Add '8-point sequential Euclidean distance mapping' algorithm.
* src/sdf/ftbsdf.c (compare_neighbor, first_pass, second_pass,
edt8): New functions.
|
|
6b9a8044
|
2020-08-20T21:09:23
|
|
[sdf] Add function to copy source bitmap to distance map.
* src/sdf/ftbsdf.c (bsdf_init_distance_map): New function.
|
|
0f644f38
|
2020-08-20T09:25:15
|
|
[sdf] Add functions to compute pixel edge distances.
* src/sdf/ftbsdf.c (compute_edge_distance, bsdf_approximate_edge):
New functions.
|
|
c5761764
|
2020-08-20T09:20:26
|
|
[sdf] Add function to find edge pixels in a grid of alpha values.
* src/sdf/ftbsdf.c (bsdf_is_edge): New function.
|
|
9bbb3611
|
2020-08-20T09:17:38
|
|
[sdf] Add essential structures for the 'bsdf' rasterizer.
* src/sdf/ftbsdf.c (ONE): New macro.
(BSDF_TRaster, ED, BSDF_Worker): New structures.
(zero_ed): New constant.
|
|
c6f394bf
|
2020-08-20T08:28:14
|
|
[sdf] Add 'sdf' module to non-gnumake build systems.
* include/freetype/config/ftmodule.h: Add both the 'sfd' and 'bsfd'
renderers to the list of modules.
* CMakeLists.txt (BASE_SRCS): Add 'sdf' single-object module.
|
|
05f6088d
|
2020-08-20T07:54:13
|
|
[sdf] Added basic overlapping contour support.
* src/sdf/ftsdf.c (sdf_generate_with_overlaps): New function.
(sdf_raster_render): Enable it.
|
|
879ca87f
|
2020-08-19T16:57:38
|
|
[sdf] Add build infrastructure.
* src/sdf/module.mk, src/sfd/rules.mk: New files.
* src/sdf/ftsdf.h (ft_sdf_raster): New forward declaration.
* include/freetype/ftmoderr.h (FT_MODERRDEF): Add error definition
for the 'sdf' module.
* include/freetype/internal/fttrace.h (FT_TRACE_DEF): Add trace
definition for the `sdf' module.
* modules.cfg (RASTER_MODULES): Add the `sdf' module to the list of
rasterizers.
|
|
665ac967
|
2020-08-19T16:29:51
|
|
[sdf] Add interface functions for the 'sdf' rasterizer.
* src/sdf/ftsdf.c (sdf_raster_new, sdf_raster_reset,
sdf_raster_set_mode, sdf_raster_render, sdf_raster_done): New
functions.
(ft_sdf_raster): New structure.
|
|
1010f2c3
|
2020-08-19T16:25:08
|
|
[sdf] Add subdivision and bounding box optimization.
* src/sdf/ftsdf.c (sdf_generate_bounding_box): New function, which
is an optimized version of `sdf_generate`.
(sdf_generate_subdivision): New function.
|
|
986d3108
|
2020-08-19T12:56:58
|
|
[sdf] Add function to generate SDF.
* src/sdf/ftsdf.c (sdf_generate): New function, currently disabled.
This is a proof-of-concept implementation: It doesn't use any
optimization, it simply checks all grid points against all contours.
|
|
0d52f4ae
|
2020-08-19T12:22:34
|
|
[sdf] Add functions to get shortest distance from any edge/contour.
* src/sdf/ftsdf.c (sdf_edge_get_min_distance): New function.
(sdf_contour_get_min_distance): New function, currently disabled.
|
|
81e32986
|
2020-08-18T17:49:56
|
|
[sdf] Add shortest distance finding functions.
* src/sdf/ftsdf.c (get_min_distance_line, get_min_distance_conic,
get_min_distance_cubic): New functions. Note that
`get_min_distance_conic` comes with two implementations (using an
analytical and an iterative method, to be controlled with the
`USE_NEWTON_FOR_CONIC` macro).
|
|
c918b54f
|
2020-08-18T10:28:16
|
|
[sdf] Add function to resolve corner distances.
* src/sdf/ftsdf.c (resolve_corner): New function.
|
|
a255125f
|
2020-08-18T10:17:46
|
|
[sdf] Add essential math functions.
* src/sdf/ftsdf.c (cube_root, arc_cos) [!USE_NEWTON_FOR_CONIC]: New
auxiliary functions.
* src/sdf/ftsdf.c (solve_quadratic_equation, solve_cubic_equation)
[!USE_NEWTON_FOR_CONIC]: New functions.
|
|
cd413845
|
2020-08-18T10:14:20
|
|
[sdf] Add utility functions for contours.
* src/sdf/ftsdf.c (get_control_box, get_contour_orientation): New
functions.
(split_conic, split_cubic, split_sdf_conic, split_sdf_cubic,
split_sdf_shape): New functions.
|
|
2de1b563
|
2020-08-17T16:36:30
|
|
[sdf] Add functions to decompose `FT_Outline`.
* src/sdf/ftsdf.c (sdf_move_to, sdf_line_to, sdf_conic_to,
sdf_cubic_to): New auxiliary decomposition functions.
(sdf_compose_funcs): New structure.
(sdf_outline_decompose): New function.
|
|
cf0464d8
|
2020-08-17T16:24:39
|
|
[sdf] Structs, enums, macros, and functions for 'sdf' rasterizer.
* src/sdf/ftsdf.c (FT_DEBUG_INNER, FT_ASSIGNP_INNER)
[FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New macros.
(SDF_MemoryUser) [FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New
struct for memory usage tracing.
(sdf_alloc, sdf_free) [FT_DEBUG_LEVEL_TRACE && FT_DEBUG_MEMORY]: New
functions for memory usage tracing.
(SDF_ALLOC, SDF_FREE): New macros for memory management.
(SDF_MEMORY_TRACKER_DECLARE, SDF_MEMORY_TRACKER_SETUP,
SDF_MEMORY_TRACKER_DONE): New macros to set up memory usage tracing.
(USE_NEWTON_FOR_CONIC, MAX_NEWTON_DIVISIONS, MAX_NEWTON_STEPS,
CORNER_CHECK_EPSILON, CG_DIMEN): New configuration macros for
controlling the process of finding the shortest distance.
(MUL_26D6, VEC_26D6_DOT): New auxiliary macros.
(SDF_TRaster, SDF_Edge, SDF_Contour, SDF_Shape, SDF_Signed_Distance,
SDF_Params): New structs for setting up SDF data.
(SDF_Edge_Type, SDF_Contour_Orientation): New enums for SDF data.
(zero_vector, null_edge, null_contour, null_shape, max_sdf): Useful
constants.
(sdf_edge_new, sdf_edge_done, sdf_contour_new, sdf_contour_done,
sdf_shape_new, sdf_shape_done): New constructors and destructors.
|
|
c6ec87ec
|
2020-08-17T16:11:56
|
|
[sdf] Add raster parameters structure.
* src/sdf/ftsdf.h (SDF_Raster_Params): New structure.
* src/sdf/sdf.c: Include source files in order to make a single
object of the module.
|
|
56d27d32
|
2020-08-17T11:47:26
|
|
[sdf] Add 'sdf' renderer.
* src/sdf/ftsdf.c: Add 'sdf' renderer along with its interface
functions.
Also add functions to set and get properties.
|
|
21627032
|
2020-08-17T11:40:57
|
|
[sdf] Add common elements for 'sdf' and 'bsdf' renderers.
* src/sdf/ftsdfrend.h (SDF_Rendere_Module, ft_sdf_renderer_class,
ft_bitmap_sdf_renderer_class): New structures.
* src/sdf/ftsdfcommon.h (DEFAULT_SPREAD, MIN_SPREAD_MAX_SPREAD,
USE_SQUARED_DISTANCES): New macros.
(FT_INT_26D6, FT_INT_16D16, FT_26D6_16D16): New macros.
(FT_CALL, VECTOR_LENGTH_16D16): New macros.
(FT_26D6_Vec, FT_16D16_Vec, FT_16D16, FT_26D6, FT_6D10, FT_CBox):
New typedefs.
(square_root): New macro.
* src/sdf/ftsdferrs.h: Add module error setup.
|
|
cd6ff28a
|
2020-08-16T17:09:22
|
|
[sdf] Add files for new 'sdf' module.
Here is a breakdown of what the files will contain.
* src/sdf/ftsdfrend.c, src/sdf/ftsdfrend.h: The 'sdf' and 'bsdf'
renderers.
* src/sdf/ftsdf.c, src/sdf/ftsdf.h: The rasterizer for the 'sdf'
renderer.
* src/sdf/ftbsdf.c, src/sdf/ftbsdf.h: The rasterizer for the 'bsdf'
renderer.
* src/sdf/ftsdfcommon.h: Commmon properties and functions for both
rasterizers.
* src/sdf/ftsdferrs.h: Common error defines.
* src/sdf/sdf.c: For building a single object of the entire module.
|
|
5a1b9d01
|
2020-08-16T09:06:59
|
|
[base] Allow renderers of different formats.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Do not return if the
glyph's slot format is `FT_GLYPH_FORMAT_BITMAP`. The forthcoming
'bsdf' renderer will require bitmaps for processing.
* src/base/ftobjs.c (ft_add_renderer, ft_remove_renderer): Remove
renderer's glyph format check before adding and removing them. The
'bsdf' renderer will have a format `FT_GLYPH_FORMAT_BITMAP`.
|
|
ec9b6c31
|
2020-08-16T10:47:41
|
|
Add data types required for the forthcoming 'sdf' module.
* include/freetype/freetype.h (FT_Render_Mode): Add new render mode
`FT_RENDER_MODE_SDF`, which will be used to generate SDF.
* include/freetype/ftimage.h (FT_Pixel_Mode): Add new pixel mode
`FT_PIXEL_MODE_GRAY16`, which will be the output of the 'sdf'
module.
(FT_RASTER_FLAG_SDF): New raster flag to be used internally by the
'sdf' module.
* include/freetype/fttypes.h (FT_F6Dot10): New data type.
|
|
3b9196c4
|
2020-08-16T09:06:59
|
|
[base] Allow renderers of different formats.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Do not return if the
glyph's slot format is `FT_GLYPH_FORMAT_BITMAP`. The forthcoming
'bsdf' renderer will require bitmaps for processing.
* src/base/ftobjs.c (ft_add_renderer, ft_remove_renderer): Remove
renderer's glyph format check before adding and removing them. The
'bsdf' renderer will have a format `FT_GLYPH_FORMAT_BITMAP`.
|
|
2373074a
|
2020-12-23T22:02:48
|
|
* builds/windows/detect.mk (COPY): Make it work with `shell`.
Without this patch, we get the error
builds/toplevel.mk:127: *** missing separator. Stop.
Reported by Anuj, with a solution from Alexei.
|
|
768022b9
|
2020-12-23T11:30:19
|
|
meson.build (ft2_defines): Fix builds on Windows.
|
|
0d5f1dd3
|
2020-12-18T22:10:30
|
|
[autofit] Fix double division in stem darkening.
The old code used to divide the darkening amount by em_ratio twice,
leading to unnecessarily bold stems on certain fonts with higher
units per em (e.g. Inter). This patch fixes it.
The return value of af_loader_compute_darkening was also changed to
use 16.16 fixed point to get rid of a redundant truncation operation.
This should slightly improve the precision, although it's still
bottlenecked by the emboldening function, which uses 26.6 fixed point.
* src/autofit/afloader.[ch]
(af_loader_compute_darkening): Return FT_Fixed.
(af_loader_embolden_glyph_in_slot): Revise calculations.
|
|
7bdf386e
|
2020-12-17T22:47:05
|
|
ftmodapi.h: Replace 0xA0 characters with spaces.
|
|
c948df52
|
2020-12-17T15:53:51
|
|
* include/freetype/ftmodapi.h (FT_FACE_DRIVER_NAME): New public macro.
The driver name is needed for `FT_Property_Set' and `FT_Property_Get'.
|
|
84b3616c
|
2020-12-16T22:07:57
|
|
Documentation edits.
|
|
f6be9276
|
2020-12-16T06:03:10
|
|
[truetype] Fix incremental metrics (#59503).
* src/truetype/ttgload.c (tt_get_metrics, load_truetype_glyph):
Previously, the code would populate the phantom points before
calling the `get_glyph_metrics` callback. For formats like PCL XL
format 1, class 2 downloaded fonts (where metrics are removed from
the TTF header), this causes problems when the hinting program uses
the phantom points (misplaced and distorted glyphs) due to the
metrics being unset (all zeros).
(tt_get_metrics_incr_overrides): Renamed to...
(tt_get_metrics_incremental): ... this. Updated caller
* include/freetype/ftincrem.h: Update the documentation to make it
clearer that `get_glyph_metrics` is to retrieve metrics from a
non-standard source, but *not* for the purpose of imposing custom
metrics.
|
|
9cc89717
|
2020-12-15T22:36:19
|
|
Documentation edits.
|
|
a3edbfa9
|
2020-12-14T16:11:06
|
|
[type42] Pacify static analysis tools (#59682).
* src/type42/t42objs.c (T42_Size_Init, T42_GlyphSlot_Init): Avoid
warnings about uninitialized variables.
|
|
bd6d8e42
|
2020-12-10T20:23:12
|
|
.mailmap: Add Priyesh.
|
|
505943a6
|
2020-12-07T17:08:37
|
|
* builds/unix/configure.raw: Don't set `FT_DEBUG_LOGGING`.
All debug options are handled exclusively in `ftoption.h`.
|
|
272ae5ee
|
2020-12-07T10:29:24
|
|
* src/*: More fixes for using a '\n' in `FT_TRACE` and `FT_ERROR`.
|
|
015a9b8d
|
2020-12-07T10:27:42
|
|
*/*: s/FT_LOGGING/FT_DEBUG_LOGGING/.
|
|
9f94d853
|
2020-12-05T09:41:36
|
|
docs/CHANGES: Mention `FT_LOGGING`.
|
|
7d3ab6a7
|
2020-12-05T09:29:25
|
|
* builds/toplevel.mk (do-dist): Remove `submodules` directory.
|
|
a6adb256
|
2020-12-02T14:15:07
|
|
* src/*: Don't use more than one '\n' in `FT_TRACE` and `FT_ERROR`.
This ensures good logging output, with all lines having a proper
prefix (if requested).
|
|
74822f64
|
2020-12-02T08:32:37
|
|
[base] Don't close 'stderr' after logging.
* src/base/ftdebug.c, builds/windows/ftdebug.c (ft_logging_deinit):
Fix it.
|
|
c764686b
|
2020-12-02T08:00:41
|
|
* submodules/dlg: Updated to commit 9f0c8b22.
|
|
92db149e
|
2020-12-02T07:54:21
|
|
* src/bdf/bdflib.c: Fix `-Wformat` warning.
|
|
f6b0fd7b
|
2020-12-02T07:08:24
|
|
Improve setup for 'dlg' library.
* autogen.sh (copy_submodule_file), builds/toplevel.mk: Redirect
stderr to `/dev/null`.
* builds/toplevel.mk: Move code block to handle 'dlg' stuff into
`check_platform` conditional.
Also fix wildcard expressions for guarding `git submodule` commands.
Also make file copying work with non-Unix platforms (untested).
|
|
fcdab61e
|
2020-12-01T23:07:21
|
|
[build] Use gcc (and clang) in C99 mode.
Other compilers are unchanged.
* builds/compiler/gcc-dev.mk, builds/compiler/gcc.mk (ANSIFLAGS):
s/-ansi/-std=c99/.
* builds/freetype.mk (FT_CFLAGS): Remove `-std=c99`.
* builds/unix/configure.raw: Handle C99.
Remove no longer needed test for gcc 4.6 and earlier.
|
|
741a690a
|
2020-12-01T22:38:45
|
|
Update `.gitignore`.
|
|
1c229af2
|
2020-12-01T22:13:40
|
|
[dlg] Fix compiler warnings.
* src/dlg/dlgwrap.c: Duplicate some feature test macros from
`dlg.c`, which must come first before loading standard headers. For
example, `freetype.h` loads `stdio.h` if compiled in debug mode.
|
|
047f295f
|
2020-12-01T21:23:04
|
|
Typos.
|
|
76915880
|
2020-12-01T15:43:11
|
|
* src/type42/t42parse.c: Fix `-Wformat` warnings.
|
|
33bd25ca
|
2020-08-31T18:02:47
|
|
[builds/unix] Check for 'pthread' library.
* builds/unix/ax_pthread.m4: New file, taken from 'autoconf-archive'
git repository.
* builds/unix/configure.raw: Check for 'pthread'; also check whether
it works.
|
|
ce43d808
|
2020-12-01T12:20:43
|
|
[base] Implement vertical alignment of log printing.
Based on a patch by Priyesh.
* include/freetype/internal/fttrace.h (FT_MAX_TRACE_LEVEL_LENGTH):
New macro.
* src/base/ftdebug.c, builds/windows/ftdebug.c (ft_log_handler):
Print logs after a fixed width to handle different lengths of
`FT_COMPONENT` entries.
Use `ft_strrchr` to check for final newline character.
|
|
ab0ea068
|
2020-08-28T11:28:17
|
|
Update logging related documentation.
* docs/DEBUG: Updates related to `FT_LOGGING`.
* README.git: Updates related to logging.
|
|
6d9e6b21
|
2020-08-28T09:56:38
|
|
* src/*: Fix `-Wformat` warnings.
|
|
2a5d8e8f
|
2020-08-27T23:28:05
|
|
[builds/windows] Changes to build 'dlg' with FreeType on Windows.
We only support Visual C++ 2010 and newer.
* builds/windows/vc2010/script.bat: New windows batch file to copy
necessary 'dlg' files from `submodules/dlg` to `src/dlg`. This file
is used as a pre-built event in Visual C++.
* builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c`.
* builds/windows/vc2010/freetype.vcxproj.filters: Add
`src/dlgwrap.c`.
* builds/windows/vc2010/freetype.vcxproj
(AdditionalIncludeDirectories): Add include files of dlg for 'Debug'
and 'Debug Static' configurations on both 'x64' and 'win32'
platforms.
(PreprocessorDefinitions): Add `FT_LOGGING` for 'Debug' and 'Debug
Static' configurations on both 'x64' and 'win32' platforms.
Add `DLG_STATIC' for 'Debug' configuration on 'x64' and 'win32'
platforms.
(DisableLanguageExtensions): We need to disable the `/Za` option
when building 'dlg' with FreeType as 'dlg' strictly follows the C99
standard. Visual C++ produces behaves unexpectedly when
compiling a C99 file with `/Za` option enabled.
|
|
2a46d1f0
|
2020-08-27T13:01:05
|
|
[base] Add public API to change log handling function.
* include/freetype/ftlogging.h (FT_Custom_Log_Handler): New function
typedef to store the custom callback logging function.
(FT_Set_Log_Handler, FT_Set_Default_Log_Handler): New functions to
set and reset custom log handler.
* include/freetype/internal/ftdebug.h (custom_output_handler): New
variable to support a custom callback logging function.
(FT_Logging_Callback): A new function typedef to print log using
custom callback logging function, which is set using
`FT_Set_Log_Handler`.
(FT_Log): Use it.
* src/base/ftdebug.c (FT_Set_Log_Handler,
FT_Set_Default_Log_Handler, FT_Logging_Callback): Add function
definitions.
|
|
5fea76cf
|
2020-08-26T21:30:35
|
|
[base] Add public API to change the levels of tracing components.
* include/freetype/ftlogging.h: New header file.
* include/freetype/internal/ftdebug.h [FT_LOGGING]: Include
`ftlogging.h`.
* src/base/ftdebug.c (ft_custom_trace_level): New variable.
(ft_debug_init): Update to support change of levels of tracing
components of FreeType at run-time.
(FT_Trace_Set_Level): New function to change the levels of tracing
components at run-time.
(FT_Trace_Set_Default_Level): New function to reset the levels of
tracing components back to default.
|
|
d00cbc3f
|
2020-08-26T19:44:01
|
|
[base] Updates to print timestamp and name of `FT_COMPONENT` in logs.
* include/freetype/internal/ftdebug.h (FT_LOGGING_TAG,
FT_LOGGING_TAG_): New macros to resolve the value of `FT_COMPONENT'
into a string.
(ft_add_tag, ft_remove_tag): New functions to add and remove dlg tags.
* src/base/ftdebug.c: Add new variables to control the logging of
timestamp and name of `FT_COMPONENT` along with actual logs.
(ft_add_tag, ft_remove_tag): Add function definitions.
(ft_log_handler): Updates to print timestamp and name of
`FT_COMPONENT`.
(ft_debug_init) [FT_LOGGING]: Users can now control the logging of
timestamp and name of `FT_COMPONENT` by adding tags in the
`FT2_DEBUG` environment variable.
|
|
d46bada2
|
2020-08-26T17:41:43
|
|
[base] Add functions and variables to print logs to a file.
* include/freetype/internal/ftdebug.h: Added dlg's header files.
(FT_LOG): New macro to redirect trace logs to dlg's API's whenever
`FT_LOGGING' is defined.
(ft_logging_init, ft_logging_deinit): New functions to handle
initialization and uninitialization of logging related variables.
(ft_log_handler): New function to handle logs of FreeType.
* src/base/ftdebug.c: Add necessary logging related variables.
(ft_logging_init, ft_logging_deinit, ft_log_handler): Add function
definitions.
* src/base/ftinit.c (FT_Init_FreeType) [FT_LOGGING]: Call
`ft_logging_init`.
(FT_Done_FreeType) [FT_LOGGING]: Call `ft_logging_deinit`.
* src/base/ftobjs.c (FT_New_Library): Call `ft_debug_init` only if
`FT_LOGGING` is not defined.
|
|
34b1c897
|
2020-08-26T12:27:52
|
|
[builds] Necessary changes to make 'dlg' compile.
* autogen.sh (copy_submodule_files): New script to copy all the
necessary source and include files from `submodules/dlg` to
`src/dlg`.
* src/dlg/dlgwrap.c: New wrapper file for `src/dlg.c`. It enables
the build of 'dlg' if the `FT_LOGGING` macro is defined.
* src/dlg/rules.mk: New sub-Makefile.
* builds/freetype.mk (DLG_DIR): New variable to include the
header files of the 'dlg' library.
(INCLUDES): Add `DLG_DIR`.
(FT_CFLAGS): Add `-std=c99' flag.
Include `src/dlg/rules.mk` file to build 'dlg' library.
(OBJ_S, OBJ_M): Add `DLG_OBJS_M` and `DLG_OBJS_S`.
* builds/toplevel.mk: For builds directly from the git repository
we need to copy files from `submodule/dlg` to `src/dlg`.
* include/freetype/config/ftoption.h, devel/ftoption.h (FT_LOGGING):
New macro to enable or disable the logging facility in FreeType.
|
|
8da4b437
|
2020-08-26T10:12:52
|
|
* .gitmodules: Add 'dlg' library's git repository as submodule.
|
|
8cc4d0dc
|
2020-12-01T08:48:28
|
|
* src/tools/chktrcmp.py (trace_use_pat): Update to current use.
|