|
3df92aa0
|
2015-09-13T09:21:52
|
|
[winfonts] Check alignment shift count for resource data (#45938).
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it.
|
|
e3058617
|
2015-09-13T08:41:43
|
|
[type1] Fix potential buffer overflow (#45923).
* src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't
point to end of file buffer.
|
|
e40e8b33
|
2015-09-13T08:05:50
|
|
[gzip] Fix access of small compressed files (#45937).
* src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak.
(ft_gzip_get_uncompressed_file): Correct byte order while reading
unsigned long value. Without this change, the whole optimization of
accessing small files in `FT_Stream_OpenGzip' is never executed! As
a consequence, access to PCF files in general (which are normally
small files) should be much improved now as originally intended.
|
|
db5a4a9a
|
2015-09-12T08:32:55
|
|
[psaux] Fix potential buffer overflow (#45922).
* src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is
enclosed in balanced expressions, ensure that the cursor position
doesn't get larger than the current limit.
|
|
19b82cfb
|
2015-09-11T20:25:32
|
|
[base] Avoid crash while tracing `load_mac_face'.
Reported in Savannah bug #45919.
* src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while
tracing.
|
|
23423bc6
|
2015-09-11T08:28:27
|
|
[type42] Fix endless loop (#45920).
* src/type42/t42parse.c (t42_parse_encoding): Synchronize with
type1's `parse_encoding'.
|
|
e5a27a75
|
2015-09-10T07:44:11
|
|
[docmaker] Allow `-' in bold and italic markup.
* src/tools/docmaker/sources.py (re_italic, re_bold): Adjust
accordingly.
|
|
09948e42
|
2015-09-09T21:30:15
|
|
* src/base/ftcalc.c (FT_RoundFix): Improve.
|
|
822acb02
|
2015-09-09T07:59:10
|
|
* src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize.
This commit makes the functions behave as expected, this is,
rounding towards plus or minus infinity.
|
|
b002f688
|
2015-09-07T13:47:36
|
|
* src/smooth/ftgrays.c (gray_render_line): Simplify clipping.
|
|
5a6dc872
|
2015-09-04T23:14:46
|
|
[raster,smooth] Microoptimizations.
* src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table,
Beziier_Up, ): Use do-while loops.
* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
gray_convert_glyph): Ditto.
|
|
d3cba0ed
|
2015-09-04T10:28:53
|
|
[autofit] Redesign code ranges (2/2).
This commit adds two fallback scripts (`latb', `latp') and
implements support for the no-base character ranges introduced in
the previous commit.
* src/autofit/aftypes.h (AF_ScriptClassRec): Add
`script_uni_nobase_ranges' field.
(AF_DEFINE_SCRIPT_CLASS): Updated.
* src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and
`latp' fallback scripts.
* src/autofit/afblue.dat: Add blue zones for Latin subscript and
superscript fallback scripts.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base
characters.
(AF_STYLE_MASK): Updated.
* src/autofit/afglobal.c (SCRIPT): Updated.
(af_face_globals_compute_style_coverage): Handle new style flag.
* src/autofit/aflatin.c (af_latin_hints_apply): Handle new style
flag.
* src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges.
|
|
696b7126
|
2015-09-04T10:10:59
|
|
[autofit] Redesign code ranges (1/2).
This patch introduces auxiliary code ranges that identify no-base
characters; they refer to glyphs of a script that should be hinted
without alignments to blue zones (mostly diacritics).
It also splits off ranges for fallback scripts that handle subscript
and superscript characters not covered by OpenType features. For
example, this greatly helps improve the hinting of various phonetic
alphabets, which contain a large amount characters that look like
superscript glyphs.
Finally, code ranges are updated to Unicode 8.0, and enclosed
characters are removed in general since they normally look better if
they stay unhinted.
* src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode
8.0.
Split off superscript-like and subscript-like glyphs into...
(af_latb_uniranges, af_latp_uniranges): ... these two new arrays.
(af_xxxx_nobase_uniranges): New arrays that hold no-base characters
of the corresponding character ranges.
|
|
8cbbcf6b
|
2015-09-03T06:47:30
|
|
[autofit] Pass glyph index to hinting function.
No functionality change yet.
* src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass
glyph index.
* src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply),
src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c
(af_indic_hints_apply), src/autofit/aflatin.c
(af_latin_hints_apply), src/autofit/aflatin2.c
(af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g):
Updated.
|
|
40103a3a
|
2015-08-31T08:51:52
|
|
[autofit] Code clean-up.
* src/autofit/afglobal.h (AF_STYLE_MASK): New macro.
(AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition.
* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
Updated.
|
|
87c81f04
|
2015-08-30T10:35:21
|
|
[autofit] Make glyph style array use 16bit values.
* include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use
`FT_UShort' for `map' field.
* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h
(af_get_coverage): Use FT_UShort for `glyph_styles' array.
* src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to
16 bits.
(AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field.
|
|
633d8ed2
|
2015-08-26T06:18:47
|
|
* builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828).
|
|
78b01403
|
2015-08-25T07:23:01
|
|
[base] Improve kerning tracing and documentation.
* src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if
scaled-down kerning values differ.
|
|
91d59169
|
2015-08-18T06:04:36
|
|
[raster] Remove last remnants of `raster5' driver.
* src/raster/ftrend1.h (ft_raster5_renderer_class): Removed.
* src/raster/rastpic.c, src/raster/rastpic.h
(ft_raster5_renderer_class_pic_init,
ft_raster5_renderer_class_pic_free): Removed.
|
|
a0172d10
|
2015-08-17T22:58:59
|
|
[base] Improve emboldener (#45596).
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement
of zero-lenght segments.
|
|
815c3246
|
2015-08-17T21:48:46
|
|
Minor.
|
|
00d89950
|
2015-08-16T22:57:34
|
|
[base] Reoptimize aritmetic.
* src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove
special cases that slow down the general use.
|
|
f0ed30e6
|
2015-08-15T06:53:09
|
|
Fix C++ compilation (#45762).
* src/base/ftstroke.c (ft_outline_glyph_class): Use
FT_CALLBACK_TABLE.
|
|
ae258aa0
|
2015-08-14T23:23:18
|
|
[truetype] Clean up.
* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
`FT_Outline_Transform' and `FT_Outline_Translate'.
(translate_array): Dropped.
|
|
d0d7ee04
|
2015-08-14T14:30:58
|
|
* builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261).
|
|
14d6b5d7
|
2015-08-13T15:22:17
|
|
[truetype] Introduce named instance access to GX fonts.
For functions querying a face, bits 16-30 of the face index can hold
the named instance index if we have a GX font. The indices start
with value 1; value 0 indicates font access without GX variation
data.
* include/freetype/freetype.h (FT_FaceRec): Update documentation.
* include/freetype/internal/sfnt.h: Ditto.
* src/sfnt/sfobjs.c (sfnt_init_face)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and
do argument checks.
(sfnt_load_face): Updated.
* src/truetype/ttobjs.c (tt_face_init)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting
the style name.
* src/base/ftobjs.c (open_face_from_buffer,
open_face_PS_from_sfnt_stream): Updated.
* src/bdf/bdfdrivr.c (BDF_Face_Init): Updated.
* src/cff/cffload.c (cff_font_load): Updated.
* src/cff/cffobjs.c (cff_face_init): Make function exit early for
pure CFF fonts if `font_index < 0'.
Updated.
* src/cid/cidobjs.c (cid_face_init): Updated.
* src/pcf/pcfdrivr.c (PCF_Face_Init): Updated.
* src/pfr/pfrobjs.c (pfr_face_init): Updated.
* src/type1/t1objs.c (T1_Face_Init): Updated.
* src/type42/t42objs.c (T42_Face_Init): Updated.
* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
Updated.
* docs/CHANGES: Updated.
|
|
4a466865
|
2015-08-12T23:45:40
|
|
[type1,cff,cid] Streamline font matrix application.
* src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only
if font matrix is not trivial.
* src/cff/cffgload.c (cff_slot_load): Ditto.
* sff/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the
entire outline.
|
|
7ebe6ac8
|
2015-08-11T06:47:25
|
|
[builds/unix] Minor.
* builds/unix/configure.raw:
s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with
similarly named uppercase variables.
|
|
a37da21a
|
2015-08-10T23:05:02
|
|
[type1,cid,type42] Minor improvements.
* src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only
when necessary. Refresh comments.
* src/cid/cidload.c (cid_parse_font_matrix): Ditto.
* src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments.
|
|
bd75a517
|
2015-08-08T08:39:45
|
|
[type42] Fix glyph access.
This is a severe bug: We've missed one level of indirection, as
described in the Type 42 specification. As a result, ftview
sometimes showed incorrect glyphs for given glyph names, and even
displayed `error 0x0006' (invalid argument!) in case the number of
glyph indices differed between the Type 42 font and the embedded
TTF.
Apparently, noone ever noticed it; this shows how much Type 42 fonts
are in use...
* src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index
to embedded TTF's glyph index.
|
|
e5f44693
|
2015-08-08T07:45:03
|
|
[type42] Minor clean-up.
* src/type42/t42parse.c (t42_parse_font_matrix): Remove unused
variable.
|
|
fd70512e
|
2015-08-06T21:49:08
|
|
[type42] Parse FontMatrix according to specifications.
* src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix
does not need scaling by 1000. Units_per_EM are taken from the
embedded TrueType.
|
|
ff406e2e
|
2015-08-06T07:34:50
|
|
[autofit] Improve Arabic hinting.
Problem reported by Titus Nemeth <tn@tntypography.eu> (by using
ttfautohint).
* src/autofit/afblue.dat: Add neutral blue zone for the tatweel
character.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
|
|
98e8e999
|
2015-08-06T00:06:14
|
|
[truetype] Clean up types.
* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
* include/freetype/internal/tttypes.h (TT_Size): ... to here.
(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
* src/truetype/ttgload.c: Remove corresponding type casts.
* src/truetype/ttsubpix.c: Ditto.
|
|
15e2a4f7
|
2015-08-05T21:53:50
|
|
[autofit] Improve recognition of flat vs. rounded segments.
Lower the flatness threshold from upem/8 to upem/14, making the
auto-hinter accept shorter elements.
Synchronize flat/round stem selection algorithm with blue zone code.
* src/autofit/aflatin.c (FLAT_THRESHOLD): New macro.
(af_latin_metrics_init_blues): Use it.
(af_latin_hints_compute_segments): Collect information on maximum
and minimum coordinates of `on' points; use this to add a constraint
for the flat/round decision similar to
`af_latin_metrics_init_blues'.
|
|
eb22ef26
|
2015-08-04T06:50:04
|
|
Another left-shift bug (#45681).
* src/base/ftobjs.c (IsMacBinary): Only accept positive values for
`dlen'.
|
|
7e6c321a
|
2015-08-03T23:26:13
|
|
[base] Fix `ft_corner_orientation'.
Remove casting from `FT_Long' to `FT_Int' that might change the sign
of the return value and make it faster too.
* src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay
with 32-bit arithmetic when safe. Use plain math on 64-bit systems.
* src/pshinter/pshalgo.c: Remove old unused code.
|
|
8dfc7601
|
2015-08-03T12:23:30
|
|
* src/truetype/ttgload.c (load_truetype_glyph)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
having a depth greater than 1.
|
|
ca6a5cf4
|
2015-08-03T08:51:18
|
|
Fix typo in clang bug from 2015-07-31 (#45678).
* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality.
|
|
a82c45d5
|
2015-08-02T18:35:49
|
|
* CMakeLists.txt: Improve shared library support.
Based on a patch from John Cary <cary@txcorp.com>.
|
|
682c2719
|
2015-08-02T15:46:26
|
|
* builds/unix/freetype-config.in (enable_shared): Remove. Unused.
|
|
70e9d815
|
2015-08-02T09:42:12
|
|
Fix more invalid left-shifts.
* src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication,
not left-shift.
* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication,
not left-shift.
|
|
6343ba22
|
2015-08-01T07:53:48
|
|
Fix some bugs found by clang's `-fsanitize=undefined' (#45661).
* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
positive values from header.
Check overflow.
* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
negative values.
* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
_bdf_clear_glyph_modified): Use unsigned long constant.
* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
left-shift values that can be negative.
* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
left-shift values that can be negative.
* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
negative values.
* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
values that can be negative.
* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
compute_glyph_metrics, load_sbit_image): Don't left-shift values
that can be negative.
|
|
5d1b8ab4
|
2015-07-31T21:49:07
|
|
Define FT_LONG_MAX.
* include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro.
* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it.
|
|
2b07a5ae
|
2015-07-28T23:14:30
|
|
* src/base/ftcalc.c (FT_Vector_NormLen): Clarify.
|
|
e8b186ee
|
2015-07-27T23:22:34
|
|
* src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions.
|
|
b650dfbb
|
2015-07-26T21:08:34
|
|
[cff] Don't use `hmtx' table for LSB (#45520).
* src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance
width only. Bug introduced 2015-04-10.
|
|
f9be567f
|
2015-07-09T15:10:31
|
|
Better support of user-supplied C++ namespaces.
See
http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html
for a rationale.
* src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h,
src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h,
src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h
(FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose
header files that contain FT_{BEGIN,END}_HEADER macros by
themselves.
* src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include
FT_CONFIG_STANDARD_LIBRARY_H earlier.
* src/truetype/ttpic.h: Include FT_INTERNL_PIC_H.
|
|
1cdac10d
|
2015-07-07T14:04:44
|
|
[sfnt] Make `tt_face_get_name' member of the SFNT interface.
* include/freetype/internal/sfnt.h (TT_Get_Name_Func): New
prototype.
(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'.
* src/sfnt/sfdriver.c (sfnt_interface): Updated.
* src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'.
* src/sfnt/sfobjs.h: Add prototype for it.
|
|
eb1bba9b
|
2015-06-30T09:46:39
|
|
Fix some clang compiler warnings.
* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
(cf2_interpT2CharString), src/truetype/ttgload.c
(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
|
|
5aaabb44
|
2015-06-29T22:46:54
|
|
[truetype] Speed up bytecode interpreter.
* src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'.
|
|
9ef02bd4
|
2015-06-29T22:39:10
|
|
[base] Speed up emboldening.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use `FT_Vector_NormLen'.
|
|
884e4e67
|
2015-06-29T22:32:05
|
|
[base] Implement fast vector normalization.
The function uses Newton's iterations instead of dividing vector
components by its length, which needs a square root. This is,
literally, a bit less accurate but a lot faster.
* src/base/ftcalc.c (FT_Vector_NormLen): New function.
|
|
7cdc77f2
|
2015-06-28T11:40:02
|
|
* CMakeLists.txt: Always create `ftconfig.h'.
For non-UNIX builds, the file stays unmodified. However, it's
better to have the main configuration files at the same place
regardless of the OS.
|
|
2c89e2c9
|
2015-06-28T11:06:47
|
|
* CMakeLists.txt: Improve MSVC support (#43737).
|
|
52c9b1aa
|
2015-06-28T11:03:10
|
|
[cmake] Check for libraries and create `ftoption.h'.
* builds/FindHarfBuzz.cmake: New file, taken from
https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake
* CMakeLists.Txt: Add path to local cmake modules.
Find dependencies for zlib, bzip2, libpng, and harfbuzz.
Create `ftoption.h' file.
Set up include and linker stuff for libraries.
|
|
97b757de
|
2015-06-28T10:42:47
|
|
* CMakeLists.txt: Fix creation of `ftconfig.h'.
Check for UNIX header files using `check_include_file'.
Set up correct header include directories.
|
|
22479ca8
|
2015-06-28T10:26:33
|
|
* CMakeLists.txt: Disallow in-source builds.
|
|
802f6a9a
|
2015-06-27T07:12:42
|
|
* src/tools/docmaker/utils.py (check_output): Add missing `\n'.
|
|
1982a88d
|
2015-06-26T06:52:34
|
|
Fix ChangeLog file.
Correct result of `git pull -r'.
|
|
94c79c20
|
2015-06-26T06:46:59
|
|
* CMakeLists.txt: Select platform-dependend `ftdebug.c'.
|
|
68222dd1
|
2015-06-25T16:38:11
|
|
* CMakeLists.txt: Use cmake functions for generating `ftconfig.h'.
Additionally, do this for UNIX only.
|
|
5ef5a4fd
|
2015-06-25T15:45:13
|
|
* CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'.
|
|
392cf22f
|
2015-06-25T13:04:57
|
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
|
|
41bfbadc
|
2015-06-24T23:57:19
|
|
* src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp.
|
|
4308b7b1
|
2015-06-24T23:31:17
|
|
* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
|
|
5931268e
|
2015-06-23T09:24:48
|
|
s/TYPEOF/FT_TYPEOF/ (#45376).
* builds/unix/ftconfig.in, builds/vms/ftconfig.in,
include/freetype2/config/ftconfig.h,
include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it.
|
|
8502c98b
|
2015-06-22T06:35:23
|
|
Fix Savannah bug #45097.
We no longer `pollute' the namespace of possible header file names;
instead we move `ft2build.h' up by one level so that it gets
installed in the default include directory (e.g.,
/usr/local/include). After this commit, only `ft2build.h' stays in
the compiler's include path.
No visible changes for the user who follows the standard FreeType
header inclusion rules.
* include/*: Move to ...
* include/freetype2/*: This directory, except `ft2build.h'.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/install.mk (install, uninstall),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
Emit -I directory only if it is not `/usr/include'.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
|
|
31d97df9
|
2015-06-21T19:12:12
|
|
Make Jam support work again.
This is just very basic stuff and just a little bit tested on
GNU/Linux only. I won't delve into this since I'm not a Jam user.
* Jamfile: Call `HDRMACRO' for `ftserv.h' also.
(DEFINES): Replace with...
(CCFLAGS): ... this.
* src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is
already handled in the top-level Jamfile.
* src/autofit/Jamfile (DEFINES): Replace with...
(CCFLAGS): ... this.
(_sources): Add missing files.
* src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no
longer contains macro header definitions.
* src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile,
src/truetype/Jamfile (_sources): Add missing files.
|
|
1a147ac0
|
2015-06-16T10:20:07
|
|
Fix Savannah bug #45326.
* src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate
definitions.
|
|
e1862306
|
2015-06-07T16:11:18
|
|
* Version 2.6 released.
=======================
Tag sources with `VER-2-6'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.6.
* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
builds/windows/vc2005/index.html,
builds/windows/vc2008/freetype.vcproj,
builds/windows/vc2008/index.html,
builds/windows/vc2010/freetype.vcxproj,
builds/windows/vc2010/index.html,
builds/windows/visualc/freetype.dsp,
builds/windows/visualc/freetype.vcproj,
builds/windows/visualc/index.html,
builds/windows/visualce/freetype.dsp,
builds/windows/visualce/freetype.vcproj,
builds/windows/visualce/index.html,
builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/freetype.vcproj,
builds/wince/vc2008-ce/index.html: s/2.5.5/2.6/, s/255/26/.
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 6.
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.raw (version_info): Set to 18:0:12.
* CMakeLists.txt (VERSION_MINOR): Set to 0.
(VERSION_PATCH): Set to 6.
* src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add
declarations for dumping functions.
* src/truetype/ttinterp.c (TT_New_Context): Pacify compiler.
* builds/toplevel.mk: Use `freetype.mk's code to compute the version
string.
Don't include a zero patch level in version string.
* builds/freetype.mk: Remove code for computing the version string.
|
|
472119ac
|
2015-06-06T05:45:17
|
|
Fix Savannah bug #45260.
* src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo.
|
|
75534a04
|
2015-06-03T00:54:09
|
|
[truetype] Fix memory leak.
Problem reported by Grissiom <chaos.proton@gmail.com>; in
http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html
there is an example code to trigger the bug.
* src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size'
data before allocating again. Bug most probably introduced four
years ago in version 2.4.3.
|
|
d1ade6d1
|
2015-06-02T11:44:52
|
|
[raster] Add more tracing.
* src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define.
(Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span,
Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls.
|
|
54d04286
|
2015-06-01T12:12:06
|
|
[truetype] While tracing opcodes, show code position and stack.
* src/truetype/ttinterp.c: Change all existing TRACE7 calls to
TRACE6.
(opcode_name): Add string lengths.
(TT_RunIns): Implement display of code position and stack.
|
|
e9df4e47
|
2015-05-31T12:21:34
|
|
[truetype] In GX, make private point numbers work correctly.
This is completely missing in Apple's documentation: If a `gvar'
tuple uses private point numbers (this is, deltas are specified for
some points only), the uncovered points must be interpolated for
this tuple similar to the IUP bytecode instruction. Examples that
need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.
* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
tt_handle_deltas): New functions.
(TT_Vary_Get_Glyph_Deltas): Renamed to...
(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
points and does no longer return an array of deltas.
Add tracing information.
Call `tt_handle_deltas' to interpolate missing deltas.
Also fix a minor memory leak in case of error.
* src/truetype/ttgxvar.h: Updated.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Updated.
|
|
9845c1d4
|
2015-05-31T11:57:31
|
|
[truetype] In GX, make intermediate tuplets work at extrema.
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition.
|
|
cdee7d14
|
2015-05-31T11:54:42
|
|
[truetype] Add tracing information to GX code.
* src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar,
ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend,
TT_Set_Var_Design, tt_face_vary_cvt): Do it.
|
|
366b2ea7
|
2015-05-28T10:58:40
|
|
* src/tools/apinames.c (names_dump): Fix invalid reference.
Problem reported by Guzman Mosqueda, Jose R
<jose.r.guzman.mosqueda@intel.com>.
|
|
a5e1f6f3
|
2015-05-24T23:29:23
|
|
[truetype] Fix commit from 2015-05-22.
* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.
Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
|
|
7f099482
|
2015-05-24T09:50:24
|
|
[truetype] Fix return values of GETINFO bytecode instruction.
* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
`vertical_lcd' and `gray_cleartype'.
* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
Change `symmetrical smoothing' to TRUE, since FreeType produces
exactly this.
* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
values for symmetrical smoothing, namely 11/18.
Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
(12/19).
|
|
bb435da2
|
2015-05-23T07:21:25
|
|
[truetype] Minor.
* src/truetype/ttinterp.h (TT_ExecContext):
s/subpixel/subpixel_hinting.
* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
|
|
c61cad86
|
2015-05-22T22:02:15
|
|
[truetype] Support selector index 3 of the INSTCTRL instruction.
This flag activates `native ClearType hinting', disabling backwards
compatibility mode as described in Greg Hitchcocks whitepaper. In
other words, it enables unrestricted functionality of all TrueType
instructions in ClearType.
* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
unconditionally.
(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
`GS.instruct_control' is active.
* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
(Ins_GETINFO): Updated.
* docs/CHANGES: Document it.
|
|
790b8dfb
|
2015-05-20T12:33:40
|
|
[truetype] Minor.
|
|
0a6b6ff7
|
2015-05-17T22:54:48
|
|
[truetype] Fix loading of composite glyphs.
* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
ARGS_ARE_XY_VALUES flag is not set, handle argument values as
unsigned. I trust `ttx' (which has exactly such code) that it does
the right thing here...
The reason that noone has ever noticed this bug is probably the fact
that point-aligned subglyphs are rare, as are subglyphs with a
number of points in the range [128;255], which is quite large (or
even in the range [32768;65535], which is extremely unlikely).
|
|
a87fb8cc
|
2015-05-12T07:27:35
|
|
[cff] Make the `*curveto' operators more tolerant.
* src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes
`vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate,
pulling values off the stack until the stack is exhausted.
Implicitly the stack must be a multiple (or for subtly different
behaviour) a multiple plus a specific number of extra values deep.
If that's not the case, enforce it (as the old code did).
|
|
d65bf72c
|
2015-05-12T07:16:46
|
|
[cff] fix incremental interface with new cff code.
* src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental
interface to retrieve glyph data for a SEAC, it be left to the
incremental interface callback to apply the encoding to raw
character index (as it was in the previous code).
|
|
40914952
|
2015-04-29T21:57:30
|
|
[autofit] Speed up IUP.
* src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to
the same position from true interpolation, use `scale' to reduce divisions.
|
|
3cc076da
|
2015-04-28T09:16:27
|
|
[cff] Use `name' table for PS name if we have a SFNT-CFF.
This follows the OpenType 1.7 specification. See
http://tug.org/pipermail/tex-live/2015-April/036634.html
for a discussion.
* src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we
have an SFNT.
|
|
40623a1f
|
2015-04-27T22:27:00
|
|
[truetype] Speed up IUP.
* src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial
snapping to the same position from true interpolation.
|
|
14df6b1a
|
2015-04-22T11:14:35
|
|
[autofit] By default, enable warping code but switch off warping.
Suggested by Behdad.
* include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER.
* src/autofit/afmodule.c (af_autofitter_init): Initialize `warping'
with `false'.
|
|
d164f70d
|
2015-04-21T07:51:41
|
|
* docs/CHANGES: Updated.
|
|
12661a5a
|
2015-04-21T07:13:59
|
|
[autofit] Introduce `warping' property.
This code replaces the debugging hook from the previous commit with
a better, more generic solution.
* include/ftautoh.h: Document it.
* src/autofit/afmodule.h (AF_ModuleRec)
[AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field.
* src/autofit/afmodule.c (_af_debug_disable_warper): Remove.
(af_property_set, af_property_get, af_autofitter_init)
[AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option.
* src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no
longer existing `_af_debug_disable_warper'.
* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
(af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init)
[AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the
scaler flags if warping is off.
* src/autofit/aftypes.h: Updated.
|
|
58f48f0d
|
2015-04-16T20:11:49
|
|
[autofit] Add debugging hook to disable warper.
* src/autofit/afmodule.c (_af_debug_disable_warper)
[FT_DEBUG_AUTOFIT]: New global variable.
* src/autofit/aftypes.h: Updated.
(AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet).
* src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro.
* src/autofi/aflatin.c (af_latin_hints_apply)
[AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use
of warper.
* src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply)
[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
* src/autofit/aflatin2.c (af_latin2_hints_apply)
[AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'.
|
|
5cd21551
|
2015-04-10T07:01:01
|
|
[cff] Update advance width handling to OpenType 1.7.
Problem reported by Behdad.
* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case
separately.
* src/cff/cffgload.c (cff_slot_load): Use advance width and side
bearing values from `hmtx' table if present.
|
|
67b912d2
|
2015-04-03T22:38:11
|
|
* src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop.
|
|
770b5d06
|
2015-04-02T23:15:36
|
|
* src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic.
|
|
886f4d04
|
2015-04-01T22:57:43
|
|
[autofit] Finish the thought.
* src/autofit/afhints.c (af_direction_compute): make sure the long arm
is never negative so that its `FT_ABS' is not necessary.
|
|
a2fa657a
|
2015-04-01T15:55:41
|
|
[autofit] Call dumper functions for tracing.
* src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code.
* src/autofit/afhints.c (af_glyph_hints_dump_points): Minor
improvement.
* src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it.
|
|
db8df797
|
2015-04-01T13:30:55
|
|
[autofit] Make debugging stuff work again.
The interface to ftgrid was broken in the series of commits starting
with
[autofit] Allocate AF_Loader on the stack instead of AF_Module.
from 2015-01-14.
* src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]:
Use a global AF_GlyphHintsRec object for debugging.
(af_autofitter_done, af_autofitter_load_glyph): Updated.
* src/autofit/afloader.c (af_loader_init, af_loader_done): Updated.
|