|
95dae1c4
|
2012-09-14T12:26:57
|
|
[autofit] Pass `AF_Module' instead of `AF_Loader'.
We want to access the (not yet existing) module's global data later
on.
* src/autofit/afloader.c: Include `afmodule.h'.
(af_loader_init, af_loader_reset, af_loader_done,
af_loader_load_glyph): Change accordingly.
* src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'.
Updated.
* src/autofit/afmodule.h: Include `afloader.h'.
(AF_ModuleRec): Define here.
* src/autofit/afloader.h (AF_Module): Define here.
Updated.
|
|
5a0af493
|
2012-07-09T08:19:25
|
|
[autofit] Improve debugging messages; do some code cleanup.
* src/autofit/aflatin.c (af_latin_align_linked_edge,
af_latin_hint_edges): Synchronize with formatting used in the
ttfautohint project.
|
|
10364096
|
2012-03-11T15:20:32
|
|
[autofit] Return correct linear advance width values.
This was quite a subtle bug which accidentally showed up with glyph
`afii10023' of arial.ttf (version 2.76). This glyph is a composite;
the first component, `E', has an advance width of 1366 font units,
while the advance width of the composite itself (which looks like
uppercase `E' with dieresis) is 1367 font units. I think this is
actually a bug in the font itself, because there is no reason that
this glyph has not the same width as uppercase `E' without the
dieresis. Anyway, it helped identify this problem.
Using the TrueType hinter, the correct value (1367) of `afii10023'
was returned, but the autohinter mysteriously returned 1366.
Digging in the code showed that the autohinter recursively calls
FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
flag. However, the `linearHoriAdvance' field is still returned as a
scaled value. To avoid scaling twice, the old code in autofit reset
`linearHoriAdvance', using the `horiAdvance' field. This seemed to
work since FT_LOAD_NO_SCALE was in use, but it failed actually,
because `horiAdvance' is defined as the distance of the first
subglyph's phantom points, which in turn are initialized using the
advance width of the first subglyph. And as the given example
shows, these widths can differ.
* src/autofit/afloader.c (af_loader_load_g): Temporarily set
FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
values for the linear advance widths.
|
|
5621fdd4
|
2012-02-29T13:33:33
|
|
[autofit] Don't synchronize digit widths for light rendering mode.
We don't hint horizontally in this mode.
* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
Implement it.
|
|
63486789
|
2012-02-17T14:55:27
|
|
[autofit] Fix outline flags.
* src/autofit/afloader.c (af_loader_load_g): Don't reassign
`outline.flags' so that this information is preserved. See
discussion starting at
http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
|
|
e343e87d
|
2012-02-07T09:40:11
|
|
[autofit] Harmonize function arguments.
* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
`load_flags'.
|
|
d503b1bc
|
2011-04-18T19:05:28
|
|
Integrate autofitter debugging stuff.
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_DEBUG_AUTOFIT): New macro.
* include/freetype/internal/fttrace.h: Add trace components for
autofitter.
* src/autofit/aftypes.h (AF_LOG): Removed.
(_af_debug): Removed.
* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
s/AF_LOG/FT_TRACE5/.
Define FT_COMPONENT where necessary.
|
|
de2de6b1
|
2011-04-18T16:11:18
|
|
Remove dead debugging code.
|
|
6cfbb23c
|
2011-02-26T17:32:38
|
|
[autofit] Some comments. Whitespace.
|
|
8b84c9d1
|
2009-04-27T19:40:35
|
|
autohinter: Don't change digit widths if all widths are the same.
This fixes FreeDesktop bug #21197.
* src/autofit/afglobal.c (AF_DIGIT): New macro.
(af_face_globals_compute_script_coverage): Mark ASCII digits in
`glyph_scripts' array.
(af_face_globals_get_metrics): Updated.
(af_face_globals_is_digit): New function.
* src/autofit/afglobal.h: Updated.
(AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
* src/autofit/aflatin.c: Include FT_ADVANCES_H.
(af_latin_metrics_check_digits): New function.
(af_latin_metrics_init): Use it.
* src/autofit/aflatin.h: Updated.
* src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
* src/autofit/aflatin2.c: Similar changes as with aflatin.c.
* src/autofit/afloader.c (af_loader_load_g): Test digit width.
* docs/CHANGES: Document it.
|
|
86e041b5
|
2009-03-21T08:51:44
|
|
Remove redundant header inclusions.
This covers many Ghostscript Coverity issues.
* src/*: Do it.
|
|
44c655b0
|
2008-02-17T08:22:08
|
|
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
Check for valid callback pointers.
|
|
49e18b8d
|
2007-06-11T21:15:09
|
|
formatting
|
|
b792017f
|
2007-06-11T05:37:35
|
|
experimental changes for the Latin auto-hinter.
note that the new code is disabled by default.
|
|
607dec79
|
2007-05-15T06:49:37
|
|
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
variable.
* src/autofit/afloader.c (af_loader_load_g): Ditto.
* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
(open_face_from_buffer): Initialize `stream'.
(FT_Request_Metrics): Remove unused variable.
Remove redundant `break' statements.
(FT_Get_Track_Kerning): Remove unused variable.
* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
afm_parse_kern_data): Remove redundant
`break' statements.
(afm_parser_parse): Ditto.
Don't use uninitialized variables.
* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
Use `|' operator instead of `^' to set it.
Update all users.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
comparison.
(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
(TT_Load_Glyph): Remove unused variable.
|
|
644b1ad4
|
2007-03-28T21:17:11
|
|
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/,
s/232/233/.
* docs/CHANGES: Mention ftdiff.
|
|
23553d6d
|
2007-03-26T13:37:17
|
|
* docs/CHANGES, docs/VERSION, include/freetype/freetype.h,
builds/unix/configure.raw, README, Jamfile: update documentation and bump version
number to 2.3.3
|
|
2ef3e0f1
|
2007-02-12T21:28:21
|
|
fix inter-letter spacing of auto-hinted glyphs (non-light modes)w
|
|
582067dc
|
2007-02-11T15:03:05
|
|
* src/autofit/afloader.c (af_loader_load_g): Don't change width for
non-spacing glyphs.
|
|
a7ee608c
|
2007-01-30T10:33:53
|
|
disable light auto-hinting optimization for the next release
|
|
6e87ed9f
|
2007-01-26T22:18:56
|
|
Spelling fixes from Alexei.
|
|
bf24176b
|
2007-01-26T16:08:49
|
|
formatting
|
|
d91eebda
|
2007-01-26T15:05:41
|
|
improvement to glyph spacing, especially when light auto-hinting
|
|
dbf3b43a
|
2006-12-07T21:18:09
|
|
* src/autofit/afloader.c (af_loader_load_g): small adjustment
to the spacing of auto-fitter glyphs. This only impacts rare
cases (e.g. Arial Bold at rather small character sizes)
|
|
40604748
|
2006-11-02T16:37:35
|
|
- fixed a bug in af_compute_direction which generated ugly glyphs
- added more debug/log messages to help improve the auto-fitter
|
|
65c7c773
|
2006-04-13T07:51:58
|
|
* src/autofit/afloader.c: removing superfluous code in the auto-fitter's
loader
|
|
2ce92037
|
2006-03-23T20:58:20
|
|
- added FT_Get_SubGlyph_Info API to freetype.h
- small fix to lsb/rsb delta computations
- cleaning up Jamfile
|
|
dad2a2de
|
2006-03-20T11:48:13
|
|
* src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
src/cache/ftcmru.h: copying the cache's internal header files which
were located in 'include/freetype/cache' to the 'src/cache' directory
instead.
Note that these files are not used by FreeType clients, all cache
public APIs have been already moved to include/freetype/ftcache.h,
and the FT_CACHE_INTERNAL_XXXX_H macros all resolve to it.
the move is to allow us to modify the internals without intereference
from rogue clients. Note that there are no known client that accesses
the cache internals at the moment.
|
|
2e48a1a1
|
2006-02-27T09:18:07
|
|
* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph):
Re-enable glyph metrics grid-fitting. It is now done in the base
layer.
(FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and height
are not too small or too large, just like we were doing in 2.1.10.
* src/autofit/afloader.c (af_loader_load_g): The vertical metrics are
not scaled.
|
|
4cdb45c0
|
2006-02-09T14:17:04
|
|
Introduce experimental autofit CJK module based on akito's autohint
patch. You need to #define AF_MOD_CJK in afcjk.c to enable it.
* src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
Add CJK module based on akito's autohint patch.
* src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
overlap length of the segments. (AF_SEGMENT_LEN, AF_SEGMENT_DIST):
New macros.
* src/autofit/aflatin.h (af_latin_metrics_init_widths),
src/autofit/aflatin.c (af_latin_metrics_init_widths): Made `FT_LOCAL'.
Use the character given by the caller.
(af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
the thresholds.
* src/autofit/afloader.c (af_loader_load_g): Respect
AF_SCALER_FLAG_NO_ADVANCE.
|
|
b36bf527
|
2006-01-22T07:09:54
|
|
* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
to avoid compiler warnings.
* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
shadowing variable declarations.
Fix warning parameters and replace printf with AF_LOG.
(af_warper_compute): Remove unused variable.
|
|
1be9ebf5
|
2006-01-22T06:58:16
|
|
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
Formatting, copyright notices, copyright years.
|
|
bb4edc92
|
2006-01-21T14:31:45
|
|
* src/autofit/aflatin.c, src/autofit/afwarp.h, src/autofit/afwarp.c,
src/autofit/aftypes.h, src/autofit/afloader.c, src/autofit/autofit.c:
adding experimental implementation of "warp hinting" (new hinting
algorithm for gray-level and LCD rendering). It is disabled by default,
you need to #define AF_USE_WARPER in aftypes.h to enable it.
|
|
9fbd2ab8
|
2005-10-28T16:14:14
|
|
- various performance enhancements
- fixing apinames.c, adding support for Watcom and Borland compilers
- adding generation of exported symbols list to the build system, including the Unix one !!
sorry Werner, I have no time to document this in ChangeLog at the moment
|
|
a37745ba
|
2005-03-23T16:45:24
|
|
* docs/CHANGES, docs/INSTALL.ANY: Updated.
* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
Add `OTvalid'.
* src/autofit/aferrors.h: New file.
* src/autofit/afglobal.c, src/autofit/afhints.c,
src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
Include aferrors.h.
* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.
* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
|
|
f13516c8
|
2005-03-03T17:09:08
|
|
Various fixes for C and C++ compiling.
* src/autofit/*: Add copyright messages.
Formatting.
* src/autofit/afhints.c (af_glyph_hints_done): Don't use
`AF_Dimension' but `int' for loop counter.
* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
`AF_Dimension' but `int' for loop counter.
Use proper enumeration value for `render_mode'.
(af_latin_metrics_scale_dim): Don't shadow variables.
(af_latin_hints_compute_segments): Use proper cast for `major_dir'
and `segment_dir'.
(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
`af_latin_compute_stem_width'.
(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
counter.
* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
proper cast for memory allocation.
* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
initialization of `sfnt'.
* src/sfnt/sfdriver.c: Include `ttkern.h'.
* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.
* src/truetype/ttgload.c: Include `ttpload.h'.
* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
Remove redundant variable.
|
|
b19b0810
|
2005-03-02T11:24:23
|
|
* src/autofit/afdummy.c, src/autofit/afdummy.h
(af_dummy_script_class): Fix type.
* src/autofit/aflatin.c, src/autofit/aflatin.h
(af_latin_script_class): Fix type.
* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.
Formatting.
|
|
5bc063da
|
2005-03-01T22:49:32
|
|
* src/autofit/{rules.mk,module.mk,afangles.h}: adding missing files
* src/autofit/afloader.c: fixing small bug that could crash the engine
with certain fonts.
|
|
b9c22aff
|
2005-03-01T15:48:29
|
|
* src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}:
various bug-fixes and drastic heap usage reduction improvements.
* include/freetype/config/ftmodule.h: the auto-fitter is now the
only supported auto-hinting module
* include/freetype/config/ftstdlib.h: adding FT_INT_MAX definition
|
|
6a487b59
|
2005-02-28T22:09:07
|
|
* src/base/ftdbgmem.c (FT_DumpMemory): added sorting of memory sources
according to decreasing maximum cumulative allocations.
* include/freetype/internal/tttypes.h, src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c,
src/truetype/ttobjs.c, src/cff/cffobjs.c, src/sfnt/sfobjs.c: implementing new
heap-optimized embedded bitmap loader. This one also fixes bug #12107
* src/sfnt/sfobjs.c: fixed bug that prevented loading SFNT fonts without
a 'kern' table.
|
|
8530a228
|
2004-06-09T20:18:35
|
|
* include/freetype/freetype.h (FT_Glyph_Metrics, FT_GlyphSlotRec),
src/autofit/afloader.c, src/autohint/ahhint.c:
moved the definition of 'lsb_delta' and 'rsb_delta' from FT_GlyphMetrics
to FT_GlyphSlotRec. The old location did BREAK BINARY COMPATIBILITY
of the library !!
* src/sfnt/sfobjs.c: removing compiler warning
|
|
89d4e4bd
|
2004-06-05T06:27:08
|
|
* src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and
`rsb_delta' in slot->metrics and tune side bearings slightly.
|
|
e664efad
|
2004-06-04T17:41:59
|
|
* src/autofit/*: important fixes to the auto-fitter. The output
now seems to be 100% equivalent to the auto-hinter, while being
about 2% faster (which proves that script-specific algorithm
selection isn't a performance problem).
to test it, change "autohint" to "autofit" in
<freetype/config/ftmodule.h> and recompile.
a few more testing is needed before making this the official
auto-hinting module
|
|
10bf05a3
|
2004-04-21T14:30:37
|
|
* src/cff/cffobjs.c (cff_face_init): fixed a small memory leak
* src/autofit/afloader.c, src/autofit/afmodule.c, src/base/ftdebug.c:
removed compiler warnings
* src/autofit/aftypes.h, src/lzw/zopen.c, src/pcf/pcfdrivr.c,
src/pcf/pcfread.c, src/psaux/psobjs.c, src/type42/t42drivr.c:
changed data arrays to "const" to avoid populating the ".data"
segment
|
|
8bb07e63
|
2004-03-27T08:43:17
|
|
Add vertical phantom points.
* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
`top_bearing', `vadvance', `pp3, and `pp4'.
* src/autofit/afloader.c (af_loader_load_g): Handle two more points.
* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
* src/truetype/ttgload.c (Get_VMetrics): New function.
(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
points.
(load_truetype_glyph): Use Get_VMetrics.
Handle two more points.
(compute_glyph_metrics): Thanks to vertical phantom points we now
can always compute `advance_height' and `top_bearing'.
* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
points.
* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
`news'.
Converting some files to Unix end-of-line convention.
|
|
9bfbf79c
|
2004-02-23T21:08:37
|
|
adding support for dummy script, i.e. no-hinting for non latin glyphs
|
|
1029ed26
|
2004-02-23T20:40:30
|
|
* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
src/autofit/afloader.c, src/types.h: grave bugs were fixed. The
auto-fitter works, doesn't crashes, but still produces unexpected
results !!
|
|
6b3d00e1
|
2004-02-03T21:34:29
|
|
* src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands
outside of /Subrs or /CharStrings. This can happen if there is
additional code manipulating those two arrays so that FreeType
doesn't recognize them properly.
(T1_Open_Face): Improve an error message.
Remove CR/LF on many files.
|
|
f546bacd
|
2004-02-01T16:59:06
|
|
* src/sfnt/Jamfile: removing "ttcmap" from the list of sources
* src/cache/*, include/freetype/cache/*: fixing a bug after heavy
testing. The current sources are now "release candidates" for the
final version of the cache sub-system
* Jamfile: updating "refdoc" target, and adding "autohint" to the
list of modules to build. Both the autohinter and autofitter will be
built by default. But which one will be used is determined by
the content of "ftmodule.h"
* src/autofit/*: much updates, but the code is still buggy as hell.
Aargh..
|
|
8ccb4552
|
2004-01-16T09:51:00
|
|
updates
|