|
e8ed2d62
|
2013-08-01T12:20:20
|
|
Another round of cppcheck nitpicks.
The call was (from the top-level of the FreeType tree):
cppcheck --force \
--enable=all \
-I /usr/include \
-I /usr/local/include \
-I /usr/lib/gcc/i586-suse-linux/4.7/include \
-I include \
-I include/freetype \
-I include/freetype/config \
-I include/freetype/internal \
-DFT2_BUILD_LIBRARY \
. &> cppcheck.log
using cppcheck git commit f7e93f99.
Note that cppcheck still can't handle `#include FOO' (with `FOO' a
macro).
*/* Improve variable scopes.
*/* Remove redundant initializations which get overwritten.
* src/gxvalid/*: Comment out redundant code or guard it with
FT_DEBUG_LEVEL_TRACE.
|
|
21c32b08
|
2013-07-25T21:53:18
|
|
Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
Also disambiguate Google's color bitmap tables.
* include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
New macros.
* include/freetype/internal/tttypes.h (TT_SbitTableType): Add
TT_SBIT_TABLE_TYPE_CBLC.
* src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
* src/sfnt/ttsbit.c (tt_face_load_sbit,
tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
TT_SBIT_TABLE_TYPE_CBLC.
|
|
ff269528
|
2013-07-20T08:02:39
|
|
[sfnt] Fix `sbix' table version handling.
* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
USHORT version numbers are to be considered as `minor'.
|
|
778a7e6a
|
2013-07-19T14:28:28
|
|
[sfnt] `sbix' fix-ups.
* src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
are rendered scaled and then the `glyf' outline rendered on top. We
don't support that yet, so just ignore the `glyf' outline and
advertise it as a bitmap-only font.
* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
[TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
(tt_face_load_sbix_image): Typo.
|
|
01705395
|
2013-07-18T13:13:12
|
|
[sfnt] Add support for Apple's `sbix' color bitmap table.
* include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
fields to FT_Short and FT_UShort, respectively.
(TT_SBitTableType): New enumeration.
(TT_FaceRec): Add `sbit_table_type' field.
* include/freetype/tttags.h (TTAG_sbix): New macro.
* src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
FT_GlyphSlot argument instead FT_Bitmap.
Add flag to control map and metrics handling.
Update all users.
* src/sfnt/ttsbit.c: Include `ttmtx.h'.
(tt_face_load_eblc): Renamed to...
(tt_face_load_sbit): This.
Handlic `sbix' bitmaps.
(tt_face_free_eblc): Renamed to...
(tt_face_load_sbit): This.
Updated.
(tt_face_load_strike_metrics): Handle `sbix' bitmaps.
(tt_face_load_sbix_image): New function.
(tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
and handle load flags.
(tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
handle formats 17-19.
Move color to grayscale conversion to...
(tt_face_load_sbit_image): Here.
Handle `sbix' bitmaps.
* src/sfnt/pngshim.h: Updated.
* src/sfnt/ttsbit.h: Updated.
* src/sfnt/sfdriver.c: Updated.
|
|
a25ecfdd
|
2013-06-10T12:57:16
|
|
[sfnt] Improve embedded bitmap tracing.
* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
bitmap strike match to...
(FT_Match_Size): This function.
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
tt_sbit_decoder_load_image): Decorate with tracing messages.
|
|
45392b77
|
2013-06-05T13:43:20
|
|
Fix compiler warnings.
* include/freetype/internal/ftmemory.h: Decorate memory allocation
macros with `FT_Long' where appropriate.
Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
cast.
* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
including `md5.c'.
* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
cast.
* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
(tt_sbit_decoder_load_bitmap): Beautification.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
variables (earlier).
* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
where appropriate.
* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
|
|
760d342d
|
2013-05-29T11:36:18
|
|
Add support for color embedded bitmaps (eg. color emoji).
A new load flag, FT_LOAD_COLOR, makes FreeType load color
embedded-bitmaps, following this draft specification
https://color-emoji.googlecode.com/git/specification/v1.html
which defines two new SFNT tables, `CBDT' and `CBLC' (named and
modeled after `EBDT' and `EBLC', respectively). The color bitmaps
are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
pre-multiplied sRGB images. If PNG support is available, PNG color
images as defined in the same proposed specification are supported
also.
Note that color bitmaps are converted to grayscale if client didn't
ask for color.
* builds/unix/configure.raw: Search for libpng.
Add `--without-png' option.
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_USE_PNG): New macro.
* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
* include/freetype/ftimage.h (FT_Pixel_Mode): Add
`FT_PIXEL_MODE_BGRA'.
* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
(ft_gray_for_premultiplied_srgb_bgra): New function.
(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
* src/sfnt/sfnt.c: Include `pngshim.c'.
* src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
(tt_face_load_eblc): Load `CBLC'.
(tt_sbit_decoder_init): Load `CBDT'.
(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
color and grayscale bitmaps.
Set `num_grays'. This is used by `ftview' to choose the blending
algorithm.
(tt_sbit_decoder_load_byte_aligned,
tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
tt_sbit_decoder_load_image): Pass load flag.
s/write/pwrite/.
Don't call `tt_sbit_decoder_alloc_bitmap'.
Updated.
(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
(tt_sbit_decoder_load_bitmap): Pass load flag.
Handle new glyph formats 17, 18, and 19.
Call `tt_sbit_decoder_alloc_bitmap'.
Flatten color bitmaps if necessary.
(tt_face_load_sbit_image): Updated.
* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
* docs/CHANGES: Updated.
|
|
ea2b4756
|
2013-05-10T08:04:33
|
|
[sfnt] Clean up bitmap code.
* src/sfnt/ttsbit.c: Deleted.
* src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
* rules.mk (SFNT_DRV_H): Updated.
|
|
f6aa089f
|
2013-05-10T07:58:47
|
|
*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
|
|
e3c93015
|
2013-03-14T11:21:17
|
|
*/*: Use FT_Err_Ok only.
This is a purely mechanical conversion.
|
|
059bc335
|
2013-03-14T10:27:35
|
|
*/*: Use `FT_THROW'.
This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.
To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
|
|
e62c876b
|
2011-06-15T02:48:33
|
|
Fix g++4.6 compiler warnings in module drivers.
The background is same with previous commit.
* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
Init `points'. (TT_Vary_Get_Glyph_Deltas): Init
`delta_xy'. (TT_Get_MM_Var): Init `mmvar'.
* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
`font_info'.
* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
(cff_font_load): Init `sub'.
* src/cff/cffobjs.c (cff_size_init): Init `internal'.
(cff_face_init): Init `cff'.
* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
Init `snaps'.
* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
(pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings):
Init `tmpEncoding'.
* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
`zip_buff'.
* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
|
|
f765e440
|
2010-06-24T10:34:29
|
|
*/*: Use module specific error names where appropriate.
|
|
858abbed
|
2009-06-26T06:15:41
|
|
For warning messages, replace FT_ERROR with FT_TRACE0.
FT_ERROR is now used only if a function produces a non-zero `error'
value.
Formatting, improving and harmonizing debug strings.
|
|
b66efefd
|
2009-03-12T08:07:49
|
|
Fix some FreeType Coverity issues as reported for Ghostscript.
* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
`args.stream' (#3874, #3875).
(open_face_PS_from_sfnt_stream): Improve error management (#3786).
* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
(#3870).
* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
code (#3790).
* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
value of `FT_Stream_Skip' (#3784).
* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
it (#3872)
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
it (#3871).
* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
`pcf_get_metric' (#3789, #3782).
(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
`acache' (#3797)
* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
(#3796).
* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
(#3793).
(_bdf_parse_start): Add comment (#3792).
* src/raster/ftraster.c (Finalize_Profile_Table): Check
`ras.fProfile' (#3791).
* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
seek error (#3781).
|
|
e5a7cc23
|
2009-03-02T09:09:12
|
|
Fix handling of EBDT formats 8 and 9.
The main cycle in `blit_sbit' makes too many iterations: it actually
needs the count of lines in the source bitmap rather than in the
target image.
* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
Add parameter `source_height' and use it for main loop.
(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
|
|
02197280
|
2008-11-29T09:31:44
|
|
Formatting.
|
|
a10d2b7c
|
2007-12-04T22:05:54
|
|
* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
concatenate error codes.
* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
|
|
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.
|
|
4ea0a7f0
|
2007-01-05T09:03:31
|
|
formatting, minor doc fixes, copyright years
|
|
8a6c44e6
|
2007-01-04T17:03:11
|
|
Getting rid of the FT_OPTIMIZE_MEMORY macro, since the optimization
is no longer experimental
|
|
e2e18e03
|
2006-12-03T09:46:32
|
|
comment fixes
|
|
d41aecdb
|
2006-02-21T08:08:14
|
|
formatting, doc improvements
|
|
dd0f3609
|
2006-02-20T23:50:21
|
|
* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
src/sfnt/ttsbit.h, src/sfnt/ttsbit.c: moving the definition
of 'set_sbit_strike' and 'load_sbit_metrics' to their 2.1.8
location. This is used to support binary compatibility with
the X.Org server's libXfont library.
note that this disables memory optimizations for the embedded
bitmap loader.Sigh....
|
|
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.
|
|
f5aa47be
|
2006-02-14T06:40:10
|
|
Clean up the SFNT_Interface. Table loading functions are now named
after the tables' tags; `hdmx' is TrueType-specific and thus the code
is moved to the truetype module; `get_metrics' is moved here from the
truetype module so that the code can be shared with the cff module.
This pass involves no real changes. That is, the code is moved
verbatim mostly. The only exception is the return value of
`tt_face_get_metrics'.
* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Metrics-related tables' loading
and parsing code is moved here.
Move `tt_face_get_metrics' here from the truetype module. The return
value is changed from `void' to `FT_Error'.
* include/freetype/internal/fttrace.h: New trace: ttmtx.
* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
parsing code is moved here.
New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'.
`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
|
|
bcc438b1
|
2006-01-23T14:12:40
|
|
* include/freetype/freetype.h (FT_Select_Size): Rename the second
argument from `idx' to `strike_index'.
(FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
this enum.
* include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
FT_REQUEST_HEIGHT): New macros to get the width and height of a
request, in fractional pixels.
* include/freetype/internal/ftobjs.h (FT_Select_Metrics,
FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
FT_Request_Metrics): New base functions to set the font metrics. They
were part of FT_Select_Size/FT_Request_Size and are made independent
functions so that metrics are not set again and again.
* src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
only when driver's size_select/size_request is NULL. That is, drivers
should set the metrics themselves.
(FT_Match_Size): Round before matching. This was what we did and it
does cause some problems without rounding.
* src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
(tt_size_select): Set the font metrics.
s/index/strike_index/.
The scaled metrics are always preferred over strikes' metrics, even
when some strike is selected. This is done because the strikes'
metrics are not reliable, e.g., the sign of the descender is wrong for
some fonts.
* src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
(tt_size_request): Set the font metrics.
Call cff_size_select/tt_size_select when some strike is matched.
* src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
Set the font metrics.
s/index/strike_index/.
* src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
files were committed. Just a catch-up.
(PS_Conv_ToFixed): Remove the `goto'.
(PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
* src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
(tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
advertised metrics in `available_sizes' are different from those
actually used.
|
|
f1c2b91e
|
2006-01-13T14:53:28
|
|
Formatting, copyright year updates.
Decorate long constants with `L' and `UL' where appropriate.
|
|
fa7d6ab2
|
2006-01-13T12:21:31
|
|
* include/freetype/internal/sfnt.h (SFNT_Interface): New method
`load_strike_metrics' used to load the strike's metrics.
* src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
nominal size unless it is obviously incorrect.
* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
FNT driver.
Introduce new size selection interface.
* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec_):
Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
`select_size'.
* include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
(FT_Select_Size, FT_Request_Size): API additions to export the new
size selection interface.
* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
`FT_Request_Size'.
* include/freetype/internal/ftobjs.h (FT_Match_Size),
src/base/ftobjs.c (FT_Match_Size): New function to match a size
request against `available_sizes'. Drivers supporting bitmap strikes
can use this function to implement `request_size'.
* src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
Update to new size selection interface.
* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
selection interface.
Make `strike_index' FT_ULong and always defined.
Use `load_strike_metrics' provided by SFNT interface.
|
|
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.
|
|
e793092d
|
2005-03-01T02:13:50
|
|
Formatting.
* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.
* src/sfnt/ttkern.c: Include `ttkern.h'.
(FT_COMPONENT): Updated.
* include/freetype/internal/fttrace.h: Add entry for `ttkern'.
* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
Decorate constants with `U' and `L' where necessary.
* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
|
|
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.
|
|
e5680279
|
2005-02-26T00:12:04
|
|
* many, many files: several memory optimizations were implemented to
drastically reduce the heap usage of FreeType, especially in the case
of memory-mapped files. The idea is to avoid loading and decoding tables
in the heap, and instead access the raw data whenever possible (i.e.
when it doesn't compromise performance).
This had several impacts: first, opening vera.ttf uses a ridiculous amount
of memory (when the FT_Library footprint is accounted for), until you start
loading glyphs. Even then, you'll save at least 20 Kb compared to the non
optimized case. performance of various operations, including open/close
has also been dramatically improved.
More optimisations to come. The auto-hinter eats memory like crazy? This
must be stopped...
|
|
133eee06
|
2004-12-12T06:55:40
|
|
* src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount
dependent on ppem by scaling down for ppem < 25, then do normal
rounding. This gives slightly better results than rounding towards
zero.
|
|
685dd4f7
|
2004-10-13T05:15:44
|
|
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
overflow.
* src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
in case of failure.
* src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
(tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
frame test.
* src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
`flag'.
|
|
deadbb53
|
2004-04-13T21:08:17
|
|
* include/freetype/config/ftconfig.h: Use CHAR_BIT to define
size of FT_SIZEOF_xxx.
* include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func,
TT_Load_SBit_Metrics_Func): New typedefs.
(SFNT_Interface): Add find_sbit_image and load_sbit_metrics.
* src/sfnt/sfdriver.c (sfnt_interface): Updated.
* src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New
declarations.
* src/sfnt/ttsbit.c (find_sbit_image): Renamed to...
(tt_find_sbit_image): This.
Updated all callers.
(load_sbit_metrics): Renamed to...
(tt_load_sbit_metrics): This.
Updated all callers.
|
|
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.
|
|
9fed91d3
|
2004-01-18T14:09:07
|
|
fix compiler warnings
|
|
cb8ede4d
|
2003-12-27T21:44:18
|
|
* include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func):
Use FT_UInt for ppem values.
* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for
ppem values.
* src/sfnt/ttsbit.h: Updated.
* src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values
larger than -0FFFF.
|
|
43ba0842
|
2003-06-23T19:26:53
|
|
* src/tools/glnames.py: Updated to AGL 2.0.
* src/psnames/pstables.h: Regenerated.
* include/freetype/cache/ftcglyph.h, include/freetype/ttnameid.h,
src/base/ftcalc.c, src/base/fttrigon.c, src/cff/cffgload.c,
src/otlayout/otlgsub.c, src/pshinter/pshrec.c,
src/psnames/psmodule.c, src/sfnt/sfobjs.c, src/truetype/ttdriver.c:
Decorate constants with `U' and `L' if appropriate.
* include/freetype/ftmoderr.h: Updated to include recent module
additions.
* src/pshinter/pshnterr.h (FT_ERR_BASE): Define as
`FT_Mod_Err_PShinter'.
* src/type42/t42error.h (FT_ERR_BASE): Define as
`FT_Mod_Err_Type42'.
* src/pshinter/pshrec.h (PS_HINTS_MAGIC): Removed. Not used.
* include/freetype/config/ftconfig.h [__MWERKS__]: Define FT_LONG64
and FT_INT64.
|
|
b442ca17
|
2003-04-23T15:50:27
|
|
Cleanups.
|
|
66cbc209
|
2003-03-20T07:04:40
|
|
* docs/*: serious rewriting of the documentation
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c, src/bdf/bdfdrivr.c,
src/pcf/pcfdriver.c, src/pfr/pfrsbit.c, src/sfnt/ttsbit.c,
src/type42/t42objs.c, src/winfonts/winfnt.c: introduced three new functions
to deal with glyph bitmaps within FT_GlyphSlot objects. these are:
ft_glyphslot_free_bitmap
ft_glyphslot_alloc_bitmap
ft_glyphslot_set_bitmap
these are much more convenient to use than managing the FT_GLYPH_OWN_BITMAP
flag manually. the font drivers have been modified to use them as well.
* src/cache/ftlru.c: fixed an invalid assertion check
|
|
c219a5e8
|
2002-09-28T16:40:57
|
|
* src/include/freetype/internal/tttypes.h (num_sbit_strikes,
num_sbit_scales): Use `FT_ULong'.
* src/sfnt/sfobjs.c (sfnt_load_face): Updated accordingly.
* src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Ditto.
(find_sbit_image): Remove cast.
* src/raster/ftrend1.c (ft_raster1_render): Fix cast.
* src/sfnt/ttload.c (tt_face_load_names): Use cast.
* src/sfnt/ttcmap.c (code_to_next2): Use long constant.
(code_to_index4): Use cast.
(code_to_index8_12): Fix cast.
* src/sfnt/ttcmap0.c (tt_cmap4_char_next, tt_cmap8_char_index,
tt_cmap12_char_index): Use cast for `result'.
(tt_face_build_cmaps): Use cast.
* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_ucs4): Use cast for
`code'.
(sfnt_load_face): Use FT_Int32 for `flags'.
* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line,
gray_compute_cbox, gray_convert_glyph, gray_raster_reset): Add casts
to `TCoord' and `int'.
More 16bit fixes.
s/FT_Pos/TPos/.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add casts.
|
|
6b5c669b
|
2002-09-05T15:10:54
|
|
* src/cid/cidobjs.c (CID_Size_Init): Renamed to...
(cid_size_init): This.
* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
(t1_builder_add_point1): This.
Updated all affected code.
* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.
Formatting, minor doc fixes.
|
|
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_.
|
|
b7b163cb
|
2002-03-31T18:48:24
|
|
* src/sfnt/ttcmap.c: 16bit fixes (0xFFFF -> 0xFFFFU).
* src/sfnt/ttcmap0.c: 16bit fixes.
(TT_Build_CMaps): Simplify debug messages.
(tt_cmap12_char_next): Fix offset.
* src/sfnt/ttload.c (TT_Load_Names, TT_Load_CMap): Fix debug
messages.
(TT_Load_OS2): 16bit fix.
|
|
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..
|
|
a890c29c
|
2002-03-22T12:55:23
|
|
* include/freetype/internal/ftstream.h,
src/base/ftstream.c, src/cff/cffload.c, src/pcf/pcfread.c,
src/sfnt/ttcmap.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c,
src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
src/truetype/ttgload.c, src/truetype/ttpload.c,
src/winfonts/winfnt.c:
changed the definitions of stream macros. Examples:
NEXT_Byte => FT_NEXT_BYTE
NEXT_Short => FT_NEXT_SHORT
NEXT_UShortLE => FT_NEXT_USHORT_LE
READ_Short => FT_READ_SHORT
GET_Long => FT_GET_LONG
etc..
also introduced the FT_PEEK_XXXX functions..
|
|
7d3a2642
|
2002-03-20T10:49:31
|
|
* renaming stream macros. Examples:
FILE_Skip => FT_STREAM_SKIP
FILE_Read => FT_STREAM_READ
ACCESS_Frame => FT_FRAME_ENTER
FORGET_Frame => FT_FRAME_EXIT
etc...
|
|
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 )
|
|
53b3fa1d
|
2002-02-24T05:26:57
|
|
* renaming stream functions to the FT_Subject_Action scheme:
FT_Seek_Stream => FT_Stream_Seek
FT_Skip_Stream => FT_Stream_Skip
FT_Read_Stream => FT_Stream_Read
FT_Read_Stream_At => FT_Stream_Read_At
FT_Access_Frame => FT_Stream_Enter_Frame
FT_Forget_Frame => FT_Stream_Exit_Frame
FT_Extract_Frame => FT_Stream_Extract_Frame
FT_Release_Frame => FT_Stream_Release_Frame
FT_Get_XXXX => FT_Stream_Get_XXXX
FT_Read_XXXX => FT_Stream_Read_XXXX
note also that:
FT_New_Stream( filename, stream ) =>
FT_Stream_Open( stream, filename )
(the function doesn't create the FT_Stream structure, it simply
initializes it for reading)
FT_New_Memory_Stream( library, FT_Byte* base, size, stream ) =>
FT_Stream_Open_Memory( stream, const FT_Byte* base, size )
FT_Done_Stream => FT_Stream_Close
note that the name of the stream methods, defined in
"include/freetype/ftsystem.h" have also been changed without
problems:
FT_Stream_IO => FT_Stream_IOFunc
FT_Stream_Close => FT_Stream_CloseFunc
|
|
4a233510
|
2002-02-24T02:39:08
|
|
renaming "ft_glyph_own_bitmap" into "FT_GLYPH_OWN_BITMAP"
|
|
3975e2e1
|
2002-01-09T21:01:18
|
|
Formatting.
|
|
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)
|
|
415235df
|
2001-06-28T17:49:10
|
|
finishing function header formatting
updating copyrights
|
|
52005c30
|
2001-06-27T23:25:46
|
|
formatting
|
|
8eb0353f
|
2001-06-19T23:03:41
|
|
Formatting.
|
|
61f06856
|
2001-06-19T13:41:59
|
|
* include/freetype/fterrors.h: updated some of the error macros to
simplify Werner's latest tricks :o)
|
|
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++)
|
|
cf24d515
|
2001-06-18T14:23:45
|
|
Minor cleanups to remove compiler warnings.
* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
`L' for constant.
* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
* src/base/ftobjs.c (FT_Done_Size): Fix return value.
(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
unused `memory' variable.
* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
* src/autohint/ahhint.c (ah_hint_edges_3,
ah_hinter_align_edge_points): Remove unused `before' and `after'
variables.
(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
(ah_hinter_load): Remove unused `new_advance', `start_contour',
and `metrics' variables.
* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
compiler warning.
* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
variable.
* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
`outline' variable.
(cff_compute_bias): Use `U' for constant.
* src/cid/cidload.c (cid_decrypt): Ditto.
* src/psaux/psobjs.c (T1_Decrypt): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
variable.
* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
`num_contours' and `ins_offset' variables.
(compute_glyph_metrics): Remove unused `Top' and `x_scale'
variables.
(TT_Load_Glyph): Remove unused `memory' variable.
* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
|
|
1f7f0e87
|
2001-06-06T17:30:41
|
|
Complete redesign of error codes. Please check ftmoderr.h for more
details.
* include/freetype/internal/cfferrs.h,
include/freetype/internal/tterrors.h,
include/freetype/internal/t1errors.h: Removed. Replaced with files
local to the module. All extra error codes have been moved to
`fterrors.h'.
* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.
* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
error names for the module it belongs to.
* include/freetype/ftmoderr.h: New file, defining the module error
offsets. Its structure is similar to `fterrors.h'.
* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
(FT_ERRORDEF): Redefined to use module error offsets.
All internal error codes are now public; unused error codes have
been removed, some are new.
* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
macro.
* include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.
All other source files have been updated to use the new error codes;
some already existing (internal) error codes local to a module have
been renamed to give them the same name as in the base module.
All make files have been updated to include the local error files.
* src/cid/cidtokens.h: Replaced with...
* src/cid/cidtoken.h: This file for 8+3 consistency.
* src/raster/ftraster.c: Use macros for header file names.
|
|
8d3a401f
|
2001-03-20T11:14:24
|
|
* builds/*/*-def.mk: changed the objects directory from "obj" to "objs"
* include/freetype/config/ftheader.h: removed obsolete macros like
FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to be
included in a new API Reference section.
* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
needs to added its own directory to the include path at compile time.
Modified all "rules.mk" and "descrip.mms" accordingly..
|
|
170c0d4c
|
2000-12-13T19:55:11
|
|
* include/freetype/config/ft2build.h,
include/freetype/internal/internal.h: fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now..
* builds/compiler/intelc.mk, builds/compiler/watcom.mk,
builds/win32/detect.mk: added support for the Intel C/C++ compiler,
as well as _preliminary_ (read: doesn't work !!) support for Watcom.
Also added a new setup target. Type "make setup list" for a list
of supported command-line compilers on Win32..
|
|
d5c1b27d
|
2000-12-12T22:28:12
|
|
* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
Removed. ANSI C doesn't (explicitly) allow macro expansion in
arguments using `##'.
(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
names directly. Make them configurable. Use `##' to strip leading
and trailing spaces from arguments.
* builds/unix/ft2unix.h: Adapted.
* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
ft_close_stream): Use FT_CALLBACK_DEF.
* builds/unix/ftsystem.c: Use new header scheme.
(FT_Done_Memory): Use free() from FT_Memory structure.
* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
|
|
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
|
|
b1aabf4c
|
2000-11-30T23:48:22
|
|
- added support for the free command-line Borland C++ compiler
in the "builds" directory
- modified a few files because BCC32 didn't like certain comparisons
(UInt compared with a UShort, apparently the UShort is promoted to
an Int)
- updated the INSTALL file to include IDE compilation, prevent against
BSD Make, and clarify the use of "make setup" (instead of "make")
for build configuration
|
|
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.
|
|
f96594fa
|
2000-11-06T23:07:51
|
|
integrated Yamano-Uchi changes to the base source code. However,
I've made a few modifications:
- there is no new field named "driver" in "FT_SizeRec"
- the new fields in "TT_SizeRec" are:
strike_index :: value 0xFFFF means "no sbit strike selected"
strike_metrics :: the FT_Size_Metrics structure corresponding to
the currently selected strike
- the code in "ttload.c" has been somewhat cleaned up too
thanks a lot, Y-U !!
- David
|
|
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
|
|
9a814fab
|
2000-08-06T19:48:47
|
|
Yamano-uchi added support for SFNT-wrapped CID bitmap font files (with
minor modifications from WL).
|
|
b1dd3535
|
2000-07-31T22:51:00
|
|
Added autoconf tests FT_MUNMAP_DECL and FT_MUNMAP_PARAM to fix some devils.
Updating unix/ftsystem.c accordingly.
More warning fixes.
|
|
e72c9fec
|
2000-07-31T18:59:02
|
|
Simplifying the FIELD_* and FRAME_* macros. Before calling these macros,
you should #define FT_STRUCTURE to the structure which will be filled.
Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and
FT_FIELD_OFFSET to make the code more readable; additionally, it should be
more portable because we no longer cast a pointer to an FT_UShort (which
e.g. fails with Sun's C++ compiler) but computes the difference between two
pointers which is guaranteed to work.
Fixing warnings (and C++ errors) while using Sun's latest cc and CC
incarnations. Most of them are related to variable shadowing.
|
|
7fa51b55
|
2000-07-08T19:51:42
|
|
Formatting.
Adding some trivial error checking.
Adding/Fixing tracing levels.
|
|
a90663f5
|
2000-07-08T00:41:13
|
|
vast clean-up of the sources in order to allow flat
directory compilation (by defining the FT_FLAT_COMPILE
macro at compile time..)
moved "freetype2/BUILD" to "freetype2/docs/BUILD"
|
|
fbeb41d9
|
2000-07-02T00:27:53
|
|
Formatting.
Adding copyright notices.
Removing an unnecessary file (smooth.h).
|
|
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.
|
|
9ca2af38
|
2000-06-21T03:03:28
|
|
A new formatting orgy.
Added some `#if 0' to completely disable the CID AFM stuff. In case this is
not correct please fix.
|
|
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
|
|
7a4fda88
|
2000-06-13T23:21:00
|
|
The next round of formatting, checking documentation, etc.
|
|
78575dc0
|
2000-06-12T19:36:41
|
|
A lot of formatting.
Added more tracing levels.
More Makefile fixes.
Minor other changes.
|
|
e1d5dd78
|
2000-06-07T04:48:12
|
|
Moved all *errors.h header files to include/freetype/internal for
consistency.
Removed unused error message.
|
|
61bd4b9d
|
2000-06-07T00:00:08
|
|
Added FT_FRAME_SKIP_xxx to skip fields.
More use of READ_Fields() in ttsbit.c
Other minor fixes.
|
|
1c0d4acb
|
2000-06-06T20:41:48
|
|
Fine-tuned a lot of tracing levels to make them more functional with ftview.
Added a lot of \n to tracing messages.
Fixed a serious bug in loading SBit offsets (missing parentheses around a
xxx ? yyy : zzz construct).
Replaced most GET_xxx() functions with calls to READ_Frame() in ttsbit.c
|
|
920d41e0
|
2000-06-05T14:32:32
|
|
Removing trailing whitespace.
|
|
109fcf60
|
2000-05-17T23:35:37
|
|
fixed the sbit loader (src/base/sfnt/ttsbit.c)
introduced a new load flag (FT_LOAD_CROP_BITMAP) used
to indicate that we want embedded bitmaps to be cropped..
Thanks a lot to Yamano-uchi, Hidetoshi
|
|
e49ab25c
|
2000-05-16T23:44:38
|
|
formatting - removed trailing spaces
|
|
c60c61c6
|
2000-05-12T15:26:58
|
|
fixed a potential memory leak when loading embedded bitmaps
|
|
c30aea98
|
2000-05-12T15:01:18
|
|
another massive changes in order to completely avoid
compiler warnings with GCC + "-ansi -pedantic -Wall -W"
and LCC.
Also fixed the compilation of "type1z" with Win32-LCC
(its pre-processor is broken !!)
Updated the BUILD document too
|
|
efce08d6
|
2000-05-11T18:23:52
|
|
major re-organisation of the FreeType 2 directory hierarchy
|
|
d2b1f357
|
1999-12-16T23:11:37
|
|
Initial revision
|