|
7ca7da9d
|
2021-06-02T06:59:01
|
|
* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix tracing.
Problem reported by Alexei.
|
|
a50c39aa
|
2021-05-29T09:50:29
|
|
Fix compilation errors and (some) warnings for clang++.
* src/autofit/afmodule.c (AF_GlyphHintsRec): Make it static.
* src/cache/ftcache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c
(ftc_snode_compare): Remove semicolon.
* src/cff/cffparse.c (cff_parser_run): Add `break` statement.
* src/cid/cidload.c (cid_hex_to_binary): Add cast.
* src/sdf/ftbsdf.c (CHECK_NEIGHBOR): Use `do {} while(0)` loop.
(bsdf_init_distance_map, finalize_sdf, bsdf_raster_render): Add
casts.
* src/sdf/ftsdf.c (sdf_generate_bounding_box,
sdf_generate_with_overlaps): Ditto.
* src/sdf/ftsdfcommon.h (square_root): Ditto.
* src/sdf/ftsdfrend.c (sdf_property_get, ft_sdf_render,
ft_bsdf_render): Ditto.
* src/sfnt/ttcolr.c (find_base_glyph_record,
find_base_glyph_v1_record): Fix variable signedness.
(read_color_line): Add cast.
(read_paint): Add casts.
Fix signedness issue.
(tt_face_get_colorline_stops) Fix signedness issues.
* src/sfnt/ttpost.c (load_format_20): Add casts.
* src/truetype/ttsubpix.c (TWEAK_RULES, TWEAK_RULES_EXCEPTIONS):
Remove final semicolons.
|
|
f1f9705f
|
2021-01-15T23:52:04
|
|
[afshaper] Fix hb_ot_tags_from_script deprecation warning.
* autofit/afshaper.c (af_shaper_get_coverage): Copy the source code
of the function as suggested in
https://github.com/harfbuzz/harfbuzz/issues/2737 and adjust to handle
at most three tags.
|
|
b6e8a712
|
2021-01-17T07:18:48
|
|
Update all copyright notices.
|
|
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.
|
|
272ae5ee
|
2020-12-07T10:29:24
|
|
* src/*: More fixes for using a '\n' in `FT_TRACE` and `FT_ERROR`.
|
|
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).
|
|
1286f58c
|
2020-11-20T14:54:35
|
|
Downgrade property tracing.
|
|
40479fad
|
2020-09-25T17:44:00
|
|
[autofit] Synchronize with ttfautohint.
This corresponds to the following commits in the ttfautohint git
repository:
bb6842bd3bd437b7b4a7921b0376c860f5e73d18 Typo, formatting.
d5c91ddb1cb310257a3dfe9a8e20e1fc51335faa Add Medefaidrin script.
* src/autofit/afblue.dat: Add blue zone data for Medefaidrin.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Medefaidrin standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Medefaidrin
data.
|
|
53be1753
|
2020-07-28T07:33:40
|
|
Fix `-Wformat' compiler warnings.
* src/*: Fix format specifiers.
* builds/unix/ftsystem.c (FT_Stream_Open): Ditto.
|
|
96fb73ef
|
2020-07-07T16:58:14
|
|
Fix clang warnings.
* include/freetype/internal/autohint.h
(FT_DECLARE_AUTOHINTER_INTERFACE): New macro.
* src/autofit/afmodule.h: Use it to declare
`af_autofitter_interface'.
* include/freetype/internal/ftobjs.h (FT_DECLARE_GLYPH): New macro.
* src/base/ftbase.h: Use it to declare `ft_bitmap_glyph_class' and
`ft_outline_glyph_class'.
* src/base/ftglyph.c: Include `ftbase.h'.
* src/cff/cffparse.c (cff_parser_run): Fix type of `t2_size'.
* src/pcf/pcfdrivr.c (pcf_cmap_char_next): Fix type of `result'.
* src/psaux/psauxmod.c (psaux_module_class): Use `FT_DEFINE_MODULE'.
* src/psaux/psauxmod.h: Declare `afm_parser_funcs',
`t1_cmap_classes', `cff_decoder_funcs', and `psaux_module_class'.
* src/pshinter/pshmod.c: Include `pshmod.h'.
* src/sfnt/sfwoff2.c (ROUND4, WRITE_SHORT): Fix implicit sign
conversion.
(compute_ULong_sum): Fix return type.
Fix implicit sign conversion.
(store_points): Fix type of `last_flag', `repeat_count', and `flag'.
Use casts to avoid warnings.
(reconstruct_glyf): Fix implicit sign conversion.
Use cast to avoid warning.
(get_x_mins): Fix implicit sign conversion.
* src/sfnt/ttcmap.c: Undef `TTCMAPCITEM'.
* src/sfnt/ttcmap.h: Define `TTCMAPCITEM' and include `ttcmapc.h' to
declare cmap classes.
* src/smooth/ftsmooth.c (ft_smooth_overlap_spans): Use cast.
* src/truetype/ttinterp.c (Ins_MIAP): Fix typo.
|
|
16586859
|
2020-06-13T21:15:45
|
|
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'.
|
|
e1339133
|
2020-06-08T13:31:55
|
|
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.
|
|
4eee1340
|
2020-05-18T09:16:12
|
|
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.
|
|
49f3394d
|
2020-02-19T12:56:49
|
|
[autofit] Add support for Hanifi Rohingya script.
* 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.
|
|
e5038be7
|
2020-01-19T17:05:19
|
|
Update all copyright notices.
|
|
2c9a2d58
|
2019-12-13T23:56:25
|
|
Another bunch of UBSan warnings on adding offsets to nullptr.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19427
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19433
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19441
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19451
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19452
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19457
* src/autofit/aflatin.c (af_latin_hints_compute_segments,
af_latin_hints_compute_edges): Use `FT_OFFSET'.
* src/base/ftstream.c (FT_Stream_EnterFrame): Use `FT_OFFSET'.
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Exit early
if there is no charstring.
* src/psaux/psobjs.c (t1_decrypt): Use `FT_OFFSET'.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Exit early for
zero bitmap dimensions.
|
|
551bd3a9
|
2019-12-03T11:52:48
|
|
More nullptr offset UBSan warnings (#57331, #57347).
* src/autofit/afcjk.c (af_cjk_hints_compute_segments),
src/psaux/psft.c (cf2_getSeacComponent), src/truetype/ttinterp.c
(Ins_UNKNOWN): Use `FT_OFFSET'.
|
|
07c8d8bb
|
2019-11-23T10:00:02
|
|
Minor fixes for recent compilers.
* src/gzip/infutil.h (inflate_mask): Add `const'.
* src/autofit/aflatin2.c: Include `ft2build.h'.
|
|
47ca5cb6
|
2019-06-16T15:32:11
|
|
[autofit] Disable hinting if no blue zones are available (#56450).
* src/autofit/afglobal.c (af_face_global_get_metrics): Start again
(with dummy hinter module) if no blue zones are present.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Change
signature to return error code.
If no blue zones are found, update `glyph_styles' array to hold
AF_STYLE_NONE_DFLT instead of the current style.
(af_latin_metrics_init): Return internal error code if no blue zones
are found.
|
|
3736b28a
|
2019-06-13T13:45:05
|
|
* src/autofit/aflatin.c (af_latin_metrics_init_widths): Minor.
|
|
7b841047
|
2019-05-04T08:13:22
|
|
Various clang 8.0 static analyzer fixes.
Reported by Sender Ghost <lightside@gmx.com>.
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Catch a corner
case where `edge->first' could be NULL.
* src/pfr/pfrobjs.c (pfr_slot_load): Remove unnecessary test of
`size'.
* src/raster/ftraster.c (Draw_Sweep): Catch a corner case where
`draw_right' might be NULL.
* src/sfnt/ttmtx.c (tt_face_get_metrics): Fix limit test for
`aadvance'.
Ensure `abearing' always hold a meaningful result.
* src/truetype/ttgload.c (load_truetype_glyph): Ensure `subglyph' is
not NULL before accessing it.
* src/truetype/ttgxvar.c (TT_Set_Named_Instance): Remove unnecessary
test of `namedstyle'.
* src/type42/t42parse.c (t42_parser_done): Ensure
`parser->root.funcs.done' is not NULL before accessing it.
|
|
f0384d5f
|
2019-04-09T11:01:24
|
|
Minor.
|
|
df266d3e
|
2019-03-20T07:04:06
|
|
[autofit] Fix Mongolian blue zone characters.
* src/autofit/afblue.dat: Use U+200D (ZERO-WIDTH JOINER) characters
to get medial forms for some Mongolian characters.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
|
|
dde03eec
|
2019-03-19T10:50:38
|
|
[autofit] Add support for Mongolian script.
As a de-facto standard, layouts using this script are constructed
horizontally line by line, then the lines are rotated clockwise for
vertical display.
* src/autofit/afblue.dat: Add blue zone data for Mongolian.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Mongolian standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Mongolian
data.
|
|
2f4b740c
|
2019-03-07T09:42:25
|
|
Fix invalid function pointer casts.
This change should allow Freetype to work on WASM/Emscripten without
needing `-s EMULATE_FUNCTION_POINTER_CASTS=1'.
* src/autofit/afdummy.c (af_dummy_hints_apply): Fix signature.
* src/cid/cidload.c (cid_parse_font_matrix, parse_fd_array,
parse_expansion_factor, parse_font_name): Return `void', not
`FT_Error'.
* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIsDefaultFunc):
Fix signature.
|
|
75859970
|
2019-02-23T10:07:09
|
|
Update all copyright notices.
|
|
0ac69211
|
2019-02-16T07:05:39
|
|
* src/autofit/afwarp.h (af_warper_compute): Fix declaration.
|
|
f686ad46
|
2019-01-22T20:31:44
|
|
Update copyright years.
|
|
b89166cc
|
2018-12-29T08:55:01
|
|
* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
|
|
339c451a
|
2018-11-02T10:10:10
|
|
[autofit] Prevent SEGV.
See
https://bugs.ghostscript.com/show_bug.cgi?id=697545
for more details on how the bug was found.
* src/autofit/afloader.c (af_loader_load_glyph): Propagate error
code.
|
|
a9af6914
|
2018-09-25T09:10:09
|
|
Fix handing of `FT_Bool'.
Before this commit we had code like
(FT_Bool)( globals->glyph_styles[gindex] & 0x8000)
Since `FT_Bool' is defined to be an `unsigned char', the code
evaluated to something like
(unsigned char)( 0x8532 & 0x8000)
which in turn expanded to
(unsigned char)( 0x8000)
and finally yielded 0x00 – i.e., false – not as expected.
Problem reported and analyzed by Tony Smith <tony.smith@macro4.com>.
* include/freetype/fttypes.h (FT_BOOL): Add a comparison against
zero so that we always have a Boolean expression.
*/*: Replace castings to `FT_Bool' with calls to `FT_BOOL' where
possible.
|
|
0d4ca138
|
2018-08-31T06:53:52
|
|
* src/autofit/afhints.c (af_glyph_hints_reload): Add initialization.
|
|
c0ccf750
|
2018-08-30T09:56:09
|
|
[autofit] Trace `before' and `after' edges of strong points.
* src/autofit/afhints.h (AF_PointRec) [FT_DEBUG_AUTOFIT]: New arrays
`before' and `after'.
* src/autofit/afhints.c (af_get_strong_edge_index): New auxiliary
function.
(af_glyph_hints_dump_points): Trace `before' and `after' edges.
(af_glyph_hints_align_strong_points) [FT_DEBUG_AUTOFIT]: Set
`before' and `after' information.
|
|
a0dd16fb
|
2018-08-15T18:13:17
|
|
Don't use `trace_' prefix for FT_COMPONENT arguments.
* include/freetype/internal/ftdebug.h (FT_TRACE_COMP,
FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix.
(FT_TRACE): Use `FT_TRACE_COMP'.
*/* (FT_COMPONENT): Updated.
|
|
64bf5d48
|
2018-06-03T09:19:54
|
|
Minor formatting.
|
|
9ac9060d
|
2018-06-03T09:01:17
|
|
[GSoC] src/*.*: Convert block comments to `light' style.
This monster commit was created by applying Nikhil's scripts
`docconverter.py' and `markify.py' to all C header and source files,
followed up by minor manual clean-up.
No change in functionality, of course.
I used commit f7419907bc6044b9b7057f9789866426c804ba82 from
https://github.com/nikramakrishnan/freetype-docs.git.
|
|
fab10b6f
|
2018-06-02T09:53:58
|
|
* src/autofit/afwarp.h: Use AF_CONFIG_OPTION_USE_WARPER (#54033).
|
|
d45d4b97
|
2018-05-30T17:35:39
|
|
Beautify a3cfed5e87232c933bdc64f43e8ebebcfd18b41b.
* src/autofit/afloader.c (af_loader_load_glyph): Move the
initialisation and declaration of variables into the if-block.
|
|
a3cfed5e
|
2018-05-30T12:37:46
|
|
Fix pointer underflow.
The declaration of `edge2' can be reached with `edge1 == NULL' and
`axis->edges == 0' which results in undefined behaviour.
* src/autofit/afloader.c (af_loader_load_glyph): Initialise `edge2'
after checking `axis->num_edges > 1'. `edge1 != NULL' can be assumed.
|
|
e0015f76
|
2018-05-08T11:51:16
|
|
[autofit] Avoid potential SEGV if running out of memory.
Problem reported by Shailesh Mistry <shailesh.mistry@hotmail.co.uk>.
* src/autofit/afshaper.c (af_shaper_buf_create,
af_shaper_buf_destroy) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Don't
allocate and free a four-byte buffer. Instead, make those functions
no-ops; the calling functions will provide a pointer to a buffer
instead.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_metrics_check_digits),
src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_check_digits)
[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Use pointer to local variable for
`shaper_buf'.
|
|
95149592
|
2018-05-02T20:27:48
|
|
Remove FT_CONFIG_OPTION_PIC and related code.
*/* [FT_CONFIG_OPTION_PIC]: Remove all code guarded by this
preprocessor symbol.
*/*: Replace `XXX_GET' macros (which could be either a function in
PIC mode or an array in non-PIC mode) with `xxx' arrays.
* include/freetype/internal/ftpic.h, src/autofit/afpic.c,
src/autofit/afpic.h, src/base/basepic.c, src/base/basepic.h,
src/base/ftpic.c, src/cff/cffpic.c, src/cff/cffpic.h,
src/pshinter/pshpic.c, src/pshinter/pshpic.h, src/psnames/pspic.c,
src/psnames/pspic.h, src/raster/rastpic.c, src/raster/rastpic.h,
src/sfnt/sfntpic.c, src/sfnt/sfntpic.h, src/smooth/ftspic.c,
src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h:
Removed.
|
|
e4b6d853
|
2018-04-19T17:43:03
|
|
[autofit] Add support for Georgian Mtavruli characters.
This will be part of the forthcoming Unicode 11.0.
* src/autofit/afblue.dat: Add blue zone data for Mtavruli.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Mtavruli standard character.
|
|
576670b7
|
2018-04-14T07:00:30
|
|
[autofit] Update to Unicode 11.0.0.
But no support new scripts (volunteers welcomed).
* src/autofit/afranges.c (af_arab_nonbase_uniranges,
af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
af_deva_nonbase_uniranges, af_geor_uniranges,
af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
af_hani_uniranges): Add new data.
|
|
63aaf89c
|
2018-02-17T10:34:47
|
|
s/sub-pixel/subpixel/.
|
|
0a0c2256
|
2018-01-02T09:33:57
|
|
Update copyright year.
|
|
98ba0c4a
|
2017-12-08T18:38:41
|
|
New `ftdriver.h' file, covering all driver modules.
This reduces redundancy and increases synergy; it also reduces the
number of header files.
* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
FT_DRIVER_H.
* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
include/freetype/ftttdrv.h: Replaced with...
* include/freetype/ftdriver.h: ...this new file.
(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
(FT_HINTING_ADOBE): ... this new macro.
(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
(FT_HINTING_FREETYPE): ... this new macro.
* src/*/*: Updated accordingly.
|
|
87ddad20
|
2017-12-04T20:43:30
|
|
Update or fix links to use the https protocol instead of http.
|
|
90461c01
|
2017-10-14T08:42:07
|
|
[afshaper] Delay creating `hb_set' objects until needed.
In runs on Noto Naskh Arabic, this results in 89 sets created
instead of 340 before. Makes auto-hinter setup with HarfBuzz
enabled 20% to 30% faster.
* src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
|
|
8768536c
|
2017-10-12T00:13:51
|
|
[autofit] Better visualize table tracing in source code.
|
|
96dcc8ad
|
2017-09-13T08:16:23
|
|
[autofit] Really fix #41334 (#52000).
* src/autofit/aflatin.c (af_latin_hints_compute_segments): Set
`segment->delta' everywhere.
|
|
21658c31
|
2017-09-12T15:59:18
|
|
[autofit, sfnt] Fix for `make multi'.
* src/autofit/afshaper.c: Include FT_ADVANCE_H, to use
FT_Get_Advance() in it.
* src/sfnt/ttcmap.c: Include FT_SERVICE_POSTSCRIPT_CMAPS_H
to use PS_Unicodes in it, also include `ttpost.h' to use
tt_face_get_ps_name() in it.
|
|
0ab2b62d
|
2017-09-09T08:08:47
|
|
[autofit] Improve communication with ftgrid.
* src/autofit/afhints.c (af_glyph_hints_get_segment_offset):
Provide values in font units.
|
|
881f6447
|
2017-05-17T07:56:53
|
|
[autofit] More code sorting.
|
|
548704f4
|
2017-05-17T07:40:50
|
|
Code sorting.
|
|
a7f276a2
|
2017-05-15T00:25:37
|
|
[autofit] Make autohint warping NORMAL option.
This moves warping option from LIGHT to NORMAL mode. This makes LIGHT
truly void of hinting in x-direction, with left side bearing never
changed and right side bearing only altered by advance rounding.
Therefore, LIGHT is now ready to return fractional advance. As a
NORMAL option, warping substitutes normal hinting.
* src/autofit/afcjk.c (af_cjk_hints_apply): Updated.
* src/autofit/aflatin.c (af_latin_hints_apply): Updated.
* src/autofit/aflatin2.c (af_latin2_hints_apply): Updated.
* src/autofit/afloader.c (af_loader_load_glyph): Handle warping
phantom points as normal.
|
|
9de936d3
|
2017-05-11T00:11:59
|
|
s/AF_BLUE_STRINGSET_CANADIAN_SYLLABICS/AF_BLUE_STRINGSET_CANS/.
|
|
ac0eed86
|
2017-05-11T00:06:37
|
|
[autofit] Add support for Chakma script.
* src/autofit/afblue.dat: Add blue zone data for Chakma.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Chakma standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Chakma data.
|
|
d19859f1
|
2017-05-10T23:38:05
|
|
[autofit] Add support for Kayah Li script.
* src/autofit/afblue.dat: Add blue zone data for Kayah Li.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Kayah Li standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.
|
|
87218c99
|
2017-05-10T12:39:33
|
|
[autofit] Add support for Bamum script.
* src/autofit/afblue.dat: Add blue zone data for Bamum.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Bamum standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Bamum data.
|
|
4aa1aec1
|
2017-05-10T09:36:13
|
|
[autofit] Add support for Saurashtra script.
* src/autofit/afblue.dat: Add blue zone data for Saurashtra.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Saurashtra standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Saurashtra
data.
|
|
53f38244
|
2017-05-10T09:13:20
|
|
[autofit] Add support for Buhid script.
* src/autofit/afblue.dat: Add blue zone data for Buhid.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Buhid standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Buhid data.
|
|
44c6117e
|
2017-05-08T20:31:52
|
|
[autofit] Add support for Shavian script.
* src/autofit/afblue.dat: Add blue zone data for Shavian.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Shavian standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Shavian data.
|
|
a9e5e6e5
|
2017-05-08T19:57:16
|
|
[autofit] Add support for Vai script.
* src/autofit/afblue.dat: Add blue zone data for Vai.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Vai standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Vai data.
|
|
acc6b6df
|
2017-05-08T15:08:46
|
|
[autofit] Add support for Osmanya script.
* src/autofit/afblue.dat: Add blue zone data for Osmanya.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Osmanya standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osmanya data.
|
|
f27ebb1e
|
2017-05-08T10:22:26
|
|
[autofit] Add support for Coptic script.
* src/autofit/afblue.dat: Add blue zone data for Coptic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Coptic standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Coptic data.
|
|
db0fe733
|
2017-05-08T10:00:16
|
|
[autofit] Add support for Carian script.
* src/autofit/afblue.dat: Add blue zone data for Carian.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Carian standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Carian data.
|
|
c9e7063a
|
2017-05-03T23:21:13
|
|
[autofit] Add support for Unified Canadian Syllabics script.
* src/autofit/afblue.dat: Add blue zone data for Unified Canadian
Syllabics.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Unified Canadian Syllabics standard
character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Unified
Canadian Syllabics data.
|
|
0483fb38
|
2017-05-03T20:16:24
|
|
[autofit] Add blue-zone support for Sundanese script.
This essentially moves the Sundanese script from the `Indic' hinter
to the `Latin' hinter.
* src/autofit/afblue.dat: Add blue zone data for Sundanese.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Sundanese standard character and move
data out of AF_CONFIG_OPTION_INDIC block.
* src/autofit/afranges.c: Move Sundanese data out of
AF_CONFIG_OPTION_INDIC block.
* src/autofit/afstyles.h: Update Sundanese data; in particular, use
AF_WRITING_SYSTEM_LATIN.
|
|
14ae17a2
|
2017-05-03T18:35:13
|
|
[autofit] Add support for Avestan script.
* src/autofit/afblue.dat: Add blue zone data for Avestan.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Avestan standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.
|
|
ba40054c
|
2017-05-02T12:32:19
|
|
[autofit] Remove `slight' auto-hint mode again.
A poll on freetype-devel favoured changes directly applied to
`light'.
* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT,
FT_RENDER_MODE_SLIGHT): Removed.
* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
(af_latin_hints_init), src/autofit/aflatin2.c
(af_latin2_hints_init): Revert change from 2017-04-22.
* src/autofit/afloader.c (af_loader_load_glyph) Remove references to
FT_RENDER_MODE_SLIGHT.
[AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics
unconditionally.
* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from
2017-04-22.
* src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22.
* src/pshinter/pshalgo.c (ps_hints_apply): Revert change from
2017-04-22.
* src/smooth/ftsmooth.c (ft_smooth_render): Revert change from
2017-04-22.
* docs/CHANGES: Updated.
|
|
0a5315d1
|
2017-04-27T13:02:24
|
|
Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option.
* include/freetype/config/ftoption.h
(AF_CONFIG_OPTION_TT_SIZE_METRICS): New option, commented out by
default.
* src/autofit/afloader.c (af_loader_load_glyph): Use
AF_CONFIG_OPTION_TT_SIZE_METRICS to guard the corresponding code.
|
|
5aa6716a
|
2017-04-22T13:27:21
|
|
Add new `slight' auto-hinting mode.
This mode uses fractional advance widths and doesn't scale glyphs
horizontally, only applying vertical scaling and hinting.
At the same time, the behaviour of the `light' auto-hinter gets
restored for backwards compatibility: Both vertical and horizontal
scaling is again based on rounded metrics values (this was changed
in a commit from 2017-03-30 as a side effect). To be more precise,
the behaviour is restored for TrueType fonts only; for other font
formats like Type 1, this is a new feature of the `light' hinting
mode.
* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT): New macro.
(FT_RENDER_MODE_SLIGHT): New render mode.
* include/freetype/internal/ftobjs.h (FT_Size_InternalRec): Add
`autohint_mode' and `autohint_metrics' fields.
* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
(af_latin_hints_init), src/autofit/aflatin2 (af_latin2_hints_init):
Updated.
* src/autofit/afloader.c (af_loader_embolden_glyph_in_slot): Use
`autohint_metrics'.
(af_loader_load_glyph): s/internal/slot_internal/.
Initialize `autohint_metrics' and `autohint_mode' depending on
current auto-hint mode.
Use `autohint_metrics'.
Updated.
* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Updated.
* src/base/ftobjs.c (FT_Load_Glyph): Updated.
(FT_New_Size): Allocate `internal' object.
* src/pshinter/pshalgo.c (ps_hints_apply): Updated.
* src/smooth/ftsmooth.c (ft_smooth_render): Updated.
|
|
90ccab3d
|
2017-04-08T17:58:57
|
|
[autofit] Add support for Old Turkic script.
* src/autofit/afblue.dat: Add blue zone data for Old Turkic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Old Turkic standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Old Turkic data.
|
|
df2a7cd1
|
2017-04-08T16:11:44
|
|
[autofit] Add support for Gothic script.
* src/autofit/afblue.dat: Add blue zone data for Gothic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Gothic standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
|
|
5bf4b1aa
|
2017-04-08T11:38:52
|
|
[autofit] Add support for Cypriot script.
* src/autofit/afblue.dat: Add blue zone data for Cypriot.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Cypriot standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Cypriot data.
|
|
d79fc794
|
2017-04-08T07:06:24
|
|
[autofit] Add support for Deseret script.
* src/autofit/afblue.dat: Add blue zone data for Deseret.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Deseret standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Deseret data.
|
|
32efd8c0
|
2017-04-07T17:22:59
|
|
[autofit] Fix invalid character range description (#50745).
Also reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1034
* src/autofit/afranges.c (af_glag_nonbase_uniranges): Fix typo in
recent commit.
|
|
2c256e6d
|
2017-04-06T17:05:47
|
|
[autofit] Add support for Lisu script.
* src/autofit/afblue.dat: Add blue zone data for Lisu.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Lisu standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Lisu data.
|
|
2b911476
|
2017-04-06T16:49:39
|
|
[autofit] Add support for Osage script.
* src/autofit/afblue.dat: Add blue zone data for Osage.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Osage standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Osage data.
|
|
628e2850
|
2017-04-06T12:47:27
|
|
[autofit] Add support for Glagolitic script.
* src/autofit/afblue.dat: Add blue zone data for Glagolitic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Glagolitic standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Glagolitic data.
|
|
6967eb93
|
2017-04-06T11:35:07
|
|
[autofit] Add support for Tai Viet script.
* src/autofit/afblue.dat: Add blue zone data for Tai Viet.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Tai Viet standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tai Viet data.
|
|
837f1125
|
2017-04-06T08:44:08
|
|
[autofit] Add support for Tifinagh script.
* src/autofit/afblue.dat: Add blue zone data for Tifinagh.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Tifinagh standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Tifinagh data.
|
|
134246b7
|
2017-04-06T07:06:32
|
|
[autofit] Add support for N'Ko script.
* src/autofit/afblue.dat: Add blue zone data for N'Ko.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add N'Ko standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add N'Ko data.
|
|
ba9cee47
|
2017-04-06T05:50:44
|
|
[autofit] Add support for Adlam script.
* src/autofit/afblue.dat: Add blue zone data for Adlam.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Adlam standard characters.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Adlam data.
|
|
8210ee4b
|
2017-04-06T05:39:51
|
|
[autofit] Add support for Ol Chiki script.
* src/autofit/afblue.dat: Add blue zone data for Ol Chiki.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Ol Chiki standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data.
|
|
e7b01304
|
2017-04-02T22:01:47
|
|
[autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'.
* src/autofit/aflatin.c (af_latin_hints_init): Updated.
* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
|
|
54b58097
|
2017-03-31T22:41:53
|
|
[autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'.
* include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it.
* src/autofit/afcjk.c (af_cjk_hints_init): Updated.
* src/autofit/aflatin.c (af_latin_hints_init): Ditto.
* src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
|
|
9931175d
|
2017-03-18T07:06:49
|
|
Improve `make multi'.
* src/autofit/aflatin2.c: Guard file with FT_OPTION_AUTOFIT2.
* src/base/ftmac.c: Guard more parts of the file with FT_MACINTOSH.
* src/psaux/afmparse.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
* src/sfnt/pngshim.c: Guard file with
TT_CONFIG_OPTION_EMBEDDED_BITMAPS also.
* src/sfnt/ttbdf.c: Avoid empty source file.
* src/sfnt/ttpost.c: Guard file with
TT_CONFIG_OPTION_POSTSCRIPT_NAMES.
* src/sfnt/ttsbit.c: Guard file with
TT_CONFIG_OPTION_EMBEDDED_BITMAPS.
* src/truetype/ttgxvar.c, src/truetype/ttinterp.c: Avoid empty
source file.
* src/truetype/ttsubpix.c: Guard file with
TT_USE_BYTECODE_INTERPRETER also.
* src/type1/t1afm.c: Guard file with T1_CONFIG_OPTION_NO_AFM.
* src/autofit/autofit.c, src/base/ftbase.c, src/cache/ftcache.c,
src/cff/cff.c, src/cid/type1cid.c, src/gxvalid/gxvalid.c,
src/pcf/pcf.c, src/pfr/pfr.c, src/psaux/psaux.c,
src/pshinter/pshinter.c, src/psnames/psnames.c, src/raster/raster.c,
src/sfnt/sfnt.c, src/smooth/smooth.c, src/truetype/truetype.c,
src/type1/type1.c, src/type42/type42.c: Remove conditionals; sort
entries.
|
|
d5bfa053
|
2017-03-17T21:47:54
|
|
Fixes for conditional compilation.
* src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h'
earlier.
* src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into
TT_CONFIG_OPTION_GX_VAR_SUPPORT block.
(sfnt_done_face): Protect some code with
TT_CONFIG_OPTION_GX_VAR_SUPPORT.
* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler
warning.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable
into TT_USE_BYTECODE_INTERPRETER block.
(tt_loader_init): Put `error' variable into
TT_USE_BYTECODE_INTERPRETER block.
|
|
981c23b7
|
2017-03-15T11:35:26
|
|
Remove clang compiler warnings (#50548).
* include/freetype/internal/tttypes.h (TT_FaceRec): Make
`var_postscript_prefix_len' unsigned.
* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
redundant assignment.
* src/cff/cffload.c (cff_subfont_load): Add casts.
* src/cff/cffparse.c (cff_parse_blend): Remove redundant assignment.
* src/sfnt/sfdriver.c (fmix32, murmur_hash_3_128): Add `static'
keyword.
Add casts.
(fixed2float): Add cast.
(sfnt_get_var_ps_name): Make `p' always initialized.
Add casts.
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Add casts.
|
|
467b026c
|
2017-02-18T10:42:48
|
|
Remove clang warnings.
* src/autofit/aflatin.c (af_latin_sort_blue): Add missing `static'
keyword.
* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
Initialize some variables.
|
|
2b0ac189
|
2017-02-18T10:42:23
|
|
Add face property for stem darkening.
* include/freetype/ftautoh.h (FT_PARAM_TAG_STEM_DARKENING): New
macro.
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add
`no_stem_darkening' field.
* src/autofit/afloader.c (af_loader_load_glyph),
src/autofit/afmodule.c (af_property_set): Updated.
* src/base/ftobjs.c: Include FT_AUTOHINTER_H.
(ft_open_face_internal): Updated.
(FT_Face_Properties): Handle FT_PARAM_TAG_STEM_DARKENING.
* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Updated.
* src/cff/cffdrivr.c (cff_property_set): Updated.
|
|
319125d4
|
2017-02-13T09:34:17
|
|
[autofit] Prevent overlapping blue zones.
Problem reported as
https://github.com/google/fonts/issues/632
The font in question (Nunito) has values 705 and 713 for the
reference and overshoot values, respectively, of the first blue
zone. Blue zone 2, however, has value 710 for both the reference
and overshoot. At 12ppem, reference and overshoot of blue zone 0
becomes 8px, while blue zone 2 becomes 9px.
A peculiarity of this font is that the tops of isolated vertical
stems like `N' have a slight overshoot also. The auto-hinter tries
to find the nearest blue zone using the *original* coordinates. For
vertical stems, this is value 713. For normal horizontal tops like
in character `E', this is value 710. Since value 713 is mapped to
8px but value 710 to 9px, `N' and similar characters are one pixel
higher than `E', which looks very bad.
This commit sanitizes blue zones to avoid such a behaviour.
* src/autofit/aflatin.c (af_latin_sort_blue): New function.
(af_latin_metrics_init_blues): Sort blue values and remove overlaps.
|
|
1dee4bf9
|
2017-02-05T08:33:10
|
|
[autofit] Use better blue zone characters for lowercase latin.
The number of lowercase characters for computing the top flat blue
zone value was too small (in most cases only `x' and `z'). If one
of the two characters has a large serif, say, it can happen that
FreeType must select between two different values, having a 50%
chance to use the wrong one. As a result, rendering at larger PPEM
values could yield uneven lowercase glyph heights.
Problem reported by Christoph Koeberlin <christoph@koe.berlin>.
* src/autofit/afblue.dat (AF_BLUE_STRING_LATIN_SMALL): Replaced
with...
(AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_STRING_LATIN_SMALL_BOTTOM):
... New, extended sets.
(AF_BLUE_STRINGSET_LATN): Updated.
* src/autofit/afblue.c, scr/autofit/afblue.h: Regenerated.
|
|
68a738db
|
2017-02-03T21:32:21
|
|
Comments.
|
|
0a1169f7
|
2017-02-03T19:38:20
|
|
* src/autofit/afglobal.c (af_face_globals_free): Erase useless code.
|
|
dadc50a4
|
2017-02-02T07:13:29
|
|
Make compilation with FT_CONFIG_OPTION_PIC work again.
All code committed here is guarded with `FT_CONFIG_OPTION_PIC'.
* include/freetype/internal/services/svmetric.h
(FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Remove trailing semicolon.
* src/autofit/aflatin.c (af_latin_hints_compute_edges,
af_latin_hint_edges): Provide `globals' variable.
* src/autofit/afloader.c (af_loader_load_glyph): Remove shadowing
variable.
* src/autofit/afmodule.c (AF_SCRIPT_CLASSES_GET,
AF_STYLE_CLASSES_GET): Redefine.
* src/autofit/aftypes.h (AF_DEFINE_WRITING_SYSTEM_CLASS): Fix typo.
* src/cff/cffparse.c (CFF_FIELD_BLEND): Provide it.
* src/cff/cffpic.h (CffModulePIC): Fix typo.
|
|
31f80553
|
2017-01-31T08:10:04
|
|
[autofit] Avoid uninitialized jumps (#50191).
* src/autofit/afcjk.c (af_cjk_metrics_check_digits),
src/autofit/aflatin.c (af_latin_metrics_check_digits): Initialize
`advance'.
|
|
d66c3645
|
2017-01-25T12:53:06
|
|
Minor: Use `FT_ERR' macro.
|