|
b1d97810
|
2013-11-06T06:52:13
|
|
Improve comment.
|
|
29bca65d
|
2013-11-05T23:46:25
|
|
Improve documentation of `FT_Load_Sfnt_Table'.
|
|
35b08189
|
2013-11-02T08:28:41
|
|
Fix Savannah bug #40451.
Simply apply the patch from the bug report.
* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
include/freetype/config/ftconfig.h: The used #pragma directives only
work with gcc versions 4.6 and higher.
|
|
0c61c096
|
2013-10-28T05:09:21
|
|
Comment fixes.
|
|
ee510510
|
2013-10-27T07:25:35
|
|
[sfnt] Implement support for `OS/2' table version 5.
See
http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
for the announcement.
* include/freetype/tttables.h (TT_OS2): Add fields
`usLowerPointSize' and `usUpperPointSize'. Since FreeType returns
this structure only as a pointer through `FT_Get_Sfnt_Table', there
shouldn't be any ABI problems.
* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
* docs/CHANGES: Updated.
|
|
4cfa8fc5
|
2013-10-10T13:36:49
|
|
Comment on no-stem-darkening & darkening-parameters
|
|
1eb06e67
|
2013-10-22T10:42:38
|
|
Minor doc improvement.
|
|
41632b58
|
2013-10-15T11:40:34
|
|
[arm] Fix thumb2 inline assembly under LLVM.
When using `ADD' with an immediate operand, the instruction is
actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
immediate operand cannot exceed 4095. It will fail to compile with
LLVM.
However, in GCC, due to some legacy compatibility considerations,
`ADD.W' will be automatically emitted when the immediate operand is
larger than 4095.
* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
|
|
52381c14
|
2013-09-11T23:25:56
|
|
* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
algorithm description.
|
|
00ea2a13
|
2013-09-03T11:33:10
|
|
[doc] s/which/that/ where appropriate.
Note that this is a try by a non-native English speaker whose mother
language (German) doesn't have this distinction at all...
|
|
504f5b4a
|
2013-09-02T22:08:12
|
|
Fix Savannah bug #39905 (documentation only).
|
|
85a7fdf3
|
2013-08-29T21:03:05
|
|
[sfnt] Fix frame access while reading WOFF table directory.
* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
while reading the directory entries for the whole loop.
|
|
d689d1cf
|
2013-08-29T17:53:40
|
|
Implement support for WOFF containers.
We simply synthesize a SFNT from the WOFF, create a memory stream
for the new data, and load the SFNT as usual.
Does NOT add any API to access WOFF metadata or private blocks.
* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
WOFF_TableRec): New structures.
* include/freetype/tttags.h (TTAG_wOFF): New macro.
* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
`open_face'.
* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
`FT_GZIP_H'.
(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
writing to a stream.
(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
(sfnt_open_font): Handle `TTAG_wOFF'.
(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
`sfnt->init_face'.
* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
argument so that a changed stream survives.
Update callers.
|
|
dc240524
|
2013-08-29T17:53:24
|
|
[gzip] New function `FT_Gzip_Uncompress'.
This is modeled after zlib's `uncompress' function. We need this
for WOFF support.
* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
New function.
* src/gzip/rules.mk: Rewrite to better reflect dependencies.
|
|
bcd8c0b0
|
2013-08-27T21:36:03
|
|
Remove `FT_SqrtFixed' function.
It's no longer used.
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
|
|
0d28a7d6
|
2013-08-02T22:59:43
|
|
* include/freetype/ftcffdrv.h: Improve documentation.
This is based on blog entries from David Lemon and Dave Arnold (both
from Adobe) with kind permission. Dave also helped in
proof-reading.
|
|
89a529f3
|
2013-08-02T14:50:23
|
|
[autofit] Fix `make multi'.
* include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
FT_LOCAL_ARRAY_DEF): New macros.
* src/autofit/afglobal.c (af_writing_system_classes,
af_script_classes): Use FT_LOCAL_ARRAY_DEF.
* src/autofit/afglobal.h: Declare `af_writing_system_classes' and
`af_script_classes'.
* src/autofit/afloader.c: Include `afpic.h'.
|
|
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.
|
|
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.
|
|
b2890886
|
2013-07-16T12:52:18
|
|
Optimize FT_MulFix for x86_64 GCC builds.
This patch provides an optimized `FT_MulFix' implementation for
x86_64 machines when FreeType is built with GCC, or compatible
compilers like Clang.
Example:
bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
Before:
Load 4.863 us/op
Load_Advances (Normal) 4.816 us/op
Load_Advances (Fast) 0.028 us/op
Render 2.753 us/op
Get_Glyph 0.463 us/op
Get_CBox 0.077 us/op
Get_Char_Index 0.023 us/op
Iterate CMap 13.898 us/op
New_Face 12.368 us/op
Embolden 0.028 us/op
Get_BBox 0.302 us/op
After:
Load 4.617 us/op
Load_Advances (Normal) 4.645 us/op
Load_Advances (Fast) 0.027 us/op
Render 2.789 us/op
Get_Glyph 0.460 us/op
Get_CBox 0.077 us/op
Get_Char_Index 0.024 us/op
Iterate CMap 13.403 us/op
New_Face 12.278 us/op
Embolden 0.028 us/op
Get_BBox 0.301 us/op
* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
(FT_MulFix_x86_64): New function.
|
|
a5f33eeb
|
2013-07-16T12:40:03
|
|
Speed up ARMv7 support.
When building for ARMv7 with thumb2 instructions, the optimized
`FT_MulFix_arm' assembly routine was not being used.
The reason for this is in the `ftconfig.h' header, namely:
- The assembly routine uses the `smull' instruction which is not
available when generating Thumb-1 machine code. It is available
in Thumb-2 mode, though.
- The header was written a long time ago before Thumb-2 became
widely popular (e.g. with Android). So it simply doesn't use the
assembly routine if the `__thumb__' built-in macro is defined.
- When compiling in Thumb-2 mode, the compiler will define both
`__thumb__' and `__thumb2__'.
By checking for `(__thumb2__ || !__thumb__)', we ensure that the
assembly routine is only avoided when generating Thumb-1 code.
Given that this is performance-sensitive function, this improves
`ftbench' as follows on a Galaxy Nexus:
Before (us/op) After (us/op)
- loading Arial.ttf glyphs at 14 ppem [1]
Load 34.285 33.098
- same operation with the light auto-hinter [2]
Load 31.317 29.590
- same operation without hinting [3]
Load 6.143 5.376
- loading Arial.ttf advances at 14 ppem [4]
Load_Advances (normal) 34.216 33.016
Load_Advances (fast) 0.176 0.176
[1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
[2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
[3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
[4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
(FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
|
|
b8850fc1
|
2013-06-26T12:22:10
|
|
[cff] Add darkening limit to `darkening-parameters'.
* src/cff/cffdrivr.c (cff_property_set): Add check.
|
|
89ca1fd6
|
2013-06-25T23:28:02
|
|
[cff] Add `darkening-parameters' property.
* include/freetype/ftcffdrv.h: Document it.
* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
`darkening-parameters' property.
* src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
* src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
argument and use it.
Update all callers.
* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
`darken_params' values.
* src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
* src/cff/cffobjs.c (cff_driver_init): Set default values for
`darken_params'.
|
|
979c5c50
|
2013-06-25T07:48:38
|
|
[doc] Fix hyperlinks.
|
|
fe4f571f
|
2013-06-19T23:27:47
|
|
* Version 2.5.0.1 released.
===========================
Tag sources with `VER-2-5-0-1'.
* include/freetype/config/ftoption.h: Undefine
CFF_CONFIG_OPTION_OLD_ENGINE.
* devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
|
|
25b7da53
|
2013-06-19T10:23:36
|
|
* Version 2.5.0 released.
=========================
Tag sources with `VER-2-5-0'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.5.0.
* 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/vc2010/freetype.vcxproj, builds/win32/vc2010/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.4.12/2.5.0/, s/2412/250/.
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
(FREETYPE_PATCH): Set to 0.
* builds/unix/configure.raw (version_info): Set to 16:2:10.
* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
|
|
841e49a7
|
2013-06-19T00:25:06
|
|
Update CHANGES; tag some auto-hinter properties as still experimental.
|
|
67cf7a88
|
2013-06-18T09:35:34
|
|
Fix Savannah bug #39266.
If memory allocations fail at certain points while opening a font,
FreeType can either crash due to a NULL dereference or leak memory.
* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
FT_LibraryRec): Make `refcount' a signed integer. If, for example,
FT_Open_Face() fails in a memory allocation before the face's
reference count is set to 1, a subsequent `FT_Done_Library' call
would otherwise loop over `FT_Done_Face' 2^32 times before freeing
the face.
* src/base/ftobjs.c (open_face): Initialize `stream' and friends
earlier.
(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
|
|
9d043dae
|
2013-06-13T10:45:56
|
|
Minor doc improvement.
Suggested by Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com>.
|
|
294ce11b
|
2013-06-12T23:33:11
|
|
Another try on pragmas.
* include/freetype/internal/ftdebug.h: Move pragmas to...
* include/freetype/internal/internal.h: ... this file since it gets
included by all source files.
* include/freetype/internal/ftserv.h: Remove pragma which has no
effect.
|
|
25b6e600
|
2013-06-12T11:06:34
|
|
* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
This partially undoes commit 3f6e0e0c.
|
|
2d9caa06
|
2013-06-11T16:24:13
|
|
Minor documentation issues.
|
|
e2d73df7
|
2013-06-09T08:48:01
|
|
Documentation improvements.
|
|
3f6e0e0c
|
2013-06-07T18:10:40
|
|
Add and improve pragmas for MSVC compiler.
* include/freetype/internal/ftdebug.h: Remove pragmas.
* include/freetype/internal/ftserv.h: Use push and pop for pragmas.
* include/freetype/internal/ftvalid.h: Handle warning C4324.
* src/base/ftobjs.c: Use push and pop for pragmas.
* src/gzip/ftgzip.c: Handle warning C4244.
|
|
badf3178
|
2013-06-06T09:16:38
|
|
Next round of compiler fixes.
* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
Add proper cast.
* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
cast.
* include/freetype/internal/ftstream.h: Decorate stream and frame
macros with `FT_Long' and `FT_ULong' as appropriate.
* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
raccess_guess_darwin_newvfs): Use cast.
* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
* src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast.
* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
* src/cid/cidparse.c (cid_parser_new): Use cast.
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
* src/raster/ftraster.c (ft_black_reset): Use cast.
* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
(ALL_POINTS): Fix cast.
* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
|
|
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.
|
|
eeb83204
|
2013-06-04T07:14:55
|
|
Documentation fix.
Based on suggestions by Gregor Mückl <GregorMueckl@gmx.de>.
|
|
2429dc3d
|
2013-06-03T12:41:58
|
|
Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
This controls whether the old FreeType CFF engine gets compiled into
FreeType. It is now disabled by default.
* devel/ftoption.h, include/freetype/config/ftoption.h
(CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
* src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
(CFF_Operator, cff_argument_counts, cff_builder_add_point,
cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
* docs/CHANGES: Updated.
|
|
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.
|
|
713ea8e8
|
2013-05-28T22:37:10
|
|
Minor doc improvements.
|
|
f04951af
|
2013-05-17T13:51:07
|
|
[truetype] Add `interpreter-version' property.
This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
at runtime.
* src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
(tt_property_set, tt_property_get): Fill templates.
* src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
member.
Remove unused `extension_component' member.
* src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
(tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
* src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
(SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
Update all affected functions to use it.
Use TT_INTERPRETER_VERSION_XXX where appropriate.
* src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
(tt_driver_init): Initialize `interpreter_version'.
* src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
Use TT_INTERPRETER_VERSION_XXX where appropriate.
|
|
cbcf33d1
|
2013-05-12T07:27:48
|
|
Introduce unsigned 64bit type (if available).
* include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
[FT_LONG64]: Provide FT_UInt64.
* builds/unix/ftconfig.in: Synchronized.
|
|
d51ac9c7
|
2013-05-12T06:00:27
|
|
Fix Savannah bug #38968.
* include/freetype/ftmodapi.h: Add `FT_EXPORT' to
FT_Property_{Set,Get}.
* src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
FT_Property_{Set,Get}.
|
|
f6aa089f
|
2013-05-10T07:58:47
|
|
*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
|
|
cecf93ef
|
2013-05-08T11:39:16
|
|
* Version 2.4.12 released.
==========================
Tag sources with `VER-2-4-12'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.4.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/vc2010/freetype.vcxproj, builds/win32/vc2010/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.4.11/2.4.12/, s/2411/2412/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
* builds/unix/configure.raw (version_info): Set to 16:1:10.
|
|
26568611
|
2013-05-05T17:50:22
|
|
Synchronize `ftconfig.h'.
* builds/unix/ftconfig.in: Updated.
|
|
d135e27c
|
2013-05-05T10:44:21
|
|
Fix 64bit compilation issues.
* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
`FT_Int64' here.
* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
(FT_DivFix): Fix cast.
* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
|
|
afaeeee9
|
2013-05-04T14:05:24
|
|
Fix errors reported by clang's `sanitize' feature.
* include/freetype/internal/ftstream.h: Simplify and fix integer
extraction macros.
(FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32,
FT_INT8_I32, FT_INT8_U32): Removed.
(FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE,
FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for
computations and convert to signed as the last step.
* src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt,
cf2_fracToFixed): Avoid shifts of negative values.
(cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed,
unused.
* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdEXTENDEDNMBR,
default>: Use unsigned values for computations and convert to signed
as the last step.
Use proper types in tracing messages.
* src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned
values for computation of operands and convert to signed as the last
step.
Use proper type in tracing message.
|
|
06474c3e
|
2013-04-13T18:53:28
|
|
[cff] Add a new Type 2 interpreter and hinter.
This work, written by Dave Arnold <darnold@adobe.com> and fully
integrated into FreeType by me, is a donation by Adobe in
collaboration with Google. It is vastly superior to the old CFF
engine, and it will replace it soon. Right now, it is still off by
default, and you have to explicitly select it using the new
`hinting-engine' property of the cff driver.
For convenience, (most of) the new files are committed separately.
* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
* include/freetype/ftcffdrv.h: New file to access CFF driver
properties.
* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
code.
* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
and `cf2interp'.
* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
and `no_stem_darkening'.
* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.
* src/cff/cff.c: Include new files.
* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
`hinting-engine' and `no-stem-darkening' properties (only the Adobe
engine listens to them).
* src/cff/cffgload.c: Include `cf2ft.h'.
(cff_decoder_prepare): Initialize `current_subfont'.
(cff_build_add_point): Handle Adobe engine which uses 16.16
coordinates.
(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
separately.
Choose rendering engine based on `hinting_engine' property.
* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
engine.
* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
(cff_driver_init): Set default property values.
* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.
* src/cff/cf2*.*: New files, containing the Adobe engine.
|
|
2dc26621
|
2013-04-12T20:11:38
|
|
Add output bitmap checksums.
Use `FT2_DEBUG=bitmap:3' for tracing.
* src/base/md5.c, src/base/md5.h: New files, taken from
http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
* include/freetype/internal/fttrace.h: Add `bitmap'.
* src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c'
(FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing,
convert resulting bitmap to a uniform format and compute a checksum.
Use `bitmap' category for the tracing message.
* src/base/rules.mk (BASE_H): Updated.
* docs/LICENSE.TXT: Updated.
|
|
fc185ef4
|
2013-04-12T19:48:06
|
|
Add framework for CFF properties.
* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7):
New macro.
* src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H.
(cff_property_set, cff_property_get): New function, still empty.
Define `cff_service_properties' service.
Update `cff_services'.
* src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H.
(CFF_SERVICE_PROPERTIES_GET): New macro.
CffModulePIC: Add `cff_service_properties'.
|
|
a705927c
|
2013-03-29T19:35:39
|
|
* include/freetype/ftlcdfil.h: Add description of color filtering.
Based on a contribution from Antti S. Lankila <alankila@bel.fi>.
|
|
f619abf6
|
2013-03-15T08:16:25
|
|
* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
The previous version was not backwards compatible. Reported by
Behdad.
|
|
52339dc2
|
2013-03-14T15:49:49
|
|
New error management macros.
* include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to...
* include/freetype/fttypes.h: ... this file.
(FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New
macros.
* include/freetype/freetype.h: Updated.
|
|
c58ce3be
|
2013-03-13T11:06:39
|
|
Introduce `FT_THROW' macro.
The idea is to replace code like
return FT_Err_Foo_Bar;
or
return CFF_Err_Foo_Bar;
with
return FT_THROW( Foo_Bar );
The FT_THROW macro has two functions:
. It hides the module specific prefix.
. In debug mode, it calls the empty function `FT_Throw' which can
be thus used to set a breakpoint.
* include/freetype/internal/ftdebug.h (FT_THROW): New macro.
(FT_Throw): New prototype.
* src/base/ftdebug.c (FT_Throw): New function.
|
|
dbc6e3f1
|
2013-03-12T11:42:20
|
|
Remove `FT_KEEP_ERR_PREFIX'.
The idea is to always have FT_ERR_PREFIX available internally.
* include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard
undefinition of FT_ERR_PREFIX
* src/gxvalid/gxverror.h, src/otvalid/otverror.h,
src/sfnt/sferrors.h: Updated.
|
|
c879f245
|
2013-03-11T10:11:57
|
|
[gxvalid] Fix module error.
* src/gxvalid/gxverror.h (FT_ERR_BASE): Define as
FT_Mod_Err_GXvalid.
* include/freetype/ftmoderr.h: Add module error for `GXvalid'.
|
|
6b9034f0
|
2013-01-28T13:56:23
|
|
Formatting, comment improvements.
|
|
a5fe3595
|
2013-01-26T12:29:52
|
|
[truetype] Align more to ClearType whitepaper for sph.
|
|
4cd5fd46
|
2013-01-24T13:33:06
|
|
Remove trailing whitespace.
|
|
e9f330ad
|
2013-01-24T09:12:56
|
|
[base] Make `FT_Hypot' really internal.
* include/freetype/fttrigon.h (FT_Hypot): Move to...
* include/freetype/internal/ftcalc.h: This file.
* src/base/fttrigon.c (FT_Hypot): Move to...
* src/base/ftcalc.c: This file.
Include FT_TRIGONOMETRY_H.
* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
|
|
a56f95b2
|
2013-01-24T08:45:29
|
|
Minor.
|
|
b6de8e66
|
2013-01-23T23:31:41
|
|
[base, truetype] New internal FT_Hypot function.
* include/freetype/fttrigon.h (FT_Hypot): Declare it.
* src/base/fttrigon.c (FT_Hypot): Define it.
* src/truetype/ttgload.c (TT_Process_Composite_Component): Use it
instead of explicit expressions.
* src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead
of TT_VecLen.
(TT_VecLen): Removed.
|
|
869fb8c4
|
2013-01-23T19:43:28
|
|
[base] Split out MSB function.
* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
* src/base/ftcalc.c (FT_MSB): Define here.
|
|
71900980
|
2013-01-16T20:08:35
|
|
Minor.
|
|
a692170a
|
2013-01-12T19:17:05
|
|
Call it fixed-point.
|
|
e4ecce3b
|
2013-01-11T09:02:22
|
|
Disable FT_CONFIG_OPTION_OLD_INTERNALS.
After the next release we are going to remove the code completely.
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_OLD_INTERNALS): Comment out.
* docs/CHANGES: Document it.
|
|
2ef0a198
|
2012-12-23T21:14:37
|
|
[type1] Fix handling of /FontBBox in MM fonts.
Problem reported by Del Merritt <del@alum.mit.edu>
If we have
/FontBBox { { 11 12 13 14 15 16 17 18 }
{ 21 22 23 24 25 26 27 28 }
{ 31 32 33 34 35 36 37 38 }
{ 41 42 43 44 45 46 47 48 } }
in the /Blend dictionary, then the first BBox is { 11 21 31 41 },
the second { 12 22 32 42 }, etc.
* include/freetype/internal/psaux.h (T1_FieldType): Add
`T1_FIELD_TYPE_MM_BBOX' (for temporary use).
* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
Implement it.
|
|
f44f3f0e
|
2012-12-23T18:30:34
|
|
Formatting, minor internal documentation improvement.
|
|
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.
|
|
c6a66b49
|
2012-12-20T08:31:56
|
|
* Version 2.4.11 released.
==========================
Tag sources with `VER-2-4-11'.
* docs/CHANGES, docs/release: Updated.
* docs/VERSION.DLL: Update documentation and bump version number to
2.4.11.
* 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/vc2010/freetype.vcxproj, builds/win32/vc2010/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.4.10/2.4.11/, s/2410/2411/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
* builds/unix/configure.raw (version_info): Set to 16:0:10.
* builds/toplevel.mk (dist): Don't include `.mailmap'.
|
|
a9f6f85e
|
2012-12-17T09:08:09
|
|
Various compiler warning fixes.
* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
`logical not' operator instead of negation. The idea is that `~'
returns exactly the data type enforced by the cast to a pointer (be
it 32bit or 64bit or whatever), while a negative integer has not
this flexibility.
* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
* src/type/t1load.c (T1_Get_MM_Var): Ditto.
(parse_blend_axis_types): Use cast.
* src/bdf/bdflib.c (_bdf_readstream): Use cast.
|
|
3af607b0
|
2012-11-04T17:25:29
|
|
Improve documentation of Unicode IVS handling.
|
|
21332fb6
|
2012-11-04T08:03:34
|
|
Add example for FT_Get_Sfnt_Table.
|
|
eaf0afb4
|
2012-10-20T11:27:25
|
|
[psaux] Fix some value overflows and improve tracing.
* src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H.
(FT_COMPONENT): Define.
(PS_Conv_Strtol): Return FT_Long.
Handle bad data and overflow.
Emit some tracing messages in case of error.
(PS_Conv_ToInt): Return FT_Long.
(PS_Conv_ToFixed): Updated.
* src/psaux/psconv.h: Updated.
* include/freetype/internal/fttrace.h: Add `psconv'.
|
|
4f18d457
|
2012-10-07T22:36:46
|
|
Improve documentation regarding vertical layout.
|
|
3683fb55
|
2012-09-18T23:31:05
|
|
[autofit] Implement `increase-x-height' property.
* include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New
structure.
* include/autofit/afmodule.c (af_property_get_face_globals): New
function, re-using code from `af_property_get'.
(af_property_set, af_property_get): Handle `increase-x-height'.
Updated.
|
|
d4ec0075
|
2012-09-15T18:26:28
|
|
[autofit] Implement `fallback-script' property.
* src/autofit/afglobal.c: s/default_script/fallback_script/.
* src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/.
* src/autofit/afmodule.c: s/default_script/fallback_script/.
(af_property_set, af_property_get): Implement `fallback-script'.
* src/autofit/afmodule.h: s/default_script/fallback_script/.
* include/freetype/ftautoh.h: Document it.
|
|
44e1f0d3
|
2012-09-15T11:11:18
|
|
[autofit] Correct previous Unicode 6.1.0 change.
The auto-hinter's latin module only handles latin ligatures in the
`Alphabetical Presentation Forms' block.
* src/autofit/aflatin.c (af_latin_uniranges): Fix it.
|
|
073a4cef
|
2012-09-15T09:10:06
|
|
Use `FT_Module' instead of `FT_Library' argument in property funcs.
This internal change simplifies access to global module data.
* include/freetype/internal/services/svprop.h
(FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly.
* src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c
(af_property_set, af_property_get): Updated.
|
|
6d29c5cb
|
2012-09-14T11:57:36
|
|
[autofit] Fix `make multi'.
* include/freetype/internal/fttrace.h: Add `afmodule'.
* src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H.
(FT_COMPONENT): Define.
|
|
2be60cfe
|
2012-09-01T22:31:43
|
|
[autofit] Implement `glyph-to-script-map' property.
* include/freetype/ftautoh.h: New public header file.
* include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro.
* src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to...
* src/autofit/afglobal.h: This header file.
* src/autofit/afmodule.c: Include FT_AUTOHINTER_H.
(af_property_get): Handle `glyph-to-script-map'.
|
|
0f8fd88e
|
2012-08-30T23:31:55
|
|
Implement properties to control FreeType modules.
* include/freetype/fterrdef.h (FT_Err_Missing_Property): New error
code.
* include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get):
New API.
* include/freetype/internal/services/svprop.h: New file.
* include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New
macro.
* src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H.
(ft_property_do, FT_Property_Set, FT_Property_Get): New functions.
|
|
403515ed
|
2012-08-30T06:23:31
|
|
Improve documentation of FT_Request_Size and FT_Set_Pixel_Sizes.
|
|
328aa3b2
|
2012-08-27T11:23:41
|
|
[FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings.
* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER),
include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
FT_DEFINE_MODULE), include/freetype/internal/ftserv.h
(FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2,
FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4,
FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6),
src/autofit/afpic.c (autofit_module_class_pic_init),
src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c
(ft_create_default_module_classes), src/cff/cffparse.c
(FT_Create_Class_cff_field_handlers), src/cff/cffpic.c
(cff_driver_class_pic_init), src/pshinter/pshpic.c
(pshinter_module_class_pic_init), src/psnames/pspic.c
(psnames_module_class_pic_init), src/raster/rastpic.c
(ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c
(sfnt_module_class_pic_init), src/sfnt/ttcmap.c
(FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c
(ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c
(tt_driver_class_pic_init): Initialize allocation variable.
|
|
d0841ea7
|
2012-08-27T06:57:05
|
|
[autofit] Some macro and variable renamings for orthogonality.
* include/freetype/internal/autohint.h, src/base/ftobjs.c,
src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h:
s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/.
|
|
37ec8c38
|
2012-08-23T13:21:53
|
|
Minor formatting.
|
|
3d3ff4b2
|
2012-08-16T08:39:11
|
|
Formatting.
|
|
2f6be4c8
|
2012-08-14T20:11:17
|
|
Document module names.
|
|
59874450
|
2012-07-29T13:15:53
|
|
Formatting, comment fixes.
|
|
6274bd37
|
2012-07-25T13:10:52
|
|
Typo.
|
|
fff6dcf1
|
2012-07-10T08:33:50
|
|
Improve documentation of FT_LOAD_NO_SCALE.
|
|
26472b4f
|
2012-07-09T09:55:50
|
|
Fix compilation with MSVC 5.0.
Problem reported by Peter Breitenlohner and Akira Kakuto.
* include/freetype/config/ftstdlib.h (ft_setjmp): Updated.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast.
|
|
fec113d7
|
2012-07-07T10:57:30
|
|
[ARM] Fix FT_MulFix_arm.
* include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]:
Avoid ADDS instruction to clobber condition codes.
|
|
b6978dd0
|
2012-07-06T19:38:44
|
|
[autofit] Do some code cleanup.
* src/autofit/afglobal.c (af_face_globals_new): Simplify.
* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
everywhere.
(FT_COMPONENT): New macro.
(af_glyph_hints_done): Simplify.
* include/freetype/internal/fttrace.h: Updated.
|
|
83c0ebab
|
2012-06-27T08:16:06
|
|
Fix conditional compilation.
* include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't
enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function
elsewhere also.
* src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK.
* src/truetype/ttgload.c (tt_loader_init): Fix compiler warning.
* src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning.
* src/truetype/ttinterp.h: Use
TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
|
|
ed6508c4
|
2012-06-26T17:20:27
|
|
[truetype] Remove unused rounding functionality.
|
|
79e36bae
|
2012-06-18T10:36:06
|
|
[truetype] Support subpixel hinting.
This is the large, famous `Infinality' patch to support ClearType
bytecode which has been available from
http://www.infinality.net/blog/ for some time, and which has been
refined over the last years. While still experimental, it is now
mature enough to be included directly into FreeType.
Most of the code is based on the ClearType whitepaper written by
Greg Hitchcock
http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
which gives a detailed overview of the necessary changes to the
Microsoft rasterizer so that older fonts are supported. However, a
lot of details are still missing, and this patches provides a
framework to easily handle rendering issues down to the glyph level
of certain fonts.
Note that ClearType support is not completely implemented! In
particular, full support for the options `compatible_widths',
`symmetrical_smoothing, and `bgr' (via the GETINFO bytecode
instruction) is missing.
* src/truetype/ttsubpix.c: New file, providing code to handle
`tweaks', this is, rules for certain glyphs in certain fonts
(including wildcards) which need a special treatment.
* src/truetype/ttsubpix.h: New file, holding the tweaking rules.
* include/freetype/config/ftoption.h, src/devel/ftoption.h
(TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro.
* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros.
* src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include
`ttsubpix.c'.
* src/truetype/ttgload.c: Include `ttsubpix.h'.
[All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
(tt_get_metrics): Set tweak flags.
(TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary.
(TT_Process_Simple_Glyph): Compensate emboldening if necessary.
(compute_glyph_metrics): Handle `compatible widths' option.
(tt_loader_init): Handle ClearType GETINFO information bits.
* src/truetype/rules.mk (TT_DRC_SRC): Updated.
* src/truetype/ttinterp.c: Include `ttsubpix.h'.
[Where necessary, changes below are guarded by
TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
(Direct_Move, Direct_Move_X): Extended.
(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,
SetSuperRound): Add parameter to handle the number of grid lines per
pixel.
(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
(DO_ROUND, DO_NROUND): Updated.
(DO_RS): Take care of `Typeman' bytecode patterns.
(Ins_FDEF): Add some debugging code. Commented out.
(Ins_ENDF): Restore state.
(Ins_CALL, Ins_LOOPCALL): Handle inline delta functions.
(Ins_MD): Handle `Vacuform' rounds.
(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
Ins_MDRP, Ins_MIRP): Handle tweaks.
(Ins_ALIGNRP): Add tweak guard.
(Ins_IUP, Ins_DELTAP): Handle tweaks.
(Ins_GETINFO): Handle new ClearType bits.
(TT_RunIns): Handle tweaks.
* src/truetype/ttinterp.h: Updated.
(SPH_TweakRule, SPH_ScaleRule): New structures for tweaks.
(TT_ExecContextRec): Add members for subpixel hinting support.
* src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member.
|
|
320613ee
|
2012-06-15T06:45:12
|
|
* Version 2.4.10 released.
==========================
Tag sources with `VER-2-4-10'.
* docs/VERSION.DLL: Update documentation and bump version number to
2.4.10.
* 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/vc2010/freetype.vcxproj, builds/win32/vc2010/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.4.9/2.4.10/, s/249/2410/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
* builds/unix/configure.raw (version_info): Set to 15:0:9.
|
|
cea9d7a6
|
2012-06-15T06:33:46
|
|
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing.
* docs/CHANGES: Updated.
|