|
c9cf359f
|
2016-06-28T00:30:58
|
|
[smooth] Minor clean-ups.
* src/smooth/ftgrays.c (gray_convert_glyph): Do not use volatile
qualifier.
(gray_raster_render): Move span initializations from here.
(gray_sweep): ... to here and remove unused `target' argument.
|
|
999bcee2
|
2016-06-26T08:27:29
|
|
[pcf] Fix handling of very large fonts (#47708).
* src/pcf/pcfread.c (pcf_get_encodings): Make `encodingOffset' an
unsigned short.
Only reject `0xFFFF' as an invalid encoding offset.
|
|
8ba407a7
|
2016-06-25T18:09:22
|
|
[truetype] Really fix deallocation in case of error (#47726).
* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
`outline.points' also.
|
|
d89f6462
|
2016-06-25T08:14:36
|
|
More info on `FT_Err_Glyph_Too_Big'.
|
|
25e82bc2
|
2016-06-23T23:17:39
|
|
[smooth] Consolidate memory management.
* src/smooth/ftgrays.c (gray_init_cells): Remove function.
(gray_TWorker): Remove fields that become local variables.
(gray_raster_render): Move rendering buffer declaration from here.
(gray_convert_glyph): ... to here and update accordingly.
|
|
e2233481
|
2016-06-22T23:14:26
|
|
[smooth] Consolidate boundary checks.
Removing the checks from `gray_hline' shaves 1% off rendering speed.
* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_MIN' and `FT_MAX'.
(gray_TWorker): No need to store `clip_box'.
(gray_hline): Remove unnecessary boundary checks.
(gray_convert_glyph): Move boundary checks from here.
(gray_raster_render): ... to here and consolidate.
|
|
78e8fc0d
|
2016-06-22T00:04:08
|
|
[smooth] Use `FT_Outline_Get_CBox'.
* src/smooth/ftgrays.c [STANDALONE_]: Duplicate `FT_Outline_Get_CBox'.
(gray_compute_cbox): Remove this function.
(gray_convert_glyph): Update to use `FT_Outline_Get_CBox'.
|
|
c05a1c3f
|
2016-06-21T23:12:54
|
|
Typos.
|
|
20c6ef4c
|
2016-06-21T11:39:34
|
|
[smooth] Remove compiler warnings.
* src/smooth/ftgrays.c (gray_convert_glyph): Fix reports from clang.
|
|
e3a1c467
|
2016-06-20T23:09:39
|
|
Typos.
|
|
6d070346
|
2016-06-20T01:09:18
|
|
Typos.
|
|
3c64af98
|
2016-06-20T00:01:55
|
|
[smooth] Sanitize memory managenent.
* src/smooth/ftgrays.c (gray_convert_glyph): Cleaned up.
|
|
74fd251b
|
2016-06-18T22:31:26
|
|
[smooth] Remove `band_shoot' that never worked.
* src/smooth/ftgrays.c (gray_TWorker): Remove `band_shoot'.
(gray_convert_glyph): Updated.
|
|
3e1f7bc5
|
2016-06-18T22:13:23
|
|
Fresh typos.
|
|
72a06531
|
2016-06-17T23:10:22
|
|
[raster, smooth] Handle FT_RENDER_POOL_SIZE better.
* src/raster/ftraster.c (FT_MAX_BLACK_POOL): New macro.
(ft_black_render): Updated.
* src/smooth/ftgrays.c (FT_MAX_GRAY_POOL): New macro.
(gray_raster_render): Updated.
|
|
44341d27
|
2016-06-16T22:57:24
|
|
Encoding tweaks.
|
|
1e36c2e2
|
2016-06-16T06:17:54
|
|
* src/base/md5.c: Updated to recent version.
|
|
7f569f45
|
2016-06-14T23:49:31
|
|
Move function.
|
|
32acceff
|
2016-06-14T23:38:17
|
|
* src/smooth/ftgrays.c (gray_hline): Optimize if-condition.
|
|
05a55a56
|
2016-06-13T12:16:45
|
|
[autofit] Add support for Cherokee script.
* src/autofit/afblue.dat: Add blue zone data for Cherokee.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Cherokee standard characters.
* src/autofit/afranges.c: Add Cherokee data.
* src/autofit/afstyles.h: Add Cherokee data.
|
|
f40d7d2b
|
2016-06-09T10:55:52
|
|
[cmake] Avoid modifying `ftconfig.h' and `ftoption.h' files.
* CMakeLists.txt: Each time cmake is run those files are
modified and the whole FreeType library is recompiled. With this
change we change the files only if there are real modifications, so
we can avoid recompilations.
|
|
b6b26f45
|
2016-06-09T06:53:48
|
|
[bdf] Check number of properties (#48166).
* src/bdf/bdflib.c (_bdf_parse_start): Implement.
|
|
77180c7a
|
2016-06-08T23:31:28
|
|
[smooth] Re-enable new line renderer on 64-bit archs.
* src/smooth/ftgrays (gray_render_line): Conditionally re-enable new
implementation, where it is safe from overflows.
|
|
9cf232ed
|
2016-06-08T23:19:41
|
|
[smooth] Minor clean-ups.
* src/smooth/ftgrays.c (gray_dump_cells): Move out of the way.
(gray_render_span): Remove spurious casts and streamline.
|
|
223d002c
|
2016-06-07T13:52:14
|
|
[autofit] Add support for Ethiopic script.
* src/autofit/afblue.dat: Add blue zone data for Ethiopic.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Ethiopic standard characters.
* src/autofit/afranges.c: Add Ethiopic data.
* src/autofit/afstyles.h: Add Ethiopic data.
|
|
15eab363
|
2016-06-07T10:36:27
|
|
[autofit] Fix compilation with VS2016 (#48126).
This compiler doesn't recognize the end-of-comment sequence `*/' if
it immediately follows non-ASCII characters.
* src/autofit/afscript.h: Ensure whitespace before `*/'.
|
|
04e7c744
|
2016-06-04T23:05:59
|
|
ChangeLog fixes.
|
|
969960cc
|
2016-06-04T07:02:46
|
|
Comment.
|
|
5485a34c
|
2016-06-04T06:57:32
|
|
[truetype] Fix missed test for named instances (#48122).
* src/truetype/ftobjs.c (Mac_Read_sfnt_Resource): Implement.
|
|
b4598828
|
2016-05-31T08:39:52
|
|
[truetype] Let SHPIX move points in the twilight zone in v40.
* src/truetype/ttinterp.c (Ins_SHPIX): Allow SHPIX to move points in
the twilight zone. Otherwise, treat SHPIX the same as DELTAP.
Unbreaks various fonts such as older versions of Rokkitt and DTL
Argo T Light that would glitch severly after calling ALIGNRP after a
blocked SHPIX.
|
|
d28eac24
|
2016-05-30T00:23:59
|
|
[type42] Support `CharStrings' entry format as created by LilyPond.
* src/type42/t42parse.c (t42_parse_charstrings): Handle entries
having the format
(foo) cvn 12345 def
|
|
46d36904
|
2016-05-28T19:38:43
|
|
* src/autofit/afranges.c: Remove `UL' postfix from hex numbers.
Suggested by Alexei. `UL' is only needed for 16bit compilers, but
it seems noone is using this anymore (and we no longer test whether
FreeType compiles in such an environment). Otherwise, it is easy to
add the postfix to the `AF_UNICODE_RANGE' macro.
|
|
e9f95093
|
2016-05-26T23:46:38
|
|
[smooth] Shrink bisection stack.
The convergence of Bézier flatteners is fast with the deviation
from straight line being assymptotically cut 4-fold on each bisection.
This justifies smaller bisection stack size.
* src/smooth/ftgrays.c (gray_TWorker): Remove common `bez_stack'.
(gray_render_conic): Create and use conic `bez_stack'. Move back the
band analysis from...
(gray_conic_to): ... here.
(gray_render_cubic): Create and use cubic `bez_stack'. Move back the
band analysis from...
(gray_cubic_to): ... here.
(gray_move_to): Updated.
|
|
e97918c5
|
2016-05-25T07:13:29
|
|
[autofit] Fixes for Armenian and Gujarati ranges.
* src/autofit/afranges.c (af_armn_uniranges): Corrected.
(af_guru_nonbase_uniranges): Make U+0A3E a base character.
|
|
1dcda70e
|
2016-05-24T23:10:44
|
|
[autofit] Ordering, whitespace.
|
|
a74f40f9
|
2016-05-24T18:27:18
|
|
[autofit] Add support for Armenian script.
* src/autofit/afblue.dat: Add blue zone data for Armenian.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Armenian standard characters.
* src/autofit/afranges.c: Add Armenian data.
* src/autofit/afstyles.h: Add Armenian data.
|
|
771d3c8a
|
2016-05-23T06:49:38
|
|
* builds/unix/unix-cc.in (LINK_LIBRARY): Use `-export-symbols'.
This was commented about 10 years ago – I think the reason then to
disable libtool's `-export-symbols' option was to give some badly
programmed applications access to internal FreeType functions.
I believe that we should no longer take care of such programs; the
number of symbols exported should be rather restricted as much as
possible.
|
|
9d179e3d
|
2016-05-22T08:38:41
|
|
[autofit] Add blue-zone support for Gurmukhi script.
This essentially moves the Gurmukhi script from the `Indic' hinter to
the `Latin' hinter.
* src/autofit/afblue.dat: Add blue zone data for Gurmukhi.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Gurmukhi standard characters and move
data out of AF_CONFIG_OPTION_INDIC block.
* src/autofit/afranges.c: Move Gurmukhi data out of
AF_CONFIG_OPTION_INDIC block.
* src/autofit/afstyles.h: Update Gurmukhi data; in particular, use
AF_WRITING_SYSTEM_LATIN.
|
|
d583561e
|
2016-05-21T11:20:42
|
|
Minor clang++ fixes.
* src/base/ftobjs.c (FT_Add_Module), src/psaux/psobjs.c
(ps_parser_load_field), src/type1/t1load.c (parse_subrs): Add
initializer.
* src/cache/ftccache.h (FTC_CACHE_TRYLOOP_END): Avoid implicit
conversion from NULL to boolean.
|
|
6e80a098
|
2016-05-21T10:58:40
|
|
Work around a bug of the C 8.0.0.1 compiler on AIX 5.3 (#47955).
* include/freetype/internal/ftmemory.h (cplusplus_typeof): Use
braces for `extern "C++"'.
|
|
2a4c823f
|
2016-05-20T22:04:01
|
|
Parentheses.
|
|
01de37e5
|
2016-05-18T07:07:44
|
|
[truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].
* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
(tt_loader_set_pp): ... this new function.
Update all callers.
|
|
ed1d8983
|
2016-05-18T06:58:44
|
|
[truetype] New implementation of v38 bytecode interpreter [2/3].
This patch actually modifies the bytecode interpreter.
See added comments in `ttinterp.h' for more information on this and
the following commit in the series.
* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
SUBPIXEL_HINTING_MINIMAL): ...new macros.
(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backwards
compatibility.
Updated.
(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
Updated.
(Ins_INSTCTRL): Handle native ClearType mode flag.
Updated.
(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backwards
compatibility.
(Move_Zp2_Point): Ditto.
(Ins_SHP): Updated.
(Ins_SHPIX): Handle backwards compatibility.
Updated.
(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
(Ins_ALIGNRP): Updated.
(Ins_IUP, Ins_DELTAP): Handle backwards compatibility.
Updated.
(Ins_GETINFO): Handle v38 flags.
Updated.
(TT_RunIns): Handle backwards compatibility mode.
Updated.
|
|
59615736
|
2016-05-18T06:57:59
|
|
[truetype] New implementation of v38 bytecode interpreter [1/3].
This patch prepares data structures and the like.
See added comments in `ttinterp.h' for more information on this and
the following commits in the series.
* devel/ftoption.h, include/freetype/config/ftoption.h
(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
between subpixel versions.
(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.
* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.
* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.
* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
`subpixel_hinting_lean', `vertical_lcd_lean',
`backwards_compatibility', `iupx_called', iupy_called', and
`grayscale_cleartype' for new hinting mode.
* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
interpreters conditionally.
* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
in v38 backwards compatibility mode.
Updated.
(compute_glyph_metrics): Add v38 backwards compatibility mode
constraint for adjusting advance widths.
Updated.
(tt_loader_init): Handle new flags `subpixel_hinting_lean',
`grayscale_cleartype', and `vertical_lcd_lean'.
Updated.
(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
Updated.
* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
default interpreter version number.
* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
|
|
119e8e41
|
2016-05-17T19:54:09
|
|
[cff] Fix matrix scaling (#47848).
* include/freetype/config/ftstdlib.h (FT_LONG_MIN): New macro.
* src/cff/cffparse.c (cff_parse_font_matrix): Use largest scaling
value of all matrix coefficients to scale matrix.
* src/cff/cffobjs.c (cff_face_init): Use `matrix->yx' member for
matrix normalization if `matrix->yy' is zero.
|
|
533887a9
|
2016-05-16T20:38:41
|
|
Whitespace, formatting.
|
|
bebac3cf
|
2016-05-16T20:16:35
|
|
[base] Reject invalid sfnt Mac resource (#47891).
* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Check validity
of `CID ' and `TYPE1' table offset and length.
|
|
09f0e0fc
|
2016-05-16T19:44:19
|
|
[cid] Fix scanning for `StartData' and `/sfnts' (#47892).
* src/cid/cidparse.c (STARTDATA, STARTDATA_LEN, SFNTS, SFNTS_LEN):
New macros.
(cid_parser_new): Fix and document algorithm.
|
|
a7d8bdbc
|
2016-05-16T21:54:32
|
|
[truetype] Improve the recursive reference detector.
The previous fix for #46372 misunderstood a composite glyph referring
same component twice as a recursive reference. See the discussion
http://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html
Thanks to Khaled Hosny for finding this issue.
* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
the i-th node from FT_List. (load_truetype_glyph): In the traversal
scan of the reference tree in the composite glyph, we clear the
nodes filled by previous sibling chain.
|
|
cdc8f4d9
|
2016-05-07T23:17:57
|
|
Duplicates.
|
|
500bcbdd
|
2016-05-07T22:28:43
|
|
Duplicates.
|
|
7ae9b999
|
2016-05-07T16:24:03
|
|
[cache] Allow value 0 for face ID.
We never dereference `face_id', and some implementations might use a
running number instead of a pointer. Additionally, disallowing
value zero was undocumented.
* src/cache/ftccmap.c (FTC_CMapCache_Lookup), src/cache/ftcmanag.c
(FTC_Manager_LookupFace, FTC_Manager_RemoveFaceID): Remove test for
`face_id'.
|
|
6e88087d
|
2016-05-05T23:41:03
|
|
[smooth] More efficient accounting of conic splits and draws.
A single decrement counter of segments to draw, instead of an array,
contains all the information necessary to decide when to split and
when to draw a conic segment. The number of splits before each draw is
equal to the number of trailing zeros in the counter.
* src/smooth/ftgrays.c (gray_TWorker): Remove `lev_stack'.
(gray_render_conic): Updated to use decrement counter of segments.
|
|
0b3cb8a8
|
2016-05-05T12:28:48
|
|
[cff, truetype] Fix logic for `FT_Property_Set'.
Otherwise some properties could be set to arbitrary values, which is
harmless, but querying could give wrong positive results.
* src/cff/cffdrivr.c (cff_property_set) [hinting-engine],
* src/truetype/ttdriver.c (tt_property_set) [interpreter-version]:
Only allow defined values.
|
|
22167629
|
2016-04-25T21:18:24
|
|
[autofit] Add blue-zone support for Gujarati script.
This essentially moves the Gujarati script from the `Indic' hinter to
the `Latin' hinter.
* src/autofit/afblue.dat: Add blue zone data for Gujarati.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Gujarati standard characters and move
data out of AF_CONFIG_OPTION_INDIC block.
* src/autofit/afranges.c: Move Gujarati data out of
AF_CONFIG_OPTION_INDIC block.
* src/autofit/afstyles.h: Update Gujarati data; in particular, use
AF_WRITING_SYSTEM_LATIN.
|
|
d9fb2175
|
2016-04-24T15:27:32
|
|
Minor.
* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Protect macro
argument with parentheses.
|
|
432e00db
|
2016-04-24T08:14:07
|
|
[truetype] Fix deallocation in case of error (#47726).
* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
`outline' that are going to be deallocated in case of error.
|
|
80afef8b
|
2016-04-23T21:34:15
|
|
[autofit] Improve Georgian blue zone characters.
Suggested by Akaki Razmadze <razmadzekoko@gmail.com>.
* src/autofit/afblue.dat (AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM):
Updated.
* src/autofit/afblue.c: Regenerated.
|
|
9224f053
|
2016-04-16T10:24:24
|
|
[cmake] Honor SKIP_INSTALL_* settings (as used in zlib).
As FreeType depends on zlib, if we don't install zlib (e.g., because
we defined SKIP_INSTALL_ALL), FreeType cannot be installed, too
(cmake triggers an error saying that FreeType cannot be installed
because zlib target isn't in the export set).
* CMakeLists.txt: Honor `SKIP_INSTALL_HEADERS',
`SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' settings.
|
|
99eff678
|
2016-04-16T07:32:23
|
|
[truetype] Another fix for non-intermediate GX tuples.
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Add some missing
cases.
|
|
213f0ca3
|
2016-04-13T00:19:54
|
|
Remove forgotten macro.
* include/freetype/internal/internal.h
[FT_INTERNAL_POSTSCRIPT_GLOBALS_H]: Remove.
|
|
bbcb9779
|
2016-04-13T00:11:52
|
|
Typos.
|
|
f46b282d
|
2016-04-11T23:22:57
|
|
Typos.
|
|
c8c7ad79
|
2016-04-09T08:24:00
|
|
[autofit] Add support for Georgian scripts.
Georgian is problematic, since `uppercase' forms of Mkhedruli
(called Mtavruli) are not yet defined in Unicode, which means that
proper blue zones can't be defined. However, there is already a
proposal submitted to Unicode; see
http://www.unicode.org/L2/L2016/16034-n4707-georgian.pdf
Additionally, due to historical reasons, Unicode treats Khutsuri as
the same script as Mkhedruli, and so does OpenType. However, since
the two scripts have completely different shapes it can happen that
blue zones differ considerably. The tag `geok' used here (derived
from ISO 15924) to differentiate the two scripts is not an OpenType
tag in use. If we now have a font that contains both glyphs for
Mkhedruli and Khutsuri, and it uses OpenType features for both also,
HarfBuzz unavoidably treats all glyphs as `geor'. As a consequence,
blue zones for `geok' are not used for glyphs involved in the
OpenType features.
An issue not yet resolved is which OpenType feature should be used
to access Mtavruli glyph shapes; right now, FreeType doesn't set up
support for them, but it is easy to add them later on as soon as
more information is available.
* src/autofit/afblue.dat: Add blue zone data for Georgian.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Georgian standard characters.
* src/autofit/afranges.c: Add Georgian data.
* src/autofit/afstyles.h: Add Georgian data.
|
|
e8542260
|
2016-04-08T23:21:34
|
|
Typos.
|
|
34207080
|
2016-04-08T00:38:49
|
|
Typos.
|
|
c6d99a42
|
2016-04-08T00:05:50
|
|
Typos.
|
|
bbb60965
|
2016-04-07T01:29:44
|
|
Typos.
|
|
bf8f100d
|
2016-04-05T11:43:58
|
|
[autofit] Provide dummy blue zone for pseudo script `none'.
Even if the dummy hinter is used as the handler for `none' (which
doesn't use blue zones), it is more consistent than the old value
(which was 0), pointing to Arabic...
* src/autofit/afblue.dat: Add `AF_BLUE_STRINGSET_NONE'.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afstyles.h (none_dflt): Use AF_BLUE_STRINGSET_NONE.
|
|
fb550bf4
|
2016-03-30T18:55:27
|
|
* src/pfr/pfrload.c (pfr_aux_name_load): Thinko (#47567).
|
|
aff6ebb9
|
2016-03-30T09:11:02
|
|
* src/pfr/pfrload.c (pfr_log_font_count): Better font size estimate.
|
|
ccd771cd
|
2016-03-30T08:44:46
|
|
* src/pfr/pfrload.c (pfr_aux_name_load): Fix memory leak (#47567).
|
|
ff82747e
|
2016-03-29T09:19:22
|
|
* src/base/ftadvance.c (FT_Get_Advances): Fix invalid left shift.
|
|
351fc4b4
|
2016-03-29T09:13:13
|
|
[pfr] Fix binary search (#47514).
* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
conditions correctly.
|
|
2a03e5d9
|
2016-03-29T08:56:03
|
|
[pfr] Minor.
* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
`right', and `middle' with `min', `max', and `mid' as used in other
FreeType binary search code.
(pfr_load_bitmap_metrics): Fix invalid left shift.
|
|
31dc8f98
|
2016-03-29T08:37:07
|
|
* src/pfr/pfrtypes.h: Replace all enums with macros.
We need `~FOO' to unset bits, and only with unsigned values (which
`enum' isn't normally) this works cleanly.
|
|
f73a9937
|
2016-03-26T08:31:19
|
|
[autofit] Mark `aflatin2.[ch]' as not compilable.
|
|
b069a590
|
2016-03-26T08:00:07
|
|
[pfr] Robustify bitmap strike handling (#47514).
We did a binary search for a charcode without ensuring that the
searched data is ordered. Validating the order is now done lazily,
this is, the first access to a bitmap glyph triggers the order check
in the corresponding bitmap strike.
* src/pfr/pfrtypes.h (PFR_BitmapFlags): New values
`PFR_BITMAP_VALID_CHARCODES' and `PFR_BITMAP_CHARCODES_VALIDATED'.
* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Make `flags' argument
a pointer. Handle new PFR_BITMAP_XXX flags.
(pfr_slot_load_bitmap): Updated.
|
|
0003cb91
|
2016-03-26T07:34:30
|
|
[pfr] Fix handling of compound glyphs.
Extra items are indicated with different bit positions.
* src/pfr/pfrtypes.h (PFR_GlyphFlags): Replace
`PFR_GLYPH_EXTRA_ITEMS' with `PFR_GLYPH_SIMPLE_EXTRA_ITEMS' and
`PFR_GLYPH_COMPOUND_EXTRA_ITEMS'.
* src/pfr/pfrgload.c (pfr_glyph_load_simple,
pfr_glyph_load_compound): Use them.
|
|
2aa69565
|
2016-03-25T10:54:37
|
|
[pfr] Minor.
* src/pfr/pfrsbit.c, srf/pfr/pfrobjs.c: Use flag names instead of
bare numbers.
|
|
59828f72
|
2016-03-25T08:47:14
|
|
[pfr] Various clang sanitizer fixes.
* src/pfr/pfrsbit.c (pfr_load_bitmap_metrics): Correctly handle
signed nibbles.
(pfr_slot_load_bitmap): Correctly exit frame in case of error.
Fix invalid left shifts.
|
|
98967b77
|
2016-03-23T23:07:24
|
|
Add comment.
|
|
6e89ad41
|
2016-03-23T07:40:12
|
|
Rename `VERSION.DLL' (#47472).
* docs/VERSION.DLL: Renamed to...
* docs/VERSIONS.TXT: ...this.
|
|
31f2dc19
|
2016-03-23T07:31:59
|
|
[raster, smooth] Directly test outline size (#47500).
This improves stand-alone compilation.
* src/base/ftoutln.c (FT_Outline_Render): Move cbox size test to...
* src/raster/ftraster.c (ft_black_render), src/smooth/ftgrays.c
(gray_raster_render): ...these functions.
|
|
e9181aba
|
2016-03-23T06:58:20
|
|
[raster, smooth] Fix some clang sanitizer runtime issues.
* src/raster/ftraster.c (ft_black_reset, ft_black_set_mode,
ft_black_render): Harmonize signatures with `ftimage.h'.
* src/smooth/ftgrays.c (gray_raster_render, gray_raster_reset):
Ditto.
|
|
b6633073
|
2016-03-22T08:26:55
|
|
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.
This fixes an AddressSanitizer issue:
ttgload.c:430:7: runtime error: null pointer passed as argument 1,
which is declared to never be null
|
|
614a8f17
|
2016-03-21T19:39:14
|
|
* src/autofit/afhints.c (af_glyph_hints_reload): Thinko.
This fixes the previous commit to this file.
|
|
3beccbdf
|
2016-03-21T00:07:47
|
|
[smooth] Partly revert recent changes.
* src/smooth/ftgrays.c (gray_conic_to, gray_cubic_to): Rework
conditions to fix rendering issues.
|
|
709486db
|
2016-03-20T22:20:32
|
|
[autofit] Show `near' points in tracing.
* src/autofit/afhints.h (AF_FLAG_NEAR): New macro.
* src/autofit/afhints.c (af_glyph_hints_dump_points): Implement it.
(af_glyph_hints_reload): Handle AF_FLAG_NEAR.
|
|
8e8bb126
|
2016-03-18T23:21:59
|
|
[smooth] Minor refactoring and microoptimizations.
* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
band clipping from here.
(gray_conic_to, gray_cubic_to): ... to here.
(gray_rander_line, gray_render_scanline): Initialize variables closer
to their use.
|
|
84b2c633
|
2016-03-17T00:53:09
|
|
[smooth] Minor refactoring.
* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
upscaling from here...
(gray_conic_to, gray_cubic_to):... to here.
|
|
da86b73f
|
2016-03-15T07:55:05
|
|
* src/autofit/aflatin.c (af_latin_compute_stem_width): Optimize.
|
|
1865575a
|
2016-03-14T22:39:22
|
|
[smooth] Temporarily revert 6eb6158dd787 (#47114).
* src/smooth/ftgrays.c (gray_render_line): Old implementation.
|
|
ee6b4115
|
2016-03-12T23:48:13
|
|
[ftfuzzer] Improve coverage of rasterfuzzer.
* src/tools/ftfuzzer/rasterfuzzer.cc (LLVMFuzzerTestOneInput): Use
input data for `tags' array also.
Trim input data to get more positive hits.
|
|
10265db1
|
2016-03-11T06:50:23
|
|
Fix CMake issues for iOS (patch #8941).
* CMakeLists.txt (CMAKE_TOOLCHAIN_FILE): Fix directory.
* builds/cmake/iOS.cmake: No longer enforce gcc.
|
|
74c0a72d
|
2016-03-09T20:35:27
|
|
[truetype] Fix handling of non-intermediate GX tuples.
We probably did not notice this as all fonts we tested had only
tuple_coords[i] be +1 or -1 for non-intermediate tuples.
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Implement it.
|
|
495de6cc
|
2016-03-06T23:54:34
|
|
[base] Refuse to render enormous outlines (#47114).
The goal is to avoid integer overflows in the rendering algorithms.
The limit is chosen arbitrarily at some 2^18 pixels, which should be
enough for modern devices including printers.
* src/base/ftoutln.c (FT_Outline_Render): Check CBox and reject
enormous outlines.
|
|
d0b0e31e
|
2016-03-06T23:01:50
|
|
[smooth] Replace left shifts with multiplications (#47114).
* src/smooth/ftgrays.c (SUBPIXELS, UPSCALE, DOWNSCALE): Do it.
|
|
caa48b0d
|
2016-03-05T19:47:07
|
|
[autofit] Avoid excessive stem length rounding (#25392).
* src/autofit/aflatin.c (af_latin_compute_stem_width): Add argument
to pass difference between hinted and unhinted position of base
point; use this to adjust the stem width depending on the PPEM so
that it doesn't become too large under certain circumstances.
Update all callers using value 0 for this argument except...
(af_latin_align_linked_edge): Pass position delta of base point to
`af_latin_compute_stem_width'.
|
|
1fd2bc8c
|
2016-03-05T16:38:35
|
|
Make FreeType compile on AIX out of the box.
* builds/unix/configure.raw (XX_ANSIFLAGS): Don't use `-ansi' on
AIX.
|