|
19241347
|
2013-12-21T21:31:38
|
|
Introduce `coverages'.
Coverages are the interface to the HarfBuzz library to access
OpenType features for handling glyphs not addressable by the cmap.
Right now, compilation of HarfBuzz is only added to the development
build. A solution for standard build mode will be delayed until
HarfBuzz gets split into two libraries to avoid mutual dependencies
between FreeType and HarfBuzz.
Note that this is only a first step in handling coverages, basically
providing the framework only. Code for handling selected OpenType
features (this is, actually using the data in `afcover.h') will
follow.
* devel/ftoption.h, include/config/ftoption.h
(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
New files.
* src/autofit/afscript.h: Add HarfBuzz script name tags.
* src/autofit/afstyles.h: Add default coverage enumeration values.
* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
(AF_Coverage): New enumeration (generated by `afcover.h').
(AF_StyleClassRec): New member `coverage'.
(AF_DEFINE_STYLE_CLASS): Updated.
* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
data.
* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
(AF_SCRIPT_FALLBACK): Renamed to ...
(AF_STYLE_FALLBACK): ... this.
* src/autofit/afglobal.c: Include `hbshim.c'.
Update use of `SCRIPT' and `STYLE' macros.
(af_face_globals_compute_style_coverage)
[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
Update.
* src/autofit/afmodule.h (AF_ModuleRec):
s/fallback_script/fallback_style/.
* src/autofit/afmodule.c (af_property_set): Adapt handling of
`fallback-script' property to set a fallback style.
(af_property_get, af_autofitter_init): Updated.
* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
* src/autofit/afranges.h: Update use of `SCRIPT' macro.
* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
`hbshim.c'.
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
(AUTOF_DRV_H): Add `afcover.h'.
* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
all libraries needed by FreeType.
|
|
b337fa25
|
2013-12-21T19:33:15
|
|
Fix Savannah bug #40975 (sort of).
* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
behave the same as the Windows TrueType engine for the invalid case.
|
|
3bf60950
|
2013-12-21T08:49:11
|
|
[autofit] Make PIC mode work actually.
* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
enumeration values automatically generated by including `afscript.h'
and friends.
* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
|
|
bd413862
|
2013-12-21T08:14:25
|
|
Fix PIC linking.
* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
generated function name.
* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
to ...
(FT_Init_Table_ft_raccess_guess_table): ... this so that the
function name correctly corresponds to what the macro framework
expects.
* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
that PIC functions are compiled also.
|
|
c4e968ed
|
2013-12-21T07:23:08
|
|
[base] Add missing dependencies to Makefile.
* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
(BASE_H): Add `basepic.h'.
|
|
8a8f3758
|
2013-12-20T18:35:35
|
|
[autofit] Fix PIC compilation.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
src/autofit/aflatin.c (af_latin_metrics_init_widths)
[FT_CONFIG_OPTION_PIC]: Declare `globals'.
* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
AF_DEFINE_STYLE_CLASS.
* src/autofit/afpic.c: Include `afglobal.h'.
(autofit_module_class_pic_init): Typo.
* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
parameter and structure member.
|
|
974b193b
|
2013-12-20T17:26:26
|
|
[autofit] Introduce `styles'.
This is the new top-level structure for handling glyph input data;
scripts are now defined separately.
* src/autofit/aftypes.h (SCRIPT): Updated.
(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
members to ...
(AF_Style_ClassRec): ... this new structure.
(AF_Style): New enumeration.
(AF_StyleMetricsRec): Replace `script' enumeration with
`style_class' pointer.
(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
* src/autofit/afstyles.h: New file, using data from `afscript.h'.
* src/autofit/afscript.h: Updated.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
* src/autofit/afglobal.c (SCRIPT): Updated.
(STYLE): Redefine macro to load `afstyles.h'.
(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
(af_style_names): ... this array.
(af_face_globals_compute_script_coverage): Renamed to...
(af_face_globals_compute_style_coverage): ... this.
Updated.
(af_face_globals_new, af_face_globals_free,
af_face_globals_get_metrics): Updated.
* src/autofit/afglobal.h (SCRIPT): Updated.
(STYLE): Redefine macro to load `afstyles.h'.
(AF_SCRIPT_FALLBACK): Update definition. This will get more
refinements with later on.
(AF_SCRIPT_UNASSIGNED): Replace with...
(AF_STYLE_UNASSIGNED): ... this macro.
(AF_FaceGlobalsRec): Updated.
* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
af_latin_hint_edges): Updated.
* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
(af_ltn2_uniranges): Removed.
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
Updated.
* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
members.
* src/autofit/afranges.h: Updated.
* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
|
|
d8324571
|
2013-12-19T15:45:24
|
|
[autofit] Factor scripts and uniranges out of writing system files.
* src/autofit/afranges.c, src/autofit/afranges.h: New files.
* src/autofit/afscript.h: Extend `SCRIPT' macro with more
parameters, taking data from the writing system files.
* src/autofit/aftypes.h: Updated.
* src/autofit/afglobal.c: Include `afranges.h'.
Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
* src/autofit/afglobal.c: Include `afranges.h'.
Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
* src/autofit/aflatn2.c, src/autofit/aflatn2.h: Updated.
* src/autofit/afpic.c: Updated.
* src/autofir/autofit.c: Include `afranges.c'.
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
|
|
45930622
|
2013-12-19T15:24:39
|
|
[autofit] Minor.
|
|
73f31981
|
2013-12-19T15:24:17
|
|
[autofit] More code orthogonality.
* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
pointer to an `AF_ScriptClass' structure with `script' index of type
`AF_Script'.
Move some code around.
* src/autofit/afcjk.c: Include `afpic.h'.
(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
af_cjk_hint_edges): Updated.
* src/autofit/aflatin.c: Include `afpic.h'.
(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
Updated.
|
|
115de713
|
2013-12-18T16:06:09
|
|
[autofit] Minor.
|
|
3f91cb33
|
2013-12-18T12:59:35
|
|
[autofit] s/ScriptMetrics/StyleMetrics/.
|
|
4fccc214
|
2013-12-18T12:53:01
|
|
[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
|
|
f4df4079
|
2013-12-18T10:39:30
|
|
[autofit] s/gscripts/gstyles/.
|
|
9a354550
|
2013-12-18T10:36:06
|
|
[autofit] s/glyph_scripts/glyph_styles/.
This is the first commit of a series to create a new top-level
structure (a `style') for handling scripts, writing_systems, and
soon-to-be-added coverages.
|
|
7a5fc2f3
|
2013-12-17T13:29:53
|
|
[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
|
|
8bb09b0f
|
2013-12-11T09:01:13
|
|
[truetype] Simplify logic of rendering modes.
This patch unifies the subpixel and non-subpixel cases.
* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
`grayscale_hinting'; all code should refer to `grayscale' instead.
Remove unused `native_hinting' member.
Rename `subpixel_hinting' member to `subpixel.
* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
(tt_loader_init): Updated.
* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
Updated.
|
|
e9d95aa0
|
2013-12-11T07:48:51
|
|
[documentation] Add section how to include FreeType header files.
Problem reported by David Kastrup <dak@gnu.org>.
Surprisingly, a description how to do that was completely missing in
the API reference.
* include/freetype.h, include/ftchapters.h: New documentation
section `header_inclusion'.
|
|
9193259c
|
2013-12-10T13:24:07
|
|
[autofit] s/DFLT/NONE/, s/dflt/none/.
|
|
45244f80
|
2013-12-10T13:18:11
|
|
[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
|
|
69d1a360
|
2013-12-10T10:12:27
|
|
[truetype] Fix scaling of vertical phantom points.
* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
pp4.x also.
|
|
7318b1aa
|
2013-12-10T09:40:36
|
|
Formatting.
|
|
05c786d9
|
2013-12-10T08:38:57
|
|
[truetype] Fix positioning of composite glyphs.
Problem reported by Nigel Tao <nigeltao@golang.org>.
* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
the glyph (component) by a fractional value computed from the LSB
phantom point. This is wrong, since the horizontal phantom points
get rounded horizontally later on.
|
|
dd8050aa
|
2013-12-08T23:14:46
|
|
* Version 2.5.2 released.
=========================
Tag sources with `VER-2-5-2'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.5.2.
* 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.1/2.5.2/, s/251/252/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.raw (version_info): Set to 17:1:11.
* docs/CHANGES: Updated.
|
|
d3526ab1
|
2013-12-08T10:14:15
|
|
Add info on bytecode interpreter versions of Windows.
Provided by Greg Hitchcock.
|
|
98d185c7
|
2013-12-07T09:26:55
|
|
[truetype] Next round in phantom point handling.
Greg Hitchcock provided very interesting insights into the
complicated history of the horizontal positions of the TSB and BSB
phantom points.
* src/truetype/ttgload.c (TT_LOADER_SET_PP)
[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
`grayscale_hinting' flags as conditionals for the x position of TSB
and BSB.
|
|
fcdb7840
|
2013-12-05T15:53:27
|
|
* builds/freetype.mk (FT_CC): Removed. Unused.
|
|
64b395cc
|
2013-12-04T06:18:56
|
|
[sfnt] Fix handling of embedded bitmap strikes.
This corrects the commit from 2013-11-21. Problem reported by
Andrey Panov <panov@canopus.iacp.dvo.ru>.
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
detect excessive bytes for bit-aligned bitmaps.
|
|
c2b47539
|
2013-12-03T07:01:57
|
|
[truetype] Remove dead code.
Reported by Nigel Tao <nigeltao@golang.org>.
* include/internal/tttypes.h (TT_LoaderRec): Remove unused
`preserve_pps' field.
* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
|
|
bdd5e75e
|
2013-12-03T06:57:02
|
|
[truetype] Fix phantom point handling.
This is a further improvement to the changes from 2013-11-06.
* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
are rounded horizontally, vertical ones are rounded vertically.
(TT_LOADER_SET_PP): The horizontal position of vertical phantom
points in pre-ClearType mode is zero, as shown in the OpenType
specification.
|
|
a44b784b
|
2013-12-02T09:52:38
|
|
Formatting.
|
|
64872a50
|
2013-12-02T07:51:17
|
|
[truetype] Fix change from 2013-11-20.
Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
`IS_HINTED' clause.
Also remove redundant check using `maxSizeOfInstructions' – in
simple glyphs, the bytecode data comes before the outline data, and
a validity test for this is already present.
|
|
52166ab0
|
2013-11-27T10:10:16
|
|
[autofit] Fix use of dumping functions in `ftgrid' demo program.
* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
handle output to stdout.
Use AF_DUMP.
(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
|
|
3aee429b
|
2013-11-25T00:28:11
|
|
* Version 2.5.1 released.
=========================
Tag sources with `VER-2-5-1'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.5.1.
* 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.0/2.5.1/, s/250/251/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
* builds/unix/configure.raw (version_info): Set to 17:0:11.
* docs/CHANGES, docs/release: Updated.
|
|
063ee6b1
|
2013-11-24T00:19:17
|
|
[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
TRICK_NAMES_COUNT): Updated.
(trick_names): Add family name for the two fonts.
|
|
9326cafa
|
2013-11-23T23:59:25
|
|
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
|
|
8af2a1cd
|
2013-11-21T13:13:12
|
|
[truetype] Typo.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
value if the font lacks an `OS/2' table.
|
|
427b1768
|
2013-11-21T13:10:56
|
|
[truetype] Improve handling of buggy embedded bitmap strikes.
We are now able to successfully load `AppleMyoungJo.ttf'.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
format.
|
|
28626869
|
2013-11-20T21:06:18
|
|
[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
http://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
for details.
* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
tables also for setting `autohint'.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
`TT_Process_Composite_Glyph' for handling unreliable values of
`maxSizeOfInstructions'.
|
|
bc25de66
|
2013-11-16T07:52:20
|
|
[sfnt] Fix `OS/2' table version 5 support.
We now follow the `official' announcement from Microsoft (on the
OpenType mailing list, which unfortunately hasn't a public archive).
* include/freetype/tttables.h (TT_OS2):
s/usLowerPointSize/usLowerOpticalPointSize/,
s/usUpperPointSize/usUpperOpticalPointSize/.
* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
default values.
|
|
c52b129c
|
2013-11-13T10:06:00
|
|
* builds/unix/ft2unix.h: Remove. No longer necessary.
* builds/unix/install.mk (install): Updated.
|
|
fae38207
|
2013-11-13T08:55:46
|
|
Simplify header file hierarchy.
This large patch changes the header file directory layout from
`include/freetype/...' to `include/...', effectively removing one
level. Since the file `ft2build.h' is also located in `include'
(and it stays there even after installation), all FreeType header
files are now in a single directory.
Applications that use (a) `freetype-config' or FreeType's
`pkg-config' file to get the include directory for the compiler, and
(b) the documented way for header inclusion like
#include <ft2build.h>
#include FT_FREETYPE_H
...
don't need any change to the source code.
* include/freetype/*: Move up to...
* include/*: ... this directory.
* builds/amiga/include/freetype/*: Move up to...
* builds/amiga/include/*: ... this directory.
*/*: Essentially do `s@/freetype/@/@' where appropriate.
* CMakeList.txt: Simplify.
* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
`--cflags', return a single directory.
* builds/unix/install.mk (install): No longer try to remove `cache'
and `internal' subdirectories; instead, remove the `freetype'
subdirectory.
|
|
ea5c781a
|
2013-11-12T08:55:26
|
|
[truetype] Fix last `truetype' commit.
* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
Return error value.
(load_truetype_glyph): Updated.
|
|
7833328b
|
2013-11-10T06:26:52
|
|
* docs/CMAKE: New dummy file.
|
|
dd21301e
|
2013-11-08T10:52:51
|
|
[cff] Fix for hints that touch.
* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
finding index value of insertion point.
|
|
5e225b7c
|
2013-11-06T08:41:59
|
|
[truetype] Fix handling of phantom points in composite glyphs.
Problem reported by Nigel Tao <nigeltao@golang.org>.
This is a follow-up commit to the previous one.
* src/truetype/ttgload.c (load_truetype_glyph): Call
`tt_get_metrics' after loading the glyph header.
|
|
7e4b0fbf
|
2013-11-06T07:14:49
|
|
[truetype] Improve emulation of vertical metrics.
This commit also improves the start values of vertical phantom
points. Kudos to Greg Hitchcock for help.
* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
`yMax' value. Replace code with fixed Microsoft definition.
(tt_get_metrics): Updated.
(TT_LOADER_SET_PP): Add explanation how to initialize phantom
points, taken from both the OpenType specification and private
communication with Greg (which will eventually be added to the
standard).
Fix horizontal position of `pp3' and `pp4'.
* src/truetype/ttgload.h: Updated.
* src/truetype/ttdriver.c (tt_get_advances): Updated.
* docs/CHANGES: Updated.
|
|
b1d97810
|
2013-11-06T06:52:13
|
|
Improve comment.
|
|
29bca65d
|
2013-11-05T23:46:25
|
|
Improve documentation of `FT_Load_Sfnt_Table'.
|
|
50740536
|
2013-11-05T23:19:18
|
|
* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
PlatformToolSet version 110 is for VC2012.
Problem reported (with solution) by Dave Arnold <darnold@adobe.com>.
|
|
c6064286
|
2013-11-05T13:29:15
|
|
[truetype] Correctly reset point tags for glyph components.
Problem reported by Nigel Tao <nigeltao@golang.org>.
* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
|
|
e4db8127
|
2013-11-03T20:29:37
|
|
Typos.
|
|
7d449436
|
2013-11-02T11:36:37
|
|
[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
get info on subpixel hinting.
* docs/CHANGES: Updated.
|
|
35b08189
|
2013-11-02T08:28:41
|
|
Fix Savannah bug #40451.
Simply apply the patch from the bug report.
* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
include/freetype/config/ftconfig.h: The used #pragma directives only
work with gcc versions 4.6 and higher.
|
|
afa0d59e
|
2013-11-01T22:27:27
|
|
* docs/CHANGES: Updated.
|
|
ebf52d6a
|
2013-11-01T13:26:28
|
|
[truetype] Minor code refactoring.
Two benefits: The allocated FDEF (and IDEF) array gets slightly
smaller, and the `ttdebug' demo program has access to function
numbers without additional costs.
Fortunately, no changes to FontForge are necessary – this is the
only external TrueType debugger I know of, but others may exist and
should check the code accordingly.
* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
`Cur_End' with a pointer to the corresponding `TT_DefRecord'
structure.
* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
Updated.
|
|
e921bdeb
|
2013-11-01T12:41:27
|
|
Comment fix.
|
|
0c61c096
|
2013-10-28T05:09:21
|
|
Comment fixes.
|
|
ee510510
|
2013-10-27T07:25:35
|
|
[sfnt] Implement support for `OS/2' table version 5.
See
http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
for the announcement.
* include/freetype/tttables.h (TT_OS2): Add fields
`usLowerPointSize' and `usUpperPointSize'. Since FreeType returns
this structure only as a pointer through `FT_Get_Sfnt_Table', there
shouldn't be any ABI problems.
* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
* docs/CHANGES: Updated.
|
|
994a8598
|
2013-10-24T08:50:34
|
|
* README.git, docs/CHANGES, docs/INSTALL: Updated.
|
|
a0e4a73f
|
2013-10-24T08:49:08
|
|
Provide cmake support.
* CMakeLists.txt: New file.
|
|
4cfa8fc5
|
2013-10-10T13:36:49
|
|
Comment on no-stem-darkening & darkening-parameters
|
|
4d87ac8a
|
2013-10-23T20:10:56
|
|
Provide support for x64 builds in Visual C++ project files.
* src/builds/win32: Renamed to...
* src/builds/windows: This.
* src/builds/windows/vc2010/*: Updated to handle x64 target.
* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
appropriate.
|
|
1eb06e67
|
2013-10-22T10:42:38
|
|
Minor doc improvement.
|
|
db9159c4
|
2013-10-22T10:27:50
|
|
Add md5 URL.
|
|
604838d5
|
2013-10-22T01:10:10
|
|
* src/base/md5.c, src/base/md5.h: Updated to recent version.
* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
|
|
75efc2d0
|
2013-10-19T21:46:03
|
|
[autofit] s/SMALL_TOP/X_HEIGHT/.
* src/autofit/afblue.dat: Updated.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/aflatin.c, src/autofit/aflatin.h,
src/autofit/atlatin2.c: Updated.
|
|
34efe05c
|
2013-10-19T21:14:40
|
|
* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
|
|
a5f22a9e
|
2013-10-17T11:08:25
|
|
[autofit] Add description strings to script entries.
Currently, this is unused.
* src/autofit/afscript.h: Do it.
* src/autofit/afglobal.c, src/autofit/afpic.c,
src/autofit/aftypes.h: Updated.
|
|
955f6a86
|
2013-10-16T19:47:57
|
|
[autofit] Improve tracing message for extra light flag.
* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
|
|
41632b58
|
2013-10-15T11:40:34
|
|
[arm] Fix thumb2 inline assembly under LLVM.
When using `ADD' with an immediate operand, the instruction is
actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
immediate operand cannot exceed 4095. It will fail to compile with
LLVM.
However, in GCC, due to some legacy compatibility considerations,
`ADD.W' will be automatically emitted when the immediate operand is
larger than 4095.
* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
|
|
b6695243
|
2013-10-12T10:33:04
|
|
[autofit] Improve tracing of `latin' hinter.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
zone types.
(af_latin_metrics_scale_dim): Report scaling changes due to x height
alignment.
Report scaled stroke width and blue zone values.
|
|
2c56f2ab
|
2013-10-07T22:01:00
|
|
Improve last ChangeLog entry.
|
|
e845a85e
|
2013-10-03T23:04:29
|
|
* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
|
|
1a39944f
|
2013-10-03T06:16:50
|
|
Updated CHANGES file.
|
|
01af71d4
|
2013-10-02T22:04:07
|
|
* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
|
|
0b330452
|
2013-10-02T11:04:06
|
|
* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
This line was lost in commit 89ca1fd6 (from 2013-06-25). The effect
is to use a previous darkening amount when producing an unhinted,
unscaled outline. This can cause autohint samples in ftgrid and
ftview to be based on darkened CFF outlines instead of unhinted,
undarkened ones.
|
|
3a2cb0f8
|
2013-09-29T16:17:02
|
|
Fix Savannah bug #39295.
The bug was caused by switching to the initial hintmap (the one in
effect when `moveto' executes) just before drawing the final element
in the charstring. This ensured that the path was closed (in both
Character Space and Device Space). But if the final element was a
curve and if the final hintmap was different enough from the initial
one, then the curve was visibly distorted.
The first part of the fix is to draw the final curve using the final
hintmap as specified by the charstring. This corrects the
distortion but does not ensure closing in Device Space. It may
require the rasterizer to automatically generate an extra closing
line. Depending on the hintmap differences, this line could be from
zero to a couple pixels in length.
The second part of the fix covers the case where the charstring
subpath is closed with an explicit line. We now modify that line's
end point to avoid the distortion.
Some glyphs in the bug report font (TexGyreHeros-Regular) that show
the change are:
25ppem S (98)
24ppem eight (52)
25.5ppem p (85)
Curves at the *end* of a subpath are no longer distorted. However,
some of these glyphs have bad hint substitutions in the middle of a
subpath, and these are not affected.
The patch has been tested with a set of 106 fonts that shipped with
Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
Google Fonts. There are 1.5 million glyphs, of which some 20k are
changed with the fix. A sampling of a few hundred of these changes
have been examined more closely, and the changes look good (or at
least acceptable).
* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
to indicate that we synthesize a closepath line.
* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
`lineto' operator) and adjust hint zone.
For synthesized closing lines, use end point in first hint zone.
(cf2_glyphpath_lineTo): Take care of synthesized closing lines. In
particular, shift the detection of zero-length lines from character
space to device space.
(cf2_glyphpath_closeOpenPath): Remove assertion.
Updated.
|
|
4f9760e7
|
2013-09-25T23:32:25
|
|
[autofit] Remove outdated comment.
|
|
b75a8b88
|
2013-09-25T09:46:36
|
|
* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
|
|
964317e8
|
2013-09-25T09:22:40
|
|
Minor.
|
|
ac0f4454
|
2013-09-25T10:57:17
|
|
[bdf, pcf] Refuse non-zero face_index.
Suggested by Akira Tagoh, see
http://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
* src/bdf/bdfdrivr.c (BDF_Face_Init): Return Invalid_Argument error
when the font could be opened but non-zero face_index is given.
* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
macro for face_index because it is validated in later.
|
|
4de7787f
|
2013-09-23T22:10:08
|
|
Fix Savannah bug #40090.
* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
306f8c5d (from 2013-08-25) affecting this function.
|
|
5a4c5a5b
|
2013-09-22T22:37:26
|
|
[autofit] Disunify Cyrillic and Greek handling from Latin.
* src/autofit/afscript.h: Add Cyrillic and Greek.
* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
(AF_BLUE_STRINGSET_LATN): Fix typo.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
arrays.
(af_grek_script_class, af_cyrl_script_class): New scripts.
* src/autofit/aflatin.h: Updated.
|
|
2cca9669
|
2013-09-20T07:23:34
|
|
* docs/CHANGES: Updated.
|
|
31e726d9
|
2013-09-20T07:20:53
|
|
Fix vertical size of emboldened glyphs.
Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
also.
|
|
52381c14
|
2013-09-11T23:25:56
|
|
* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
algorithm description.
|
|
3f542498
|
2013-09-11T23:08:31
|
|
[autofit] Improve Hebrew rendering.
This change introduces a new blue zone property
`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
top segments.
* src/autofit/afblue.dat: Fix Hebrew blue strings.
Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
`AF_LATIN_IS_LONG_BLUE'.
* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
|
|
00ea2a13
|
2013-09-03T11:33:10
|
|
[doc] s/which/that/ where appropriate.
Note that this is a try by a non-native English speaker whose mother
language (German) doesn't have this distinction at all...
|
|
504f5b4a
|
2013-09-02T22:08:12
|
|
Fix Savannah bug #39905 (documentation only).
|
|
85a7fdf3
|
2013-08-29T21:03:05
|
|
[sfnt] Fix frame access while reading WOFF table directory.
* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
while reading the directory entries for the whole loop.
|
|
d689d1cf
|
2013-08-29T17:53:40
|
|
Implement support for WOFF containers.
We simply synthesize a SFNT from the WOFF, create a memory stream
for the new data, and load the SFNT as usual.
Does NOT add any API to access WOFF metadata or private blocks.
* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
WOFF_TableRec): New structures.
* include/freetype/tttags.h (TTAG_wOFF): New macro.
* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
`open_face'.
* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
`FT_GZIP_H'.
(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
writing to a stream.
(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
(sfnt_open_font): Handle `TTAG_wOFF'.
(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
`sfnt->init_face'.
* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
argument so that a changed stream survives.
Update callers.
|
|
dc240524
|
2013-08-29T17:53:24
|
|
[gzip] New function `FT_Gzip_Uncompress'.
This is modeled after zlib's `uncompress' function. We need this
for WOFF support.
* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
New function.
* src/gzip/rules.mk: Rewrite to better reflect dependencies.
|
|
5195ecd6
|
2013-08-28T17:41:21
|
|
[autofit] Fix `make multi' compilation.
* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
`afblue.h' but `aftypes.h'.
* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
|
|
e0f39aef
|
2013-08-28T17:34:01
|
|
[autofit] Fix C++ compilation.
* src/autofit/afglobal.c (af_face_globals_get_metrics),
src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
(af_deva_script_class): Use proper casts.
|
|
c799dd67
|
2013-08-27T21:46:03
|
|
* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
|
|
bd3849e7
|
2013-08-27T21:43:38
|
|
FT_Open_Face: Improve external stream handling.
If the font's `clazz->init_face' function wants to swap to new
stream, handling of whether original stream was external could
result to either memory leak or double free. Mark externality into
face flags before calling `init_face' such that the clazz can handle
external streams properly.
* src/base/ftobjs.c (FT_Open_Face): Move code to set
FT_FACE_FLAG_EXTERNAL_STREAM to...
(open_face): This function.
|
|
bcd8c0b0
|
2013-08-27T21:36:03
|
|
Remove `FT_SqrtFixed' function.
It's no longer used.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
|
|
71c0ad65
|
2013-08-27T21:30:09
|
|
Whitespace.
|
|
5e53db25
|
2013-08-27T18:37:39
|
|
[autofit] While tracing, report script names instead of ID values.
* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
New array.
* src/autofit/afglobal.h: Updated.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_hint_edges): Use `af_script_names'.
* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_hint_edges): Ditto.
|