|
3ffb822e
|
2012-12-21T16:45:27
|
|
Check parameters of `FT_Outline_New'.
Problem reported by Robin Watts <robin.watts@artifex.com>.
* src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that
`numContours' and `numPoints' fit into FT_Outline's `n_points' and
`n_contours', respectively.
|
|
0690d3d7
|
2012-11-15T20:50:59
|
|
[base] Fix integer overflows in dd5718c7d67a.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
|
|
dd5718c7
|
2012-11-04T00:57:57
|
|
[base] Fortify emboldening code against egregious distortions.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening
strength when it leads to segment collapse.
|
|
48ce226a
|
2012-11-03T22:27:27
|
|
[base] Clean up emboldening code and improve comments there.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential
calls to FT_MulFix and FT_DivFix with FT_MulDiv.
Mention that bisectors are used to figure out the shift direction.
|
|
2bdd0949
|
2012-05-28T23:11:03
|
|
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Simplify.
We now use the cross product of the direction vectors to compute the
outline's orientation.
|
|
f875fc71
|
2012-05-28T22:34:58
|
|
New function FT_Outline_EmboldenXY.
* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
simplified embolding algorithm.
(FT_Outline_Embolden): Make it a special case of
`FT_Outline_EmboldenXY'
|
|
b25265c5
|
2012-02-29T13:45:24
|
|
Avoid modulo operators against a power-of-two denominator.
* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
`&' operator.
|
|
8bebaa74
|
2010-06-27T15:10:15
|
|
Fix valgrind warning.
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize
`result' array.
|
|
b36d4192
|
2010-02-13T07:57:56
|
|
* Version 2.3.12 released.
==========================
Tag sources with `VER-2-3-12'.
* docs/CHANGES: Updated.
* docs/VERSION.DLL: Update documentation and bump version number to
2.3.12.
* README, Jamfile (RefDoc),
builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj,
builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
builds/win32/visualce/freetype.vcproj,
builds/win32/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.3.11/2.3.12/, s/2311/2312/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
* builds/unix/configure.raw (version_info): Set to 10:0:4.
|
|
93eaf50a
|
2010-02-13T01:08:33
|
|
Fix overallocating bug in FT_Outline_New_Internal().
|
|
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).
|
|
6874d85b
|
2008-09-20T11:50:47
|
|
* src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
(FT_Outline_Decompose): Decorate with tracing messages.
* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
FT_DEBUG_LEVEL_TRACE.
[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
stdarg.h.
(FT_TRACE) [_STANDALONE_]: Remove.
(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
(FT_ERROR) [_STANDALONE_]: Updated.
(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
Use FT_TRACE7.
(gray_dump_cells): Make it `static void'.
(graay_convert_glyph): Use FT_TRACE7.
(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
ftoutln.c.
* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
FT_ERROR_BASE.
Other minor modifications.
|
|
e6e6eade
|
2008-05-14T23:05:38
|
|
Finish fix of scaling bug of CID-keyed CFF subfonts.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
functions.
* src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
provide global hinting data for both the top-font and all subfonts
(with proper scaling).
* src/cff/cffobjs.c (cff_make_private_dict): New function, using
code from `cff_size_init'.
(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
Use CFF_Internal and handle subfonts.
(cff_face_init): Handle top-dict and subfont matrices correctly;
apply some heuristic in case of unlikely matrix concatenation
results. This has been discussed with people from Adobe (thanks
goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
and not correct.
* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
* src/cff/cffgload.c (cff_builder_init): Updated.
(cff_decoder_prepare): Handle hints globals for subfonts.
Update all callers.
(cff_slot_load): Handling scaling of subfonts properly.
* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
(cff_parse_font_matrix): Use it.
* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
FT_ULong.
* docs/CHANGES: Document it.
|
|
71dd6873
|
2007-07-27T04:44:36
|
|
* src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
first usage. From Savannah patch #6115.
|
|
2a2dca6b
|
2007-06-06T04:39:37
|
|
* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
|
|
23df31ad
|
2007-01-13T08:45:00
|
|
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
with C++ compiler.
* src/autofit/afhints.c (af_glyph_hints_dump_segments,
af_glyph_hints_dump_edges): Ditto.
* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
`modules.cfg').
* src/sfnt/ttsbit0.h: Remove.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
|
|
715e96ec
|
2006-10-24T05:28:45
|
|
formatting, improving ChangeLog entries
|
|
a186139c
|
2006-10-23T16:00:59
|
|
improve FT_Outline_Get_Orientation for broken asian fonts
|
|
545c4e56
|
2006-05-17T22:55:04
|
|
* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
Formatting, documentation fixes.
|
|
281679de
|
2006-05-17T13:34:21
|
|
* include/freetype/internal/tttypes.h, src/autofit/afangles.c,
src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c,
src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c,
src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c,
src/type1/t1gload.c:
this is a major patch used to drastically improve the performance
of loading glyphs. This both speeds up loading the glypn vector
themselves and the auto-fitter.
note that we've started using inline assembler with GCC to
implement FT_MulFix, given that this function is so damn
important for the engine's performance.
the resulting speed-up is about 25%.
|
|
5556dd21
|
2006-03-21T21:36:33
|
|
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
algorithm.
|
|
d7e6b767
|
2006-02-25T06:24:28
|
|
Formatting, copyright years, minor cleanups.
|
|
88242072
|
2006-02-24T11:53:21
|
|
* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
ft_contour_enclosed, ft_outline_get_orientation): Commented out. We
have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
(FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
|
|
d4303da0
|
2006-02-23T21:01:34
|
|
formatting, copyright years.
|
|
890f807a
|
2006-02-22T20:47:39
|
|
* include/freetype/ftoutln.h (enum FT_Orientation): New value
`FT_ORIENTATION_NONE'.
* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
ft_contour_enclosed, ft_outline_get_orientation): Another version of
`FT_Outline_Get_Orientation'. This version differs from the public
one in that each part (contour not enclosed in another contour) of the
outline is checked for orientation.
(FT_Outline_Embolden): Use `ft_outline_get_orientation'.
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
use bitmap's embolden routine when the outline one failed.
|
|
49f4d34e
|
2005-06-16T19:07:08
|
|
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
halved.
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
strength.
Don't increase slot->advance.y.
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.ac (version_info): Set to 9:9:3.
Currently, we are still binary compatible.
* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
s/2.1.9/2.1.10/.
* docs/CHANGES, docs/VERSION.DLL: Updated.
* ChangeLog: Split off older entries into...
* ChangeLog.20, ChangeLog.21: These new files.
The next release will be 2.2.0, so don't worry about source code
backwards compatibility.
* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
include/freetype/ftrender.h (FT_Glyph_TransformFunc,
FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
parameters with `const' where appropriate.
* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
to make glyphs centered vertically.
* src/truetype/ttgload.c (compute_glyph_metrics): Compute
vertBearingY to make glyphs centered vertically.
Fix some bugs in vertical metrics:
. loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
units.
. As we use the glyph's cbox to calculate the top bearing now
there iss no need to adjust `top'.
* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
* docs/release: Update.
|
|
afb2ba57
|
2005-05-25T05:51:01
|
|
* docs/CHANGES: Updated.
* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration.
* include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration.
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary
function.
(FT_Bitmap_Embolden): New function.
* src/base/ftoutln.c (FT_Outline_Embolden): New function.
* src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and
FT_TRIGONOMETRY_H but FT_BITMAP_H.
(FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or
FT_Bitmap_Embolden.
|
|
b9ee7370
|
2005-05-20T21:52:19
|
|
* docs/CHANGES: Updated.
* src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H
but FT_BITMAP_H.
(FT_Bitmap_Copy): New function (from ftglyph.c).
* include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public
definition.
* src/base/ftglyph.c: Include FT_BITMAP_H.
(ft_bitmap_copy): Move to ftbitmap.c.
(ft_bitmap_glyph_init): Remove `memory' variable.
Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set.
(ft_bitmap_glyph_copy): Use FT_Bitmap_Copy.
(ft_bitmap_glyph_done): Use FT_Bitmap_Done.
(ft_outline_glyph_init): Use FT_Outline_Copy.
* src/base/ftoutln.c (FT_Outline_Copy): Handle source == target.
(FT_Outline_Done_Internal): Check for valid `memory' pointer.
(FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render,
FT_Outline_Transform): Check for valid `outline' pointer.
* src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to
face->glyph, otherwise a new second glyph slot cannot be created.
(FT_Done_GlyphSlot): Fix memory leak.
(FT_Open_Face): Updated -- face->glyph is already managed by
FT_New_GlyphSlot.
* src/type42/t42objs.c (T42_GlyphSlot_Done): Updated.
|
|
8ae1dceb
|
2005-05-20T06:22:20
|
|
* include/freetype/ftimage.h (FT_Raster_Params),
include/freetype/ftoutln.h (FT_Outline_Translate,
FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate,
FT_Outline_Transform): Decorate parameters with `const' where
appropriate.
Update all callers.
* src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c
(gray_raster_reset): Remove `const' from `pool_base' argument.
|
|
c01c9042
|
2005-04-14T16:03:15
|
|
* include/freetype/freetype.h (FT_Vector_Transform),
include/freetype/ftimage.h (FT_Raster_Params),
include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox,
FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform,
FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render),
src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with
`const' where appropriate.
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments
to call of tt_sbit_decoder_load_bitmap.
|
|
1ec3963d
|
2004-11-24T07:08:21
|
|
* src/base/ftoutln.c (FT_OrientationExtremumRec,
ft_orientation_extremum_compute): Removed.
(FT_Outline_Get_Orientation): Rewritten, simplified.
* src/autohint/ahglyph.c: Include FT_OUTLINE_H.
(ah_test_extremum, ah_get_orientation): Removed.
(ah_outline_load): Use FT_Outline_Get_Orientation.
* src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed.
(FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation.
|
|
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.
|
|
16123dfe
|
2004-01-16T08:46:11
|
|
* src/base/ftoutln.c (ft_orientation_extremum_compute): fixing
infinite loop bug !
|
|
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
|
|
dc8ad54f
|
2003-12-09T02:12:14
|
|
* include/freetype/internal/psaux.h (PS_TableRec): Change type
of `lengths' to FT_PtrDist.
(T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist.
* include/freetype/internal/t1types.h (T1_FontRec): Change type
of `subrs_len' and `charstrings_len' to FT_PtrDist.
* src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk'
variable with better solution.
(IsMacResource): Remove unused variable `map_len'.
Replace `junk' variable with better solution.
(FT_Open_Face) [!FT_MACINTOSH]: Add conditional
FT_CONFIG_OPTION_MAC_FONTS.
* src/autohint/ahhint.c (ah_hinter_hint_edges,
ah_hinter_align_strong_points): Add some casts.
* src/base/ftoutln.c (FT_OrientationExtremumRec): Change type
of `pos' to FT_Long.
* src/base/ftobjs.c (Mac_Read_POST_Resource,
Mac_Read_sfnt_Resource): Change type of `len' to FT_Long.
* src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'.
|
|
2ea0d9fb
|
2003-10-05T07:54:00
|
|
* src/base/ftoutln.c (FT_OrientationExtremumRec,
FT_Outline_Get_Orientation): Trivial typo fixes to make it compile.
|
|
d25ad56d
|
2003-10-02T21:07:10
|
|
* src/autofit/*: adding first sources of the new multi-script
"auto-fitter"
* include/freetype/ftoutln.h, src/base/ftoutln.c: adding the
definition of FT_Outline_Get_Orientation, used to compute the
fill orientation of a given glyph outline.
* include/freetype/internal/ftserv.h: fixed trivial bug which
could crashed the font engine when a cached service pointer was
retrieved with FT_FACE_LOOKUP_SERVICE
|
|
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_.
|
|
d36b4a59
|
2002-07-01T21:52:49
|
|
formatting
|
|
318f3bef
|
2002-06-26T20:30:37
|
|
* src/truetype/ttgload.c (TT_Load_Composite_Glyph),
src/base/ftoutln.c (FT_Vector_Transform): fixed Werner's latest
fix. FT_Vector_Transform wasn't buggy, the TrueType composite loader
was...
|
|
87a2bc7b
|
2002-06-20T10:57:04
|
|
* src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
(xy <-> yx).
* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
`||' to make code easier to read.
|
|
5f0ee94c
|
2002-04-30T06:37:52
|
|
`interface' is reserved on the Mac.
* include/freetype/ftoutln.h, include/freetype/internal/sfnt.h,
src/base/ftoutln.c: s/interface/func_interface/.
* src/base/ftbbox.c (FT_Outline_Get_BBox):
s/interface/bbox_interface/.
* src/cff/cffdrivr.c: s/interface/module_interface/.
* src/cff/cffload.c, src/cff/cffload.h:
s/interface/psnames_interface/.
* src/cid/cidriver.c: s/interface/cid_interface/.
* src/sfnt/sfdriver.c: s/interface/module_interface/.
* src/smooth/ftgrays.c: s/interface/func_interface/.
* src/truetype/ttdriver.c: s/interface/tt_interface/.
* src/type1/t1driver.c: s/interface/t1_interface/.
|
|
f8ba2005
|
2002-03-30T13:16:35
|
|
* include/freetype/t1tables.h (t1_blend_max): Fix typo.
* src/base/ftstream.c: Simplify FT_ERROR calls.
formatting, copyright update
|
|
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..
|
|
f86709a1
|
2002-01-07T10:04:09
|
|
* src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler
warnings (in pedantic compilation modes)
|
|
7fe38a51
|
2002-01-04T09:47:30
|
|
remove compiler warnings and a typo in builds/unix/ftsystem.c
|
|
1a0a9793
|
2002-01-03T22:06:13
|
|
* src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
warning.
|
|
662b344c
|
2002-01-03T16:56:59
|
|
* src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
library when dealing with certain weird fonts (like "Stalingrad",
in "sadn.pfb". This font has no full font name entry.. )
* src/base/ftoutln.c, include/freetype/ftoutln.h: added the
FT_Outline_Check API to check the consistency of outline data
* src/base/ftobjs.c (FT_Load_Glyph): added a call to the new
FT_Outline_Check to ensure that loaded glyphs are valid. This
allows certain fonts like "tt1095m_.ttf" to be loaded even though
it appears they contain really funky glyphs..
there still is a bug there though.. !!
|
|
415235df
|
2001-06-28T17:49:10
|
|
finishing function header formatting
updating copyrights
|
|
f814d0fa
|
2001-06-27T16:18:10
|
|
First round in converting
type foo ( ... )
to
type
foo ( ... )
Other minor formatting issues.
|
|
8edbcabc
|
2001-06-19T08:28:24
|
|
- updated doc for FT_New_Memory_Face
- removed lots of compiler warnings in lint-style
warning modes (/W4 with Visual C++)
|
|
79860707
|
2001-06-08T21:17:29
|
|
Increase `version_info' to 7:0:1.
Fixed a bug that returned an invalid linear width for composite
TrueType glyphs.
* include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
and `linear_def'.
* src/truetype/ttgload.c (load_truetype_glyph,
compute_glyph_metrics): Use it.
* include/fttypes.h (FT_ERROR_BASE): New macro.
* src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
to make source code work with the new error scheme implemented by
Werner.
* src/base/ftoutln.c (FT_Outline_Render): Ditto.
|
|
57d4de0e
|
2001-06-08T13:29:36
|
|
fixed a bug that returned an invalid linear width for composite
TrueType glyphs
fixed source code to work with the new error scheme implemented
by Werner
|
|
cc069beb
|
2000-12-08T16:17:16
|
|
cleanups
|
|
19ed8afe
|
2000-12-08T02:42:29
|
|
- updated all source files to adhere to the new inclusion scheme
- the CFF loader now loads the encodings and charset tables
though doesn't use them for now
|
|
90a03301
|
2000-11-07T17:21:11
|
|
All function comments are now removed from source files (and moved to the
header files if necessary).
Some minor fixes to have `make multi' run successfully (with gcc and g++).
Fixing compiler warnings.
|
|
4b68007b
|
2000-11-07T06:30:29
|
|
Complementing David's changes with formatting, adding documentation, etc.
More `*'-convention formatting, adding the `a' resp. `an' prefix to
variables.
|
|
dc72aff4
|
2000-11-04T08:33:38
|
|
Finishing David's latest changes (there were some errors in it).
|
|
76a5f623
|
2000-11-04T01:55:49
|
|
major reformatting of the sources:
FT_EXPORT_DEF => FT_EXPORT
FT_EXPORT_FUNC => FT_EXPORT_DEF
BASE_DEF => FT_BASE
BASE_FUNC => FT_BASE_DEF
LOCAL_DEF => FT_LOCAL
LOCAL_FUNC => FT_LOCAL_DEF
LOCAL_FUNC_X => FT_CALLBACK_DEF
LOCAL_DEF_X => FT_CALLBACK_TABLE
FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
|
|
dc26e7b7
|
2000-10-23T22:46:56
|
|
- minor reformatting of "ftmodule.h"
- added missing "const" statements in the source code in order
to really get rid of writable static variables
|
|
2405d14f
|
2000-07-11T06:12:20
|
|
Formatting/Synchronizing.
Updating OS/2 bits in ttnameid.h to latest version (as posted on the
opentype@ list).
|
|
b48a6094
|
2000-07-09T19:15:30
|
|
Formatting.
Moving some internal structures and constants from freetype.h to ftobjs.h.
Finally removing FT_LOAD_ANTI_ALIAS.
Cleaning up all error codes. Only the used ones have survived :-)
Removed unused FT_MAX_GLYPH_FORMATS constant.
T2 error codes are now in the range 0x500-0x5FF (instead of `TrueDoc').
Some minor improvements of error return values.
Finally fixing error code values in ftraster and ftgrays to be compliant
with all other FT error codes.
|
|
7fa51b55
|
2000-07-08T19:51:42
|
|
Formatting.
Adding some trivial error checking.
Adding/Fixing tracing levels.
|
|
9b3d1c75
|
2000-07-07T19:47:34
|
|
- fixed a leak in the Type 1 driver
- updated the CFF driver to support flex opcodes
|
|
a8bbc267
|
2000-07-01T14:06:46
|
|
Formatting as usual...
Adding trivial argument checking to some functions.
Added dynamic driver interface to cidriver.
Minor `version' fixes for macfont and psnames modules.
Removed unnecessary files
|
|
f9ca2bb5
|
2000-06-30T23:12:55
|
|
managed to re-design entirely the API in <freetype/ftglyph.h>
It is now really the "glyph factory" that Stefan was probably
dreaming about..
fixed some recent formatting errors from Werner ;-)
cleaned up the demonstration programs from most of the
rust that they had, though I'm sure someone is going to
re-format them really soon !!
"ftstring" now uses the new ftglyph.h API, and is now
faster and smaller.. yep..
|
|
60402683
|
2000-06-29T06:19:07
|
|
small fix in the definition of the convenience functions
|
|
deb4e983
|
2000-06-29T03:14:25
|
|
Formatting...
Preprocessor lines now always start the line.
Improved error handling in `base' module.
Fixed a out-of-bounds error in ttgload.
|
|
74abee8e
|
2000-06-27T23:31:53
|
|
various cleanups to reduce compiler warnings
|
|
a929ba9b
|
2000-06-25T06:47:11
|
|
applying formatting again
|
|
f0df85ba
|
2000-06-22T00:17:42
|
|
- MAJOR INTERNAL REDESIGN:
A lot of internal modifications have been performed lately on the
source in order to provide the following enhancements:
- more generic module support:
The FT_Module type is now defined to represent a handle to a given
module. The file <freetype/ftmodule.h> contains the FT_Module_Class
definition, as well as the module-loading public API
The FT_Driver type is still defined, and still represents a pointer
to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module,
FT_Get_Driver by FT_Get_Module, etc..
- support for generic glyph image types:
The FT_Renderer type is a pointer to a module used to perform various
operations on glyph image.
Each renderer is capable of handling images in a single format
(e.g. ft_glyph_format_outline). Its functions are used to:
- transform an glyph image
- render a glyph image into a bitmap
- return the control box (dimensions) of a given glyph image
The scan converters "ftraster.c" and "ftgrays.c" have been moved
to the new directory "src/renderer", and are used to provide two
default renderer modules.
One corresponds to the "standard" scan-converter, the other to the
"smooth" one.
The current renderer can be set through the new function
FT_Set_Renderer.
The old raster-related function FT_Set_Raster, FT_Get_Raster and
FT_Set_Raster_Mode have now disappeared, in favor of the new:
FT_Get_Renderer
FT_Set_Renderer
see the file <freetype/ftrender.h> for more details..
These changes were necessary to properly support different scalable
formats in the future, like bi-color glyphs, etc..
- glyph loader object:
A new internal object, called a 'glyph loader' has been introduced
in the base layer. It is used by all scalable format font drivers
to load glyphs and composites.
This object has been created to reduce the code size of each driver,
as each one of them basically re-implemented its functionality.
See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
more information..
- FT_GlyphSlot had new fields:
In order to support extended features (see below), the FT_GlyphSlot
structure has a few new fields:
linearHoriAdvance: this field gives the linearly scaled (i.e.
scaled but unhinted) advance width for the glyph,
expressed as a 16.16 fixed pixel value. This
is useful to perform WYSIWYG text.
linearVertAdvance: this field gives the linearly scaled advance
height for the glyph (relevant in vertical glyph
layouts only). This is useful to perform
WYSIWYG text.
Note that the two above field replace the removed "metrics2" field
in the glyph slot.
advance: this field is a vector that gives the transformed
advance for the glyph. By default, it corresponds
to the advance width, unless FT_LOAD_VERTICAL_LAYOUT
was specified when calling FT_Load_Glyph or FT_Load_Char
bitmap_left: this field gives the distance in integer pixels from
the current pen position to the left-most pixel of
a glyph image WHEN IT IS A BITMAP. It is only valid
when the "format" field is set to
"ft_glyph_format_bitmap", for example, after calling
the new function FT_Render_Glyph.
bitmap_top: this field gives the distance in integer pixels from
the current pen position (located on the baseline) to
the top-most pixel of the glyph image WHEN IT IS A
BITMAP. Positive values correspond to upwards Y.
loader: this is a new private field for the glyph slot. Client
applications should not touch it..
- support for transforms and direct rendering in FT_Load_Glyph:
Most of the functionality found in <freetype/ftglyph.h> has been
moved to the core library. Hence, the following:
- a transform can be specified for a face through FT_Set_Transform.
this transform is applied by FT_Load_Glyph to scalable glyph images
(i.e. NOT TO BITMAPS) before the function returns, unless the
bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags..
- once a glyph image has been loaded, it can be directly converted to
a bitmap by using the new FT_Render_Glyph function. Note that this
function takes the glyph image from the glyph slot, and converts
it to a bitmap whose properties are returned in "face.glyph.bitmap",
"face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original
native image might be lost after the conversion.
- when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
and FT_Load_Char functions will call FT_Render_Glyph automatically
when needed.
|
|
f9b8dec4
|
2000-06-16T19:34:52
|
|
major reformatting of the modules source code in order to get
rid of most of the basic types redefinitions (i.e. FT_Int instead
of "FT_Int", etc..)
The format-specific prefixs like "TT_", "T1_", "T2_" & 'CID_"
are now only used in relevant structures..
fixed Werner's fix to t2gload.c :-)
other small bug fixes
|
|
4e6dd858
|
2000-06-05T05:26:15
|
|
freetype.h: Adding ft_encoding_xxx values for some CJK encodings.
Fixing copyright notice on many files.
Changed some tracing levels.
A lot of formatting, fixing documentation etc. as usual.
|
|
eb81e378
|
2000-06-03T06:03:11
|
|
More preparation for tracing. Formatting.
|
|
2fbf7e43
|
2000-06-02T00:01:14
|
|
Added a lot of error checking code to the exported functions in the `base'
subdir (not complete yet).
|
|
d66ea312
|
2000-06-01T15:49:28
|
|
FT_Outline_Decompose() now returns FT_Error.
Minor bug fixes.
More formatting, adding/fixing documentation.
|
|
1fb6eea7
|
2000-05-24T00:31:14
|
|
EXPORT_DEF renamed to FT_EXPORT_DEF +
reformating/spacing
|
|
e49ab25c
|
2000-05-16T23:44:38
|
|
formatting - removed trailing spaces
|
|
701d7546
|
2000-05-16T23:21:59
|
|
removed obsolete header file
|
|
bfe2f98f
|
2000-05-12T12:17:15
|
|
a new massive grunt work. Redefined the EXPORT_DEF,
EXPORT_FUNC, BASE_DEF and BASE_FUNC macros to
let them take an argument..
This is needed to compile the library as a DLL on some platforms
that have different compiler conventions..
|
|
efce08d6
|
2000-05-11T18:23:52
|
|
major re-organisation of the FreeType 2 directory hierarchy
|
|
c136b409
|
2000-05-04T17:24:54
|
|
an update to FT_Outline_Funcs used to improve
the accuracy of outline decomposition
|
|
37379e21
|
2000-03-28T11:22:31
|
|
major changes to the library:
- there is now a "convenience" API to manage glyphs in
"include/ftglyph.h". See the demo program "ftstring" for
an example..
- the raster interface has been changed in order to allow
direct composition through user-provided callbacks. This
has been tested but isn't demonstrated for now in "demos"
- the FT_LOAD_NO_RECURSE flag is supported, as this is
required by some new code in the auto-hinting engine
- some bug fixed in FT_MulFix which made FT_xxx_Transform
return incorrect results..
|
|
7f615aef
|
2000-03-13T11:49:20
|
|
renamed all outlines functions to the
FT_Outline_<action> syntax..
|
|
41dbcbf6
|
2000-03-09T11:46:25
|
|
reformatting, changing the FT_Outline structure:
- "flags" have been renamed to "tags"
- "outline_flags" have been renamed to "flags"
Look for more re-formatting today..
|
|
0f99ddda
|
2000-03-06T13:23:32
|
|
changed the structure of FT_Outline in order to pack
all outline flags in a single integer..
Changed the rest of the library and demo programs
accordingly..
|
|
7880dd66
|
2000-01-10T17:19:45
|
|
ftcalc.c, ftextend.c, ftoutln.c, ftraster.c, ftstream.c:
Removing trailing spaces.
ftlist.h:
Removing duplicated documentation (which is in ftlist.c also).
ftinit.c, ftlist.c, ftobjs.c:
Formatting, adding documentation.
|
|
d2b1f357
|
1999-12-16T23:11:37
|
|
Initial revision
|