Commit Graph

3749 Commits

Author SHA1 Message Date
suzuki toshiya
ebd14a599d Automake component `builds/unix/install-sh' is removed.
* builds/unix/install-sh: Removed.  It is not needed to
include repository, because autogen.sh installs it.
* builds/unix/.gitignore: Register install-sh.
2011-05-16 12:47:25 +09:00
sssa
4e8f9de9a0 [autofit] Make trace message for CJK bluezone more verbose. 2011-05-12 14:30:15 +09:00
Werner Lemberg
27b20e9a1e Formatting, minor doc improvements. 2011-05-09 09:48:49 +02:00
suzuki toshiya
084abf0469 [autofit] Add bluezones for CJK Ideographs.
To remove extremas of vertical strokes of CJK Ideographs at
low resolution and make the top and bottom horizontal stems
aligned, bluezones for CJK Ideographs are calculated from
sample glyphs.  At present, vertical bluezones (bluezones
to align vertical stems) are disabled by default.  For detail, see
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
http://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html

* include/freetype/internal/fttrace.h: New trace component `afcjk'.
* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
for AF_Latin{Blue,Axis,Metric}Rec.
(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
(af_cjk_metrics_init_widths): Ditto.
(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
(af_cjk_metrics_scale): Ditto (declaration).
(af_cjk_hints_init): Ditto (declaration).
(af_cjk_hints_apply): Ditto (declaration).
* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
(af_cjk_hints_init): Ditto (body).
(af_cjk_hints_apply): Ditto (body).
(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
(af_cjk_metrics_init): Call CJK bluezone initializer.
(af_cjk_metrics_scale_dim): Add code to scale bluezones.
(af_cjk_hints_compute_blue_edges): New function, CJK version of
af_latin_hints_compute_blue_edges.
(af_cjk_metrics_init_blues): New function, CJK version of
af_latin_metrics_init_blues.
(af_cjk_hints_edges): Add code to align the edge stems to blue zones.

* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
However bluezones are not initialized.
(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
(af_indic_hints_init): Ditto.
(af_indic_hints_apply): Ditto.

* docs/CHANGES: Note about CJK bluezone support.
2011-05-08 19:22:32 +09:00
Werner Lemberg
d2e82aa07e [autofit] Remove unused struct member.
* src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'.
2011-05-06 19:04:30 +02:00
Werner Lemberg
a3a0f57a1d * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify. 2011-05-04 06:14:30 +02:00
Werner Lemberg
c3135e43f5 [autofit] Fix and add comments. 2011-05-02 06:04:15 +02:00
Werner Lemberg
3a0844c8ef [autofit] Add more debugging functions.
* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
af_glyph_hints_get_segment_offset): New functions.
2011-05-01 13:44:44 +02:00
Werner Lemberg
3cf3b9e32c Minor formatting. 2011-05-01 12:30:37 +02:00
suzuki toshiya
7c6da3d73a Add new option `--disable-mmap' to configure script.
* builds/unix/configure.raw: New option `--disable-mmap'
is added.  It is for the developers to simulate the systems
without mmap() (like 4.3BSD, minix etc) on POSIX systems.
2011-05-01 19:06:24 +09:00
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
575078d2b4 Formatting nits. 2011-04-18 15:33:17 +02:00
Werner Lemberg
149f5438c4 Synchronize config files.
* builds/unix/ftconfig.in: Copy missing assembler routines from
include/freetype/config/ftconfig.h.
2011-04-18 15:09:38 +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
Werner Lemberg
b9baff23f4 Document BBox and CBox computation problems for tricky fonts. 2011-04-13 00:29:41 +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
da08e6974c Ignore *.o and *.a files. 2011-03-20 18:28:31 +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
Werner Lemberg
d87389e9d3 Whitespace. 2011-03-08 05:01:21 +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
9c111b0179 * docs/CHANGES: Updated. 2011-03-07 06:07: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