Commit Graph

2162 Commits

Author SHA1 Message Date
Werner Lemberg
3c4e6baadb * docs/CHANGES, docs/release: Updated. 2009-10-10 20:15:49 +02:00
suzuki toshiya
008686a123 [pcf] Fix a bug in the nprops truncation, Gentoo bug #288357. 2009-10-11 02:07:16 +09:00
Werner Lemberg
19dfcbd2a4 * Version 2.3.10 released.
==========================

Tag sources with `VER-2-3-10'.

* builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
than a single digit.
(dist): We now use git.

* docs/VERSION.DLL: Update documentation and bump version number to
2.3.10.

* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj,
builds/win32/visualce/index.html,
builds/win32/visualce/freetype.dsp,
builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.

* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.

* builds/unix/configure.raw (version_info): Set to 9:21:3.
2009-10-06 12:00:43 +02:00
Werner Lemberg
5c3160ec14 Formatting. 2009-10-06 11:12:28 +02:00
Werner Lemberg
ca87cd0bda Fix `make multi'.
* src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.

* src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
2009-10-06 11:09:29 +02:00
suzuki toshiya
82633a2440 [cache] Fix Savannah bug #27441, cleanup Redhat bugzilla #513582. 2009-09-27 16:55:44 +09:00
suzuki toshiya
f2647ddabb [cache, psaux, type1] Fix for multi build. 2009-09-26 00:48:37 +09:00
suzuki toshiya
76f1b9d9cf [autofit] Fix for multi build. 2009-09-25 23:57:30 +09:00
suzuki toshiya
4e0c9ee155 [cache] Check the face filled by FTC_Manager_LookupFace(). 2009-09-24 14:30:40 +09:00
Werner Lemberg
e2184505b1 * docs/CHANGES: Updated. 2009-09-23 09:28:48 +02:00
Werner Lemberg
766b822f4c [raster] Fix 5-levels grayscale output.
This was broken since version 2.3.0.

* src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
were then computed dynamically).
(Vertical_Gray_Sweep_Step): Updated.

(ft_black_render): Initialize `worker->gray_lines' (problem found by
valgrind).

(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
comment out.
2009-09-12 23:15:17 +02:00
suzuki toshiya
812d1bc90d Improve configure.raw for cross build. 2009-09-13 02:12:44 +09:00
suzuki toshiya
704f4d75cd [BDF] Modify hash API to take size_t value instead of void *. 2009-09-13 00:50:14 +09:00
suzuki toshiya
519a5eafd7 Whitespace. 2009-09-13 00:00:28 +09:00
suzuki toshiya
0729bc9f52 [Win64] Improve the computation of random seed from stack address. 2009-09-10 16:09:55 +09:00
Werner Lemberg
4539b3eec8 Whitespace. 2009-09-08 07:05:26 +02:00
Werner Lemberg
5e240c1270 [raster] Improvements for stand-alone mode.
* src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
stand-alone mode only.

* src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
FT_Realloc_Func): Copy declarations from ftsystem.h.
2009-09-03 13:14:24 +02:00
Bram Tassyns
4694ea2b95 Improve vertical metrics calculation (Savannah bug #27364).
The calculation of `vertBearingX' is not defined in the OTF font
spec so FreeType does a `best effort' attempt.  However, this value
is defined in the PDF and PostScript specs, and that algorithm is
better than the one FreeType currently uses:

  FreeType: Use the middle of the bounding box as the X coordinate
            of the vertical origin.

  Adobe PDF spec: Use the middle of the horizontal advance vector as
                  the X coordinate of the vertical origin.

FreeType's algorithm goes wrong if you have a really small glyph
(like the full-width, circle-like dot at the end of the sentence, as
used in CJK scripts) with large bearings.  With the FreeType
algorithm this dot gets centered on the baseline; with the PDF
algorithm it gets the correct location (in the top right).  Note
that this is a serious issue, it's like printing the dot at the end
of a Roman sentence at the center of the textline instead of on the
baseline like it should. So i believe the PDF spec's algorithm
should be used in FreeType as well.

The `vertBearingY' value for such small glyphs is also very strange
if no `vmtx' information is present, since the height of the bbox is
not representable for the height of the glyph visually (the
whitespace up to the baseline is part of the glyph).  The fix also
includes some code for a better estimate of `vertBearingY'.

* src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
is now calculated as described by the Adobe PDF Spec.  Estimate for
`vertBearingY' now works better for small glyphs completely above or
below the baseline into account.

* src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
calculated as described by the Adobe PDF Spec.  Vertical metrics
information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
was not defined.

* src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
now calculated as described by the Adobe PDF Spec.
2009-09-02 13:06:33 +02:00
John Tytgat
03e8b2f763 Fix custom cmap for empty Type 1 font (Savannah bug #27294).
* include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
comment to reflect revised code_last meaning.
* src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
(T42_Open_Face): Assign max_char as highest character code + 1 and
use this for T1_EncodingRecRec_::code_last.
* src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
T1_EncodingRecRec_::code_last meaning.
2009-09-01 08:10:24 +02:00
Werner Lemberg
d77cd8ce7e Fix rendering of horizontally compressed CFFs.
Bug reported by Ivan Nincic <inincic@pdftron.com>.

* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
`font_matrix' also.

* docs/CHANGES: Updated.
2009-08-27 00:10:56 +02:00
Su Yu
efaf5abcf8 Don't call ft_fseek' every time when executing ft_fread'.
* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
(ft_ansi_stream_io): Implement it.
2009-08-03 19:55:58 +02:00
suzuki toshiya
2b6a3f0be9 sfnt: Cast a charcode to 32-bit in cmap format 14 parser. 2009-08-01 00:37:59 +09:00
suzuki toshiya
9b1aab8d1e sfnt: Cast a charcode to 32-bit in cmap format 12 parser. 2009-08-01 00:37:58 +09:00
suzuki toshiya
e6d0c1fb9c psaux: Fix a few casts to FT_Int32 value. 2009-08-01 00:37:58 +09:00
suzuki toshiya
b76c3f718d sfnt: Fix a data type mismatching with its source. 2009-08-01 00:37:57 +09:00
suzuki toshiya
2a2beb47c4 sfnt: Extend a few local variables to load 32-bit values. 2009-08-01 00:37:57 +09:00
suzuki toshiya
3783dac000 pfr: Extend `num_aux' to take 32-bit value. 2009-08-01 00:37:56 +09:00
suzuki toshiya
3bda1f9949 pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops. 2009-08-01 00:37:56 +09:00
suzuki toshiya
8eb551f1b3 gxvalid: Extend a few local variables to reduce the casts. 2009-08-01 00:37:55 +09:00
suzuki toshiya
d365997759 gxvalid: Extend `settingTable' to take 32-bit offset. 2009-08-01 00:37:55 +09:00
suzuki toshiya
6e2375f72c autofit: Cast FT_Long glyph_count to compare with FT_UInt GID. 2009-08-01 00:37:54 +09:00
suzuki toshiya
057bc4c071 smooth: Exclude 16-bit system in invalid pitch/height check. 2009-08-01 00:35:40 +09:00
suzuki toshiya
b16a942671 cff: Type large constants > 0x7FFF as long for 16-bit systems. 2009-08-01 00:32:25 +09:00
suzuki toshiya
5133c56f2f base: Remove an unused variable. 2009-08-01 00:32:25 +09:00
suzuki toshiya
5d3ff05615 cache: Check higher bits in flags for non ILP32 systems. 2009-08-01 00:32:24 +09:00
suzuki toshiya
61adbe980a sfnt: Ignore invalid GIDs in glyph name lookup. 2009-08-01 00:32:24 +09:00
suzuki toshiya
eec405540d pcf: Fix a comparison between FT_Long and FT_ULong. 2009-08-01 00:32:24 +09:00
suzuki toshiya
eceaffef3e gxvalid: Guarantee `nFeatureFlags' size up to 32-bit. 2009-08-01 00:32:23 +09:00
suzuki toshiya
cad4f91555 sfnt: Insert explicit cast for LP64 system. 2009-08-01 00:32:23 +09:00
suzuki toshiya
2f07c57f5a gxvalid: Guarantee `just' table size upto 32-bit. 2009-08-01 00:32:22 +09:00
suzuki toshiya
205a2a0cce gxvalid: Guarantee `trak' table size upto 32-bit. 2009-08-01 00:32:22 +09:00
suzuki toshiya
49740490e1 type1: Fix a data type mismatching with its source. 2009-08-01 00:32:22 +09:00
suzuki toshiya
737634e5e4 pfr: Fix a data type mismatching with its source. 2009-08-01 00:32:21 +09:00
suzuki toshiya
b12b8c3ce4 pfr: Fix a data type mismatching with its source. 2009-08-01 00:32:21 +09:00
suzuki toshiya
c4420d97f4 pfr: Fix a data type mismatching with its source. 2009-08-01 00:32:21 +09:00
suzuki toshiya
471980d9dc smooth: Improve the format in debug message. 2009-08-01 00:32:20 +09:00
suzuki toshiya
0105905052 sfnt: Fix a data type mismatching with its source. 2009-08-01 00:32:20 +09:00
suzuki toshiya
cf31edf5ee psaux: Fix a data type mismatching with its source. 2009-08-01 00:32:19 +09:00
suzuki toshiya
ec7bc863fb truetype: Extend TrueType GX packed deltas to FT_Offset. 2009-08-01 00:32:19 +09:00
suzuki toshiya
5668181bda truetype: Extend mmvar_len to hold size_t values. 2009-08-01 00:32:18 +09:00
suzuki toshiya
a115142057 truetype: Check invalid function number in IDEF instruction. 2009-08-01 00:32:18 +09:00
suzuki toshiya
d1c23082b6 truetype: Check invalid function number in FDEF instruction. 2009-08-01 00:32:17 +09:00
suzuki toshiya
9206eba291 truetype: Truncate the deltas of composite glyph at 16-bit values. 2009-08-01 00:32:17 +09:00
suzuki toshiya
1b6f1d20b5 truetype: Truncate the instructions upto 16-bit per a glyph. 2009-08-01 00:32:16 +09:00
suzuki toshiya
6dc27526a9 truetype: Cast the numerical operands to 32-bit for LP64 systems. 2009-08-01 00:32:15 +09:00
suzuki toshiya
3b56c4d390 truetype: Cast the project vector to 32-bit for LP64 system. 2009-08-01 00:32:15 +09:00
suzuki toshiya
9fc4094375 truetype: Cast the scaling params to 32-bit for LP64 system. 2009-08-01 00:32:14 +09:00
suzuki toshiya
c9c6438840 sfnt: Cast a character code to FT_UInt32 for LP64 system. 2009-08-01 00:32:14 +09:00
suzuki toshiya
3f0182afb2 sfnt: Cast a character code to FT_UInt32 for LP64 system. 2009-08-01 00:32:13 +09:00
suzuki toshiya
9c1aac0011 sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF. 2009-08-01 00:32:13 +09:00
suzuki toshiya
259568cf68 psaux: Handle the string length by FT_Offset variables. 2009-08-01 00:32:13 +09:00
suzuki toshiya
75d56e5d79 pcf: Fix some data types mismatching with their sources. 2009-08-01 00:32:12 +09:00
suzuki toshiya
c595c06c61 pcf: Handle the string length by size_t variables. 2009-08-01 00:32:12 +09:00
suzuki toshiya
78ba8a610c pcf: Fix some data types mismatching with their sources. 2009-08-01 00:32:11 +09:00
suzuki toshiya
52170ac0ce otvalid: Truncate the glyph index to 16-bit. 2009-08-01 00:32:11 +09:00
suzuki toshiya
f7c6b11691 cache: Insert explict casts for LP64 systems. 2009-08-01 00:32:10 +09:00
suzuki toshiya
ed1d359025 cache: Fix some data types mismatching with their sources. 2009-08-01 00:32:10 +09:00
suzuki toshiya
3f0f2e462b XXX_cmap_encoding_char_next() return FT_UInt32 values. 2009-08-01 00:32:09 +09:00
suzuki toshiya
25dba9cfa8 truetype: Extend TT_Face->num_locations for broken TTFs. 2009-08-01 00:32:09 +09:00
suzuki toshiya
e45e052279 smooth: Fix some data types mismatching with their sources. 2009-08-01 00:32:08 +09:00
suzuki toshiya
c579dc4391 cff: Fix some data types mismatching with their sources. 2009-08-01 00:32:08 +09:00
suzuki toshiya
87054758fb autofit: Fix some data types mismatching with their sources. 2009-08-01 00:32:08 +09:00
suzuki toshiya
b56680240a autofit: Count the size of the memory object by ptrdiff_t. 2009-08-01 00:32:07 +09:00
suzuki toshiya
15dc278c5a autofit: Fix for unused variable `first'. 2009-08-01 00:32:07 +09:00
suzuki toshiya
e866cf3f55 Improve bitmap size or pixel variables for 16-bit systems. 2009-08-01 00:32:06 +09:00
suzuki toshiya
d3ed6d1bba psaux: Prevent invalid arguments to afm_parser_read_vals(). 2009-08-01 00:30:43 +09:00
suzuki toshiya
0d226c31c5 base: Prevent some overflows on LP64 systems. 2009-08-01 00:30:24 +09:00
suzuki toshiya
072e55233e cff: Cast the long variables to 32-bit for LP64 systems. 2009-08-01 00:30:23 +09:00
suzuki toshiya
b61d92898e pcf: Improve PCF_PropertyRec.value names on LP64 platforms. 2009-08-01 00:30:23 +09:00
suzuki toshiya
eae89a7f07 pcf: Fix some data types mismatching with their sources. 2009-08-01 00:30:22 +09:00
suzuki toshiya
be41d3e718 bdf: Improve bdf_property_t.value names for LP64 platforms. 2009-08-01 00:30:22 +09:00
suzuki toshiya
660d651317 bdf: Fix some data types mismatching with their sources. 2009-08-01 00:30:21 +09:00
suzuki toshiya
38e480b4c6 autofit: Improve Unicode range definitions. 2009-08-01 00:30:21 +09:00
suzuki toshiya
93bb15940b smooth: Fix a data type mismatching with its source. 2009-08-01 00:30:21 +09:00
suzuki toshiya
ea5268d2d2 smooth: Fix a data type mismatching with its source. 2009-08-01 00:30:20 +09:00
suzuki toshiya
f4e1c8bdda cache: Disable the legacy compatibility if 16-bit system. 2009-08-01 00:30:20 +09:00
suzuki toshiya
2a5831ec07 cache: Check 32-bit glyph index on 16-bit systems. 2009-08-01 00:30:19 +09:00
suzuki toshiya
b566d42aa0 cache: Fix some data types mismatching with their sources. 2009-08-01 00:30:19 +09:00
suzuki toshiya
ebf8e294fc cache: Fix some data types mismatching with their sources. 2009-08-01 00:30:19 +09:00
suzuki toshiya
9f50873a81 cache: Cast NULL to a required function type explicitly. 2009-08-01 00:30:18 +09:00
suzuki toshiya
41f9d0d6ee fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly. 2009-08-01 00:30:18 +09:00
suzuki toshiya
82ebaa7b05 psnames: Handle Unicode codepoints by FT_UInt32 variables. 2009-08-01 00:30:17 +09:00
suzuki toshiya
d200982d8b psaux: Use size_t variable to pass the buffer size. 2009-08-01 00:30:17 +09:00
suzuki toshiya
d1ee378566 type1: Use size_t variable to pass the string length. 2009-08-01 00:30:16 +09:00
suzuki toshiya
7fd7c6f2e9 cid: Fix some data types mismatching with their sources. 2009-08-01 00:30:16 +09:00
suzuki toshiya
34c203cdde cff: Fix for unused variable `rest'. 2009-08-01 00:30:16 +09:00
suzuki toshiya
a813cf4801 cff: Fix some data types mismatching with their sources. 2009-08-01 00:30:15 +09:00
suzuki toshiya
2bbcb7edd8 bdf: Fix some data types mismatching with their sources. 2009-08-01 00:30:15 +09:00
suzuki toshiya
763b39496e sfnt: Count the size of the memory object by ptrdiff_t. 2009-08-01 00:30:14 +09:00
suzuki toshiya
f420757c73 lzw: Count the size of the memory object by ptrdiff_t. 2009-08-01 00:30:14 +09:00