suzuki toshiya
58cb359335
[truetype] Recalculate the sfnt table checksum always.
...
* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate
the sfnt table checksum even if non-zero value is writte in
the TrueType font header. Some bad PDF generators write
wrong values. For detail, see examples and benchmark tests
of the latency by recalculation:
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
2011-05-01 00:47:43 +09:00
suzuki toshiya
1e89d15a27
[truetype] Register a set of tricky fonts, NEC FA family.
...
* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids):
Add 8 checksum sets for NEC FA family. For the tricky fonts
without some tables (e.g. NEC FA fonts lack cvt table),
extra check is added to assure that 0-length table in the
registry is not included in the font.
2011-04-30 17:55:57 +09:00
suzuki toshiya
10385e379e
Remove unrequired `else' from ttobjs.c::tt_get_sfnt_checksum().
2011-04-30 17:49:45 +09:00
suzuki toshiya
89208861ef
[truetype] Fix a bug in the sfnt table checksum getter.
...
* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the
return value of face->goto_table() correctly.
2011-04-30 00:11:07 +09:00
Werner Lemberg
b9aa1f1339
[autofit] Improve tracing messages.
...
* src/autofit/aflatin.c (af_latin_metrics_init_blues,
af_latin_align_linked_edge, af_latin_hint_edges): Do it.
2011-04-28 09:09:45 +02:00
suzuki toshiya
86b7b2f614
[truetype] Revert the reordering of trickyness checking.
...
Trickyness check by the family name is faster than that by
the checksum.
2011-04-26 03:46:12 +09:00
suzuki toshiya
abc47aa136
[truetype] Always check the checksum to identify tricky fonts.
...
Some PDF generators mangle the family name badly, prioritize
the check by the sfnt table checksums than the check by the
family name. For sample PDF, see
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
* src/truetype/ttobjs.c (tt_check_trickyness): Exchange the order
of tt_check_trickyness_family() and tt_check_trickyness_sfnt_ids().
2011-04-25 23:51:04 +09:00
suzuki toshiya
233f9d5dd2
[autofit] Add more Indic scripts with hanging baseline.
...
* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
Sundanese, Meetei Mayak, Syloti Nagri and Sharada scripts are
added.
2011-04-22 10:14:07 +09:00
Werner Lemberg
a8dbf7dbbc
Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2
...
Conflicts:
ChangeLog
2011-04-21 08:25:14 +02:00
Behdad Esfahbod
8c82ec5b17
Always ignore global advance.
...
This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
deprecated, and ignored. The new behavior is what every major user
of FreeType has been requesting. Global advance is broken in many
CJK fonts. Just ignoring it by default makes most sense.
* src/truetype/ttdriver.c (tt_get_advances),
src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
src/truetype/ttgload.h: Implement it.
* docs/CHANGES: Updated.
2011-04-21 08:21:37 +02:00
suzuki toshiya
94eff482ca
Fix mismatched indents in src/autofit/aflatin2.c.
2011-04-21 14:03:39 +09:00
suzuki toshiya
a345c0e1d5
[autofit] Blur CJK stems if too many to preserve their gaps
2011-04-21 10:58:33 +09:00
Werner Lemberg
d503b1bce2
Integrate autofitter debugging stuff.
...
* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_DEBUG_AUTOFIT): New macro.
* include/freetype/internal/fttrace.h: Add trace components for
autofitter.
* src/autofit/aftypes.h (AF_LOG): Removed.
(_af_debug): Removed.
* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
s/AF_LOG/FT_TRACE5/.
Define FT_COMPONENT where necessary.
2011-04-18 19:05:28 +02:00
Werner Lemberg
de2de6b1fb
Remove dead debugging code.
2011-04-18 16:11:18 +02:00
Werner Lemberg
9b00875093
Fix Savannah bug #33047 .
...
Patch submitted by anonymous reporter.
* src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer
difference.
2011-04-13 13:37:37 +02:00
Kan-Ru Chen
21b1a0de7c
Fix reading of signed integers from files on 64bit platforms.
...
Previously, signed integers were converted to unsigned integers, but
this can fail because of sign extension. For example, 0xa344a1eb
becomes 0xffffffffa344a1eb.
We now do the reverse which is always correct because the integer
size is the same during the cast from unsigned to signed.
* include/freetype/internal/ftstream.h, src/base/ftstream.c
(FT_Stream_Get*): Replace with...
(FT_Stream_GetU*): Functions which read unsigned integers.
Update all macros accordingly.
* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated.
2011-04-12 09:26:43 +02:00
Werner Lemberg
7f03a2465c
Update Unicode ranges for CJK autofitter; in particular, add Hangul.
...
* src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0.
2011-04-07 07:20:38 +02:00
Werner Lemberg
948a8fb674
Fix formatting of autofit debug dumps.
...
* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
column widths.
2011-04-04 13:02:08 +02:00
Werner Lemberg
9f5ed8118c
Cosmetics.
2011-04-02 07:23:00 +02:00
Werner Lemberg
544adf7313
Whitespace, typo.
2011-04-02 07:15:33 +02:00
Werner Lemberg
ef11551868
* src/autofit/aftypes.h (AF_OutlineRec): Removed, unused.
2011-03-30 09:29:05 +02:00
Werner Lemberg
90f0487ff1
Cosmetics.
2011-03-28 15:41:49 +02:00
Werner Lemberg
f3c57917f0
Copyright.
2011-03-26 09:03:32 +01:00
Werner Lemberg
360646c968
* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256.
...
This limit is given on p. 37 of Adobe Tech Note #5014 .
2011-03-24 09:29:23 +01:00
Werner Lemberg
01caf4a7a9
* src/truetype/ttpload.c(tt_face_load_loca): Fix mismatch warning.
2011-03-23 05:19:59 +01:00
Werner Lemberg
6e3fee0b54
Typo.
2011-03-21 09:28:52 +01:00
Werner Lemberg
af7b8b1a9f
* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
2011-03-20 07:51:57 +01:00
Werner Lemberg
8bd77f9030
More C++ compilation fixes.
...
* src/autofit/afhints.c (af_glyph_hints_dump_points,
af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
[__cplusplus]: Protect with `extern "C"'.
2011-03-19 15:27:04 +01:00
Werner Lemberg
c7f26a1982
C++ compilation fixes.
...
* src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c
(af_cjk_hints_apply): Use cast for `dim'.
2011-03-19 02:28:21 +01:00
Alexei Podtelezhnikov
8fb8841430
A better fix for Savannah bug #32671 .
...
* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
replace WHILE loop with a more natural DO-WHILE construct.
2011-03-17 20:24:57 +01:00
Werner Lemberg
437fb8ebf8
* src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field.
...
Suggested by Graham Asher.
2011-03-16 08:54:02 +01:00
Werner Lemberg
cecd912747
Make FT_Sfnt_Table_Info return the number of SFNT tables.
...
* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
* include/freetype/tttables.h: Update documentation.
* docs/CHANGES: Updated.
2011-03-09 06:18:28 +01:00
Bram Tassyns
3fd158d0ce
Fix Savannah bug #27988 .
...
* src/cff/cffobjs.c (remove_style): New function.
(cff_face_init): Use it to strip off the style part of the family
name.
2011-03-07 09:33:53 +01:00
Werner Lemberg
6c045535ea
Quick fix for Savannah bug #32671 .
...
This isn't the optimal solution yet, but it restores the previous
rendering quality (more or less).
* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
2011-03-07 05:40:42 +01:00
Werner Lemberg
c9bdfa7e65
Fix autohinting fallback.
...
* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
ignoring CFF-based OTFs.
2011-03-06 18:35:37 +01:00
Werner Lemberg
4d0586f0da
Whitespace.
2011-03-06 18:22:08 +01:00
Werner Lemberg
576fc2c06e
Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
...
* devel/ftoption.h, include/freetype/config/ftoption.h
(AF_CONFIG_OPTION_USE_WARPER): New macro.
* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
variable assignment with a typedef.
2011-03-02 03:52:36 +01:00
Werner Lemberg
e547a656a5
[autofit] More comments, formatting, whitespace.
2011-02-26 18:39:10 +01:00
Werner Lemberg
b7fc0c7461
[autofit] Slight simplifications.
...
* src/autofit/aflatin.c (af_latin_hints_link_segments): Remove
test which always returns false.
(af_latin_hints_compute_blue_edges): Remove redundant assignment.
2011-02-26 18:36:21 +01:00
Werner Lemberg
6cfbb23ca3
[autofit] Some comments. Whitespace.
2011-02-26 17:32:38 +01:00
Werner Lemberg
6c28689691
[autofit] Comment out unused code.
...
* src/autofit/aflatin.c, src/autofit/aflatin2.c
(af_latin_hints_compute_edges): Do it.
2011-02-24 05:52:14 +01:00
Werner Lemberg
f42cc539e0
* src/autofit/afhints.h (AF_GlyphHints): Remove unused field.
2011-02-24 05:18:46 +01:00
Werner Lemberg
6af024231b
[autofit] Add ASCII drawing for better explanation.
2011-02-22 10:29:30 +01:00
suzuki toshiya
ae6d1d7b98
[cache] Fix an off-by-one bug in FTC_Manager_RemoveFaceID().
...
Found by <ychen1392001@yahoo.com.cn>, see detail in
http://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
buckets[cache->p + cache->mask] too.
2011-02-20 19:14:25 +09:00
Werner Lemberg
7ad15d5926
[autofit] Document warper.
2011-02-20 07:30:46 +01:00
Kevin Kofler
ff8095077c
Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
...
This is Savannah patch #7471 .
* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
2011-02-19 23:09:26 +01:00
John Tytgat
18fffa456e
[cff] Fix subset prefix removal.
...
* src/cff/cffobjs.c (remove_subset_prefix): Update length after
subset prefix removal.
2011-02-19 07:11:17 +01:00
Werner Lemberg
c5bda503b9
[autofit] Add a lot of comments and do some minor formatting.
2011-02-16 21:59:44 +01:00
Werner Lemberg
713faece86
* src/autofit/afdummy.c: Include `aferrors.h'.
...
Problem reported by Chris Liddel <chris.liddell@artifex.com>.
2011-02-03 19:47:13 +01:00
Werner Lemberg
75df70600f
[cff] Ignore unknown operators in charstrings.
...
Patch suggested by Miles.Lau <sunliang_liu@foxitsoftware.com>.
* src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing
message for unknown operators and continue instead of exiting with a
syntax error.
2011-02-01 07:36:27 +01:00