History log of /external/freetype/src/truetype/ttgload.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
029c9b2391476285cb4b25b52360744c649305b0 03-Jan-2018 Werner Lemberg <wl@gnu.org> [truetype] Round offsets of glyph components only if hinting is on.

* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
it.
/external/freetype/src/truetype/ttgload.c
0a0c22569deab933df21127e75db5c81f724f292 02-Jan-2018 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/truetype/ttgload.c
068a7a03aa1943c59dfd490773156cb9245879db 18-Dec-2017 Werner Lemberg <wl@gnu.org> * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
/external/freetype/src/truetype/ttgload.c
d062c54ce7f2c2bb98906f866755d214c4a73735 18-Dec-2017 Werner Lemberg <wl@gnu.org> [truetype] Fix previous commit.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
unhinted phantom points, which must be properly scaled.
/external/freetype/src/truetype/ttgload.c
e7935f29103596751ffda3ee7adea04a0c47050f 18-Dec-2017 Werner Lemberg <wl@gnu.org> [truetype] Don't apply HVAR and VVAR deltas twice (#52683).

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
`pp1' to `pp4', except if we have an HVAR and/or VVAR table.

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
alternative code branch identically w.r.t. presence of an HVAR
and/or VVAR table.
/external/freetype/src/truetype/ttgload.c
98ba0c4a37cc8223b513efb4f2a5df4f25ec0756 08-Dec-2017 Werner Lemberg <wl@gnu.org> New `ftdriver.h' file, covering all driver modules.

This reduces redundancy and increases synergy; it also reduces the
number of header files.

* include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
(FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
FT_DRIVER_H.

* include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
include/freetype/ftttdrv.h: Replaced with...
* include/freetype/ftdriver.h: ...this new file.
(FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
(FT_HINTING_ADOBE): ... this new macro.
(FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
(FT_HINTING_FREETYPE): ... this new macro.

* src/*/*: Updated accordingly.
/external/freetype/src/truetype/ttgload.c
c18c391b688a59a1c1e8366e216e473c1bd6361c 28-Nov-2017 Werner Lemberg <wl@gnu.org> [truetype] Improving tracing of composite glyphs.

* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
[FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
/external/freetype/src/truetype/ttgload.c
8c92f7622cdf1e2a0354a818f67edfaa92e4cced 07-Oct-2017 Werner Lemberg <wl@gnu.org> Make `FT_FACE_FLAG_VARIATION' work.

* include/freetype/internal/tttypes.h (TT_Face): Remove
`is_default_instance'; this can be replaced with a combination of
`FT_IS_VARIATION' and `FT_IS_INSTANCE'.

* src/cff/cffdrivr.c (cff_get_advances): Updated.

* src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
(sfnt_init_face): Updated.

* src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
(TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
* src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
Handle `FT_FACE_FLAG_VARIATION'.

* src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
`FT_FACE_FLAG_VARIATION'.
/external/freetype/src/truetype/ttgload.c
b45043c44030337c1f7006f8c3d19fdfffe541f6 11-Aug-2017 Werner Lemberg <wl@gnu.org> [sfnt, truetype] Improve handling of missing sbits.

Requested by Behdad.

Modern bitmap-only SFNTs like `NotoColorEmoji.ttf' don't contain
entries in the bitmap strike(s) for empty glyphs. Instead, they
rely that a space glyph gets created from the font's metrics data.
This commit makes FreeType behave accordingly.

* include/freetype/fterrdef.h (FT_Err_Missing_Bitmap): New error
code.

* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image): Change error codes
to make a distinction between a missing bitmap in a composite and a
simple missing bitmap.

* src/truetype/ttgload.c (TT_Load_Glyph): For a missing bitmap (in a
bitmap-only font), synthesize an empty bitmap glyph if metrics are
available.
/external/freetype/src/truetype/ttgload.c
24e256ab005c68a3894845ef3b7764338f9442a4 04-Aug-2017 Nikolaus Waxweiler <madigens@gmail.com> [truetype] Fix metrics of B/W hinting in v40 mode.

Phantom points are now saved outside v40 backwards compatibility
mode. This fixes the jumping glyphs when switching between v35 and
v40 monochrome mode.

* src/truetype/ttgload.c (TT_Hint_Glyph): Fix inversed bool logic.
/external/freetype/src/truetype/ttgload.c
ce367774d20072018d46bfe26f7c7b823dfad79c 01-Aug-2017 Werner Lemberg <wl@gnu.org> [sfnt, truetype] Minor adjustments for OpenType 1.8.2.

* src/sfnt/sfobjs.c (sfnt_load_face): The units per EM value has now
(tighter) limits.

* src/truetype/ttgload.c (load_truetype_glyph): The new OpenType
version explicitly allows all negative values for the number of
contours if we have a composite glyph (this is for better backwards
compatibility I guess), but it still recommends value -1.
/external/freetype/src/truetype/ttgload.c
dcd8de272f940065b6a326b16518e3e5acb695a6 09-Jun-2017 Werner Lemberg <wl@gnu.org> */*: Remove `OVERFLOW_' prefix.

This increases readability.
/external/freetype/src/truetype/ttgload.c
addb2dddb6fd4be32ea16b44831e4cc99bbc9693 03-Jun-2017 Werner Lemberg <wl@gnu.org> [base, cff, truetype] Integer overflows.

Reported as

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2060
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2062
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2063
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2068

* src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use
OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.

* src/cff/cf2blues.c (cf2_blues_capture), src/cff/cf2hints.c
(cf2_hintmap_adjustHints): Use OVERFLOW_SUB_INT32.

* src/truetype/ttgload.c (compute_glyph_metrics): User
OVERFLOW_SUB_LONG.

* src/truetype/ttinterp.c (Direct_Move, Direct_Move_Orig,
Direct_Move_X, Direct_Move_Y, Direct_Move_Orig_X,
Direct_Move_Orig_Y, Move_Zp2_Point, Ins_MSIRP): Use
OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG.
/external/freetype/src/truetype/ttgload.c
a0455468fdb8dd1959596d0c8c8a3ff07ee495a3 20-May-2017 Nikolaus Waxweiler <madigens@gmail.com> [truetype] Always use interpreter v35 for B/W rendering (#51051).

* src/truetype/ttgload.c (tt_loader_init)
[TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Adjust
`subpixel_hinting_lean', `grayscale_cleartype', and
`vertical_lcd_lean' accordingly.

* src/truetype/ttinterp.c (Ins_GETINFO): Updated.
(TT_RunIns): Update `backward_compatibility' flag.
/external/freetype/src/truetype/ttgload.c
6e5445a232cbdbf18a45629cf2f12a81c043607f 15-May-2017 Werner Lemberg <wl@gnu.org> [truetype] Fix error handling for embedded bitmaps.

Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.

* src/truetype/ttgload.c (TT_Load_Glyph)
[TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Handle error if font is not
scalable.
/external/freetype/src/truetype/ttgload.c
8cd31eb7b0c0af307f5f31109685963e522718fc 03-May-2017 Werner Lemberg <wl@gnu.org> */*: s/backwards compatibility/backward compatibility/.
/external/freetype/src/truetype/ttgload.c
ba40054c2dd9f5d3d8561de7106870ac6a920f6d 02-May-2017 Werner Lemberg <wl@gnu.org> [autofit] Remove `slight' auto-hint mode again.

A poll on freetype-devel favoured changes directly applied to
`light'.

* include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT,
FT_RENDER_MODE_SLIGHT): Removed.

* src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c
(af_latin_hints_init), src/autofit/aflatin2.c
(af_latin2_hints_init): Revert change from 2017-04-22.

* src/autofit/afloader.c (af_loader_load_glyph) Remove references to
FT_RENDER_MODE_SLIGHT.
[AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics
unconditionally.

* src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from
2017-04-22.

* src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22.

* src/pshinter/pshalgo.c (ps_hints_apply): Revert change from
2017-04-22.

* src/smooth/ftsmooth.c (ft_smooth_render): Revert change from
2017-04-22.

* docs/CHANGES: Updated.
/external/freetype/src/truetype/ttgload.c
5f18d867c0bf075153c8d6abb7e8d248ad469b56 22-Apr-2017 Werner Lemberg <wl@gnu.org> [truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470).

* src/truetype/ttobs.h (TT_SizeRec): Add field `hinted_metrics' to
hold hinted metrics.
Make `metrics' a pointer so that `tt_glyph_load' can easily switch
between metrics.

* src/truetype/ttdriver.c (tt_size_request): Updated.
(tt_glyph_load): Use top-level metrics if FT_LOAD_NO_HINTING is
used.

* src/truetype/ttgload.c (TT_Hint_Glyph, TT_Process_Simple_Glyph,
TT_Process_Composite_Component, load_truetype_glyph,
compute_glyph_metrics, TT_Load_Glyph): Updated.

* src/truetype/ttinterp.c (TT_Load_Context): Updated.

* src/truetype/ttobjs.c (tt_size_reset): Updated.

* src/truetype/ttsubpix.c (sph_set_tweaks): Updated.
/external/freetype/src/truetype/ttgload.c
bb6c037bae83131c37c6255db7bdd8880047a6d5 01-Apr-2017 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H.

Otherwise FT_UINT_TO_POINTER might not be defined.

Problem reported by Alexei.
/external/freetype/src/truetype/ttgload.c
bcc74f4dafee25ea89f1d3144646cba7e30f9908 30-Mar-2017 Werner Lemberg <wl@gnu.org> [truetype] Allow linear scaling for unhinted rendering (#50470).

* src/truetype/ttdriver.c (tt_size_request): Revert change from
2011-07-16; the intended metrics fix seems now to be implemented in
a different way, making the patch unnecessary. Note that this
change was usually patched out by all major GNU/Linux distributions
due to heavy side effects.

* src/truetype/ttgload.c (compute_glyph_metrics, TT_Load_Glyph):
Refer to the metrics of the `TT_Size' object.
/external/freetype/src/truetype/ttgload.c
208e712de049f01d23e18dfe4fda5ee019fe5191 27-Mar-2017 Werner Lemberg <wl@gnu.org> [cid, truetype] Don't use `index' as a variable name.

At least on FreeBSD there is a global declaration of `index' in file
`/usr/include/strings.h'.

* src/cff/cf2intrp.c, src/truetype/ttgload.c: s/index/idx/ where
appropriate.
/external/freetype/src/truetype/ttgload.c
683e3ad93632d040e4cc10b71323b3ddfee351a3 21-Mar-2017 Werner Lemberg <wl@gnu.org> [truetype] Some variable renamings.

Too much local variables holding different structures were called
`metrics'.

* src/truetype/ttdriver.c (tt_size_select): s/metrics/size_metrics/.

* src/truetype/ttgload.c (tt_get_metrics_incr_overrids,
compute_glyph_metrics): s/metrics/incr_metrics/.
(load_sbit_image): s/metrics/sbit_metrics/.

* src/truetype/ttobjs.c (tt_size_run_fpgm): s/metrics/size_metrics/.
(tt_size_init_bytecode): s/metrics/tt_metrics/.
(tt_size_reset): s/metrics/size_metrics/.
/external/freetype/src/truetype/ttgload.c
7aeee3c50f2656b65f7dc207aa2020bb1398da98 18-Mar-2017 Werner Lemberg <wl@gnu.org> Introduce FT_UINT_TO_POINTER macro (#50560).

We have to make a separate case for Windows 64's LLP64 data model.

* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER): New macro.

* src/truetype/ttgload.c (load_truetype_glyph): Use it.
/external/freetype/src/truetype/ttgload.c
d5bfa053f5854cc42966634e1b26a8024b7a51d4 17-Mar-2017 Werner Lemberg <wl@gnu.org> Fixes for conditional compilation.

* src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h'
earlier.

* src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into
TT_CONFIG_OPTION_GX_VAR_SUPPORT block.
(sfnt_done_face): Protect some code with
TT_CONFIG_OPTION_GX_VAR_SUPPORT.

* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler
warning.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable
into TT_USE_BYTECODE_INTERPRETER block.

(tt_loader_init): Put `error' variable into
TT_USE_BYTECODE_INTERPRETER block.
/external/freetype/src/truetype/ttgload.c
01f315f07697a719628cd56c80072da36d1182f7 23-Feb-2017 Werner Lemberg <wl@gnu.org> [truetype] Minor improvement.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Remove unnecessary tests.
/external/freetype/src/truetype/ttgload.c
563ae780229aef5b6f6ae361211d5fb733de8321 04-Jan-2017 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/truetype/ttgload.c
8982405f0cedb9982d471deb5d18c13eca999d20 03-Jan-2017 Werner Lemberg <wl@gnu.org> [truetype] Various minor fixes.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check instruction
size only if we do native hinting.
(TT_Load_Glyph): Trace returned error code.

* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Trace
returned error code.
(tt_size_ready_bytecode): Don't run `prep' table if `fpgm' table is
invalid.
/external/freetype/src/truetype/ttgload.c
4441f7b24675fbd7d91f794f5d54e6c1ff168439 26-Dec-2016 Werner Lemberg <wl@gnu.org> Replace `foo == NULL' and `foo != NULL' with `!foo' and `foo', resp.

Other minor formatting.
/external/freetype/src/truetype/ttgload.c
e6a429e2c7c3126d3ff46b6d69bd21d645ecccd5 21-Dec-2016 Werner Lemberg <wl@gnu.org> [cff, truetype] Another try for #49829.

* src/cff/cffdrivr.c: Don't include
`FT_SERVICE_METRICS_VARIATIONS_H'.
(cff_get_advances): Use `ttface->variation_support'.

* src/truetype/ttdriver.c (tt_get_advances): Use
`ttface->variation_support'.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Use `ttface->variation_support'.
/external/freetype/src/truetype/ttgload.c
cc576f8002666c914f3c340844a01d739e9942ee 20-Dec-2016 Ben Wagner <bungeman@google.com> [truetype] Fix linear metrics of GX variation fonts.

When asking for an unhinted non-default variations,
`linearVertAdvance' is currently the value from the `hmtx' table
instead of the actual value after applying the variation. `HVAR'
support fixes this, but fonts will exist without that table and will
need sane fallback.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Implement linear advance adjustments if `HVAR'
or `VVAR' tables are missing.
/external/freetype/src/truetype/ttgload.c
eb6d02087b9f540372049eff2721ac6aff837232 18-Dec-2016 Werner Lemberg <wl@gnu.org> Minor GX code shuffling.

* include/freetype/internal/tttypes.h (TT_Face): Move
`is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT
block.

* src/sfnt/sfobjs.c (sfnt_init_face): Updated.
* src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro.
(TT_Load_Glyph): Use it.
/external/freetype/src/truetype/ttgload.c
5d664b6d5188625d0585086020e99e6223c2afb1 17-Dec-2016 Werner Lemberg <wl@gnu.org> Use FT_SET_ERROR where useful. Other minor code formatting.
/external/freetype/src/truetype/ttgload.c
2067c6985ac896523afd0dc7327f317d766fc82d 29-Sep-2016 Werner Lemberg <wl@gnu.org> [truetype] Disallow bitmap strokes for non-default instances.

Also speed up access of default instances if GX variations are
active.

* include/freetype/internal/tttypes.h (TT_FaceRec): Add
`is_default_instance' member.

* src/sfnt/sfobjs.c (sfnt_init_face): Initialize
`is_default_instance'.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Add test for default instance.
(TT_Load_Glyph): Load embedded bitmaps for default instance only.

* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Compute
`is_default_instance'.
/external/freetype/src/truetype/ttgload.c
2ecf89b481703315bffa8e0b10c2e970224b52e6 28-Sep-2016 Werner Lemberg <wl@gnu.org> */*: s/FT_MEM_ZERO/FT_ZERO/ where appropriate.
/external/freetype/src/truetype/ttgload.c
e27b8a5598d851c98ec04f23316587e94d5bb086 27-Sep-2016 Werner Lemberg <wl@gnu.org> [truetype] Speed up `TT_Load_Glyph'.

This avoids additional calls to `tt_face_lookup_table' for the
`glyf' table, which can be expensive.

* include/freetype/internal/tttypes.h (TT_LoaderRec): Move
`glyf_offset' field to ...
(TT_FaceRec): ... this structure.
* src/truetype/ttgload.c (load_truetype_glyph): Updated.
(tt_loader_init): Move initialization of `glyf_offset' to ...
* src/truetype/ttpload.c (tt_face_load_loca): .. this function.
/external/freetype/src/truetype/ttgload.c
cf4224adb9f1ddd7feccc585e162304829f6bd40 16-Aug-2016 Werner Lemberg <wl@gnu.org> [truetype] Fix compiler warning.

* src/truetype/ttgload.c (load_truetype_glyph): Add cast.
/external/freetype/src/truetype/ttgload.c
8183eeb18d91513cfc8b70eba9c4a818748792dc 06-Aug-2016 Behdad Esfahbod <behdad@behdad.org> [truetype] Fix GX variation handling of composites.

* src/truetype/ttgload.c (load_truetype_glyph)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag.
/external/freetype/src/truetype/ttgload.c
fae4ec05251a399c9f90c8ca813d0681e7f62e7b 29-Jul-2016 Werner Lemberg <wl@gnu.org> [sfnt, truetype] Don't abort on invalid `maxComponentDepth'.

Since 2016-05-16 we detect infinite recursion directly.

* src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust
`maxComponentDepth'.
* src/truetype/ttgload.c (load_truetype_glyph): Don't abort if
`maxComponentDepth' is not valid. Instead, simply adjust its value
and emit a tracing message.
/external/freetype/src/truetype/ttgload.c
8ba407a7fe911322e8f674456a74bbd7d5ead200 25-Jun-2016 Werner Lemberg <wl@gnu.org> [truetype] Really fix deallocation in case of error (#47726).

* src/truetype/ttgload.c (load_truetype_glyph): Thinko; initialize
`outline.points' also.
/external/freetype/src/truetype/ttgload.c
01de37e54ff1ab33a29ef4824bb0f644a48fe316 18-May-2016 Nikolaus Waxweiler <madigens@gmail.com> [truetype] Make TT_LOADER_SET_PP support subpixel hinting [3/3].

* src/truetype/ttgload.c (TT_LOADER_SET_PP): Replace macro with...
(tt_loader_set_pp): ... this new function.
Update all callers.
/external/freetype/src/truetype/ttgload.c
596157365aeff6bb842fe741f8cf322890a952fe 18-May-2016 Nikolaus Waxweiler <madigens@gmail.com> [truetype] New implementation of v38 bytecode interpreter [1/3].

This patch prepares data structures and the like.

See added comments in `ttinterp.h' for more information on this and
the following commits in the series.

* devel/ftoption.h, include/freetype/config/ftoption.h
(TT_CONFIG_OPTION_SUBPIXEL_HINTING): Assign values to differentiate
between subpixel versions.
(TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY,
TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL): New macros.

* include/freetype/ftttdrv.h (TT_INTERPRETER_VERSION_40): New macro.

* include/freetype/internal/tttypes.h (TT_FaceRec): Updated.

* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
`subpixel_hinting_lean', `vertical_lcd_lean',
`backwards_compatibility', `iupx_called', iupy_called', and
`grayscale_cleartype' for new hinting mode.

* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
interpreters conditionally.

* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
in v38 backwards compatibility mode.
Updated.
(compute_glyph_metrics): Add v38 backwards compatibility mode
constraint for adjusting advance widths.
Updated.
(tt_loader_init): Handle new flags `subpixel_hinting_lean',
`grayscale_cleartype', and `vertical_lcd_lean'.
Updated.
(tt_get_metrics, TT_Process_Simple_Glyph, TT_LOADER_SET_PP):
Updated.

* src/truetype/ttobjs.c (tt_driver_init): Conditionally set
default interpreter version number.

* src/truetype/ttsubpix.c, src/truetype/ttsubpix.h: Updated.
/external/freetype/src/truetype/ttgload.c
533887a947b2be0c56734fd1906cc24b9088b881 16-May-2016 Werner Lemberg <wl@gnu.org> Whitespace, formatting.
/external/freetype/src/truetype/ttgload.c
a7d8bdbcfeb65b4859fe553df9d4922627837888 16-May-2016 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> [truetype] Improve the recursive reference detector.

The previous fix for #46372 misunderstood a composite glyph referring
same component twice as a recursive reference. See the discussion

http://lists.gnu.org/archive/html/freetype/2016-05/msg00000.html

Thanks to Khaled Hosny for finding this issue.

* src/truetype/ttgload.c (ft_list_get_node_at): A function to get
the i-th node from FT_List. (load_truetype_glyph): In the traversal
scan of the reference tree in the composite glyph, we clear the
nodes filled by previous sibling chain.
/external/freetype/src/truetype/ttgload.c
432e00db2e99d4dbb6533df72855718797cd93b2 24-Apr-2016 Werner Lemberg <wl@gnu.org> [truetype] Fix deallocation in case of error (#47726).

* src/truetype/ttgload.c (load_truetype_glyph): Initialize fields in
`outline' that are going to be deallocated in case of error.
/external/freetype/src/truetype/ttgload.c
b66330732060af27d0f5414943e1ad378af3d5e3 22-Mar-2016 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Minor.

This fixes an AddressSanitizer issue:

ttgload.c:430:7: runtime error: null pointer passed as argument 1,
which is declared to never be null
/external/freetype/src/truetype/ttgload.c
9adeab6452a220270c311f756d55acd734fd52ea 13-Jan-2016 Werner Lemberg <wl@gnu.org> Update copyright year.
/external/freetype/src/truetype/ttgload.c
4679bf83a61f7508c2a4043a6d296c9552d3de8d 28-Nov-2015 Werner Lemberg <wl@gnu.org> Fix C++ compilation.

* src/autofit/afloader.c: Include FT_INTERNAL_CALC_H.

* src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler.
/external/freetype/src/truetype/ttgload.c
837285e40772aa10338bcb1fa5118ec93d575a8d 09-Nov-2015 Werner Lemberg <wl@gnu.org> [truetype] Remove integer to pointer conversion compiler warning.

Problem reported by Alexei.

* src/truetype/ttgload.c (load_truetype_glyph): Use a solution found
in the glib library to fix the issue.
/external/freetype/src/truetype/ttgload.c
758d55e522eb426dad2f15adc1d945f7896d7b29 04-Nov-2015 Werner Lemberg <wl@gnu.org> [truetype] Catch infinite recursion in subglyphs (#46372).

* include/freetype/internal/tttypes.h (TT_LoaderRec): New field
`composites'.

* src/truetype/ttgload.c: Include FT_LIST_H.
(load_truetype_glyph): Add composite subglyph index to a list;
abort if index is already in list.
(tt_loader_init): Updated.
(tt_loader_done): New function.
(TT_Load_Glyph): Call `tt_loader_done'.
/external/freetype/src/truetype/ttgload.c
040edaf5fb6eea9d6b784a187e9880a8e6348fff 04-Nov-2015 Werner Lemberg <wl@gnu.org> [truetype] Better tracing of composite glyphs.

* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
load_truetype_glyph): Implement it.
/external/freetype/src/truetype/ttgload.c
265ade8e807819e6a3f93671df1382c56ba50f85 26-Sep-2015 Hin-Tak Leung <htl10@users.sourceforge.net> Add new FT_LOAD_COMPUTE_METRICS load flag.

* include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro.
* src/truetype/ttgload.c (compute_glyph_metrics): Usage.
/external/freetype/src/truetype/ttgload.c
bd0438a461d352590ae20e2516cfc14cf582d6ad 16-Sep-2015 Werner Lemberg <wl@gnu.org> Minor fixes for some clang warnings.

* src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing
initialization.

* src/truetype/ttgload.c (TT_Process_Composite_Component): Cast.
/external/freetype/src/truetype/ttgload.c
ae258aa088e471f064cc8f540d2a6285eaaf29b5 15-Aug-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Clean up.

* src/truetype/ttgload.c (TT_Process_Composite_Component): Use
`FT_Outline_Transform' and `FT_Outline_Translate'.
(translate_array): Dropped.
/external/freetype/src/truetype/ttgload.c
98e8e999863b953683f1c01bd319648db6d7d5f4 06-Aug-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [truetype] Clean up types.

* src/truetype/ttobjs.c (TT_Size): Move declaration from here.
* include/freetype/internal/tttypes.h (TT_Size): ... to here.
(TT_LoaderRec): Switch to appropriate types for `face' and `size'.
* src/truetype/ttgload.c: Remove corresponding type casts.
* src/truetype/ttsubpix.c: Ditto.
/external/freetype/src/truetype/ttgload.c
8dfc760161a12e078d6277f1b42cf05577bcc89b 03-Aug-2015 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs
having a depth greater than 1.
/external/freetype/src/truetype/ttgload.c
6343ba22a36ab264fa061cab3b87662d5b7b7114 01-Aug-2015 Werner Lemberg <wl@gnu.org> Fix some bugs found by clang's `-fsanitize=undefined' (#45661).

* src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept
positive values from header.
Check overflow.

* src/base/ftoutln.c (SCALED): Correctly handle left-shift of
negative values.

* src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified,
_bdf_clear_glyph_modified): Use unsigned long constant.

* src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't
left-shift values that can be negative.

* src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't
left-shift values that can be negative.

* src/raster/ftraster.c (SCALED): Correctly handle left-shift of
negative values.

* src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift
values that can be negative.

* src/truetype/ttgload.c (TT_Load_Composite_Glyph,
compute_glyph_metrics, load_sbit_image): Don't left-shift values
that can be negative.
/external/freetype/src/truetype/ttgload.c
eb1bba9be421ebf2eb95cfb9c6129836b96009fa 30-Jun-2015 Werner Lemberg <wl@gnu.org> Fix some clang compiler warnings.

* src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c
(cf2_interpT2CharString), src/truetype/ttgload.c
(load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas),
src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues.
/external/freetype/src/truetype/ttgload.c
e9df4e47e3d80e18680d38a0f54746da517ab96b 31-May-2015 Werner Lemberg <wl@gnu.org> [truetype] In GX, make private point numbers work correctly.

This is completely missing in Apple's documentation: If a `gvar'
tuple uses private point numbers (this is, deltas are specified for
some points only), the uncovered points must be interpolated for
this tuple similar to the IUP bytecode instruction. Examples that
need this functionality are glyphs `Oslash' and `Q' in Skia.ttf.

* src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate,
tt_handle_deltas): New functions.
(TT_Vary_Get_Glyph_Deltas): Renamed to...
(TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the
points and does no longer return an array of deltas.
Add tracing information.
Call `tt_handle_deltas' to interpolate missing deltas.
Also fix a minor memory leak in case of error.

* src/truetype/ttgxvar.h: Updated.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Updated.
/external/freetype/src/truetype/ttgload.c
a5e1f6f39bdd75c00e0c210a476f042cf32a4a30 24-May-2015 Werner Lemberg <wl@gnu.org> [truetype] Fix commit from 2015-05-22.

* src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code
with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'.

Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
/external/freetype/src/truetype/ttgload.c
7f0994820bfbf9e790a10ddaf33fde7c06212adc 24-May-2015 Werner Lemberg <wl@gnu.org> [truetype] Fix return values of GETINFO bytecode instruction.

* src/truetype/ttinterp.h (TT_ExecContextRec): New fields
`vertical_lcd' and `gray_cleartype'.

* src/truetype/ttgload.c (tt_loader_init): Initialize new fields.
Change `symmetrical smoothing' to TRUE, since FreeType produces
exactly this.

* src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit
values for symmetrical smoothing, namely 11/18.
Handle bits for vertical LCD subpixels (8/15) and Gray ClearType
(12/19).
/external/freetype/src/truetype/ttgload.c
bb435da213cf6221fdc060adb75cac8a8468ac12 23-May-2015 Werner Lemberg <wl@gnu.org> [truetype] Minor.

* src/truetype/ttinterp.h (TT_ExecContext):
s/subpixel/subpixel_hinting.

* src/truetype/ttgload.c, src/truetype/ttgload.h: Updated.
/external/freetype/src/truetype/ttgload.c
c61cad868b32e6c7f8e1f3bf89719c137e52eaf8 22-May-2015 Werner Lemberg <wl@gnu.org> [truetype] Support selector index 3 of the INSTCTRL instruction.

This flag activates `native ClearType hinting', disabling backwards
compatibility mode as described in Greg Hitchcocks whitepaper. In
other words, it enables unrestricted functionality of all TrueType
instructions in ClearType.

* src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks'
unconditionally.
(tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of
`GS.instruct_control' is active.

* src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3.
(Ins_GETINFO): Updated.

* docs/CHANGES: Document it.
/external/freetype/src/truetype/ttgload.c
0a6b6ff7c662cbec5564641b580a04fffbe10a2d 17-May-2015 Werner Lemberg <wl@gnu.org> [truetype] Fix loading of composite glyphs.

* src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the
ARGS_ARE_XY_VALUES flag is not set, handle argument values as
unsigned. I trust `ttx' (which has exactly such code) that it does
the right thing here...

The reason that noone has ever noticed this bug is probably the fact
that point-aligned subglyphs are rare, as are subglyphs with a
number of points in the range [128;255], which is quite large (or
even in the range [32768;65535], which is extremely unlikely).
/external/freetype/src/truetype/ttgload.c
adb08efcf1c661bbff0b71672a293f06c51e58a4 12-Apr-2015 Alexei Podtelezhnikov <apodtele@gmail.com> [bdf,pcf,truetype] NULL.
/external/freetype/src/truetype/ttgload.c
0a33a3984fd3243f0df86ccbda3f55b115e699a2 17-Feb-2015 Werner Lemberg <wl@gnu.org> [truetype] Various signedness fixes.

* include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply.

* src/truetype/ttgload.c: Apply.
(TT_Get_VMetrics): Protect against invalid ascenders and descenders
while constructing advance height.
/external/freetype/src/truetype/ttgload.c
416d87963fc96b892271f0cb176c761690e4c403 06-Feb-2015 Jon Anderson <jon@websupergoo.com> [truetype] Fix regression in the incremental glyph loader.

* src/truetype/ttgload.c (load_truetype_glyph): For incremental
fonts, the glyph index may be greater than the number of glyphs
indicated, so guard the check with a preprocessor conditional.
/external/freetype/src/truetype/ttgload.c
f57fc59e016217687362b6fbbc4842fab932175c 17-Jan-2015 Werner Lemberg <wl@gnu.org> Run `src/tools/update-copyright'.
/external/freetype/src/truetype/ttgload.c
f796cf6c6bfead0f527cd79329f26d4ec7ab43d4 17-Jan-2015 Werner Lemberg <wl@gnu.org> Normalize copyright notice format.
/external/freetype/src/truetype/ttgload.c
531d463aed365b9790f6065b98e94b9bb14289bb 14-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver.

Previously the code had stipulation for using a per-TT_Size exec
context if `size->debug' was true. But there was no way that
`size->debug' could *ever* be true. As such, the code was always
using the singleton `TT_ExecContext' that was stored in `TT_Driver'.
This was, clearly, not threadsafe.

With this patch, loading glyphs from different faces from different
threads doesn't crash in the bytecode loader code.

* src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member.
(TT_DriverRec): Remove `context' member.

* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove
`TT_ExecContext' code related to a global `TT_Driver' object.

(tt_driver_done): Don't remove `TT_ExecContext' object here but ...
(tt_size_done_bytecode): ... here.

(tt_driver_init): Don't create `TT_ExecContext' object here but ...
(tt_size_init_bytecode): ... here, only on demand.

* src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug
code.
(TT_New_Context): Remove `TT_ExecContext' code related to a global
`TT_Driver' object.

* src/truetype/ttinterp.h: Updated.

* src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated.
/external/freetype/src/truetype/ttgload.c
6689a009ced7442c121df1224b3c529e81dc5017 25-Nov-2014 Werner Lemberg <wl@gnu.org> [Savannah bug #43682] Properly handle missing return errors.

The functions in this patch *do* return non-trivial errors that must
be taken care of.

* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
(load_truetype_glyph <subglyph loop>, tt_loader_init,
TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
/external/freetype/src/truetype/ttgload.c
ef439fd2095633bfef876bbf56434cc3b8fb0fb4 25-Nov-2014 Werner Lemberg <wl@gnu.org> [Savannah bug #43682] Change some signatures to `void' return type.

* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
include/internal/sfnt.h (TT_Get_Metrics_Func),
src/pshinter/pshglob.c (psh_globals_set_scale),
src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
TT_Save_Context): Do it.

* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
(tt_size_run_fpgm, tt_size_run_prep): Updated.
/external/freetype/src/truetype/ttgload.c
03987bfdbf43a86c59702fdafe98c95cce1b208a 16-Oct-2014 Werner Lemberg <wl@gnu.org> A better fix for Savannah bug #43392.
Suggested by Doug Felt <dougfelt@gmail.com>.

* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
`vertAdvance' to zero...

* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
value for `vertAdvance' based on `linearVertAdvance' in case
`vertAdvance' is zero. Note that the previous computed ad-hoc value
for `linearVertAdvance' was apparently not tested in a real-life
situation.
/external/freetype/src/truetype/ttgload.c
441b3f389856805ee692dd08849976460ad309e9 12-Jul-2014 Werner Lemberg <wl@gnu.org> [truetype] Improve handling of buggy `prep' tables.

In case of an error in the `prep' table, no longer try to execute it
again and again. This makes FreeType handle endless loops in buggy
fonts much faster.

* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
and `cvt_ready' are now negative if not initialized yet, otherwise
they indicate the error code of the last run.

* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
tt_size_done_bytecode, tt_size_init_bytecode,
tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
Updated.

* src/truetype/ttgload.c (tt_loader_init): Updated.
* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
and `prep' only if we are in the `glyf' table.
/external/freetype/src/truetype/ttgload.c
6497b9c5a599071a631664a55cf32b7d96ce3474 13-Jun-2014 Werner Lemberg <wl@gnu.org> Fix compiler warnings.
Reported by Wojciech Mamrak <wmamrak@gmail.com>.

* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
`unsigned' issues.

* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
happy.

* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
for `fir'.
Fix `signed' vs. `unsigned' issues.

* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
(WRITE_USHORT, WRITE_ULONG): Add proper casts.

* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.

* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
and `B2'.
/external/freetype/src/truetype/ttgload.c
b24e8d33561e4f5b8976ce1f01aab172dc1c7eb9 06-Mar-2014 Sean McBride <sean@rogue-research.com> Remove more clang analyzer warnings.

* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
(TT_Load_Glyph): Remove dead stores.
/external/freetype/src/truetype/ttgload.c
8bb09b0fe4d9747bcf452a777cabed7d7ef435e2 11-Dec-2013 Infinality <infinality@infinality.net> [truetype] Simplify logic of rendering modes.

This patch unifies the subpixel and non-subpixel cases.

* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
`grayscale_hinting'; all code should refer to `grayscale' instead.
Remove unused `native_hinting' member.
Rename `subpixel_hinting' member to `subpixel.

* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
(tt_loader_init): Updated.

* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
Updated.
/external/freetype/src/truetype/ttgload.c
69d1a3609e207e2666ac3f67eb1798408ce8f5eb 10-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix scaling of vertical phantom points.

* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
pp4.x also.
/external/freetype/src/truetype/ttgload.c
7318b1aa2f519f0623001765dc6ed3174ecc61f9 10-Dec-2013 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
05c786d990390a7ca18e62962641dac740bacb06 10-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix positioning of composite glyphs.
Problem reported by Nigel Tao <nigeltao@golang.org>.

* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
the glyph (component) by a fractional value computed from the LSB
phantom point. This is wrong, since the horizontal phantom points
get rounded horizontally later on.
/external/freetype/src/truetype/ttgload.c
98d185c79428feb25c57fd187cd4f8d0e464527e 07-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Next round in phantom point handling.

Greg Hitchcock provided very interesting insights into the
complicated history of the horizontal positions of the TSB and BSB
phantom points.

* src/truetype/ttgload.c (TT_LOADER_SET_PP)
[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
`grayscale_hinting' flags as conditionals for the x position of TSB
and BSB.
/external/freetype/src/truetype/ttgload.c
c2b4753970b7f7bf1bbee3dda54d5eba53c797d1 03-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Remove dead code.

Reported by Nigel Tao <nigeltao@golang.org>.

* include/internal/tttypes.h (TT_LoaderRec): Remove unused
`preserve_pps' field.
* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
/external/freetype/src/truetype/ttgload.c
bdd5e75e4e2f30697f1635628d979af7a56e5f70 03-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix phantom point handling.

This is a further improvement to the changes from 2013-11-06.

* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
are rounded horizontally, vertical ones are rounded vertically.
(TT_LOADER_SET_PP): The horizontal position of vertical phantom
points in pre-ClearType mode is zero, as shown in the OpenType
specification.
/external/freetype/src/truetype/ttgload.c
a44b784bca958934b522830b98fb9866275f9fa2 02-Dec-2013 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
64872a50165d842d72c520f5f7e19124dbf7822d 02-Dec-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix change from 2013-11-20.

Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
`IS_HINTED' clause.
Also remove redundant check using `maxSizeOfInstructions' – in
simple glyphs, the bytecode data comes before the outline data, and
a validity test for this is already present.
/external/freetype/src/truetype/ttgload.c
2862686996955651538bf9e4481b52d3ff8bad74 20-Nov-2013 Werner Lemberg <wl@gnu.org> [truetype] Don't trust `maxp's `maxSizeOfInstructions'.

Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see

http://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html

for details.

* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
tables also for setting `autohint'.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
`TT_Process_Composite_Glyph' for handling unreliable values of
`maxSizeOfInstructions'.
/external/freetype/src/truetype/ttgload.c
ea5c781afaba862426a077ace7382a3e5381f1b3 12-Nov-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix last `truetype' commit.

* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
Return error value.
(load_truetype_glyph): Updated.
/external/freetype/src/truetype/ttgload.c
5e225b7c15e6c6ff8b4b7059597319b26271bc67 06-Nov-2013 Werner Lemberg <wl@gnu.org> [truetype] Fix handling of phantom points in composite glyphs.
Problem reported by Nigel Tao <nigeltao@golang.org>.

This is a follow-up commit to the previous one.

* src/truetype/ttgload.c (load_truetype_glyph): Call
`tt_get_metrics' after loading the glyph header.
/external/freetype/src/truetype/ttgload.c
7e4b0fbfdd1e15780ff1899bb442f70ffc83791b 06-Nov-2013 Werner Lemberg <wl@gnu.org> [truetype] Improve emulation of vertical metrics.

This commit also improves the start values of vertical phantom
points. Kudos to Greg Hitchcock for help.

* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
`yMax' value. Replace code with fixed Microsoft definition.
(tt_get_metrics): Updated.
(TT_LOADER_SET_PP): Add explanation how to initialize phantom
points, taken from both the OpenType specification and private
communication with Greg (which will eventually be added to the
standard).
Fix horizontal position of `pp3' and `pp4'.

* src/truetype/ttgload.h: Updated.

* src/truetype/ttdriver.c (tt_get_advances): Updated.

* docs/CHANGES: Updated.
/external/freetype/src/truetype/ttgload.c
c6064286939f0688df8898d648d8743000bc66bf 05-Nov-2013 Werner Lemberg <wl@gnu.org> [truetype] Correctly reset point tags for glyph components.
Problem reported by Nigel Tao <nigeltao@golang.org>.

* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
/external/freetype/src/truetype/ttgload.c
e921bdebdee3525b0d74053ad5752c59868bf98d 01-Nov-2013 Werner Lemberg <wl@gnu.org> Comment fix.
/external/freetype/src/truetype/ttgload.c
ffee64afb83f66b9cd599d61f1e49c8100010a9e 26-Aug-2013 Werner Lemberg <wl@gnu.org> Better tracing of loaded glyphs.

Previously, the loading of a glyph was traced at level 4, if at all.
With this change, all font loading routines emit a tracing message
at level 1, making it easier to select tracing output (for example
using F2_DEBUG="any:1 afhints:7 aflatin:7").

* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
messages.
* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
message.
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
/external/freetype/src/truetype/ttgload.c
5e094c6fb2ddd6e8901a5679e2cbb8fa476a38ee 10-Jun-2013 Werner Lemberg <wl@gnu.org> [truetype] Improve handling of broken sbit advance widths.

* src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
`linearHoriAdvance' if the sbit's `horiAdvance' value is zero.

Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
/external/freetype/src/truetype/ttgload.c
45392b77a8207d9e60b6c7c2aea3e1b659da2519 05-Jun-2013 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/truetype/ttgload.c
f04951af8dd16495ebe5bd45a3e33ad30f511553 17-May-2013 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/truetype/ttgload.c
89f5064765bdedd1f3449d3f8d7b96bfe86aa23d 14-Mar-2013 Werner Lemberg <wl@gnu.org> */*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate.

FT_Err_XXX and friends are no longer directly used in the source
code.
/external/freetype/src/truetype/ttgload.c
e3c9301581a450fae5db73a3b94b10ed6a0aeb5e 14-Mar-2013 Werner Lemberg <wl@gnu.org> */*: Use FT_Err_Ok only.

This is a purely mechanical conversion.
/external/freetype/src/truetype/ttgload.c
059bc335ce42220b222763379e89d0cbf2b949eb 14-Mar-2013 Werner Lemberg <wl@gnu.org> */*: Use `FT_THROW'.

This is essentially a mechanical conversion, adding inclusion of
`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
stand-alone compiling modes of the rasterizer modules.

To convert the remaining occurrences of FT_Err_XXX and friends it is
necessary to rewrite the code. Note, however, that it doesn't harm
if some cases are not handled since FT_THROW is a no-op.
/external/freetype/src/truetype/ttgload.c
6b9034f0fdfcd84e62e7c0d29bfd458325f4ccd7 28-Jan-2013 Werner Lemberg <wl@gnu.org> Formatting, comment improvements.
/external/freetype/src/truetype/ttgload.c
a5fe359596df306666b7f5abc13f1b605359d22c 26-Jan-2013 Infinality <infinality@infinality.net> [truetype] Align more to ClearType whitepaper for sph.
/external/freetype/src/truetype/ttgload.c
72447195cef09a0cb0139831f11faf1cef7cc8d6 25-Jan-2013 David 'Digit' Turner <digit@google.com> [truetype] Fix C++ compilation.

* src/truetype/ttsubpix.h: Updated.
(SPH_X_SCALING_RULES_SIZE): Moved and renamed to...
* src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This.
(sph_X_SCALING_Rules): Removed.
(scale_test_tweak): Make function static.
(sph_test_tweak_x_scaling): New function.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated.
/external/freetype/src/truetype/ttgload.c
e9f330adf6eddd1a70a3da33a585b55e0ecddd46 24-Jan-2013 Werner Lemberg <wl@gnu.org> [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.
/external/freetype/src/truetype/ttgload.c
b6de8e661251ebd14b363b8286e68ce16de20174 24-Jan-2013 Alexei Podtelezhnikov <apodtele@gmail.com> [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.
/external/freetype/src/truetype/ttgload.c
7190098098f7e1021e9e0c5c4103c5f9f657813f 16-Jan-2013 Werner Lemberg <wl@gnu.org> Minor.
/external/freetype/src/truetype/ttgload.c
3a40612723c0103c840eaf08536162aa89edca8a 16-Jan-2013 David Turner <david@freetype.org> [truetype] Improve sub-pixel code.

This patches fixes many issues with the ttsubpix implementation.

1. Data tables are defined, instead of declared, in the header, and
thus copied into each source file that includes it.

2. These tables were defined as global, mutable, visible variables,
and thus costing private RAM to every process that loads the
library (> 50 KB / process, this is huge!).

Additionally, this also made the library export the symbols
completely needlessly.

3. Missing `sph_' and `SPH_' prefixes to some of the definitions.

Note that this doesn't try to fix the incredibly inefficient storage
format for the data tables used by the code. This one will require
another pass in the future.

* src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS):
Renamed to...
(SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This.
Update all users.

(SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where
appropriate.

(Font_Class): Rename to...
(SPH_Font_Class): This. Decorate with `const' where appropriate.

* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
Decorate arguments with `const' where appropriate.

Move font tweaking tables to...

* src/truetype/ttsubpic.c: This file and decorate them with `static'
and `const' where appropriate.

(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
(spu_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
Update all users.
/external/freetype/src/truetype/ttgload.c
7d6dc907d8fac01bb0d5517c86fa34e3ec79c713 27-Dec-2012 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (tt_loader_init): Add more tracing.
/external/freetype/src/truetype/ttgload.c
df018924d91bd0d35bd9021c9932869a166a0d11 20-Dec-2012 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
1749ae20a7ef313c4a23a470f8f2629abee71aad 18-Dec-2012 Infinality <infinality@infinality.net> [truetype] Minor performance enhancement.
/external/freetype/src/truetype/ttgload.c
71f242c26ace99cdebecb9fdda0a580da89e3112 17-Dec-2012 Infinality <infinality@infinality.net> [truetype ] Remove unusued code. Add minor fixes.
/external/freetype/src/truetype/ttgload.c
06e31e9b5e210a498067d392f27c81aa0199b4bf 27-Aug-2012 Werner Lemberg <wl@gnu.org> [truetype] Fix compilation warning.

* src/truetype/ttgload.c (IS_HINTED): Move macro to...
* src/truetype/ttobjs.h: This header file.
/external/freetype/src/truetype/ttgload.c
b3953aa7c4de80d1f51aa0a5d422bb88b1f3bcf2 28-Jun-2012 Werner Lemberg <wl@gnu.org> [truetype] Set the `subpixel_positioned' flag unconditionally.

This is how the code currently behaves.

* src/truetype/ttgload.c (tt_loader_init): Do it.
/external/freetype/src/truetype/ttgload.c
83c0ebabc2125215d8179fb777366fbce9777bb8 27-Jun-2012 Werner Lemberg <wl@gnu.org> 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.
/external/freetype/src/truetype/ttgload.c
79e36baebba4532dff92ca1ca43c4dc2f779fd32 18-Jun-2012 Infinality <infinality@infinality.net> [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.
/external/freetype/src/truetype/ttgload.c
9c6d1ac39c417dcd0e0c7389e9afd09f5104bc0a 07-Apr-2012 Werner Lemberg <wl@gnu.org> Remove compiler warning.

* src/truetype/ttgload.c (TT_Load_Glyph)
[!TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Access `glyph->face' directly.
/external/freetype/src/truetype/ttgload.c
0fc8debeb6c2f6a8a9a2b97332a7c8a0a1bd9e85 02-Mar-2012 Werner Lemberg <wl@gnu.org> [truetype] Fix Savannah bug #35689.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
point.
/external/freetype/src/truetype/ttgload.c
9290fa9022c29c616ea783dc1028aad1ea92f2ee 29-Feb-2012 Werner Lemberg <wl@gnu.org> [truetype] Remove redundant check.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove reduntant
second check for ordered contour start points.
/external/freetype/src/truetype/ttgload.c
8c82ec5b17d0cfc9b0876a2d848acc207a62a25a 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> 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.
/external/freetype/src/truetype/ttgload.c
6e3fee0b541e39511cc36d3ac4811d21222d5331 21-Mar-2011 Werner Lemberg <wl@gnu.org> Typo.
/external/freetype/src/truetype/ttgload.c
18931a5a5dacf1a0bb2c54eed2bf4c607245f893 01-Feb-2011 Werner Lemberg <wl@gnu.org> [truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also.

* src/truetype/ttgload.c (tt_loader_init): Handle
`FT_LOAD_PEDANTIC'.
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
tt_size_init_bytecode, tt_size_ready_bytecode): New argument to
handle pedantic mode.
* src/truetype/ttobjs.h: Updated.
/external/freetype/src/truetype/ttgload.c
91a97164ca7af75d7c28731a2f2b396c55728d7e 30-Jan-2011 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/truetype/ttgload.c
6abb9232b6e1c6b26ff1423a1f0be84e89fa297c 14-Sep-2010 Werner Lemberg <wl@gnu.org> Improve tracing messages.

* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
message.
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
tracing message.
* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
glyph doesn't fit into a small bitmap container.
/external/freetype/src/truetype/ttgload.c
ae425e518975835ef81620d566b9dc84bf73cc36 29-Jun-2010 Werner Lemberg <wl@gnu.org> Fix minor tracing issues.

* src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
/external/freetype/src/truetype/ttgload.c
f765e4403cae51d2b0f5e603eb3993c05fcb4fda 24-Jun-2010 Werner Lemberg <wl@gnu.org> */*: Use module specific error names where appropriate.
/external/freetype/src/truetype/ttgload.c
6da023d1ff9b70f78c900774cc5d362af53ad92c 20-May-2010 Werner Lemberg <wl@gnu.org> TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.

Acroread does the same.

* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
`Update_Max' to adjust size of instructions array if necessary and
add a rough safety check.

(load_truetype_glyph): Save `loader->byte_len' before recursive
call.

* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
Declare it as FT_LOCAL.
/external/freetype/src/truetype/ttgload.c
8c4cce52595dc4ac55bd5832703d74d7f12afe05 05-Apr-2010 John Tytgat <John.Tytgat@esko.com> Fix Savannah bug #29404.

* src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1
of `head' table of TrueType fonts).
/external/freetype/src/truetype/ttgload.c
10cf38879521b7f16e7f0bc83183f32858de05a1 18-Feb-2010 Chris Liddell <chris.liddell@artifex.com> Fix Savannah bug #28905.

Initialize phantom points before calling the incremental interface
to update glyph metrics.

* src/truetype/ttgload.c (tt_get_metrics_incr_overrides)
[FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from...
(tt_get_metrics): This.
Updated.
(load_truetype_glyph): Use tt_get_metrics_incr_overrides.
/external/freetype/src/truetype/ttgload.c
980b76ea5e189f42259d559df19024cd4fe22aca 10-Feb-2010 Ken Sharp <ken.sharp@artifex.com> Really fix Savannah bug #28678 (part 1).

After long discussion, we now consider the character width vector
(wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
direction only. For example, if you are using the horizontal
writing direction, you get the horizontal and vertical components of
the advance width for this direction. Note that OpenType and CFF fonts
don't have such a vertical component; instead, the GPOS table can be
used to generate two-dimensional advance widths (but this isn't
handled by FreeType).

* include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
`advance_v' field to hold the vertical component of the advance
value.

* src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
(cff_slot_load), src/type1/t1gload.c
(T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
(cid_load_glyph): Use it.
/external/freetype/src/truetype/ttgload.c
fe6da50d04675baab18cd09359ba145e52b587c7 05-Jan-2010 Werner Lemberg <wl@gnu.org> Thinkos.
/external/freetype/src/truetype/ttgload.c
3445e4f942cd85b673195937bb19a705242b4e55 04-Jan-2010 Werner Lemberg <wl@gnu.org> Make incremental interface work with TrueType fonts.

* src/truetype/ttgload.c (load_truetype_glyph): Don't check
`glyf_offset' if incremental interface is used.
/external/freetype/src/truetype/ttgload.c
9045f5bdf2ddb9628530392cc90528752e6f9567 03-Dec-2009 Werner Lemberg <wl@gnu.org> Fix compiler warnings.

* src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
proper preprocessor conditional.
* src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
/external/freetype/src/truetype/ttgload.c
c4b22144d32f49e80aead31cff286d0653ab3ad0 15-Nov-2009 Werner Lemberg <wl@gnu.org> Add tracing messages for advance values.

* src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
(TT_Get_HMetrics, TT_Get_VMetrics): Do it.
/external/freetype/src/truetype/ttgload.c
c0aeef4571915f9324fe2018507219d9bb31e9e1 08-Nov-2009 Werner Lemberg <wl@gnu.org> Fix compiler warning.
Reported by Jeremy Manson <jeremy.manson@gmail.com>.

* src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
/external/freetype/src/truetype/ttgload.c
f186ba682d72cc38bc0dc09b07cdd5ef6cf98482 03-Nov-2009 Werner Lemberg <wl@gnu.org> Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
Reported by Jeremy Manson <jeremy.manson@gmail.com>.

src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
quickly load the glyph header only.
Update all callers.
(tt_loader_init): Add parameter to quickly load the `glyf' table
only.
Update all callers.
(TT_Load_Glyph): Compute linear advance values for embedded bitmap
glyphs too.
/external/freetype/src/truetype/ttgload.c
422210be649ade6ae1bcf7077c164ac3a5142f75 03-Nov-2009 Werner Lemberg <wl@gnu.org> Improve code readability.

* src/ttgload.c (load_truetype_glyph): Move metrics calculation
to...
(tt_get_metrics): This new function.
/external/freetype/src/truetype/ttgload.c
ac0d52d851cb1a15c561556807d03ad8b4782a03 02-Nov-2009 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/truetype/ttgload.c
d30062d25c9bc4431b7076004d61028d775fbe7f 08-Sep-2009 Werner Lemberg <wl@gnu.org> Whitespace.
/external/freetype/src/truetype/ttgload.c
4694ea2b9519d8128cfdc537629c292fc9d627f3 02-Sep-2009 Bram Tassyns <bramt@enfocus.be> 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.
/external/freetype/src/truetype/ttgload.c
9206eba291017e9917d5e17e94ea6d4fcbca9f0f 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> truetype: Truncate the deltas of composite glyph at 16-bit values.
/external/freetype/src/truetype/ttgload.c
1b6f1d20b552aadeb4dabd3514e876ca9294cce4 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> truetype: Truncate the instructions upto 16-bit per a glyph.
/external/freetype/src/truetype/ttgload.c
9fc4094375d0bc2d06167b7306fafad28eba7909 31-Jul-2009 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> truetype: Cast the scaling params to 32-bit for LP64 system.
/external/freetype/src/truetype/ttgload.c
858abbedc0c156965aba830bfc2072a3c21144cf 26-Jun-2009 Werner Lemberg <wl@gnu.org> For warning messages, replace FT_ERROR with FT_TRACE0.

FT_ERROR is now used only if a function produces a non-zero `error'
value.

Formatting, improving and harmonizing debug strings.
/external/freetype/src/truetype/ttgload.c
72271140434028186a49a5dc5925f0727559e46f 18-Jun-2009 Werner Lemberg <wl@gnu.org> Fix B/W rasterization of subglyphs with different drop-out modes.

Normally, the SCANMODE instruction (if present) to set the drop-out
mode in a TrueType font is located in the `prep' table only and thus
valid for all glyphs. However, there are fonts like `pala.ttf'
which additionally contain this instruction in the hinting code of
some glyphs (but not all). As a result it can happen that a
composite glyph needs multiple drop-out modes for its subglyphs
since the rendering state gets reset for each subglyph.

FreeType collects the hinted outlines from all subglyphs, then it
sends the data to the rasterizer. It also sends the drop-out mode
-- after hinting has been applied -- and here is the error: It sends
the drop-out mode of the last subglyph only; drop-out modes of all
other subglyphs are lost.

This patch fixes the problem; it adds a second, alternative
mechanism to pass the drop-out mode: For each contour, the
rasterizer now checks the first `tags' array element. If bit 2 is
set, bits 5-7 contain the contour's drop-out mode, overriding the
global drop-out mode.

* include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.

* src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
`tags[0]'.

* src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
Use bits 3-5 instead of 0-2.
(New_Profile): Set the drop-out mode in the profile's `flags' field.
(Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
necessary.
(Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
mode.
/external/freetype/src/truetype/ttgload.c
780d7e05e71635812efd3b3a19d70e2411803136 17-Jun-2009 Werner Lemberg <wl@gnu.org> Minor simplification.
/external/freetype/src/truetype/ttgload.c
1474f439b54ef1553d0aac57ebde6261f1b2ed81 09-Dec-2008 Werner Lemberg <wl@gnu.org> Really fix Savannah bug #25010: An SFNT font with neither outlines
nor bitmaps can be considered as containing space `glyphs' only.

* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
a `glyf' table is missing.

* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
`glyf' table but a non-zero `loca' entry.
(tt_loader_init): Handle missing `glyf' table.

* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.

* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
nor bitmaps is scalable.
/external/freetype/src/truetype/ttgload.c
35ae574a51363f2e5a6d1cda1ff168e1b2bd9fc0 02-Oct-2008 Werner Lemberg <wl@gnu.org> Add casts for stupid compilers. Reported by Graham.
/external/freetype/src/truetype/ttgload.c
28534d616be45a45767e5cfa65164a863d068eea 01-Sep-2008 David Turner <david@freetype.org> * include/freetype/ftadvanc.h, src/base/ftadvanc.c,
include/freetype/config/ftheader.h, include/freetype/freetype.h,
src/base/Jamfile, src/base/rules.mk, src/cff/cffdrivr.c,
src/cff/cffgload.c, src/cff/cffgload.h, src/truetype/ttdriver.c,
src/truetype/ttgload.h, src/truetype/ttgload.c, src/type1/t1driver.c,
src/type1/t1gload.h, src/type1/t1gload.c:
Add a new header named FT_ADVANCES_H declaring some new APIs
to extract the advances of one or more glyphs without necessarily
loading their outlines. Also provide 'fast loaders' for the
TrueType, Type1 and CFF font drivers (more to come later)

* autogen.sh: add checks for minimum version of the 'autotools'
stuff.
/external/freetype/src/truetype/ttgload.c
745a4f42a500c441ba4be4e096c6e63309ab0709 23-Jun-2008 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
with IS_HINTED.

* docs/CHANGES: Updated.
/external/freetype/src/truetype/ttgload.c
5df5dbb722cf008b3f617448d8d28fde4d725556 22-Jun-2008 Werner Lemberg <wl@gnu.org> Enable access to the various dropout rules of the B&W rasterizer.
Pass dropout rules from the TT bytecode interpreter to the
rasterizer; temporarily this is enabled only if
`USE_SCAN_CONVERSION_RULES' is defined.

* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
FT_OUTLINE_EXCLUDE_STUBS): New flags for for FT_Outline.

* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
OpenType specification.
Fix mode 4 computation.
(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.

* src/truetype/ttgload.c (TT_Load_Glyph)
[USE_SCAN_CONVERSION_RULES]: Convert scan conversion mode to
FT_OUTLINE_XXX flags.

* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
/external/freetype/src/truetype/ttgload.c
0c52faa9db22d32e22f6fe2a57da9d32c7e82d35 25-May-2008 Werner Lemberg <wl@gnu.org> add missing casting
/external/freetype/src/truetype/ttgload.c
57a94c4863a9e70926304b247b6f16b3b8a1c6ec 25-May-2008 Werner Lemberg <wl@gnu.org> whitespace
/external/freetype/src/truetype/ttgload.c
ffa496574ae715630a466a810986e212d2de59e0 25-May-2008 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Move initialization
of the graphics state for subglyphs to...
(TT_Hint_Glyph): This function.
Hinting instructions for a composite glyph apparently refer to the
just hinted subglyphs, not the unhinted, unscaled outline. This
seems to fix Savannah bugs #20973 and (at least partially) #23310.
/external/freetype/src/truetype/ttgload.c
89d64fa6e3c9d7ab1b64e3e1c7c96533f5266510 17-May-2008 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
glyphs correctly. Patch from Savannah bug #23277.
/external/freetype/src/truetype/ttgload.c
bf391cb858e42b555ea1f0379eecd8d133fd0da4 10-Jan-2008 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
where the number of contours in a simple glyph is zero (and which
does contain an entry in the `glyf' table). This fixes Savannah bug
#21990.
/external/freetype/src/truetype/ttgload.c
bd7e1c3ce049aca25b34b8b50a162c6e2f297b82 06-Dec-2007 Werner Lemberg <wl@gnu.org> Pass options from one configure script to another as-is (not
expanded). This is needed for options like
--includedir='${prefix}/include'.

* builds/unix/detect.mk, configure: Prevent argument expansion in
call to the (real) `configure' script.



* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
TT_USE_BYTECODE_INTERPRETER isn't defined.



There exist CFFs which contain opcodes for the Type 1 operators
`hsbw' and `closepath' which are both invalid in Type 2 charstrings.
However, it doesn't harm to support them.

* src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
`cff_op_closepath.'
(cff_argument_counts): Ditto.

(cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
and 13 (hsbw) which are invalid in Type 2 charstrings.
/external/freetype/src/truetype/ttgload.c
d21fe6e5d605648eb2706ab12f387d09a3d9c875 11-Jul-2007 Werner Lemberg <wl@gnu.org> Really restore changes introduced in revision 1.178.
/external/freetype/src/truetype/ttgload.c
0f6f367ec1a8ae01311523ceb8029b754b8b2945 04-Jul-2007 Werner Lemberg <wl@gnu.org> Better maxComponentDepth test.
/external/freetype/src/truetype/ttgload.c
3033f4366b68024ca56f53a53e568e1805436446 04-Jul-2007 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
recursion depth of 1. This was the maximum value in TrueType 1.0,
and some older fonts don't set this field correctly.

* src/gxvalid/gxvmort1.c
(gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
/external/freetype/src/truetype/ttgload.c
0ba89912928144811c0294ae5903658c0a33e387 01-Jul-2007 David Turner <david@freetype.org> fix a small bug in the TrueType loader that created distortion in the result
of bytecode-hinted text. Werner, feel free to package 2.3.5 now :-)
/external/freetype/src/truetype/ttgload.c
8f626b04f3c41ad91441cabdf57305869796c483 23-Jun-2007 David Turner <david@freetype.org> fix stupid typo that prevented the truetype loader from working correctly
/external/freetype/src/truetype/ttgload.c
e12ed563d600299fc7e009311ed412be6fde4188 17-Jun-2007 Werner Lemberg <wl@gnu.org> * src/tools/ftrandom.c (font_size): New global variable.
(TestFace): Use it.
(main): Handle new option `--size' to set `font_size'.
(Usage): Updated.

Formatting.
/external/freetype/src/truetype/ttgload.c
815911ae2aac36e581fb7bc2a24024859f6d2771 16-Jun-2007 David Turner <david@freetype.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): check the well-formedness
of the contours array when loading a glyph

* src/truetype/ttinterp.c (Ins_IP): check argument ranges to reject
bogus operations properly
/external/freetype/src/truetype/ttgload.c
f6c120f8267ac44e2b8a022e28bbf297b9f310b7 11-Jun-2007 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Document FT_Face_CheckTrueTypePatents).

Formatting, reformulations.
/external/freetype/src/truetype/ttgload.c
7fa30ee8793030afc912d84fdf8df9a843498e02 11-Jun-2007 David Turner <david@freetype.org> remove compiler warning
/external/freetype/src/truetype/ttgload.c
5f5e544611fd882d38239d6afccf0c968700895a 11-Jun-2007 David Turner <david@freetype.org> slight speed-up of the TrueType glyph loader
/external/freetype/src/truetype/ttgload.c
6e2f9d5db79bfd0336c652f64a1d17c8234022e8 05-Jun-2007 Werner Lemberg <wl@gnu.org> Improve tracing messages.
/external/freetype/src/truetype/ttgload.c
1c8980ef4a6b8a5d1f3a4828dbb2b9deda203d76 25-May-2007 Werner Lemberg <wl@gnu.org> * docs/CHANGES: Updated.

Formatting.
/external/freetype/src/truetype/ttgload.c
7890686d8082b914f86f12de5cf8c61248b17eff 22-May-2007 David Turner <david@freetype.org> fix crash when not using the bytecode interpreter with TrueType fonts
/external/freetype/src/truetype/ttgload.c
6f99c88801722e79e11aebdccb462c2dbb0c86d8 19-May-2007 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
before handling subglyphs so that it can be reinitialized each time.
This fixes Savannah bug #19859.
/external/freetype/src/truetype/ttgload.c
d069246805f98b11ba3bc3445f6e3bd5c257320c 16-May-2007 Werner Lemberg <wl@gnu.org> Oops! Incorrect application of a patch...
/external/freetype/src/truetype/ttgload.c
607dec79bb6ad524a9d2e7f93b836b795fe234cf 15-May-2007 Werner Lemberg <wl@gnu.org> * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
variable.
* src/autofit/afloader.c (af_loader_load_g): Ditto.

* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
(open_face_from_buffer): Initialize `stream'.
(FT_Request_Metrics): Remove unused variable.
Remove redundant `break' statements.
(FT_Get_Track_Kerning): Remove unused variable.

* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
afm_parse_kern_data): Remove redundant
`break' statements.
(afm_parser_parse): Ditto.
Don't use uninitialized variables.

* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
Use `|' operator instead of `^' to set it.
Update all users.

* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
comparison.
(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
(TT_Load_Glyph): Remove unused variable.
/external/freetype/src/truetype/ttgload.c
cc712a248c2075b126429d677357bb3a732759a1 27-Apr-2007 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
number of points in contours. Problem reported by Victor Stinner
<victor.stinner@haypocalc.com>.
(TT_Process_Simple_Glyph): Synchronize variable types.
/external/freetype/src/truetype/ttgload.c
f4a52a6c422a190be6d2b04d15e89cd2c627b2aa 09-Apr-2007 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
memory stream to avoid a crash with the incremental memory
interface (Savannah bug #19260).
/external/freetype/src/truetype/ttgload.c
4b2e83d5b59f3beeb043a80bcf289a33500f0fff 01-Feb-2007 Werner Lemberg <wl@gnu.org> A new set of spelling fixes from Alexei.

Add some copyright messages.
/external/freetype/src/truetype/ttgload.c
6e87ed9f04f7914e15f9284b0b762b730222c399 26-Jan-2007 Werner Lemberg <wl@gnu.org> Spelling fixes from Alexei.
/external/freetype/src/truetype/ttgload.c
f6294399056077c92367301623c093db285dadbf 06-Jan-2007 Werner Lemberg <wl@gnu.org> formatting, copyright years
/external/freetype/src/truetype/ttgload.c
384be23418f8204baf785191a49f447d4ab40b9e 05-Jan-2007 David Turner <david@freetype.org> * src/truetype/ttobjs.h, src/truetype/ttobjs.c,
src/truetype/ttgload.c: do not allocate interpreter-specific
tables in memory if we're not going to load glyphs with it
anyway.
/external/freetype/src/truetype/ttgload.c
6b87e6f0ff7867f3faf3959cbeaf6f8ac5122ab0 02-Jan-2007 Werner Lemberg <wl@gnu.org> * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
Remove compiler warning.

Formatting.
/external/freetype/src/truetype/ttgload.c
115b442b23e1fe05237314478d52197f4525114a 22-Dec-2006 David Turner <david@freetype.org> * src/autofit/aflatin.c, src/truetype/ttgload.c: removing compiler
warnings

* builds/win32/visualc/freetype.vcproj: adding _CRT_SECURE_NO_DEPRECATE
to avoid deprecation warnings with Visual C++ 8
/external/freetype/src/truetype/ttgload.c
91959bf24c3ecf9c46cec9916e787e5e3457fafd 22-Nov-2006 Werner Lemberg <wl@gnu.org> Fix Savannah bug #15553.

* src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
program after a change from mono to grayscaling (and vice versa).
Use correct constant for comparison to get `exec->grayscale'.
/external/freetype/src/truetype/ttgload.c
6aa260ce61d6567a94c47401670ba2f4c7d40005 26-Aug-2006 David Turner <david@freetype.org> support for "automatic unpatented hinting" added
we still need to determine the list of "trick" CJK fonts
that are going to toggle the bytecode interpreter instead
of the auto-hinter
/external/freetype/src/truetype/ttgload.c
123429962025b376145a2541cc9b980722ad1440 19-Aug-2006 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/truetype/ttgload.c
33f5f24957397d37ff44f27098937f6e1aceed32 16-Aug-2006 David Turner <david@freetype.org> * include/freetype/internal/ftgloadr.h,
include/freetype/internal/tttypes.h, src/base/ftgloadr.c,
src/base/ftobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c,
src/truetype/ttobjs.c: improvements to native TrueType hinting,
this is a first try, controlled by the FIX_BYTECODE macro in
src/truetype/ttinterp.c
/external/freetype/src/truetype/ttgload.c
9fbfc6af07bf1d199712b317e5a179237834b144 16-Aug-2006 David Turner <david@freetype.org> * src/cid/cidgload.c (cid_slot_load_glyph),
src/truetype/ttgload.c (tt_prepare_zone): removing compiler warnings
/external/freetype/src/truetype/ttgload.c
a2da05c2c539c603aa3587a1acb07bff8cdab599 25-Jun-2006 Werner Lemberg <wl@gnu.org> Fix two hinting bugs as reported in
http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.

* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
`first_point' member.

* src/truetype/ttgload.c (tt_prepare_zone): Initialize
`first_point'.
(TT_Process_Composite_Glyph): Always untouch points.

* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
`first_point' and `last_point' in case of composite glyphs.
(Ins_IUP): Fix computation of `end_point'.
/external/freetype/src/truetype/ttgload.c
545c4e566e9785ba3c84062e211d21aeb5be989a 18-May-2006 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.


Formatting, documentation fixes.
/external/freetype/src/truetype/ttgload.c
281679de8591f6884ea904c9c812e520ba3cc5dc 17-May-2006 David Turner <david@freetype.org> * include/freetype/internal/tttypes.h, src/autofit/afangles.c,
src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c,
src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c,
src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c,
src/type1/t1gload.c:

this is a major patch used to drastically improve the performance
of loading glyphs. This both speeds up loading the glypn vector
themselves and the auto-fitter.

note that we've started using inline assembler with GCC to
implement FT_MulFix, given that this function is so damn
important for the engine's performance.

the resulting speed-up is about 25%.
/external/freetype/src/truetype/ttgload.c
9a2b3b6d55f0266550770f95626de677c00e7282 14-Feb-2006 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
return error if table is missing.
Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.

* src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
tables. The last change makes Mac bitmap-only font not load and this
fixes it.

* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation error
when FT_CONFIG_OPTION_INCREMENTAL is defined.
/external/freetype/src/truetype/ttgload.c
f5aa47beb077998675f5adc38c94aaf7ee8a447e 14-Feb-2006 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> Clean up the SFNT_Interface. Table loading functions are now named
after the tables' tags; `hdmx' is TrueType-specific and thus the code
is moved to the truetype module; `get_metrics' is moved here from the
truetype module so that the code can be shared with the cff module.

This pass involves no real changes. That is, the code is moved
verbatim mostly. The only exception is the return value of
`tt_face_get_metrics'.

* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.

* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Metrics-related tables' loading
and parsing code is moved here.
Move `tt_face_get_metrics' here from the truetype module. The return
value is changed from `void' to `FT_Error'.

* include/freetype/internal/fttrace.h: New trace: ttmtx.

* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
parsing code is moved here.
New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'.
`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.

* src/cff/cffgload.c, src/cff/cffobjs.c: Update.

* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
/external/freetype/src/truetype/ttgload.c
1723dcc26169d4fecd8a85476421b2d18c8f8748 15-Jan-2006 Werner Lemberg <wl@gnu.org> Formatting, minor clean-ups.
/external/freetype/src/truetype/ttgload.c
212aee0d6ec8bcae84c3278e6f786d01044dea7d 15-Jan-2006 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake the
vertical metrics.

* src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
src/type1/t1gload.c, src/winfonts/winfnt.c: Fake the vertical metrics.
The fake metrics is monotone.

* src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
formattings in vertical metrics faking. There are still rooms for
improvements (and so do the CFF module).
/external/freetype/src/truetype/ttgload.c
f1c2b91e149dd24cb7ad54bcc6210ece8b076aa0 13-Jan-2006 Werner Lemberg <wl@gnu.org> Formatting, copyright year updates.
Decorate long constants with `L' and `UL' where appropriate.
/external/freetype/src/truetype/ttgload.c
fa7d6ab2171c9cfa8b9b45a2a6f6a0fdd2e4a190 13-Jan-2006 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * include/freetype/internal/sfnt.h (SFNT_Interface): New method
`load_strike_metrics' used to load the strike's metrics.

* src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.

* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.

* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
nominal size unless it is obviously incorrect.

* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
FNT driver.


Introduce new size selection interface.

* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec_):
Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
`select_size'.

* include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
(FT_Select_Size, FT_Request_Size): API additions to export the new
size selection interface.

* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
`FT_Request_Size'.

* include/freetype/internal/ftobjs.h (FT_Match_Size),
src/base/ftobjs.c (FT_Match_Size): New function to match a size
request against `available_sizes'. Drivers supporting bitmap strikes
can use this function to implement `request_size'.

* src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
Update to new size selection interface.

* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
selection interface.
Make `strike_index' FT_ULong and always defined.
Use `load_strike_metrics' provided by SFNT interface.
/external/freetype/src/truetype/ttgload.c
dcb8b7103fc8692cce093247188249fb786de2ff 16-Dec-2005 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.

* src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.

* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
(cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.

* doc/CHANGES: Mention the changes.
/external/freetype/src/truetype/ttgload.c
9fbd2ab8849d2517f2e7f4ce1af3c5a77893cbe5 28-Oct-2005 David Turner <david@freetype.org> - various performance enhancements
- fixing apinames.c, adding support for Watcom and Borland compilers
- adding generation of exported symbols list to the build system, including the Unix one !!

sorry Werner, I have no time to document this in ChangeLog at the moment
/external/freetype/src/truetype/ttgload.c
560d5fed38e757cc56d5c7b3ad79b9f16eca61c1 21-Oct-2005 Werner Lemberg <wl@gnu.org> Minor cleanups.

Copyright issues.
/external/freetype/src/truetype/ttgload.c
2293bb15c23e4e0ae3918f474ed567cf27153552 19-Oct-2005 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to be
invalid when FT_LOAD_NO_SCALE is set.
/external/freetype/src/truetype/ttgload.c
7c25946f085d5aaec73aaf5dbeb1b9be6d8ecbff 28-Sep-2005 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
18e44430ae30835bc5136208834fbac4920fbea5 23-Sep-2005 David Turner <david@freetype.org> * src/base/Jamfile: adding src/base/ftgxval.c

* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c, src/gxvalid/gxvfeat.c,
src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c,
src/gxvalid/gxvmort.c, src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c, src/gxvalid/gxvmort5.c,
src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c, src/gxvalid/gxvopbd.c,
src/gxvalid/gxvprop.c, src/sfnt/sfdriver.c, src/truetype/ttgload.c:
removing _many_ compiler warnings when compiling with Visual C++
at maximum level (/W4)
/external/freetype/src/truetype/ttgload.c
eff1ee3bd3624db2786102a93ca8fe80b34597da 31-Aug-2005 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
/external/freetype/src/truetype/ttgload.c
3bfb1c08c16895774533511841275471959ae05d 29-Aug-2005 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
/external/freetype/src/truetype/ttgload.c
2752bd1a462710d0b5f8ec76d973849b8780737a 22-Aug-2005 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
to (0,0) if bit 1 of the `head' table isn't set. This improves
rendering of buggy fonts.
/external/freetype/src/truetype/ttgload.c
15c1f5d36f646fd3f50d6fe3bdbe5cc17c56096b 20-Aug-2005 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
ttmetrics here. TrueType fonts with only sbits always have
ttmetrics.valid set to false.

* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
valid before loading outline glyph.

* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
/external/freetype/src/truetype/ttgload.c
ffa033b1bc91a10275f3e01da3971f24cc58a4b5 19-Aug-2005 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
warnings.

Formatting.
/external/freetype/src/truetype/ttgload.c
0142e6aff1f0836a7ec3902969491ab6ac7182aa 16-Aug-2005 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context with
slight changes.

* src/truetype/ttobjs.h (tt_slot_init): New function.

* src/truetype/ttobjs.c (tt_driver_init): Initialize execution context
here.
(tt_slot_init): New function to create extra points for the internal
glyph loader. We then use it directly, instead of face's glyph loader,
when loading glyph.

* src/truetype/ttdriver.c: Use tt_slot_init for glyph slot
initialization.
(TT_Load_Glyph): Load flag dependencies are handled here.
Return error if size is NULL.

* src/truetype/ttgload.c: Heavy cleanup and refactor.
(TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
(TT_Process_Simple_Glyph): Use loader->pp's instead of recalculating.
Use TT_Hint_Glyph.
No need to save/restore loader->stream before/after
TT_Vary_Get_Glyph_Deltas now.
(TT_LOADER_SET_PP): New macro to calculate and set the four phantom points.
(TT_Process_Composite_Component, TT_Process_Composite_Glyph,
load_truetype_glyph): Refactor load_truetype_glyph into these three functions.
Never set exec->glyphSize to 0. (close #13107)
Forget glyph frame before calling TT_Process_Simple_Glyph.
(TT_Load_Glyph, load_sbit_image, tt_loader_init): Refactor TT_Load_Glyph into
these three functions.
Set various fields of `glyph' here, instead of in load_truetype_glyph
and compute_glyph_metrics.
/external/freetype/src/truetype/ttgload.c
8e3fc5ea0c37ff52955aaff6ffe8325ac478bb77 03-Aug-2005 Werner Lemberg <wl@gnu.org> * src/otvalid/otvcommn.h: Remove dead code.

Formatting.
/external/freetype/src/truetype/ttgload.c
baed3dd044ddc73397e77018db7069bd189712d3 13-Jul-2005 Werner Lemberg <wl@gnu.org> Oops! Undo private change.
/external/freetype/src/truetype/ttgload.c
07437dba173627a8e37d391f7c83b390b564e937 13-Jul-2005 Werner Lemberg <wl@gnu.org> * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
Reported by Xerxes.
/external/freetype/src/truetype/ttgload.c
c56216283418771f42842efa72a334f2fc762e63 30-Jun-2005 David Turner <david@freetype.org> * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
removing compiler warnings (Visual C++ /W4)

* Jamfile, src/otvalid/{otvcommn.h,otvgdef.c,otvgpos.c,otvgsub.c,
otvjstf.c}: modified the code to use a different pre-processor trick
to implement the OTV_NEST1, OTV_NEST2 and OTV_NEST3 macros. The code
now compiles neatly with Visual C++. The 'otvalid' module has been
put in the Jamfile build again.
/external/freetype/src/truetype/ttgload.c
8cfb220eb976949396a4949320424e8c4e9fb19d 20-Jun-2005 Wu, Chia-I (吳佳一) <olvaffe@gmail.com> * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
ft_glyphslot_grid_fit_metrics.

* src/truetype/ttgload.c (compute_glyph_metrics): Use
ft_glyphslot_grid_fit_metrics.

* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
ft_glyphslot_grid_fit_metrics.
FT_Outline_Get_CBox is called twice.

* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
reasonable values when emboldening outline glyphs. The theoretic
ones are unrealistic.
/external/freetype/src/truetype/ttgload.c
49f4d34ed3dc58b087b34de661cd2c536d810882 16-Jun-2005 Werner Lemberg <wl@gnu.org> * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
halved.

* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
strength.
Don't increase slot->advance.y.



* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
(FREETYPE_PATCH): Set to 0.

* builds/unix/configure.ac (version_info): Set to 9:9:3.
Currently, we are still binary compatible.

* builds/win32/visualc/index.html,
builds/win32/visualc/freetype.dsp,
builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.

* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
s/2.1.9/2.1.10/.

* docs/CHANGES, docs/VERSION.DLL: Updated.

* ChangeLog: Split off older entries into...
* ChangeLog.20, ChangeLog.21: These new files.



The next release will be 2.2.0, so don't worry about source code
backwards compatibility.

* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
include/freetype/ftrender.h (FT_Glyph_TransformFunc,
FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
parameters with `const' where appropriate.



* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
to make glyphs centered vertically.

* src/truetype/ttgload.c (compute_glyph_metrics): Compute
vertBearingY to make glyphs centered vertically.
Fix some bugs in vertical metrics:

. loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
units.
. As we use the glyph's cbox to calculate the top bearing now
there iss no need to adjust `top'.



* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.


* docs/release: Update.
/external/freetype/src/truetype/ttgload.c
8744edfefb6e612d0a917ee9edd3a6d2f511efd9 06-Apr-2005 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
Fix typo which sometimes causes wrong metrics for the last glyph.
/external/freetype/src/truetype/ttgload.c
3ab770b165d118949183c92413207cbc75f1c8e7 08-Mar-2005 Werner Lemberg <wl@gnu.org> Cosmetic fixes.
/external/freetype/src/truetype/ttgload.c
f13516c8321b386227414be01e707563e852fc0d 03-Mar-2005 Werner Lemberg <wl@gnu.org> Various fixes for C and C++ compiling.

* src/autofit/*: Add copyright messages.
Formatting.

* src/autofit/afhints.c (af_glyph_hints_done): Don't use
`AF_Dimension' but `int' for loop counter.

* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
`AF_Dimension' but `int' for loop counter.
Use proper enumeration value for `render_mode'.
(af_latin_metrics_scale_dim): Don't shadow variables.
(af_latin_hints_compute_segments): Use proper cast for `major_dir'
and `segment_dir'.
(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
`af_latin_compute_stem_width'.
(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
counter.

* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
proper cast for memory allocation.

* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
initialization of `sfnt'.

* src/sfnt/sfdriver.c: Include `ttkern.h'.

* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.

* src/truetype/ttgload.c: Include `ttpload.h'.

* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
Remove redundant variable.
/external/freetype/src/truetype/ttgload.c
e793092d0a9f4d4d383315bcefd485dcbe4804b3 01-Mar-2005 Werner Lemberg <wl@gnu.org> Formatting.

* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.

* src/sfnt/ttkern.c: Include `ttkern.h'.
(FT_COMPONENT): Updated.

* include/freetype/internal/fttrace.h: Add entry for `ttkern'.

* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
Decorate constants with `U' and `L' where necessary.

* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
/external/freetype/src/truetype/ttgload.c
e5680279b21106173e342eab28552ae0e027196a 26-Feb-2005 David Turner <david@freetype.org> * many, many files: several memory optimizations were implemented to
drastically reduce the heap usage of FreeType, especially in the case
of memory-mapped files. The idea is to avoid loading and decoding tables
in the heap, and instead access the raw data whenever possible (i.e.
when it doesn't compromise performance).

This had several impacts: first, opening vera.ttf uses a ridiculous amount
of memory (when the FT_Library footprint is accounted for), until you start
loading glyphs. Even then, you'll save at least 20 Kb compared to the non
optimized case. performance of various operations, including open/close
has also been dramatically improved.

More optimisations to come. The auto-hinter eats memory like crazy? This
must be stopped...
/external/freetype/src/truetype/ttgload.c
e70d553111963cb0031869f708038f52c9f57fe9 22-Feb-2005 David Turner <david@freetype.org> * include/freetype/config/ftoption.h, include/freetype/internal/ttypes.h,
src/truetype/ttpload.c, src/truetype/ttpload.h, src/truetype/ttgload.c:
added the temporary configuration FT_OPTIMIZE_MEMORY to control various
optimizations used to reduce the heap footprint of memory-mapped TrueType
files.

* src/truetype/ttpload.c (tt_face_load_loca, tt_face_get_location,
tt_face_done_loca): when FT_OPTIMIZE_MEMORY is set, the locations table
is read directly from memory-mapped streams, instead of being decoded
into the heap.

* src/truetype/ttpload.c: only load the CVT and fpgm tables when the
bytecode interpreter is compiled in.
/external/freetype/src/truetype/ttgload.c
b9ff415dfbffb540c4b2df3671fc95fcb07caf66 19-Nov-2004 Werner Lemberg <wl@gnu.org> Fix a serious bug in the TT hinter.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift
points vertically before hinting.

* docs/CHANGES: Updated.

* src/cache/ftcglyph.c (FTC_GNode_UnselectFamily,
FTC_GCache_Lookup): A new try to fix comparison with zero.
/external/freetype/src/truetype/ttgload.c
685dd4f7b8e6437093424a1931f4b1cb72f8c900 13-Oct-2004 Werner Lemberg <wl@gnu.org> * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer
overflow.

* src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input.
Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work
in case of failure.

* src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals.
(tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after
frame test.

* src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for
`flag'.
/external/freetype/src/truetype/ttgload.c
dea712b4eb4d33e293d44c8e736064f48ae050e3 07-Aug-2004 Werner Lemberg <wl@gnu.org> `Activate' gray-scale specifing hinting within the TrueType
bytecode interpreter. This is an experimental feature which
should probably be made optional.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Move the code to set the pedantic_hinting flag
to...
(TT_Load_Glyph): Here.
Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'.

* src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer
version 1.7.
Return rotation and stretching info only if glyph is rotated or
stretched, respectively.
Handle grayscale info.

* src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale'
member.
/external/freetype/src/truetype/ttgload.c
5afaa672f38506b3507b494b95d79ffa3031655e 28-Jun-2004 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
/external/freetype/src/truetype/ttgload.c
c28b8c1bfbddb176b8fd6d2c1a55814476c34501 24-Jun-2004 David Turner <david@freetype.org> * src/truetype/ttgload.c, src/truetype/ttxgvar.c: removing
compiler warnings
/external/freetype/src/truetype/ttgload.c
2f0fdb9316120084c9b62647f9a730b11ab90202 21-Jun-2004 David Turner <david@freetype.org> fixing a scaling bug in the TrueType glyph loader that generated ugly
artefacts when the TrueType bytecode interpreter was compiled in
/external/freetype/src/truetype/ttgload.c
56a4d87cb2935339e970d0743c250389fc4706c8 03-Jun-2004 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler
warnings.
/external/freetype/src/truetype/ttgload.c
2b54eba36b40806b4cae290518fcb2911eb79959 07-May-2004 Werner Lemberg <wl@gnu.org> * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset,
cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access
root fields directly.
* src/cff/cffdrivr.c (Load_Glyph): Access root fields directly.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current
frame before calling TT_Vary_Get_Glyph_Deltas.

* src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for
consistency.
(pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index,
pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which
are typecast to the proper PCF_XXX types within the function.
Update code accordingly.
(pcf_cmap_class): Remove casts.
(PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use
PCF_XXX but FT_XXX arguments which are typecast to the proper
PCF_XXX types within the function.
Update code accordingly.
Use FT_CALLBACK_DEF throughout.
(PCF_Set_Point_Size): New wrapper function.
(PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF.
(pcf_driver_class): Remove casts.
/external/freetype/src/truetype/ttgload.c
44bb303510725735ca2650bdd524af25abab0c71 25-Apr-2004 Werner Lemberg <wl@gnu.org> * src/pcf/pcfdrivr.c: Revert change from 2004-04-17.
* src/pcf/pcfutil.c: Use FT_LOCAL_DEF.
* src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H.
Use FT_BEGIN_HEADER and FT_END_HEADER.
Use FT_LOCAL.

2004-04-24 George Williams <gww@silcom.com>

Add support for Apple's distortable font technology (in GX fonts).

* devel/ftoption.h, include/freetype/config/ftoption.h
(TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro.

* include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style,
FT_MM_Var): New structures.
(FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
FT_Set_Var_Blend_Coordinates): New function declarations.

* include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func,
FT_Set_Var_Design_Func): New typedefs.
Update MultiMasters service.

* include/freetype/internal/tttypes.h
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H.
(GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef.
(TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend'
and `blend'.

* include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New
macros.

* include/freetype/internal/fttrace.h: Add `ttgxvar'.

* src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates,
FT_Set_Var_Blend_Coordinates): New functions.

* src/sfnt/sfobjs.c (sfnt_load_face)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS
flag for GX var fonts.

* src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files.

* src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
ttgxvar.c.

* src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h.
(tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]:
New service.
(tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated.

* src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
ttgxvar.h.
(TT_Process_Simple_Glyph, load_truetype_glyph)
[TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts.

* src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
ttgxvar.h.
(tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
tt_done_blend.

* src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include
ttgxvar.h.
(tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call
tt_face_vary_cvt.

* src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c.

* src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var
and T1_Set_Var_Design.

* src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros.
(T1_Get_MM_Var, T1_Set_Var_Design): New functions.

* src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New
function declarations.
/external/freetype/src/truetype/ttgload.c
c3dc56b85c96193a9c06829e5ac319c46cf356ce 19-Apr-2004 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph),
src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to
FT_UInt. From Lex Warners.


* src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change
from 2004-03-19.

* src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'.

* src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with
`static.'.
Remove unused function `RepadBitmap'.
* src/pcf/pcfdrivr.c: Don't include pcfutil.h.
/external/freetype/src/truetype/ttgload.c
8bb07e6386ef47f9f9d2bd28a36dda8784530727 27-Mar-2004 Werner Lemberg <wl@gnu.org> Add vertical phantom points.

* include/freetype/internal/tttypes.h (TT_LoaderRec): Add
`top_bearing', `vadvance', `pp3, and `pp4'.

* src/autofit/afloader.c (af_loader_load_g): Handle two more points.

* src/autohint/ahhint.c (ah_hinter_load): Handle two more points.
* src/truetype/ttgload.c (Get_VMetrics): New function.
(TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more
points.
(load_truetype_glyph): Use Get_VMetrics.
Handle two more points.
(compute_glyph_metrics): Thanks to vertical phantom points we now
can always compute `advance_height' and `top_bearing'.
* src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom
points.


* src/autohint/ahglyph.c (ah_outline_load): Fix allocation of
`news'.

Converting some files to Unix end-of-line convention.
/external/freetype/src/truetype/ttgload.c
6cda9c489d2cc4841932551363c87fbc647d5357 22-Jan-2004 Werner Lemberg <wl@gnu.org> * include/freetype/ftcache.h: Delete duplicated definition of
FTC_FaceID.

* src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap
Info service function if the cmap comes from sfnt. Return 0 if the
cmap is sythesized in cff module.

Formatting; updating copyright.
/external/freetype/src/truetype/ttgload.c
4632fccb1b44bef8b3c593a646bd8d50089880dc 15-Jan-2004 David Turner <david@freetype.org> * include/freetype/internal/ftmemory.h,
src/autohint/ahhint.c, src/base/ftgloadr.c,
src/base/ftglyph.c, src/base/ftoutln.c,
src/base/ftstroke.c, src/cff/cffload.c, src/truetype/ttgload.c,
src/truetype/ttinterp.c:

introducing the new FT_ARRAY_COPY and FT_ARRAY_MOVE macros
to make copying arrays easier
/external/freetype/src/truetype/ttgload.c
f946fc609b5ec8658f60199cf3c48ca92d557407 31-Dec-2003 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous
change. It's not necessary.
/external/freetype/src/truetype/ttgload.c
6fd9512aff9a04d4ecd994d9580736bf6b1726e1 31-Dec-2003 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated
flags set' correctly.

* src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating
`full' and `weight' properly.
* src/cff/cffgload.c (cff_decoder_parse_charstrings)
<cff_op_hintmask> [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for
tracing output.
/external/freetype/src/truetype/ttgload.c
87c0d30fc5fe512c8971510622091dd2c7a83031 24-Dec-2003 David Turner <david@freetype.org> * include/freetype/fttypes.h
src/autofit/afangles.c
src/autofit/aflatin.c
src/autohint/ahglyph.c
src/autohint/ahhint.c
src/base/ftcalc.c
src/base/ftgloadr.c
src/base/ftglyph.c
src/base/ftobjs.c
src/base/ftsynth.c
src/base/fttrigon.c
src/cff/cffgload.c
src/cid/cidgload.c
src/cid/cidload.c
src/pfr/pfrgload.c
src/pfr/pfrload.c
src/pfr/pfrsbit.c
src/psaux/psobjs.c
src/pshinter/pshalgo.c
src/pshinter/pshglob.c
src/pshinter/pshrec.c
src/raster/ftrend1.c
src/sfnt/ttcmap0.c
src/smooth/ftsmooth.c
src/truetype/ttdriver.c
src/truetype/ttgload.c
src/truetype/ttinterp.c
src/truetype/ttobjs.c
src/type1/t1gload.c
src/winfonts/winfnt.c:

use of the FT_PAD_XXX and FT_PIX_XXX macros to avoid compiler
warnings with very pedantic compilers. Hints: (x) & -64 will
warn if (x) is not signed.. use (x) & ~63 instead !
/external/freetype/src/truetype/ttgload.c
779afe4b91f579e6db0d59f23076a7c6d8c26a14 22-Jun-2003 Werner Lemberg <wl@gnu.org> * src/winfonts/winfnt.c (FNT_Load_Glyph): Use first_char in
computation of glyph_index.
(FNT_Size_Set_Pixels): To find a strike, first check pixel_height
only, then try to find a better hit by comparing pixel_width also.
Without this fix it isn't possible to access all strikes.
Also compute metrics.max_advance to be in sync with other bitmap
drivers.

* src/base/ftobjs.c (FT_Set_Char_Size): Remove redundant code.
(FT_Set_Pixel_Size): Assign value to `metrics' after validation of
arguments.


Synchronize computation of height and width for bitmap strikes. The
`width' field in the FT_Bitmap_Size structure is now only useful to
enumerate different strikes. The `max_advance' field of the
FT_Size_Metrics structure should be used to get the (maximum) width
of a strike.

* src/bdf/bdfdrivr.c (BDF_Face_Init): Don't use AVERAGE_WIDTH for
computing `available_sizes->width' but make it always equal to
`available_sizes->height'.

* src/pcf/pcfread.c (pcf_load_font): Don't use RESOLUTION_X for
computing `available_sizes->width' but make it always equal to
`available_sizes->height'.

* src/truetype/ttdriver.c (Set_Pixel_Sizes): Pass only single
argument to function.

* src/psnames/psmodule.c (ps_unicode_value): Handle `.' after
`uniXXXX' and `uXXXX[X[X]]'.


* src/bdf/bdfdrivr.c: s/FT_Err_/BDF_Err/.
* src/cache/ftccache.c, src/cache/ftcsbits.c, src/cache/ftlru.c:
s/FT_Err_/FTC_Err_/.
* src/cff/cffcmap.c: s/FT_Err_/CFF_Err_/.
* src/pcf/pcfdrivr.c: s/FT_Err_/PCF_Err_/.
* src/psaux/t1cmap.c: Include psauxerr.h.
s/FT_Err_/PSaux_Err_/.
* src/pshinter/pshnterr.h: New file.
* src/pshinter/rules.mk: Updated.
* src/pshinter/pshalgo.c, src/pshinter/pshrec.c: Include pshnterr.h.
s/FT_Err_/PSH_Err_/.
* src/pfr/pfrdrivr.c, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c:
s/FT_Err_/PFR_Err_/.
* src/sfnt/sfdriver.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap0.c,
src/sfnt/ttload.c: s/FT_Err_/SFNT_Err_/.
* src/truetype/ttgload.c: s/FT_Err_/TT_Err_/.
* src/gzip/ftgzip.c: Load FT_MODULE_ERRORS_H and define
FT_ERR_PREFIX and FT_ERR_BASE.
s/FT_Err_/Gzip_Err_/.
/external/freetype/src/truetype/ttgload.c
0240d29cac53975d5b7309678c7ae59b35775e54 09-Jun-2003 Werner Lemberg <wl@gnu.org> * src/gzip/ftgzip.c (ft_gzip_file_fill_output): Handle Z_STREAM_END
correctly.

* src/pshinter/pshglob.c (psh_globals_new): Change calculation of
dim->stdw.count to avoid compiler problem.

* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Move the block
variables to the beginning of the function to avoid compiler
problems.
Add casts necessary for 16bit compilers.

* src/pfr/rules.mk (PFR_DRV_SRC): Add pfrsbit.c.
(PFR_DRV_H): Add pfrtypes.h.

* include/freetype/config/ftconfig.h: s/__MWKS__/__MWERKS__/.

* src/pfr/pfrsbit.c (pfr_bitwriter_init): Change type of third
argument to FT_Bool.
(pfr_lookup_bitmap_data): Change type of third and fourth argument
to FT_UInt. Updated caller.
(pfr_load_bitmap_bits): Change type of fourth argument to FT_Bool.
/external/freetype/src/truetype/ttgload.c
73861976779a754cc9b808760cc8e6cf98d52549 05-Jun-2003 Werner Lemberg <wl@gnu.org> * include/freetype/internal/ftdriver.h,
include/freetype/internal/ftobjs.h,
include/freetype/internal/psaux.h, src/cid/cidgload.c,
src/psaux/psobjs.c, src/psaux/t1decode.c, src/psaux/psobjs.h,
src/pshinter/pshrec.c, src/pshinter/pshalgo.c,
src/psnames/psmodule.c, src/raster/ftraster.c, src/sfnt/sfobjs.c,
src/smooth/ftgrays.c, src/smooth/ftsmooth.c, src/truetype/ttobjs.c,
src/truetype/ttdriver.c, src/truetype/ttgload.c, src/type1/t1afm.c,
src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1load.c,
src/type1/t1objs.c, src/type42/t42parse.c, src/type42/t42parse.h:
Many casts and slight argument type changes to make it work with
a 16bit compiler.
/external/freetype/src/truetype/ttgload.c
6ab5624330877f27b786c3616907d01cf805edc5 04-Jun-2003 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph)
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Call
FT_GlyphLoader_CheckPoints before adding phantom points. This fixes
a segfault bug with fonts (e.g. htst3.ttf) which have nested
subglyphs more than one level deep. Reported by Anthony Fok.

* include/freetype/config/ftoption.h: Define
TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING, and
TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING to make it the new
default.
/external/freetype/src/truetype/ttgload.c
b442ca17130e5d103f299440419e5ea3ad1f9fd3 23-Apr-2003 Werner Lemberg <wl@gnu.org> Cleanups.
/external/freetype/src/truetype/ttgload.c
46960df7b377494426ebccb8b99c65aca558c2ae 13-Feb-2003 Graham Asher <graham.asher@btinternet.com> The incremental interface now passes the old metrics when asking for
replacement metrics so that they can be modified, not just replaced.
For example, CFF fonts need this.
/external/freetype/src/truetype/ttgload.c
77b68b8e735cd9b6ad380855617117c4e89c88bb 08-Jan-2003 David Turner <david@freetype.org> * src/truetype/ttgload.c: fixing the TrueType loader to handle invalid
composites correctly by limiting the recursion depth
/external/freetype/src/truetype/ttgload.c
e59dc91ff444faa51cbee538fbb3dfa1ebae5edf 21-Sep-2002 Werner Lemberg <wl@gnu.org> * src/truetype/ttdriver.c (Load_Glyph): Fourth parameter must be
FT_Int32.
* src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph):
Ditto.
/external/freetype/src/truetype/ttgload.c
6b5c669b7b300ef3dea4ad956885d0d5f5a25920 05-Sep-2002 Werner Lemberg <wl@gnu.org> * src/cid/cidobjs.c (CID_Size_Init): Renamed to...
(cid_size_init): This.
* src/psaux/psobjs.c (T1_Builder_Add_Point1): Renamed to...
(t1_builder_add_point1): This.

Updated all affected code.

* src/pshinter/pshalgo3.c (psh3_hint_align): Fix compiler warnings.
* src/type1/t1gload.c (T1_Compute_Max_Advance): Ditto.

Formatting, minor doc fixes.
/external/freetype/src/truetype/ttgload.c
b08fe2dc7af972a61f4e6bcadd7bb522861faec5 27-Aug-2002 David Turner <david@freetype.org> * massive re-formatting changes to many, many source files. I don't
want to list them all here. The operations performed were all logical
transformations of the sources:

- trying to convert all enums and constants to CAPITALIZED_STYLE, with
#define definitions like

#define my_old_constants MY_NEW_CONSTANT

- big, big update of the documentation comments

* include/freetype/freetype.h, src/base/ftobjs.c, src/smooth/ftsmooth.c,
include/freetype/ftimage.h: adding support for LCD-optimized rendering
though the new constants/enums:

FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V
FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V

this is still work in progress, don't expect everything to work correctly
though most of the features have been implemented.

* adding new FT_LOAD_XXX flags, used to specify both hinting and rendering
targets:

FT_LOAD_TARGET_NORMAL :: anti-aliased hinting & rendering
FT_LOAD_TARGET_MONO :: monochrome bitmaps
FT_LOAD_TARGET_LCD :: horizontal RGB/BGR decimated hinting & rendering
FT_LOAD_TARGET_LCD_V :: vertical RGB/BGR decimated hinting & rendering

note that FT_LOAD_TARGET_NORMAL is 0, which means that the default
behaviour of the font engine is _unchanged_.
/external/freetype/src/truetype/ttgload.c
215bf444380dd706a72c2d1037f827396e735791 21-Aug-2002 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (TT_Get_Metrics): Add guard for k = 0.
/external/freetype/src/truetype/ttgload.c
eed446d0d57d7d2a2299b08a2591e6a23a9b8bb5 16-Aug-2002 Werner Lemberg <wl@gnu.org> Add support for Apple composite glyphs.

* include/freetype/config/ftoption.h
(TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED): New macro.

* src/truetype/ttgload.c (OVERLAP_COMPOUND, SCALED_COMPONENT_OFFSET,
UNSCALED_COMPONENT_OFFSET): New macros for additional OpenType
glyph loading flags.
(load_truetype_glyph): Implement it.
/external/freetype/src/truetype/ttgload.c
3c403e4c17fa68a8a7992fa347fda312e1bae2a0 06-Aug-2002 Werner Lemberg <wl@gnu.org> Some formatting.

* src/cff/cffcmap.c: Remove compiler warnings.
* src/cache/ftccache.c, src/cache/ftccache.i,
src/pfr/pfrload.c, src/pfr/pfrgload.c: s/index/idx/.
* src/cff/cffload.c: s/select/fdselect/.
* src/raster/ftraster.c: s/wait/waiting/.
/external/freetype/src/truetype/ttgload.c
ce12182cfc612a5de6b073197f3f3fa60ca98fa8 01-Aug-2002 Graham Asher <graham.asher@btinternet.com> Modified incremental loading interface to be closer to David Turner's
preferences. The header freetype.h is not now affected, the interface is
specified via an FT_Parameter, the pointer to the interface is hidden in an
internal part of the face record, and all the definitions are in ftincrem.h.
/external/freetype/src/truetype/ttgload.c
b3d5e9cf03dce78e606b79c81cb1f29ce06555d5 28-Jul-2002 Werner Lemberg <wl@gnu.org> s/ft_memset/FT_MEM_SET/.
s/FT_MEM_SET/FT_MEM_ZERO/ where appropriate.
/external/freetype/src/truetype/ttgload.c
7f74a52a210fc20a8fcc0f8160ce92dfe0f84c48 26-Jul-2002 Werner Lemberg <wl@gnu.org> Fixing ChangeLog entries.
Some formatting.

* src/truetype/ttgload.c (load_truetype_glyph)
[FT_CONFIG_OPTION_INCREMENTAL]: s/memset/ft_memset/.

* src/autohint/ahhint.c (ah_hint_edges_3): Fix compiler warning.
* src/cff/cffload.c (cff_encoding_load): Remove `memory' variable.
* src/cff/cffcmap.c (cff_cmap_encoding_init): Remove `psnames'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove statement
without effect.
* src/truetype/ttdriver (Get_Char_Index, Get_Next_Char): Removed.
/external/freetype/src/truetype/ttgload.c
13217f25096025df83ddcabeff15651acd0f5d4d 18-Jul-2002 Graham Asher <graham.asher@btinternet.com> Added the incremental loading system for the TrueType driver.
Tested using my own unit test code.
/external/freetype/src/truetype/ttgload.c
318f3befc67e026037da33fb7b5b9a22d567df9a 26-Jun-2002 David Turner <david@freetype.org> * src/truetype/ttgload.c (TT_Load_Composite_Glyph),
src/base/ftoutln.c (FT_Vector_Transform): fixed Werner's latest
fix. FT_Vector_Transform wasn't buggy, the TrueType composite loader
was...
/external/freetype/src/truetype/ttgload.c
87a2bc7b693dd6758dfab4faddf49bec6193ab1c 20-Jun-2002 Werner Lemberg <wl@gnu.org> * src/base/ftoutln.c (FT_Vector_Transform): Fix serious typo
(xy <-> yx).
* src/truetype/ttgload.c (load_truetype_glyph): Replace `|' with
`||' to make code easier to read.
/external/freetype/src/truetype/ttgload.c
26aca0244d0888ba46bc0d661beb75d510eca6b6 05-May-2002 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/truetype/ttgload.c
8cd8907311da7ee6c09e22d9b8e26124d365db2a 04-May-2002 David Turner <david@freetype.org> * src/truetype/ttgload.c (TT_Load_Glyph): finally fixing the last
bug that prevented FreeType 2.x and FreeType 1.x to produce
bit-by-bit identical monochrome glyph bitmaps with native TrueType
hinting. The culprit was a single-bit flag that wasn't set
correctly by the TrueType glyph loader !!

* src/otlayout/otlayout.h,
src/otlayout/otlbase.c,
src/otlayout/otlbase.h,
src/otlayout/otlconf.h,
src/otlayout/otlgdef.c,
src/otlayout/otlgdef.h,
src/otlayout/otlgpos.c,
src/otlayout/otlgpos.h,
src/otlayout/otlgsub.c,
src/otlayout/otlgsub.h,
src/otlayout/otljstf.c,
src/otlayout/otljstf.h,
src/otlayout/otltable.c,
src/otlayout/otltable.h,
src/otlayout/otltags.h:

adding OpenType Layout source files. Module is still incomplete
/external/freetype/src/truetype/ttgload.c
91db04cb9ccd853296af72b6c070bf6fb655a79c 01-Apr-2002 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c: 16bit fixes.
(TT_Load_Simple_Glyph): Improve debug messages.
(load_truetype_glyph): Remove dead code.
* src/truetype/ttinterp.c: 16bit fixes.
* src/truetype/ttobjs.c: Ditto.

* include/freetype/ftsnames.h, include/freetype/internal/sfnt.h,
src/cff/cffload.h, src/psaux/psobjs.h, src/truetype/ttinterp.[ch],
src/sfnt/ttpost.h: s/index/idx/.

formatting, copyright updates.
/external/freetype/src/truetype/ttgload.c
e459d742e6236df43f542b8c29dfdcf05d69716c 22-Mar-2002 David Turner <david@freetype.org> * include/freetype/internal/ftmemory.h, and a lot of other files !!:

changed the names of memory macros. Examples:

MEM_Set => FT_MEM_SET
MEM_Copy => FT_MEM_COPY
MEM_Move => FT_MEM_MOVE

ALLOC => FT_ALLOC
FREE => FT_FREE
REALLOC = >FT_REALLOC

FT_NEW was introduced to allocate a new object from a _typed_
pointer..

note that ALLOC_ARRAY and REALLOC_ARRAY have been replaced
by FT_NEW_ARRAY and FT_RENEW_ARRAY which take _typed_ pointer
arguments.

This results in _lots_ of sources being changed, but makes the
code more generic and less error-prone..
/external/freetype/src/truetype/ttgload.c
a890c29cb06f990ac19ada14eae0f9513bb9ed88 22-Mar-2002 David Turner <david@freetype.org> * include/freetype/internal/ftstream.h,
src/base/ftstream.c, src/cff/cffload.c, src/pcf/pcfread.c,
src/sfnt/ttcmap.c, src/sfnt/ttcmap0.c, src/sfnt/ttload.c,
src/sfnt/ttpost.c, src/sfnt/ttsbit.c,
src/truetype/ttgload.c, src/truetype/ttpload.c,
src/winfonts/winfnt.c:

changed the definitions of stream macros. Examples:

NEXT_Byte => FT_NEXT_BYTE
NEXT_Short => FT_NEXT_SHORT
NEXT_UShortLE => FT_NEXT_USHORT_LE
READ_Short => FT_READ_SHORT
GET_Long => FT_GET_LONG
etc..

also introduced the FT_PEEK_XXXX functions..
/external/freetype/src/truetype/ttgload.c
7d3a26425b35c1b037646667c2889260cae84b21 20-Mar-2002 David Turner <david@freetype.org> * renaming stream macros. Examples:

FILE_Skip => FT_STREAM_SKIP
FILE_Read => FT_STREAM_READ
ACCESS_Frame => FT_FRAME_ENTER
FORGET_Frame => FT_FRAME_EXIT
etc...
/external/freetype/src/truetype/ttgload.c
eba5ad4b37080ae2212241491ecc029591841b16 14-Mar-2002 David Turner <david@freetype.org> no message
/external/freetype/src/truetype/ttgload.c
b5713c54c31283ae7fa69549ef0c90bfa8cea14b 14-Mar-2002 David Turner <david@freetype.org> * include/freetype/internal/psglobals.h (removed),
include/freetype/internal/pshints.h,
src/pshinter/pshglob.h: removing obsolete file

* include/freetype/internal/tttypes.h,
include/freetype/internal/sfnt.h,
src/base/ftnames.c, src/cff/cffdrivr.c,
src/sfnt/*.c, src/truetype/*.c: updated SFNT/TrueType type
definitions
/external/freetype/src/truetype/ttgload.c
0d9165e1d6451063693eda6d7dce367051a39ead 07-Mar-2002 Werner Lemberg <wl@gnu.org> * src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
* src/base/ftcalc.c (FT_MulFix): Ditto.
* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
* src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
CFF_GlyphSlot_Init): Ditto.
* src/cid/cidobjs.c (CID_GlyphSlot_Init,
CID_Size_Get_Globals_Funcs): Ditto.
* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
Ditto.
* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
variables.

* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
to...
(T1_Builder_FuncsRec): This.
(T1_Builder_Funcs): New typedef.
(PSAux_Interface): Remove compiler warnings.
* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
(t1_builder_funcs): Updated.

* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
(PSH_AlignmentRec): Updated.

* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
typo.
* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
* src/base/ftstream (FT_Get_Char): Rename to...
(FT_Stream_Get_Char): This.

* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
a built-in function in gcc, causing warning messages with gcc 3.0.
* src/autohint/ahglyph.c (ah_outline_load): Ditto.
* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
Ditto.
* src/cff/cffload.c (cff_new_index, cff_done_index,
cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
CFF_Done_Font): Ditto.
* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
* src/pshinter/pshalgo1.c (psh1_hint_table_record,
psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_table_record,
psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
TT_Get_PS_Name): Ditto.
* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
load_truetype_glyph): Ditto.
* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
/external/freetype/src/truetype/ttgload.c
bc82f1bbefa90c649a9ad2c28938d55b4acbf380 01-Mar-2002 David Turner <david@freetype.org> * include/freetype/ftconfig.h: changed FT_LOCAL xxxx to FT_LOCAL( xxxx )
everywhere in the source. Sames goes for FT_LOCAL_DEF xxxx translated
into FT_LOCAL_DEF( xxxxx )
/external/freetype/src/truetype/ttgload.c
4e7eeeec7b24ac1b9f6f84e2f4a5b2ea3bce5fe7 28-Feb-2002 David Turner <david@freetype.org> yet another logical transformation of the internals to make them
more consistent and understandable..

mainly, changing things like PS_Table => PS_TableRec + *PS_Table
/external/freetype/src/truetype/ttgload.c
4d57024d1c861443a981de6d7388548928349eee 24-Feb-2002 David Turner <david@freetype.org> * moving all code related to glyph loaders to "internal/ftgloadr.h"
and "src/base/ftgloadr.c".

Note also that the type "FT_GlyphLoader" is now a pointer to the
structure "FT_GlyphLoaderRec"..
/external/freetype/src/truetype/ttgload.c
b5349a9b75b233b4036da594187a9959c3446890 19-Feb-2002 Werner Lemberg <wl@gnu.org> * builds/freetype.mk (FT_CFLAGS): Use $(INCLUDE_FLAGS) first.

* src/cache/ftccache.c (ftc_cache_resize): Mark `error' as unused
to avoid compiler warning.
* src/cff/cffload.c (CFF_Get_String): Ditto.
* src/cff/cffobjs.c (CFF_StrCopy): Ditto.
* src/psaux/psobjs.c (PS_Table_Done): Ditto.
* src/pcf/pcfread.c (pcf_seek_to_table_type): Ditto.
* src/sfnt/sfdriver.c (get_sfnt_postscript_name): Ditto.
(pcf_get_bitmaps): The same for `sizebitmaps'.
* src/psaux/t1decode.c (T1_Decode_Parse_Charstrings): The same for
`orig_y'.
(t1operator_seac): Comment out more dead code.
* src/pshinter/pshalgo2.c (ps2_hints_apply): Add `DEBUG_HINTER'
conditional.
* src/truetype/ttgload.c (TT_Process_Simple_Glyph,
load_truetype_glyph): Add `TT_CONFIG_OPTION_BYTECODE_INTERPRETER'
conditional.
/external/freetype/src/truetype/ttgload.c
a7d2f5e1c0b8e3636a93d9e9e0b1a22457b98faa 19-Feb-2002 Werner Lemberg <wl@gnu.org> * src/autohint/ahglyph.c (ah_outline_link_segments): Remove unused
variables.
* src/autohint/ahhint.c (ah_align_serif_edge): Use FT_UNUSED instead
of UNUSED.
* src/autohint/ahmodule.c (ft_autohinter_reset): Ditto.
* src/pshinter/pshrec.c (ps_mask_table_merge): Fix typo in variable
swapping code.
* src/pshinter/pshglob.h (PSH_Blue_Align): Add PSH_BLUE_ALIGN_NONE.
* src/pshinter/pshglob.c (psh_blues_snap_stem): Use it.
* src/pshinter/pshalgo1.c (psh1_hint_table_optimize): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_align): Ditto.
* include/freetype/internal/ftobjs.h (UNUSED): Removed.
/external/freetype/src/truetype/ttgload.c
ac812959bbe118d512d955d6d9b6a2f54c4b5522 06-Jan-2002 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/truetype/ttgload.c
f7f82d773b7eac9e5b570a3b64bd0325b0beb62c 06-Jan-2002 David Turner <david@freetype.org> the TrueType glyph loader is now much more paranoid, this avoids
unpleasant overwrites in the case of invalid glyph data (found in
the output of buggy font converters)

the computation of auto-hinted stem widths has been modified to
avoid certain color fringes in LCD-decimation rendering (a.k.a.
"ClearType")
/external/freetype/src/truetype/ttgload.c
662b344c23125a19abcd503c267699afeeabdf7d 03-Jan-2002 David Turner <david@freetype.org> * src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
library when dealing with certain weird fonts (like "Stalingrad",
in "sadn.pfb". This font has no full font name entry.. )

* src/base/ftoutln.c, include/freetype/ftoutln.h: added the
FT_Outline_Check API to check the consistency of outline data

* src/base/ftobjs.c (FT_Load_Glyph): added a call to the new
FT_Outline_Check to ensure that loaded glyphs are valid. This
allows certain fonts like "tt1095m_.ttf" to be loaded even though
it appears they contain really funky glyphs..

there still is a bug there though.. !!
/external/freetype/src/truetype/ttgload.c
0d535112fdc7d425a3b8562fd2574246a69cc35f 19-Dec-2001 Werner Lemberg <wl@gnu.org> Formatting.
CFF encoding tables moved back from cffload.c to cffload.h.
/external/freetype/src/truetype/ttgload.c
4937a3ebd2c77ece7796b312eb3814ce1b18b03b 19-Dec-2001 David Turner <david@freetype.org> * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
(FT_Load_Glyph): "fixed" the bug that prevented embedded bitmaps from
begin loaded when the auto-hinter is used.. This actually is a hack
but will be enough until the internal re-design scheduled for
FreeType 2.1
/external/freetype/src/truetype/ttgload.c
c40a7e2d50fa71ca337fba3b58f424b67550e689 19-Dec-2001 David Turner <david@freetype.org> * include/freetype/cache/ftcache.h: added comments to indicate that
some of the exported functions should only be used by applications
that need to implement custom cache types

* src/truetype/ttgload.c: fixed a nasty bug that prevent composites
from loading correctly. Believe it or not, this was due to an invalid
macro definition !!
/external/freetype/src/truetype/ttgload.c
aef3fc816b4900a2cb9119e1dcbed339ef5c1590 17-Dec-2001 Werner Lemberg <wl@gnu.org> * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
glyph header.
/external/freetype/src/truetype/ttgload.c
5da9dd77f2f77c720dc84a7fc543c74e9576398f 16-Dec-2001 Werner Lemberg <wl@gnu.org> * src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning.
* include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is
already in ftcmanag.h.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
`gfam'.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
* ftc_family_table_free): Use FT_EXPORT_DEF.
* include/freetype/cache/ftcmanag.h: Updated.
* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
`cfam'.
Remove compiler warning.
(FTC_CMapCache_Lookup): Remove compiler warnings.
(ftc_cmap_family_init): Ditto.
(FTC_CMapCache_Lookup): Ditto.

* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
* builds/unix/configure: Regenerated.

* builds/mac/README: Updated.
/external/freetype/src/truetype/ttgload.c
59c9fea654a11b58d0542d0278c0e7c43f9729f6 14-Dec-2001 David Turner <david@freetype.org> * src/truetype/ttgload.c (load_truetype_glyph): fixing crash when dealing
with invalid fonts (i.e. glyph size < 10 bytes)..
/external/freetype/src/truetype/ttgload.c
bce2986d0d884886ae76e024b55199996cf6b52c 14-Dec-2001 David Turner <david@freetype.org> fixing hinted advance width bug in all font drivers
/external/freetype/src/truetype/ttgload.c
3b7049fe103238f094282f207576437fa511cc05 07-Jul-2001 David Turner <david@freetype.org> removed pedantic compiler warnings when the bytecode
interpreter is compiled in the library
/external/freetype/src/truetype/ttgload.c
415235df1b955940ce85401a076f882e8717ef7b 28-Jun-2001 Werner Lemberg <wl@gnu.org> finishing function header formatting

updating copyrights
/external/freetype/src/truetype/ttgload.c
4a2305cf0c686d58273e264780b48b159e42f604 28-Jun-2001 Werner Lemberg <wl@gnu.org> formatting
/external/freetype/src/truetype/ttgload.c
dee781342b932b60c0c885d4f493b8246710a34c 27-Jun-2001 David Turner <david@freetype.org> * include/freetype/ftconfig.h, src/*/*.c: changed the definition and
uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
/external/freetype/src/truetype/ttgload.c
8eb0353fec1494ab7d9fe9bb91a5954449ab30c1 20-Jun-2001 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
8edbcabce1b3756fb1921f85901dcce944bdf1e7 19-Jun-2001 David Turner <david@freetype.org> - updated doc for FT_New_Memory_Face
- removed lots of compiler warnings in lint-style
warning modes (/W4 with Visual C++)
/external/freetype/src/truetype/ttgload.c
cf24d51531d41b1675753d39533c6ae562f8104b 18-Jun-2001 Werner Lemberg <wl@gnu.org> Minor cleanups to remove compiler warnings.

* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
`L' for constant.
* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
* src/base/ftobjs.c (FT_Done_Size): Fix return value.
(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
unused `memory' variable.
* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
* src/autohint/ahhint.c (ah_hint_edges_3,
ah_hinter_align_edge_points): Remove unused `before' and `after'
variables.
(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
(ah_hinter_load): Remove unused `new_advance', `start_contour',
and `metrics' variables.
* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
compiler warning.
* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
variable.
* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
`outline' variable.
(cff_compute_bias): Use `U' for constant.
* src/cid/cidload.c (cid_decrypt): Ditto.
* src/psaux/psobjs.c (T1_Decrypt): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
variable.
* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
`num_contours' and `ins_offset' variables.
(compute_glyph_metrics): Remove unused `Top' and `x_scale'
variables.
(TT_Load_Glyph): Remove unused `memory' variable.
* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
/external/freetype/src/truetype/ttgload.c
57d4de0e51fd327d118bf8e23164f30ba5e31392 08-Jun-2001 David Turner <david@freetype.org> fixed a bug that returned an invalid linear width for composite
TrueType glyphs

fixed source code to work with the new error scheme implemented
by Werner
/external/freetype/src/truetype/ttgload.c
1f7f0e87e58168b2e739e2622db0ee06e0c9accc 06-Jun-2001 Werner Lemberg <wl@gnu.org> Complete redesign of error codes. Please check ftmoderr.h for more
details.

* include/freetype/internal/cfferrs.h,
include/freetype/internal/tterrors.h,
include/freetype/internal/t1errors.h: Removed. Replaced with files
local to the module. All extra error codes have been moved to
`fterrors.h'.

* src/sfnt/ttpost.h: Move error codes to `fterrors.h'.

* src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h,
src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h,
src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the
error names for the module it belongs to.

* include/freetype/ftmoderr.h: New file, defining the module error
offsets. Its structure is similar to `fterrors.h'.

* include/freetype/fterrors.h (FT_NOERRORDEF): New macro.
(FT_ERRORDEF): Redefined to use module error offsets.
All internal error codes are now public; unused error codes have
been removed, some are new.

* include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New
macro.
* include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro.

All other source files have been updated to use the new error codes;
some already existing (internal) error codes local to a module have
been renamed to give them the same name as in the base module.

All make files have been updated to include the local error files.


* src/cid/cidtokens.h: Replaced with...
* src/cid/cidtoken.h: This file for 8+3 consistency.

* src/raster/ftraster.c: Use macros for header file names.
/external/freetype/src/truetype/ttgload.c
61d6b2b9aa6f639dac8cd75e1c1bc7dc9702b0bb 16-May-2001 David Turner <david@freetype.org> * src/truetype/ttgload.c (load_truetype_glyph): fixed a bug in the
composite loader spotted by Keith Packard.
/external/freetype/src/truetype/ttgload.c
1429db6c4f6763b14cdb4474244ed6a60d7fea1b 03-Apr-2001 Werner Lemberg <wl@gnu.org> * README: Formatting.

* Jamfile: Fix typo.

* src/cff/cffparse.c: Move error code #defines to...
* include/freetype/internal/cfferrs.h: This file.
* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced
`FT_Err_*' with `CFF_Err_*'.
* src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'.
* src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto.
* src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with
`TT_Err_*'.
* src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto.
* src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c,
src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'.

* include/freetype/internal/cfferrs.h: Add
`CFF_Err_Unknown_File_Format'.
* include/freetype/internal/t1errors.h: Add
`T1_Err_Unknown_File_Format'.
* include/freetype/internal/tterrors.h: Add
`TT_Err_Unknown_File_Format'.

* src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset'
references.
* src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'.

* src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use
FT_LOCAL_DEF.
* src/cid/cidobjs.c (CID_Done_Driver): Ditto.
* src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size):
Ditto.
* src/type1/t1objs.c (T1_Done_Driver): Ditto.
* src/pcf/pcfdriver.c (PCF_Done_Face): Ditto.
* src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'.
/external/freetype/src/truetype/ttgload.c
8d3a401fa808a8c70bd6a9ce17d5a840fb0ae2db 20-Mar-2001 David Turner <david@freetype.org> * builds/*/*-def.mk: changed the objects directory from "obj" to "objs"

* include/freetype/config/ftheader.h: removed obsolete macros like
FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to be
included in a new API Reference section.

* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
needs to added its own directory to the include path at compile time.
Modified all "rules.mk" and "descrip.mms" accordingly..
/external/freetype/src/truetype/ttgload.c
914b289f1623b1030b66537d3b3ce4b652e4606c 10-Mar-2001 Werner Lemberg <wl@gnu.org> * src/*/*.c: Added many casts to make code more 64bit-safe.
/external/freetype/src/truetype/ttgload.c
170c0d4c0d009bc5c08434b46515238620a410bd 13-Dec-2000 David Turner <david@freetype.org> * include/freetype/config/ft2build.h,
include/freetype/internal/internal.h: fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now..

* builds/compiler/intelc.mk, builds/compiler/watcom.mk,
builds/win32/detect.mk: added support for the Intel C/C++ compiler,
as well as _preliminary_ (read: doesn't work !!) support for Watcom.
Also added a new setup target. Type "make setup list" for a list
of supported command-line compilers on Win32..
/external/freetype/src/truetype/ttgload.c
d5c1b27d58c4308745338cb0f3f710d6c1549982 12-Dec-2000 Werner Lemberg <wl@gnu.org> * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
Removed. ANSI C doesn't (explicitly) allow macro expansion in
arguments using `##'.
(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
names directly. Make them configurable. Use `##' to strip leading
and trailing spaces from arguments.

* builds/unix/ft2unix.h: Adapted.

* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
ft_close_stream): Use FT_CALLBACK_DEF.

* builds/unix/ftsystem.c: Use new header scheme.
(FT_Done_Memory): Use free() from FT_Memory structure.

* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.

* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
/external/freetype/src/truetype/ttgload.c
cc069beb2d2b6b1cb9f9b9f2af2a7ea12780f634 08-Dec-2000 Werner Lemberg <wl@gnu.org> cleanups
/external/freetype/src/truetype/ttgload.c
19ed8afe60bbc5becf0fbbe3987a91b35a36aad4 08-Dec-2000 David Turner <david@freetype.org> - updated all source files to adhere to the new inclusion scheme
- the CFF loader now loads the encodings and charset tables
though doesn't use them for now
/external/freetype/src/truetype/ttgload.c
b1aabf4c5ea25bdd1a41705c6c5ac98b2df9b056 01-Dec-2000 David Turner <david@freetype.org> - added support for the free command-line Borland C++ compiler
in the "builds" directory

- modified a few files because BCC32 didn't like certain comparisons
(UInt compared with a UShort, apparently the UShort is promoted to
an Int)

- updated the INSTALL file to include IDE compilation, prevent against
BSD Make, and clarify the use of "make setup" (instead of "make")
for build configuration
/external/freetype/src/truetype/ttgload.c
4b68007b4f5581a13a5d117e15dac377f8b2a37f 07-Nov-2000 Werner Lemberg <wl@gnu.org> Complementing David's changes with formatting, adding documentation, etc.

More `*'-convention formatting, adding the `a' resp. `an' prefix to
variables.
/external/freetype/src/truetype/ttgload.c
f96594faf0ae04062e18e8debf9771c914be7ba9 07-Nov-2000 David Turner <david@freetype.org> integrated Yamano-Uchi changes to the base source code. However,
I've made a few modifications:

- there is no new field named "driver" in "FT_SizeRec"

- the new fields in "TT_SizeRec" are:

strike_index :: value 0xFFFF means "no sbit strike selected"
strike_metrics :: the FT_Size_Metrics structure corresponding to
the currently selected strike

- the code in "ttload.c" has been somewhat cleaned up too

thanks a lot, Y-U !!

- David
/external/freetype/src/truetype/ttgload.c
54e75749465821066fe3ed533f00d6a2c67fbb37 04-Nov-2000 David Turner <david@freetype.org> defining new types to hold "internal" fields of public
objects:

FT_Face_Internal, FT_Size_Internal, FT_Slot_Internal

these contain some fields that may change between releases
of FreeType, without affecting the size of FT_FaceRec,
FT_SizeRec, FT_GlyphSlotRec, etc.., which means that
drivers wouldn't need to be recompiled if we only add new
fields to an internal structure..

I plan to hack a few things related to the auto-hinter and
I need this move to ensure that we will not break binary
compatibility between 2.0 and 2.1 :-)

- David
/external/freetype/src/truetype/ttgload.c
76a5f62323d4fe3319d3d5410ded0ff9cab1f8c5 04-Nov-2000 David Turner <david@freetype.org> major reformatting of the sources:

FT_EXPORT_DEF => FT_EXPORT
FT_EXPORT_FUNC => FT_EXPORT_DEF
BASE_DEF => FT_BASE
BASE_FUNC => FT_BASE_DEF
LOCAL_DEF => FT_LOCAL
LOCAL_FUNC => FT_LOCAL_DEF
LOCAL_FUNC_X => FT_CALLBACK_DEF
LOCAL_DEF_X => FT_CALLBACK_TABLE
FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
/external/freetype/src/truetype/ttgload.c
e4b32a5dc5517285dbecf9e058185a9d36712fbe 31-Oct-2000 Werner Lemberg <wl@gnu.org> Removing trailing whitespace.
/external/freetype/src/truetype/ttgload.c
353dfeafa37da7b189e2ee4a65fd8871d4127da1 29-Aug-2000 Werner Lemberg <wl@gnu.org> More warnings fixed.
/external/freetype/src/truetype/ttgload.c
29a90e2610ad5dc93ae4fc24e37a74bbe751f834 03-Aug-2000 Werner Lemberg <wl@gnu.org> Updating unix/ftconfig.in to recent config/ftconfig.h changes.

More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in
function pointers (there are no local anonymous functions in C++) and
FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures
which contain function pointers.
/external/freetype/src/truetype/ttgload.c
e72c9fec173186df4871617a767c0bf8ddfdde84 31-Jul-2000 Werner Lemberg <wl@gnu.org> Simplifying the FIELD_* and FRAME_* macros. Before calling these macros,
you should #define FT_STRUCTURE to the structure which will be filled.

Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and
FT_FIELD_OFFSET to make the code more readable; additionally, it should be
more portable because we no longer cast a pointer to an FT_UShort (which
e.g. fails with Sun's C++ compiler) but computes the difference between two
pointers which is guaranteed to work.

Fixing warnings (and C++ errors) while using Sun's latest cc and CC
incarnations. Most of them are related to variable shadowing.
/external/freetype/src/truetype/ttgload.c
08d78b62e3357e171231b644047d703399a09a0d 28-Jul-2000 David Turner <david@freetype.org> removed warning
/external/freetype/src/truetype/ttgload.c
58b17f9647d8b1ecc17f4d8dceceeed8baff123f 28-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.
/external/freetype/src/truetype/ttgload.c
c5cdf8bcf1bded63fbd57853ded641a42292a91c 27-Jul-2000 David Turner <david@freetype.org> re-adding a "unix-dev.mk". Debugging libtool output
is just too much of a pain for me, I prefer a good old
static lib without optimizations :-)

"make devel" is back on Unix then..
/external/freetype/src/truetype/ttgload.c
321cd27d0f89f8646c95218b16dca4a3c02d7f17 27-Jul-2000 Werner Lemberg <wl@gnu.org> Removing compiler warnings about unused portions of code.

Now unix.in uses absolute paths also to overcome problems with libtool.
To do that in a consistent way I had to modify the rules how to handle
$OBJ_DIR (and consequently $LIB_DIR): You should set $OBJ_DIR explicitly
on the command line (or environment).
/external/freetype/src/truetype/ttgload.c
5fe4c00ed29e6d85f348a79d2dfd9ea8f9a88b27 26-Jul-2000 David Turner <david@freetype.org> - fixed the incorrect SO extension for Visual C++
- disabled the TrueType interpreter by default
- disabled the "type1" driver, "type1z" is now used
by default (the internal driver name is "type1" now !!)
/external/freetype/src/truetype/ttgload.c
e161ee449c8dffabbcee211f10509f6309f89886 11-Jul-2000 David Turner <david@freetype.org> fixed a bug that caused invalid clipping of monochrome bitmaps
when they were blitted on the left edge of an 8-bit pixmap..
/external/freetype/src/truetype/ttgload.c
7fa51b5535dc05a91b96aac57835bf1473a24339 08-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.

Adding some trivial error checking.

Adding/Fixing tracing levels.
/external/freetype/src/truetype/ttgload.c
a90663f591e995bd148d7b45178c9d63a2b7eb93 08-Jul-2000 David Turner <david@freetype.org> vast clean-up of the sources in order to allow flat
directory compilation (by defining the FT_FLAT_COMPILE
macro at compile time..)

moved "freetype2/BUILD" to "freetype2/docs/BUILD"
/external/freetype/src/truetype/ttgload.c
43a2f656a71aea4d735dcdff201fed120479f707 05-Jul-2000 David Turner <david@freetype.org> fixed a few bugs, cleaned up some code
/external/freetype/src/truetype/ttgload.c
bd5ae40006959667299f09f13defa6f025caa744 05-Jul-2000 Werner Lemberg <wl@gnu.org> Run g++ on the FreeType library. This should make the use of code in
C++ programs easier:

Renamed FT_WordXX to FT_UIntXX.

Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType
always accesses streams byte-wise, so this makes sense IMHO.

Added a lot of #ifdef __cplusplus to header files (and removed a few).

Other minor syntax fixes (mostly casts).

Replaced the variable `private' with `private_dict' -- `private' is
reserved in C++.
/external/freetype/src/truetype/ttgload.c
c6a92202c23b916536903921401e6289f8b66ca2 04-Jul-2000 David Turner <david@freetype.org> various clean-ups:

- using FT_UNUSED instead of UNUSED
- using FT_LONG64 and FT_INT64 instead of LONG64 & INT64
- using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of...

- removed the #ifdefs that used SIZEOF_INT, instead we now
use FT_Int32 and FT_UInt32 when needed to support
32-bits quantity correctly on 64-bits systems..
/external/freetype/src/truetype/ttgload.c
5811c7c3a583e3f9f71908ca9ab5cc0d0ea01c77 02-Jul-2000 Werner Lemberg <wl@gnu.org> Formatting.

Fixed some errors which prevented compiling.
/external/freetype/src/truetype/ttgload.c
f9ca2bb58a3c8e70cf5e0e0d2580c50385c48df0 01-Jul-2000 David Turner <david@freetype.org> managed to re-design entirely the API in <freetype/ftglyph.h>
It is now really the "glyph factory" that Stefan was probably
dreaming about..

fixed some recent formatting errors from Werner ;-)

cleaned up the demonstration programs from most of the
rust that they had, though I'm sure someone is going to
re-format them really soon !!

"ftstring" now uses the new ftglyph.h API, and is now
faster and smaller.. yep..
/external/freetype/src/truetype/ttgload.c
deb4e9839608a996ff7bb54fcddba93ff1ec0544 29-Jun-2000 Werner Lemberg <wl@gnu.org> Formatting...

Preprocessor lines now always start the line.

Improved error handling in `base' module.

Fixed a out-of-bounds error in ttgload.
/external/freetype/src/truetype/ttgload.c
81bb4ad937f21e5fe64b2bdfef98250984e37eff 28-Jun-2000 David Turner <david@freetype.org> latest clean-ups..

The code compiles with NO WARNINGS with GCC and
Visual C++ (also with LCC minus debugging options)
/external/freetype/src/truetype/ttgload.c
74abee8e2ea269b983916b8eb55bef385b98f2e2 28-Jun-2000 David Turner <david@freetype.org> various cleanups to reduce compiler warnings
/external/freetype/src/truetype/ttgload.c
dcd2e14c58d0e454c05f9e24cf12f415b3c3c4df 25-Jun-2000 Werner Lemberg <wl@gnu.org> forgotten fixes.
/external/freetype/src/truetype/ttgload.c
a929ba9b205c9756f1c0d3c261185e3bacf7fdad 25-Jun-2000 Werner Lemberg <wl@gnu.org> applying formatting again
/external/freetype/src/truetype/ttgload.c
994d7747fb075447818af6cfdd40e1a493257c5a 25-Jun-2000 David Turner <david@freetype.org> various hacks to the TrueType driver that I cannot
explain now, but they'll be very useful in the near future :-)
/external/freetype/src/truetype/ttgload.c
2a98b3c431091de7434f9bde087a4f5c47f463ba 23-Jun-2000 David Turner <david@freetype.org> reduced some nasty memory leaks
/external/freetype/src/truetype/ttgload.c
90f68b727208b3a27b7a8c4694960d88d81570cf 23-Jun-2000 David Turner <david@freetype.org> still more updates to the TrueType driver to make it more
"extensible"..
/external/freetype/src/truetype/ttgload.c
c31286153ab17cb67c3732e497abf6969b7a2da4 23-Jun-2000 David Turner <david@freetype.org> bugfixes in the Type1 drivers
/external/freetype/src/truetype/ttgload.c
f0df85ba2a573c6c5c602667e9f91ef3b00c1d20 22-Jun-2000 David Turner <david@freetype.org> - MAJOR INTERNAL REDESIGN:

A lot of internal modifications have been performed lately on the
source in order to provide the following enhancements:

- more generic module support:

The FT_Module type is now defined to represent a handle to a given
module. The file <freetype/ftmodule.h> contains the FT_Module_Class
definition, as well as the module-loading public API

The FT_Driver type is still defined, and still represents a pointer
to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module,
FT_Get_Driver by FT_Get_Module, etc..


- support for generic glyph image types:

The FT_Renderer type is a pointer to a module used to perform various
operations on glyph image.

Each renderer is capable of handling images in a single format
(e.g. ft_glyph_format_outline). Its functions are used to:

- transform an glyph image
- render a glyph image into a bitmap
- return the control box (dimensions) of a given glyph image


The scan converters "ftraster.c" and "ftgrays.c" have been moved
to the new directory "src/renderer", and are used to provide two
default renderer modules.

One corresponds to the "standard" scan-converter, the other to the
"smooth" one.

The current renderer can be set through the new function
FT_Set_Renderer.

The old raster-related function FT_Set_Raster, FT_Get_Raster and
FT_Set_Raster_Mode have now disappeared, in favor of the new:

FT_Get_Renderer
FT_Set_Renderer

see the file <freetype/ftrender.h> for more details..

These changes were necessary to properly support different scalable
formats in the future, like bi-color glyphs, etc..


- glyph loader object:

A new internal object, called a 'glyph loader' has been introduced
in the base layer. It is used by all scalable format font drivers
to load glyphs and composites.

This object has been created to reduce the code size of each driver,
as each one of them basically re-implemented its functionality.

See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for
more information..



- FT_GlyphSlot had new fields:

In order to support extended features (see below), the FT_GlyphSlot
structure has a few new fields:

linearHoriAdvance: this field gives the linearly scaled (i.e.
scaled but unhinted) advance width for the glyph,
expressed as a 16.16 fixed pixel value. This
is useful to perform WYSIWYG text.

linearVertAdvance: this field gives the linearly scaled advance
height for the glyph (relevant in vertical glyph
layouts only). This is useful to perform
WYSIWYG text.

Note that the two above field replace the removed "metrics2" field
in the glyph slot.

advance: this field is a vector that gives the transformed
advance for the glyph. By default, it corresponds
to the advance width, unless FT_LOAD_VERTICAL_LAYOUT
was specified when calling FT_Load_Glyph or FT_Load_Char

bitmap_left: this field gives the distance in integer pixels from
the current pen position to the left-most pixel of
a glyph image WHEN IT IS A BITMAP. It is only valid
when the "format" field is set to
"ft_glyph_format_bitmap", for example, after calling
the new function FT_Render_Glyph.

bitmap_top: this field gives the distance in integer pixels from
the current pen position (located on the baseline) to
the top-most pixel of the glyph image WHEN IT IS A
BITMAP. Positive values correspond to upwards Y.

loader: this is a new private field for the glyph slot. Client
applications should not touch it..


- support for transforms and direct rendering in FT_Load_Glyph:

Most of the functionality found in <freetype/ftglyph.h> has been
moved to the core library. Hence, the following:

- a transform can be specified for a face through FT_Set_Transform.
this transform is applied by FT_Load_Glyph to scalable glyph images
(i.e. NOT TO BITMAPS) before the function returns, unless the
bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags..


- once a glyph image has been loaded, it can be directly converted to
a bitmap by using the new FT_Render_Glyph function. Note that this
function takes the glyph image from the glyph slot, and converts
it to a bitmap whose properties are returned in "face.glyph.bitmap",
"face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original
native image might be lost after the conversion.


- when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph
and FT_Load_Char functions will call FT_Render_Glyph automatically
when needed.
/external/freetype/src/truetype/ttgload.c
9ca2af38384a3fc3a26cc7eae96c59ad08aca2b2 21-Jun-2000 Werner Lemberg <wl@gnu.org> A new formatting orgy.

Added some `#if 0' to completely disable the CID AFM stuff. In case this is
not correct please fix.
/external/freetype/src/truetype/ttgload.c
f9b8dec437dd84060bcd82a555c92fecff848aa7 16-Jun-2000 David Turner <david@freetype.org> major reformatting of the modules source code in order to get
rid of most of the basic types redefinitions (i.e. FT_Int instead
of "FT_Int", etc..)

The format-specific prefixs like "TT_", "T1_", "T2_" & 'CID_"
are now only used in relevant structures..

fixed Werner's fix to t2gload.c :-)
other small bug fixes
/external/freetype/src/truetype/ttgload.c
7a4fda8821e8fc48167ff3603f7a0b323fa46963 14-Jun-2000 Werner Lemberg <wl@gnu.org> The next round of formatting, checking documentation, etc.
/external/freetype/src/truetype/ttgload.c
78575dc0d188d18f806e802e36752ea85318e543 12-Jun-2000 Werner Lemberg <wl@gnu.org> A lot of formatting.

Added more tracing levels.

More Makefile fixes.

Minor other changes.
/external/freetype/src/truetype/ttgload.c
1c0d4acb256927c69bcfadc47c98458754e20865 06-Jun-2000 Werner Lemberg <wl@gnu.org> Fine-tuned a lot of tracing levels to make them more functional with ftview.

Added a lot of \n to tracing messages.

Fixed a serious bug in loading SBit offsets (missing parentheses around a
xxx ? yyy : zzz construct).

Replaced most GET_xxx() functions with calls to READ_Frame() in ttsbit.c
/external/freetype/src/truetype/ttgload.c
04aa800ce982d340befbec799ed9d3735eb6bd64 01-Jun-2000 David Turner <david@freetype.org> added a CID-keyed font driver in "src/cid"
fixed two bugs in the smooth renderer
/external/freetype/src/truetype/ttgload.c
109fcf6086727f61f59a8ce9c569b85bb3d70ae8 18-May-2000 David Turner <david@freetype.org> fixed the sbit loader (src/base/sfnt/ttsbit.c)

introduced a new load flag (FT_LOAD_CROP_BITMAP) used
to indicate that we want embedded bitmaps to be cropped..

Thanks a lot to Yamano-uchi, Hidetoshi
/external/freetype/src/truetype/ttgload.c
3475e7fba3bc57acde8ff0ec8091ea02ba1dd774 17-May-2000 David Turner <david@freetype.org> removed TT_MAX_SUBGLYPHS macro, there is no static
limit on the number of subglyphs in a TrueType font..

changed the default number of gray levels used by the
smooth renderer to 256 (instead of 128). Of course, the
human eye can't tell a difference ;-)
/external/freetype/src/truetype/ttgload.c
e49ab25c0822e1043be29e836944c7886f4e8990 17-May-2000 David Turner <david@freetype.org> formatting - removed trailing spaces
/external/freetype/src/truetype/ttgload.c
efce08d67c1c2a8bf0d0d58463e754c746433d23 11-May-2000 David Turner <david@freetype.org> major re-organisation of the FreeType 2 directory hierarchy
/external/freetype/src/truetype/ttgload.c
48641d60ae853a34a5c683d69cf35f879d2567d1 02-May-2000 David Turner <david@freetype.org> added a simple line to set "glyph.control_len" when loading
a simple glyph. This is used to compute statistics on font files..
/external/freetype/src/truetype/ttgload.c
ed7f62aca5eab9d808daf0879607779bd2670173 28-Mar-2000 David Turner <david@freetype.org> support for FT_LOAD_NO_RECURSE needed by the auto-hinter
/external/freetype/src/truetype/ttgload.c
7f615aef5ea990337d15c4cb3411737a0c63d583 13-Mar-2000 David Turner <david@freetype.org> renamed all outlines functions to the
FT_Outline_<action> syntax..
/external/freetype/src/truetype/ttgload.c
41dbcbf6285901c9e1fcc7605cf996341af2ac3e 09-Mar-2000 David Turner <david@freetype.org> reformatting, changing the FT_Outline structure:

- "flags" have been renamed to "tags"
- "outline_flags" have been renamed to "flags"

Look for more re-formatting today..
/external/freetype/src/truetype/ttgload.c
0f99ddda5f236479edd55f9233dd4ade1d76f646 06-Mar-2000 David Turner <david@freetype.org> changed the structure of FT_Outline in order to pack
all outline flags in a single integer..

Changed the rest of the library and demo programs
accordingly..
/external/freetype/src/truetype/ttgload.c
7bb7fedef169a95ee56ad112fe2be774c0409296 28-Feb-2000 David Turner <david@freetype.org> fixed a bug which appeared when loading
unscaled composite glyphs
/external/freetype/src/truetype/ttgload.c
08fdac980acd8e2ef3a17685f4f32fbe3625b96f 21-Feb-2000 David Turner <david@freetype.org> fixed a bug in the glyph loader that caused a memory
block to be freed twice. Also performed changes to use
the new glyph zone object that has appeared in ftobjs.h
/external/freetype/src/truetype/ttgload.c
861ba624db9df65529a11718d3eabc45b124dbeb 15-Feb-2000 David Turner <david@freetype.org> small fix (reduce compiler warnings)
/external/freetype/src/truetype/ttgload.c
71ec10efe5409cdc73824408b0c019ba991ee965 10-Feb-2000 David Turner <david@freetype.org> support for the IGNORE_GLOBAL_ADVANCE_WIDTH
loading flag
/external/freetype/src/truetype/ttgload.c
8f43c714a5a74c63c2a6242392790510ac487f80 02-Feb-2000 David Turner <david@freetype.org> A major refresh of the TrueType driver :

- some #ifdefs were included in order to _not_
compile support for the bytecode interpreter
when FT_CONFIG_OPTION_BYTECODE_INTERPRETER
is not defined in "ttconfig.h"

- the glyph loader has been seriously re-designed. It is now
smaller, simpler and should load composites a bit faster

- works with the TrueType debugger
/external/freetype/src/truetype/ttgload.c
3b925ef74408cc2cf954c89fc40e2c2fceeb25f2 17-Jan-2000 David Turner <david@freetype.org> fixed a minor bug in the computation of the vertical
metrics top-side bearing
/external/freetype/src/truetype/ttgload.c
454a428542e34ac043fc47a3e21b3c8e6a7b070c 13-Jan-2000 David Turner <david@freetype.org> fixed a bug which caused some font family and style
names to be incorrectly ignored..
/external/freetype/src/truetype/ttgload.c
fc1f98944640c2069194a3daaba914dee6a4f613 07-Jan-2000 David Turner <david@freetype.org> Finally, the TrueType driver was completely audited. The code should
now be 100% compatible with the implementation in FreeType 1.x.

It's now time to make a new tag for the repository :-)

- David
/external/freetype/src/truetype/ttgload.c
d2b1f357049f6b5e6766af9f3dfa134d2527feec 17-Dec-1999 David Turner <david@freetype.org> Initial revision
/external/freetype/src/truetype/ttgload.c