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
suzuki toshiya
88c95bab74
otvalid: Count the table size on memory by ptrdiff_t.
2009-08-01 00:30:13 +09:00
suzuki toshiya
90c7efc8f2
otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
2009-08-01 00:30:13 +09:00
suzuki toshiya
95aeebf438
ftobjs.c: Prevent an overflow in glyph index handling.
2009-08-01 00:30:13 +09:00
suzuki toshiya
2ed9d7fc75
Improve the variable types in raccess_make_file_name().
2009-08-01 00:30:12 +09:00