|
f1a981b5
|
2011-01-31T22:26:53
|
|
[truetype] Protect jump instructions against endless loops.
* src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error
if offset is zero.
|
|
d6a213f8
|
2011-01-31T18:51:07
|
|
[truetype] Improve handling of invalid references.
* src/truetype/interp.c: Set even more TT_Err_Invalid_Reference
error codes only if pedantic hinting is active. At the same time,
try to provide sane values which hopefully allow useful
continuation. Exception to this is CALL and LOOPCALL – due to
possible stack corruption it is necessary to bail out.
|
|
96f04564
|
2011-01-31T10:24:32
|
|
[truetype] Improve handling of stack underflow.
* src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP,
Ins_DELTAC): Exit with error only if `pedantic_hinting' is set.
Otherwise, try to do something sane.
|
|
0682251e
|
2011-01-30T16:38:09
|
|
* src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message.
|
|
c61b3596
|
2011-01-30T16:29:45
|
|
[truetype]: Fix behaviour of MIAP for invalid arguments.
* src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in
case of error.
|
|
dcdb3167
|
2011-01-18T07:35:26
|
|
[truetype] Fix handling of MIRP instruction.
Thanks to Greg Hitchcock who explained the issue.
* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
`>' since the description in the specification is incorrect.
This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
65 medium' at 15ppem.
|
|
9073e7ce
|
2010-11-26T11:58:08
|
|
[truetype] Better multi-threading support.
* src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone
references.
|
|
46c371c2
|
2010-10-25T00:14:13
|
|
Replace "%lx" for memory address by "%p", LLP64 platforms.
On LLP64 platforms (e.g. Win64), long (32-bit) cannot cover
the memory address (64-bit). Also the casts from the pointer
type to long int should be removed to preserve the address
correctly.
* src/raster/ftraster.c (New_Profile): Replace "%lx" by "%p".
(End_Profile) Ditto.
* src/truetype/ttinterp.c (Init_Context): Ditto.
|
|
0edf0986
|
2010-10-06T11:52:27
|
|
[truetype] Improve error handling of `SHZ' bytecode instruction.
Problem reported by Chris Evans <scarybeasts@gmail.com>.
* src/truetype/ttinterp.c (Ins_SHZ): Check `last_point'.
|
|
5edc2f33
|
2010-10-01T08:15:55
|
|
Fix Savannah bug #31040.
* src/truetype/ttinterp.c (free_buffer_in_size): Remove.
(TT_RunIns): Updated.
|
|
db053ec9
|
2010-09-17T23:20:00
|
|
[truetype] Don't duplicate size->twilight structure to be freed.
* src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate
FT_GlyphZoneRec size->twilight to be freed. If duplicated,
FT_FREE() erases the duplicated pointers only and leave original
pointers. They can cause the double-free crash when the burst
errors occur in TrueType interpreter and free_buffer_in_size()
is invoked repeatedly. See Savannah bug #31040 for detail.
|
|
afd89d30
|
2010-09-15T13:02:35
|
|
Make bytecode debugging with FontForge work again.
* src/truetype/ttinterp.c (TT_RunIns): Don't call
`free_buffer_in_size' in case of error if a debugger is active.
|
|
6abb9232
|
2010-09-14T09:02:10
|
|
Improve tracing messages.
* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
message.
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
tracing message.
* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
glyph doesn't fit into a small bitmap container.
|
|
5220ef58
|
2010-09-13T07:32:22
|
|
Fix minor issues reported by <muktha.narayan@wipro.com>.
* src/autofit/aflatin.c (af_latin_compute_stem_width): Remove
redundant conditional check.
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto.
* src/cff/cffload.c (cff_encoding_load): Remove conditional check
which always evaluates to `true'.
* src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points):
Ditto.
* src/truetype/ttinterp.c (Ins_IUP): Ditto.
* src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if
value is already dereferenced.
* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'.
|
|
0eb657b0
|
2010-08-31T13:29:05
|
|
[truetype] Decrease the trace level catching the interpreter error.
* src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level
showing the error when the interpreter returns with an error,
from FT_TRACE7() to FT_TRACE1().
|
|
29e044a4
|
2010-08-31T01:23:30
|
|
[truetype] Prevent bytecode reuse after the interpretation error.
* src/truetype/ttinterp.c (free_buffer_in_size): New function to
free the buffer allocated during the interpretation of this glyph.
(TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if
an error occurs in the bytecode interpretation. The interpretation
of invalid bytecode may break the function definitions and referring
them in later interpretation is danger. By unsetting these flags,
`fpgm' and `prep' tables are executed again in next interpretation.
Fix Savannah bug #30798, reported by Robert Swiecki.
|
|
346f1867
|
2010-08-06T00:47:57
|
|
Fix Savannah bug #30657.
* src/truetype/ttinterp.c (BOUNDSL): New macro.
Change `BOUNDS' to `BOUNDSL' where appropriate.
* src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of
`cvtSize'.
|
|
888cd184
|
2010-07-08T07:29:42
|
|
Fix Savannah bug #30361.
* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
|
|
a2d225e3
|
2010-07-01T11:37:09
|
|
[truetype] Protect against code range underflow.
* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow
negative IP values.
|
|
462ddb40
|
2010-07-01T11:28:43
|
|
[truetype] Add rudimentary tracing for bytecode instructions.
* src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New
array.
(TT_RunIns): Trace opcodes.
|
|
370aea80
|
2010-06-08T08:37:11
|
|
Formatting.
|
|
6da023d1
|
2010-05-20T15:38:00
|
|
TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.
Acroread does the same.
* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
`Update_Max' to adjust size of instructions array if necessary and
add a rough safety check.
(load_truetype_glyph): Save `loader->byte_len' before recursive
call.
* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
Declare it as FT_LOCAL.
|
|
a1151420
|
2009-08-01T00:32:18
|
|
truetype: Check invalid function number in IDEF instruction.
|
|
d1c23082
|
2009-08-01T00:32:17
|
|
truetype: Check invalid function number in FDEF instruction.
|
|
6dc27526
|
2009-08-01T00:32:15
|
|
truetype: Cast the numerical operands to 32-bit for LP64 systems.
|
|
3b56c4d3
|
2009-08-01T00:32:15
|
|
truetype: Cast the project vector to 32-bit for LP64 system.
|
|
c6788a38
|
2009-06-07T13:09:21
|
|
Fix some potential out-of-memory crashes.
* src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
* src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
* src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
`exec' in case of failure.
|
|
1e5e7aa0
|
2009-01-25T16:27:04
|
|
Fix SCANCTRL handling in TTFs.
Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
|
|
1a5d561d
|
2008-11-29T22:50:24
|
|
* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
(Atari PureC).
|
|
105721a5
|
2008-11-15T10:35:51
|
|
* src/truetype/ttinterp.c (tt_default_graphics_state): The default
value for `scan_type' is zero, as confirmed by Greg Hitchcock from
Microsoft. Problem reported by Michal Nowakowski
<miszka@limes.com.pl>.
|
|
ce8853af
|
2008-06-24T11:19:03
|
|
* src/truetype/ttinterp. (Ins_SCANTYPE): Don't check rendering mode.
* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
Draw_Sweep): No-dropout mode is value 2, not value 0.
(Draw_Sweep): Really skip dropout handling for no-dropout mode.
|
|
5df5dbb7
|
2008-06-22T13:40:08
|
|
Enable access to the various dropout rules of the B&W rasterizer.
Pass dropout rules from the TT bytecode interpreter to the
rasterizer; temporarily this is enabled only if
`USE_SCAN_CONVERSION_RULES' is defined.
* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.
* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
OpenType specification.
Fix mode 4 computation.
(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
* src/truetype/ttgload.c (TT_Load_Glyph)
[USE_SCAN_CONVERSION_RULES]: Convert scan conversion mode to
FT_OUTLINE_XXX flags.
* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
|
|
7cb9ec0f
|
2008-06-09T20:49:29
|
|
* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
`private_len' unsigned.
* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
it as such.
(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
for sane value.
Fix typo.
* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
`last_point'.
* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
`maxTwilightPoints'.
|
|
d77e7229
|
2008-06-05T22:07:19
|
|
* src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
|
|
2b0b4221
|
2008-05-28T22:17:28
|
|
Cosmetic code changes.
|
|
c94fa669
|
2008-05-27T23:24:07
|
|
* src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
original, unscaled input values. Confirmed by Greg Hitchcock from
Microsoft.
|
|
28464c48
|
2008-02-18T20:34:42
|
|
* src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
from Savannah bug #22356.
|
|
74cc0e9e
|
2007-06-30T22:54:12
|
|
* src/truetype/ttinterp.c: add missing variable initialization,
gets rid of Valgrind fixes.
* src/autofit/aflatin.c: get rid of an infinite loop in the case
of degenerate fonts.
|
|
e12ed563
|
2007-06-17T05:31:23
|
|
* src/tools/ftrandom.c (font_size): New global variable.
(TestFace): Use it.
(main): Handle new option `--size' to set `font_size'.
(Usage): Updated.
Formatting.
|
|
815911ae
|
2007-06-16T17:07:20
|
|
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): check the well-formedness
of the contours array when loading a glyph
* src/truetype/ttinterp.c (Ins_IP): check argument ranges to reject
bogus operations properly
|
|
c793d90f
|
2007-06-01T20:51:11
|
|
* src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
unused.
|
|
94be20ea
|
2007-05-09T20:02:55
|
|
* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
(af_latin_metrics_scale_dim): Fix compiler warnings.
|
|
3b242d36
|
2007-03-26T12:03:04
|
|
last (tiny) fix to the bytecode interpreter and code cleanup
|
|
c9f6c66f
|
2007-03-21T13:30:14
|
|
formatting
|
|
64a9ef20
|
2007-03-18T07:35:08
|
|
another bytecode regression fix. Hopefully, this should be the latest
|
|
74c34eba
|
2007-03-18T07:19:31
|
|
another bytecode interpreter regression fix
|
|
89020d97
|
2007-03-17T17:48:57
|
|
fixing TrueType bytecode interpreter regression for HLB_____.TTF, needs more testing with other fonts
|
|
a091517a
|
2007-02-16T08:12:50
|
|
* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
|
|
3cd6cc24
|
2007-02-16T08:10:17
|
|
formatting
|
|
2c4500e9
|
2007-02-14T15:08:47
|
|
improving TrueType bytecode interpreter to better match Windows behaviour
on tricky cases... FIX_BYTECODE is now the default to allow large testing
|
|
c6a14086
|
2007-02-12T22:08:15
|
|
* src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
warnings.
* src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
(bdf_interpret_style): Ditto.
|
|
406d25f3
|
2007-02-12T22:01:18
|
|
more formatting and copyright years
|
|
72a0dd24
|
2007-02-12T15:24:51
|
|
some simplifications of the TrueType interpreter projection code
(preliminaries to various interpreter fixes)
|
|
6e87ed9f
|
2007-01-26T22:18:56
|
|
Spelling fixes from Alexei.
|
|
555258ff
|
2007-01-21T09:46:37
|
|
* docs/CHANGES: Document SHZ fix.
* src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
points.
|
|
b4142d51
|
2007-01-17T12:45:26
|
|
Whitespace and spelling fixes from Alexei.
Formatting, copyright years.
|
|
22122729
|
2007-01-16T20:06:44
|
|
* src/autofit/aflatin.c, src/cff/cffdriver.c, src/truetype/ttobjs.c,
src/truetype/ttinterp.c: fixing compiler warnings
|
|
8c4120d0
|
2007-01-15T06:42:40
|
|
Fix various compiler warnings.
* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
s/index/strike_index/.
* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
* src/gxvalid/gxvmorx5.c
(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
* src/truetype/ttinterp.c (Compute_Point_Displacement),
src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
uninitialized variables.
|
|
27cf9de1
|
2007-01-13T07:34:23
|
|
formatting, copyright years
|
|
e3654532
|
2007-01-13T00:19:18
|
|
* src/base/ftbitmap.c: fixing memory stomping bug in the
bitmap embolderner when the pitch of the source bitmap is
*much* larger than its width
* src/truetype/ttinterp.c: fixing aliasing-related compilation
warning
|
|
2bad8ffb
|
2006-11-22T09:37:03
|
|
cosmetics
|
|
82ee38e5
|
2006-11-20T09:19:26
|
|
formatting
|
|
7bab6ae3
|
2006-11-13T11:25:06
|
|
* src/truetype/ttinterp.c: undefined the FIX_BYTECODE macro,
since the interpreter "enhancements" are still too buggy for
general use
|
|
6aa260ce
|
2006-08-25T22:45:13
|
|
support for "automatic unpatented hinting" added
we still need to determine the list of "trick" CJK fonts
that are going to toggle the bytecode interpreter instead
of the auto-hinter
|
|
12342996
|
2006-08-19T11:18:09
|
|
formatting
|
|
33f5f249
|
2006-08-16T16:50:55
|
|
* include/freetype/internal/ftgloadr.h,
include/freetype/internal/tttypes.h, src/base/ftgloadr.c,
src/base/ftobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c,
src/truetype/ttobjs.c: improvements to native TrueType hinting,
this is a first try, controlled by the FIX_BYTECODE macro in
src/truetype/ttinterp.c
|
|
a2da05c2
|
2006-06-25T06:27:27
|
|
Fix two hinting bugs as reported in
http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
`first_point' member.
* src/truetype/ttgload.c (tt_prepare_zone): Initialize
`first_point'.
(TT_Process_Composite_Glyph): Always untouch points.
* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
`first_point' and `last_point' in case of composite glyphs.
(Ins_IUP): Fix computation of `end_point'.
|
|
8e6f8c4d
|
2006-02-17T08:07:09
|
|
Formatting, copyright years, documentation improvements.
|
|
0d565fdc
|
2006-02-15T07:44:31
|
|
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
unused `max_points' and `max_contours'.
* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
`max_components'.
* src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
`loadSize' and `loadStack'.
* src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
src/sfnt/ttload.c (tt_face_load_maxp): Update.
* src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
(sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
defined.
* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
(finally!)
For most OpenType tables, `tt_face_load_xxxx' simply loads the table
and `face->root' is set later in `sfnt_load_face'. Here, we try to
make this work for _all_ tables.
* src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
then exit. Error handling or setting face->root is done later in
`sfnt_load_face'.
Pretty trace messages.
* src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
Mac bitmap-only fonts are not scalable.
Check that `face->header.Units_Per_EM' is not zero.
(LOAD_, LOADM_): Pretty trace messages.
* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics from
`eblc'.
* src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
(load_format_20, load_format_25, tt_face_get_ps_name): Use
face->max_profile.numGlyphs, instead of face->root.num_glyphs.
|
|
ce34d122
|
2005-12-17T13:12:49
|
|
* src/truetype/ttinterp.c (Update_Max): Set current size of buffer
correctly (so that memory debug system won't panic).
|
|
674ba91f
|
2005-11-16T18:09:27
|
|
formatting
|
|
f7cc1814
|
2005-11-15T17:30:56
|
|
* src/base/fttrigon.c (ft_trig_prenorm): fixed a bug that created
invalid computations, resulting in very weird bugs in TrueType
bytecode hinted fonts
* src/truetype/ttinterp.c: redefined FT_UNUSED_EXEC to not perform
a structure copy each time. Wooot. !
|
|
d6d73989
|
2005-08-16T02:06:01
|
|
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
messages.
|
|
0142e6af
|
2005-08-16T01:54:59
|
|
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context with
slight changes.
* src/truetype/ttobjs.h (tt_slot_init): New function.
* src/truetype/ttobjs.c (tt_driver_init): Initialize execution context
here.
(tt_slot_init): New function to create extra points for the internal
glyph loader. We then use it directly, instead of face's glyph loader,
when loading glyph.
* src/truetype/ttdriver.c: Use tt_slot_init for glyph slot
initialization.
(TT_Load_Glyph): Load flag dependencies are handled here.
Return error if size is NULL.
* src/truetype/ttgload.c: Heavy cleanup and refactor.
(TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
(TT_Process_Simple_Glyph): Use loader->pp's instead of recalculating.
Use TT_Hint_Glyph.
No need to save/restore loader->stream before/after
TT_Vary_Get_Glyph_Deltas now.
(TT_LOADER_SET_PP): New macro to calculate and set the four phantom points.
(TT_Process_Composite_Component, TT_Process_Composite_Glyph,
load_truetype_glyph): Refactor load_truetype_glyph into these three functions.
Never set exec->glyphSize to 0. (close #13107)
Forget glyph frame before calling TT_Process_Simple_Glyph.
(TT_Load_Glyph, load_sbit_image, tt_loader_init): Refactor TT_Load_Glyph into
these three functions.
Set various fields of `glyph' here, instead of in load_truetype_glyph
and compute_glyph_metrics.
|
|
33febc0f
|
2004-10-09T07:07:43
|
|
* docs/CHANGES: Updated.
Fix handling of NPUSHW if skipped in data stream.
* src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW
to -2.
(SkipCode, TT_RunIns): Use opcode_length value for computation of
bytes to be skipped.
|
|
dea712b4
|
2004-08-07T15:08:33
|
|
`Activate' gray-scale specifing hinting within the TrueType
bytecode interpreter. This is an experimental feature which
should probably be made optional.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Move the code to set the pedantic_hinting flag
to...
(TT_Load_Glyph): Here.
Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.
* src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
version 1.7.
Return rotation and stretching info only if glyph is rotated or
stretched, respectively.
Handle grayscale info.
* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
member.
|
|
5ab41363
|
2004-07-18T07:15:18
|
|
* include/freetype/cache/ftcglyph.h, src/cache/ftcglyph.c:
fixed a dangling pointer bug that happened in very rare cases:
i.e. when a new family object was destroyed by an out-of-memory
condition during a glyph node initialization. The function
FTC_Cache_Lookup would flush the cache and restart the lookup
with a bad pointer.
* src/cache/ftcmanag.c: fixed a cache flushing bug
|
|
dfa46199
|
2004-03-05T09:26:24
|
|
* Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h:
Add LZW module.
* Jamfile.in: Removed.
* docs/CHANGES: Updated.
* include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/,
s/ABS/FT_ABS/. Updated all callers.
* src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c
(PCF_Face_Init): Use FT_ERROR_BASE.
Add support for PCF fonts compressed with LZW (extension .pcf.Z,
created with `compress').
* include/freetype/config/ftoption.h, devel/ftoption.h
(FT_CONFIG_OPTION_USE_LZW): New macro.
* include/freetype/ftlzw.h: New file.
* include/freetype/config/ftheader.h (FT_LZW_H): New macro for
ftlzw.h.
* src/lzw/*: New files.
* src/pcf/pcfdrivr.c: Include FT_LZW_H.
(PCF_Face_Init): Try LZW also.
* src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate.
Beautify.
|
|
6cda9c48
|
2004-01-22T09:07:12
|
|
* include/freetype/ftcache.h: Delete duplicated definition of
FTC_FaceID.
* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
Info service function if the cmap comes from sfnt. Return 0 if the
cmap is sythesized in cff module.
Formatting; updating copyright.
|
|
4632fccb
|
2004-01-15T19:07:44
|
|
* include/freetype/internal/ftmemory.h,
src/autohint/ahhint.c, src/base/ftgloadr.c,
src/base/ftglyph.c, src/base/ftoutln.c,
src/base/ftstroke.c, src/cff/cffload.c, src/truetype/ttgload.c,
src/truetype/ttinterp.c:
introducing the new FT_ARRAY_COPY and FT_ARRAY_MOVE macros
to make copying arrays easier
|
|
87c0d30f
|
2003-12-24T01:10:46
|
|
* include/freetype/fttypes.h
src/autofit/afangles.c
src/autofit/aflatin.c
src/autohint/ahglyph.c
src/autohint/ahhint.c
src/base/ftcalc.c
src/base/ftgloadr.c
src/base/ftglyph.c
src/base/ftobjs.c
src/base/ftsynth.c
src/base/fttrigon.c
src/cff/cffgload.c
src/cid/cidgload.c
src/cid/cidload.c
src/pfr/pfrgload.c
src/pfr/pfrload.c
src/pfr/pfrsbit.c
src/psaux/psobjs.c
src/pshinter/pshalgo.c
src/pshinter/pshglob.c
src/pshinter/pshrec.c
src/raster/ftrend1.c
src/sfnt/ttcmap0.c
src/smooth/ftsmooth.c
src/truetype/ttdriver.c
src/truetype/ttgload.c
src/truetype/ttinterp.c
src/truetype/ttobjs.c
src/type1/t1gload.c
src/winfonts/winfnt.c:
use of the FT_PAD_XXX and FT_PIX_XXX macros to avoid compiler
warnings with very pedantic compilers. Hints: (x) & -64 will
warn if (x) is not signed.. use (x) & ~63 instead !
|
|
d90b6738
|
2003-11-28T22:47:26
|
|
Documentation fix.
|
|
9f051a7f
|
2003-11-25T18:15:56
|
|
* src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and
64 bit version).
* include/freetype/internal/ftcalc.h: Updated.
* src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro.
(TT_INT64): Removed.
(DO_DIV): Use TT_MULDIV_NO_ROUND.
* src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use
metrics->x_scale and metrics->y_scale.
|
|
be67c4ef
|
2003-11-24T22:54:58
|
|
* src/truetype/ttinterp.c (CUR_Func_move_orig): New macro.
(Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New
functions. Similar to Direct_Move, Direct_Move_X, and
Direct_Move_Y but without touching.
(Compute_Funcs): Use new functions.
(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
Round_Up_To_Grid, Round_To_Double_Grid, Round_Super,
Round_Super_45): Fix rounding of value zero.
(DO_DIV): Don't use TT_MULDIV.
(Ins_SHC): This instruction actually touches the points.
(Ins_MSIRP): Fix undocumented behaviour.
* src/truetype/ttinterp.h (TT_ExecContextRec): Updated.
* docs/VERSION.DLL: Updated.
* src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and
metrics->y_scale really precise.
(FT_Load_Glyph): Update computation of linearHoriAdvance and
linearVertAdvance.
* src/true/type/ttinterp.c (Update_Max): Use FT_REALLOC.
|
|
8b6db86b
|
2003-08-17T22:09:14
|
|
* include/freetype/config/ftoption.h, devel/ftoption.h,
include/freetype/internal/ftobjs.h, include/freetype/internal/tttypes.h,
src/truetype/ttinterp.c, src/truetype/ttobjs.c, src/truetype/ttobjs.h:
changed the name of TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING to
the simpler TT_CONFIG_OPTION_UNPATENTED_HINTING
removed the macro TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING. Instead,
the same effect can be used by setting a debug-hook with
FT_DEBUG_HOOK_UNPATENTED_HINTING globally with FT_Set_Debug_Hook()
|
|
6e9b3186
|
2003-06-10T10:54:33
|
|
* src/truetype/ttinterp.c (SetSuperRound) <0x30>: Follow Apple's
TrueType specification.
(Ins_MDRP, Ins_MIRP): Fix single width cut-in test.
|
|
9a8e3211
|
2003-06-03T15:03:16
|
|
* src/truetype/ttinterp.c (Free_Project, CUR_Func_freeProj):
Removed. Unused.
Updated all callers.
|
|
f79a7ae0
|
2003-05-21T21:47:25
|
|
* src/gzip/ftgzip.c (ft_gzip_fil_io): Revert change from yesterday;
it has already been fixed differently.
* src/truetype/ttinterp.c (DO_SFVTL): Add missing braces around
if-clause.
|
|
a3f4da8e
|
2003-04-29T13:23:47
|
|
Minor cleanups.
|
|
3ea859f6
|
2003-04-25T11:40:46
|
|
Added the unpatented hinting system, which is compiled only if
TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined
in ftoption.h
|
|
b442ca17
|
2003-04-23T15:50:27
|
|
Cleanups.
|
|
ba4511b8
|
2003-02-18T22:25:22
|
|
* src/truetype/ttdriver.c, src/truetype/ttobjs.h, src/truetype/ttobjs.c,
src/truetype/ttinterp.c, src/base/ftobjs.c: fixing the slight distortion
problem that occured due to the latest auto-hinter changes
|
|
b08fe2dc
|
2002-08-27T20:20:29
|
|
* massive re-formatting changes to many, many source files. I don't
want to list them all here. The operations performed were all logical
transformations of the sources:
- trying to convert all enums and constants to CAPITALIZED_STYLE, with
#define definitions like
#define my_old_constants MY_NEW_CONSTANT
- big, big update of the documentation comments
* include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c,
include/freetype/ftimage.h: adding support for LCD-optimized rendering
though the new constants/enums:
FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V
this is still work in progress, don't expect everything to work correctly
though most of the features have been implemented.
* adding new FT_LOAD_XXX flags, used to specify both hinting and rendering
targets:
FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
FT_LOAD_TARGET_MONO :: monochrome bitmaps
FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering
FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering
note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
behaviour of the font engine is _unchanged_.
|
|
91db04cb
|
2002-04-01T14:25:28
|
|
* src/truetype/ttgload.c: 16bit fixes.
(TT_Load_Simple_Glyph): Improve debug messages.
(load_truetype_glyph): Remove dead code.
* src/truetype/ttinterp.c: 16bit fixes.
* src/truetype/ttobjs.c: Ditto.
* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
src/sfnt/ttpost.h: s/index/idx/.
formatting, copyright updates.
|
|
b1e6e597
|
2002-03-29T07:43:04
|
|
* builds/vms/ftconfig.h: Rename LOCAL_DEF and LOCAL_FUNC to
FT_LOCAL and FT_LOCAL_DEF, respectively, as with other ftconfig.h
files.
* builds/unix/ftconfig.in: Add argument to FT_LOCAL and
FT_LOCAL_DEF.
* src/truetype/ttinterp.c: s/FT_Assert/FT_ASSERT/.
* builds/unix/configure.ac: Temporarily deactivate creation of
../../Jamfile.
* builds/unix/configure: Updated.
|
|
4b29d587
|
2002-03-25T17:02:26
|
|
removing compiler warnings
|
|
e459d742
|
2002-03-22T13:52:37
|
|
* include/freetype/internal/ftmemory.h, and a lot of other files !!:
changed the names of memory macros. Examples:
MEM_Set => FT_MEM_SET
MEM_Copy => FT_MEM_COPY
MEM_Move => FT_MEM_MOVE
ALLOC => FT_ALLOC
FREE => FT_FREE
REALLOC = >FT_REALLOC
FT_NEW was introduced to allocate a new object from a _typed_
pointer..
note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced
by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
arguments.
This results in _lots_ of sources being changed, but makes the
code more generic and less error-prone..
|
|
b5713c54
|
2002-03-14T11:26:29
|
|
* include/freetype/internal/psglobals.h (removed),
include/freetype/internal/pshints.h,
src/pshinter/pshglob.h: removing obsolete file
* include/freetype/internal/tttypes.h,
include/freetype/internal/sfnt.h,
src/base/ftnames.c, src/cff/cffdrivr.c,
src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type
definitions
|
|
bc82f1bb
|
2002-03-01T02:26:22
|
|
* include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
into FT_LOCAL_DEF( xxxxx )
|
|
2b6248ba
|
2001-07-07T23:24:02
|
|
formatting
|