*/*: s/backwards compatibility/backward compatibility/.

This commit is contained in:
Werner Lemberg 2017-05-03 23:54:29 +02:00
parent c9e7063a01
commit 8cd31eb7b0
23 changed files with 112 additions and 108 deletions

View File

@ -1,3 +1,7 @@
2017-05-03 Werner Lemberg <wl@gnu.org>
*/*: s/backwards compatibility/backward compatibility/.
2017-05-03 Sascha Brawer <sascha@google.com> 2017-05-03 Sascha Brawer <sascha@google.com>
Werner Lemberg <wl@gnu.org Werner Lemberg <wl@gnu.org
@ -127,7 +131,7 @@
* include/freetype/freetype.h (FT_Render_Mode): Fix order. * include/freetype/freetype.h (FT_Render_Mode): Fix order.
This retains backwards compatibility. This retains backward compatibility.
Noted by Alexei. Noted by Alexei.
@ -162,7 +166,7 @@
horizontally, only applying vertical scaling and hinting. horizontally, only applying vertical scaling and hinting.
At the same time, the behaviour of the `light' auto-hinter gets At the same time, the behaviour of the `light' auto-hinter gets
restored for backwards compatibility: Both vertical and horizontal restored for backward compatibility: Both vertical and horizontal
scaling is again based on rounded metrics values (this was changed scaling is again based on rounded metrics values (this was changed
in a commit from 2017-03-30 as a side effect). To be more precise, in a commit from 2017-03-30 as a side effect). To be more precise,
the behaviour is restored for TrueType fonts only; for other font the behaviour is restored for TrueType fonts only; for other font

View File

@ -9062,7 +9062,7 @@
FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc FT_Glyph_Name_Requester => FT_Face_GetGlyphNameFunc
FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc FT_Name_Index_Requester => FT_Face_GetGlyphNameIndexFunc
* src/base/ftapi.c: New file. It contains backwards compatibility * src/base/ftapi.c: New file. It contains backward compatibility
functions. functions.
* include/freetype/internal/psaux.h, src/cid/cidload.c, * include/freetype/internal/psaux.h, src/cid/cidload.c,
@ -9246,7 +9246,7 @@
{ {
} PS_StructRec, *PS_Struct; } PS_StructRec, *PS_Struct;
typedef PS_StructRec T1_Struct; /* backwards-compatibility */ typedef PS_StructRec T1_Struct; /* backward compatibility */
Hence, we increase the coherency of the source code by effectively Hence, we increase the coherency of the source code by effectively
using the `Rec' prefix for structure types. using the `Rec' prefix for structure types.

View File

@ -605,7 +605,7 @@
* docs/release: Minor additions and clarifications. * docs/release: Minor additions and clarifications.
* docs/CHANGES: Updated to reflect many fixes for backwards * docs/CHANGES: Updated to reflect many fixes for backward
compatibility. Still incomplete. compatibility. Still incomplete.
2006-02-26 David Turner <david@freetype.org> 2006-02-26 David Turner <david@freetype.org>
@ -2787,7 +2787,7 @@
2005-06-15 Kirill Smelkov <kirr@mns.spb.ru> 2005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
The next release will be 2.2.0, so don't worry about source code The next release will be 2.2.0, so don't worry about source code
backwards compatibility. backward compatibility.
* include/freetype/ftimage.h (FT_Outline_MoveToFunc, * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
FT_Outline_LineToFunc, FT_Outline_ConicToFunc, FT_Outline_LineToFunc, FT_Outline_ConicToFunc,

View File

@ -335,7 +335,7 @@
* include/freetype/ftmoderr.h: Fix commit from 2013-03-11. * include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
The previous version was not backwards compatible. Reported by The previous version was not backward compatible. Reported by
Behdad. Behdad.
2013-03-14 Werner Lemberg <wl@gnu.org> 2013-03-14 Werner Lemberg <wl@gnu.org>

View File

@ -244,7 +244,7 @@
All public FreeType enumeration and flag values are uppercase... All public FreeType enumeration and flag values are uppercase...
* include/tttables.h (FT_Sfnt_Tag): Implement it. For backwards * include/tttables.h (FT_Sfnt_Tag): Implement it. For backward
compatibility, retain the old values as macros. compatibility, retain the old values as macros.
* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c * src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c

View File

@ -563,26 +563,26 @@
* src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by... * src/truetype/ttinterp.c (SUBPIXEL_HINTING): Replaced by...
(NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY, (NO_SUBPIXEL_HINTING, SUBPIXEL_HINTING_INFINALITY,
SUBPIXEL_HINTING_MINIMAL): ...new macros. SUBPIXEL_HINTING_MINIMAL): ...new macros.
(Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backwards (Direct_Move, Direct_Move_X, Direct_Move_Y): Handle backward
compatibility. compatibility.
Updated. Updated.
(Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD): (Ins_RS, Ins_FDEF, Ins_ENDF, Ins_CALL, Ins_LOOPCALL, Ins_MD):
Updated. Updated.
(Ins_INSTCTRL): Handle native ClearType mode flag. (Ins_INSTCTRL): Handle native ClearType mode flag.
Updated. Updated.
(Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backwards (Ins_FLIPPT, Ins_FLIPRGON, Ins_FLIPRGOFF): Handle backward
compatibility. compatibility.
(Move_Zp2_Point): Ditto. (Move_Zp2_Point): Ditto.
(Ins_SHP): Updated. (Ins_SHP): Updated.
(Ins_SHPIX): Handle backwards compatibility. (Ins_SHPIX): Handle backward compatibility.
Updated. Updated.
(Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated. (Ins_MSIRP, Ins_MDAP, Ins_MIAP, Ins_MDRP, Ins_MIRP): Updated.
(Ins_ALIGNRP): Updated. (Ins_ALIGNRP): Updated.
(Ins_IUP, Ins_DELTAP): Handle backwards compatibility. (Ins_IUP, Ins_DELTAP): Handle backward compatibility.
Updated. Updated.
(Ins_GETINFO): Handle v38 flags. (Ins_GETINFO): Handle v38 flags.
Updated. Updated.
(TT_RunIns): Handle backwards compatibility mode. (TT_RunIns): Handle backward compatibility mode.
Updated. Updated.
2016-05-17 Nikolaus Waxweiler <madigens@gmail.com> 2016-05-17 Nikolaus Waxweiler <madigens@gmail.com>
@ -606,16 +606,16 @@
* src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields * src/truetype/ttinterp.h (TT_ExecContextRec): Define new fields
`subpixel_hinting_lean', `vertical_lcd_lean', `subpixel_hinting_lean', `vertical_lcd_lean',
`backwards_compatibility', `iupx_called', iupy_called', and `backward_compatibility', `iupx_called', iupy_called', and
`grayscale_cleartype' for new hinting mode. `grayscale_cleartype' for new hinting mode.
* src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40 * src/truetype/ttdriver.c (tt_property_set): Handle v38 and v40
interpreters conditionally. interpreters conditionally.
* src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless * src/truetype/ttgload.c (TT_Hint_Glyph): Save phantom points unless
in v38 backwards compatibility mode. in v38 backward compatibility mode.
Updated. Updated.
(compute_glyph_metrics): Add v38 backwards compatibility mode (compute_glyph_metrics): Add v38 backward compatibility mode
constraint for adjusting advance widths. constraint for adjusting advance widths.
Updated. Updated.
(tt_loader_init): Handle new flags `subpixel_hinting_lean', (tt_loader_init): Handle new flags `subpixel_hinting_lean',
@ -1482,7 +1482,7 @@
Still handle `__FTERRORS_H__'. Still handle `__FTERRORS_H__'.
We need this for backwards compatibility. We need this for backward compatibility.
Problem reported by John Emmas <johne53@tiscali.co.uk>. Problem reported by John Emmas <johne53@tiscali.co.uk>.
@ -4222,7 +4222,7 @@
[truetype] Support selector index 3 of the INSTCTRL instruction. [truetype] Support selector index 3 of the INSTCTRL instruction.
This flag activates `native ClearType hinting', disabling backwards This flag activates `native ClearType hinting', disabling backward
compatibility mode as described in Greg Hitchcocks whitepaper. In compatibility mode as described in Greg Hitchcocks whitepaper. In
other words, it enables unrestricted functionality of all TrueType other words, it enables unrestricted functionality of all TrueType
instructions in ClearType. instructions in ClearType.

2
configure vendored
View File

@ -15,7 +15,7 @@
rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk
# respect GNUMAKE environment variable for backwards compatibility # respect GNUMAKE environment variable for backward compatibility
if test "x$GNUMAKE" = x; then if test "x$GNUMAKE" = x; then
if test "x$MAKE" = x; then if test "x$MAKE" = x; then
if test "x`make -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then if test "x`make -v 2>/dev/null | egrep 'GNU|makepp'`" = x; then

View File

@ -342,7 +342,7 @@ CHANGES BETWEEN 2.6.2 and 2.6.3
to the user. The exception to this is `__FTERRORS_H__', which to the user. The exception to this is `__FTERRORS_H__', which
must be sometimes undefined by the user to get FreeType error must be sometimes undefined by the user to get FreeType error
strings: Both this form and the new `FTERRORS_H_' macro are strings: Both this form and the new `FTERRORS_H_' macro are
accepted for backwards compatibility. accepted for backward compatibility.
- Minor improvements mainly to the Type 1 driver. - Minor improvements mainly to the Type 1 driver.
@ -583,17 +583,17 @@ CHANGES BETWEEN 2.5.5 and 2.6
compiler warnings. compiler warnings.
- Function `FT_Bitmap_New' has been renamed to `FT_Bitmap_Init', - Function `FT_Bitmap_New' has been renamed to `FT_Bitmap_Init',
since this name better reflects its function. For backwards since this name better reflects its function. For backward
compatibility, the old function name is still available. compatibility, the old function name is still available.
- Function `FT_Get_X11_Font_Format' has been renamed to - Function `FT_Get_X11_Font_Format' has been renamed to
`FT_Get_Font_Format', since this name better reflects its `FT_Get_Font_Format', since this name better reflects its
function. For backwards compatibility, the old function name is function. For backward compatibility, the old function name is
still available. still available.
Additionally, the header file macro for this function has been Additionally, the header file macro for this function has been
renamed to `FT_FONT_FORMATS_H' (the old name `FT_XFREE86_H' is renamed to `FT_FONT_FORMATS_H' (the old name `FT_XFREE86_H' is
retained for backwards compatibility). retained for backward compatibility).
- Various improvements to the `ftgrid' demo program. - Various improvements to the `ftgrid' demo program.
@ -1027,7 +1027,7 @@ index ebcf189..3f2ce6b 100644
II. MISCELLANEOUS II. MISCELLANEOUS
- The (top-level) `configure' script now respects the MAKE - The (top-level) `configure' script now respects the MAKE
environment variable to specify a `make' binary. For backwards environment variable to specify a `make' binary. For backward
compatibility, GNUMAKE still overrides MAKE, though. compatibility, GNUMAKE still overrides MAKE, though.
- The `ftview' and `ftdiff' demo programs have been redesigned, - The `ftview' and `ftdiff' demo programs have been redesigned,

View File

@ -771,7 +771,7 @@ FT_BEGIN_HEADER
FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ), FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ), FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ),
/* for backwards compatibility */ /* for backward compatibility */
FT_ENCODING_GB2312 = FT_ENCODING_PRC, FT_ENCODING_GB2312 = FT_ENCODING_PRC,
FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS, FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS,
FT_ENCODING_MS_GB2312 = FT_ENCODING_PRC, FT_ENCODING_MS_GB2312 = FT_ENCODING_PRC,
@ -2037,7 +2037,7 @@ FT_BEGIN_HEADER
/* `num_params' and `params' is used. They are ignored otherwise. */ /* `num_params' and `params' is used. They are ignored otherwise. */
/* */ /* */
/* Ideally, both the `pathname' and `params' fields should be tagged */ /* Ideally, both the `pathname' and `params' fields should be tagged */
/* as `const'; this is missing for API backwards compatibility. In */ /* as `const'; this is missing for API backward compatibility. In */
/* other words, applications should treat them as read-only. */ /* other words, applications should treat them as read-only. */
/* */ /* */
typedef struct FT_Open_Args_ typedef struct FT_Open_Args_

View File

@ -106,7 +106,7 @@
/* */ /* */
/* #undefine __FTERRORS_H__ */ /* #undefine __FTERRORS_H__ */
/* */ /* */
/* work for backwards compatibility. */ /* work for backward compatibility. */
/* */ /* */
#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) ) #if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
#define FTERRORS_H_ #define FTERRORS_H_

View File

@ -243,7 +243,7 @@ FT_BEGIN_HEADER
* @description: * @description:
* A tag for @FT_Parameter to make @FT_Open_Face ignore typographic * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
* family names in the `name' table (introduced in OpenType version * family names in the `name' table (introduced in OpenType version
* 1.4). Use this for backwards compatibility with legacy systems that * 1.4). Use this for backward compatibility with legacy systems that
* have a four-faces-per-family restriction. * have a four-faces-per-family restriction.
* *
*/ */
@ -264,7 +264,7 @@ FT_BEGIN_HEADER
* @description: * @description:
* A tag for @FT_Parameter to make @FT_Open_Face ignore typographic * A tag for @FT_Parameter to make @FT_Open_Face ignore typographic
* subfamily names in the `name' table (introduced in OpenType version * subfamily names in the `name' table (introduced in OpenType version
* 1.4). Use this for backwards compatibility with legacy systems that * 1.4). Use this for backward compatibility with legacy systems that
* have a four-faces-per-family restriction. * have a four-faces-per-family restriction.
* *
*/ */

View File

@ -136,7 +136,7 @@ FT_BEGIN_HEADER
* FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line * FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line
* join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias * join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias
* for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for * for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for
* backwards compatibility. * backward compatibility.
*/ */
typedef enum FT_Stroker_LineJoin_ typedef enum FT_Stroker_LineJoin_
{ {

View File

@ -110,7 +110,7 @@ FT_BEGIN_HEADER
* TrueType interpreter fully allows the advance width to be adjusted in * TrueType interpreter fully allows the advance width to be adjusted in
* this mode, just the DWrite client will ignore those changes. * this mode, just the DWrite client will ignore those changes.
* *
* _ClearType_ _Backwards_ _Compatibility_ * _ClearType_ _Backward_ _Compatibility_
* *
* This is a set of exceptions made in the TrueType interpreter to * This is a set of exceptions made in the TrueType interpreter to
* minimize hinting techniques that were problematic with the extra * minimize hinting techniques that were problematic with the extra
@ -118,9 +118,9 @@ FT_BEGIN_HEADER
* http://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and * http://www.beatstamm.com/typography/RTRCh4.htm#Sec1 and
* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx. * http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx.
* This technique is not to be confused with ClearType compatible * This technique is not to be confused with ClearType compatible
* widths. ClearType backwards compatibility has no direct impact on * widths. ClearType backward compatibility has no direct impact on
* changing advance widths, but there might be an indirect impact on * changing advance widths, but there might be an indirect impact on
* disabling some deltas. This could be worked around in backwards * disabling some deltas. This could be worked around in backward
* compatibility mode. * compatibility mode.
* *
* _Native_ _ClearType_ _Mode_ * _Native_ _ClearType_ _Mode_

View File

@ -817,7 +817,7 @@ FT_BEGIN_HEADER
} PSAux_ServiceRec, *PSAux_Service; } PSAux_ServiceRec, *PSAux_Service;
/* backwards-compatible type definition */ /* backward compatible type definition */
typedef PSAux_ServiceRec PSAux_Interface; typedef PSAux_ServiceRec PSAux_Interface;

View File

@ -1383,7 +1383,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* sph_compatibility_mode :: */ /* sph_compatibility_mode :: */
/* This flag is set if we are in ClearType */ /* This flag is set if we are in ClearType */
/* backwards compatibility mode (used by the */ /* backward compatibility mode (used by the */
/* v38 implementation of the bytecode */ /* v38 implementation of the bytecode */
/* interpreter). */ /* interpreter). */
/* */ /* */

View File

@ -291,7 +291,7 @@ FT_BEGIN_HEADER
} PS_DesignMapRec, *PS_DesignMap; } PS_DesignMapRec, *PS_DesignMap;
/* backwards-compatible definition */ /* backward compatible definition */
typedef PS_DesignMapRec T1_DesignMap; typedef PS_DesignMapRec T1_DesignMap;
@ -326,7 +326,7 @@ FT_BEGIN_HEADER
} PS_BlendRec, *PS_Blend; } PS_BlendRec, *PS_Blend;
/* backwards-compatible definition */ /* backward compatible definition */
typedef PS_BlendRec T1_Blend; typedef PS_BlendRec T1_Blend;

View File

@ -1216,7 +1216,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* for backwards compatibility with older FreeType versions */ /* for backward compatibility with older FreeType versions */
#define TT_UCR_ARABIC_PRESENTATION_A \ #define TT_UCR_ARABIC_PRESENTATION_A \
TT_UCR_ARABIC_PRESENTATION_FORMS_A TT_UCR_ARABIC_PRESENTATION_FORMS_A
#define TT_UCR_ARABIC_PRESENTATION_B \ #define TT_UCR_ARABIC_PRESENTATION_B \

View File

@ -3,7 +3,7 @@
/* ttunpat.h */ /* ttunpat.h */
/* */ /* */
/* Definitions for the unpatented TrueType hinting system. */ /* Definitions for the unpatented TrueType hinting system. */
/* Obsolete, retained for backwards compatibility. */ /* Obsolete, retained for backward compatibility. */
/* */ /* */
/* Copyright 2003-2017 by */ /* Copyright 2003-2017 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */

View File

@ -38,7 +38,7 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
/* backwards compatibility API */ /* backward compatibility API */
FT_BASE_DEF( void ) FT_BASE_DEF( void )
FT_New_Memory_Stream( FT_Library library, FT_New_Memory_Stream( FT_Library library,

View File

@ -3,7 +3,7 @@
/* ftpatent.c */ /* ftpatent.c */
/* */ /* */
/* FreeType API for checking patented TrueType bytecode instructions */ /* FreeType API for checking patented TrueType bytecode instructions */
/* (body). Obsolete, retained for backwards compatibility. */ /* (body). Obsolete, retained for backward compatibility. */
/* */ /* */
/* Copyright 2007-2017 by */ /* Copyright 2007-2017 by */
/* David Turner. */ /* David Turner. */

View File

@ -163,7 +163,7 @@
/* This may not be the right place for this, but it works... */ /* This may not be the right place for this, but it works... */
/* Note that we have to unconditionally load the tweaks since */ /* Note that we have to unconditionally load the tweaks since */
/* it is possible that glyphs individually switch ClearType's */ /* it is possible that glyphs individually switch ClearType's */
/* backwards compatibility mode on and off. */ /* backward compatibility mode on and off. */
sph_set_tweaks( loader, glyph_index ); sph_set_tweaks( loader, glyph_index );
} }
#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
@ -821,11 +821,11 @@
#endif #endif
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* Save possibly modified glyph phantom points unless in v40 backwards */ /* Save possibly modified glyph phantom points unless in v40 backward */
/* compatibility mode, where no movement on the x axis means no reason */ /* compatibility mode, where no movement on the x axis means no reason */
/* to change bearings or advance widths. */ /* to change bearings or advance widths. */
if ( !( driver->interpreter_version == TT_INTERPRETER_VERSION_40 && if ( !( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
!loader->exec->backwards_compatibility ) ) !loader->exec->backward_compatibility ) )
{ {
#endif #endif
loader->pp1 = zone->cur[zone->n_points - 4]; loader->pp1 = zone->cur[zone->n_points - 4];
@ -2053,18 +2053,18 @@
glyph->metrics.horiBearingY = bbox.yMax; glyph->metrics.horiBearingY = bbox.yMax;
glyph->metrics.horiAdvance = loader->pp2.x - loader->pp1.x; glyph->metrics.horiAdvance = loader->pp2.x - loader->pp1.x;
/* Adjust advance width to the value contained in the hdmx table */ /* Adjust advance width to the value contained in the hdmx table */
/* unless FT_LOAD_COMPUTE_METRICS is set or backwards compatibility */ /* unless FT_LOAD_COMPUTE_METRICS is set or backward compatibility */
/* mode of the v40 interpreter is active. See `ttinterp.h' for */ /* mode of the v40 interpreter is active. See `ttinterp.h' for */
/* details on backwards compatibility mode. */ /* details on backward compatibility mode. */
if ( if (
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
!( driver->interpreter_version == TT_INTERPRETER_VERSION_40 && !( driver->interpreter_version == TT_INTERPRETER_VERSION_40 &&
( loader->exec && loader->exec->backwards_compatibility ) ) && ( loader->exec && loader->exec->backward_compatibility ) ) &&
#endif #endif
!face->postscript.isFixedPitch && !face->postscript.isFixedPitch &&
IS_HINTED( loader->load_flags ) && IS_HINTED( loader->load_flags ) &&
!( loader->load_flags & FT_LOAD_COMPUTE_METRICS ) ) !( loader->load_flags & FT_LOAD_COMPUTE_METRICS ) )
{ {
FT_Byte* widthp; FT_Byte* widthp;

View File

@ -1656,7 +1656,7 @@
/* zone :: The affected glyph zone. */ /* zone :: The affected glyph zone. */
/* */ /* */
/* <Note> */ /* <Note> */
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
/* `Touches' the point. */ /* `Touches' the point. */
/* */ /* */
static void static void
@ -1684,7 +1684,7 @@
/* Exception to the post-IUP curfew: Allow the x component of */ /* Exception to the post-IUP curfew: Allow the x component of */
/* diagonal moves, but only post-IUP. DejaVu tries to adjust */ /* diagonal moves, but only post-IUP. DejaVu tries to adjust */
/* diagonal stems like on `Z' and `z' post-IUP. */ /* diagonal stems like on `Z' and `z' post-IUP. */
if ( SUBPIXEL_HINTING_MINIMAL && !exc->backwards_compatibility ) if ( SUBPIXEL_HINTING_MINIMAL && !exc->backward_compatibility )
zone->cur[point].x += FT_MulDiv( distance, v, exc->F_dot_P ); zone->cur[point].x += FT_MulDiv( distance, v, exc->F_dot_P );
else else
#endif #endif
@ -1700,10 +1700,10 @@
if ( v != 0 ) if ( v != 0 )
{ {
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( !( SUBPIXEL_HINTING_MINIMAL && if ( !( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupx_called &&
exc->iupy_called ) ) exc->iupy_called ) )
#endif #endif
zone->cur[point].y += FT_MulDiv( distance, v, exc->F_dot_P ); zone->cur[point].y += FT_MulDiv( distance, v, exc->F_dot_P );
@ -1756,7 +1756,7 @@
/* */ /* */
/* The following versions are used whenever both vectors are both */ /* The following versions are used whenever both vectors are both */
/* along one of the coordinate unit vectors, i.e. in 90% of the cases. */ /* along one of the coordinate unit vectors, i.e. in 90% of the cases. */
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
/* */ /* */
/*************************************************************************/ /*************************************************************************/
@ -1774,7 +1774,7 @@
#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( SUBPIXEL_HINTING_MINIMAL && !exc->backwards_compatibility ) if ( SUBPIXEL_HINTING_MINIMAL && !exc->backward_compatibility )
zone->cur[point].x += distance; zone->cur[point].x += distance;
else else
#endif #endif
@ -1796,7 +1796,7 @@
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( !( SUBPIXEL_HINTING_MINIMAL && if ( !( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupy_called ) ) exc->iupx_called && exc->iupy_called ) )
#endif #endif
zone->cur[point].y += distance; zone->cur[point].y += distance;
@ -5126,11 +5126,11 @@
#endif #endif
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* Native ClearType fonts sign a waiver that turns off all backwards */ /* Native ClearType fonts sign a waiver that turns off all backward */
/* compatibility hacks and lets them program points to the grid like */ /* compatibility hacks and lets them program points to the grid like */
/* it's 1996. They might sign a waiver for just one glyph, though. */ /* it's 1996. They might sign a waiver for just one glyph, though. */
if ( SUBPIXEL_HINTING_MINIMAL ) if ( SUBPIXEL_HINTING_MINIMAL )
exc->backwards_compatibility = !FT_BOOL( L == 4 ); exc->backward_compatibility = !FT_BOOL( L == 4 );
#endif #endif
} }
} }
@ -5218,11 +5218,11 @@
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupx_called &&
exc->iupy_called ) exc->iupy_called )
goto Fail; goto Fail;
#endif #endif
@ -5273,11 +5273,11 @@
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupx_called &&
exc->iupy_called ) exc->iupy_called )
return; return;
#endif #endif
@ -5311,11 +5311,11 @@
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupx_called &&
exc->iupy_called ) exc->iupy_called )
return; return;
#endif #endif
@ -5378,7 +5378,7 @@
} }
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
static void static void
Move_Zp2_Point( TT_ExecContext exc, Move_Zp2_Point( TT_ExecContext exc,
FT_UShort point, FT_UShort point,
@ -5389,8 +5389,8 @@
if ( exc->GS.freeVector.x != 0 ) if ( exc->GS.freeVector.x != 0 )
{ {
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( !( SUBPIXEL_HINTING_MINIMAL && if ( !( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility ) ) exc->backward_compatibility ) )
#endif #endif
exc->zp2.cur[point].x += dx; exc->zp2.cur[point].x += dx;
@ -5401,10 +5401,10 @@
if ( exc->GS.freeVector.y != 0 ) if ( exc->GS.freeVector.y != 0 )
{ {
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( !( SUBPIXEL_HINTING_MINIMAL && if ( !( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility && exc->backward_compatibility &&
exc->iupx_called && exc->iupx_called &&
exc->iupy_called ) ) exc->iupy_called ) )
#endif #endif
exc->zp2.cur[point].y += dy; exc->zp2.cur[point].y += dy;
@ -5701,8 +5701,8 @@
else else
#endif #endif
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility ) exc->backward_compatibility )
{ {
/* Special case: allow SHPIX to move points in the twilight zone. */ /* Special case: allow SHPIX to move points in the twilight zone. */
/* Otherwise, treat SHPIX the same as DELTAP. Unbreaks various */ /* Otherwise, treat SHPIX the same as DELTAP. Unbreaks various */
@ -6466,7 +6466,7 @@
R.x = FT_MulDiv( val, dax, discriminant ); R.x = FT_MulDiv( val, dax, discriminant );
R.y = FT_MulDiv( val, day, discriminant ); R.y = FT_MulDiv( val, day, discriminant );
/* XXX: Block in backwards_compatibility and/or post-IUP? */ /* XXX: Block in backward_compatibility and/or post-IUP? */
exc->zp2.cur[point].x = exc->zp1.cur[a0].x + R.x; exc->zp2.cur[point].x = exc->zp1.cur[a0].x + R.x;
exc->zp2.cur[point].y = exc->zp1.cur[a0].y + R.y; exc->zp2.cur[point].y = exc->zp1.cur[a0].y + R.y;
} }
@ -6474,7 +6474,7 @@
{ {
/* else, take the middle of the middles of A and B */ /* else, take the middle of the middles of A and B */
/* XXX: Block in backwards_compatibility and/or post-IUP? */ /* XXX: Block in backward_compatibility and/or post-IUP? */
exc->zp2.cur[point].x = ( exc->zp1.cur[a0].x + exc->zp2.cur[point].x = ( exc->zp1.cur[a0].x +
exc->zp1.cur[a1].x + exc->zp1.cur[a1].x +
exc->zp0.cur[b0].x + exc->zp0.cur[b0].x +
@ -6866,11 +6866,11 @@
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* See `ttinterp.h' for details on backwards compatibility mode. */ /* See `ttinterp.h' for details on backward compatibility mode. */
/* Allow IUP until it has been called on both axes. Immediately */ /* Allow IUP until it has been called on both axes. Immediately */
/* return on subsequent ones. */ /* return on subsequent ones. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility ) exc->backward_compatibility )
{ {
if ( exc->iupx_called && exc->iupy_called ) if ( exc->iupx_called && exc->iupy_called )
return; return;
@ -7112,10 +7112,10 @@
{ {
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* See `ttinterp.h' for details on backwards compatibility */ /* See `ttinterp.h' for details on backward compatibility */
/* mode. */ /* mode. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
exc->backwards_compatibility ) exc->backward_compatibility )
{ {
if ( !( exc->iupx_called && exc->iupy_called ) && if ( !( exc->iupx_called && exc->iupy_called ) &&
( ( exc->is_composite && exc->GS.freeVector.y != 0 ) || ( ( exc->is_composite && exc->GS.freeVector.y != 0 ) ||
@ -7259,7 +7259,7 @@
{ {
if ( exc->ignore_x_mode ) if ( exc->ignore_x_mode )
{ {
/* if in ClearType backwards compatibility mode, */ /* if in ClearType backward compatibility mode, */
/* we sometimes change the TrueType version dynamically */ /* we sometimes change the TrueType version dynamically */
K = exc->rasterizer_version; K = exc->rasterizer_version;
FT_TRACE6(( "Setting rasterizer version %d\n", FT_TRACE6(( "Setting rasterizer version %d\n",
@ -7589,15 +7589,15 @@
#endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */ #endif /* TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY */
#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL #ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
/* Toggle backwards compatibility according to what font says, except */ /* Toggle backward compatibility according to what font says, except */
/* when it's a `tricky' font that heavily relies on the interpreter to */ /* when it's a `tricky' font that heavily relies on the interpreter to */
/* render glyphs correctly, e.g. DFKai-SB. Backwards compatibility */ /* render glyphs correctly, e.g. DFKai-SB. Backward compatibility */
/* hacks may break it. */ /* hacks may break it. */
if ( SUBPIXEL_HINTING_MINIMAL && if ( SUBPIXEL_HINTING_MINIMAL &&
!FT_IS_TRICKY( &exc->face->root ) ) !FT_IS_TRICKY( &exc->face->root ) )
exc->backwards_compatibility = !( exc->GS.instruct_control & 4 ); exc->backward_compatibility = !( exc->GS.instruct_control & 4 );
else else
exc->backwards_compatibility = FALSE; exc->backward_compatibility = FALSE;
exc->iupx_called = FALSE; exc->iupx_called = FALSE;
exc->iupy_called = FALSE; exc->iupy_called = FALSE;

View File

@ -256,7 +256,7 @@ FT_BEGIN_HEADER
* Modern TrueType fonts are usually rendered through Microsoft's * Modern TrueType fonts are usually rendered through Microsoft's
* collection of rendering techniques called ClearType (e.g., subpixel * collection of rendering techniques called ClearType (e.g., subpixel
* rendering and subpixel hinting). When ClearType was introduced, most * rendering and subpixel hinting). When ClearType was introduced, most
* fonts were not ready. Microsoft decided to implement a backwards * fonts were not ready. Microsoft decided to implement a backward
* compatibility mode that employed several simple to complicated * compatibility mode that employed several simple to complicated
* assumptions and tricks that modified the interpretation of the * assumptions and tricks that modified the interpretation of the
* bytecode contained in these fonts to make them look ClearType-y * bytecode contained in these fonts to make them look ClearType-y
@ -316,12 +316,12 @@ FT_BEGIN_HEADER
* very specific patterns (`superhinting') for pre-ClearType-displays, * very specific patterns (`superhinting') for pre-ClearType-displays,
* the worse the results. * the worse the results.
* *
* Microsoft defines a way to turn off backwards compatibility and * Microsoft defines a way to turn off backward compatibility and
* interpret instructions as before (called `native ClearType')[2][3]. * interpret instructions as before (called `native ClearType')[2][3].
* The font designer then regains full control and is responsible for * The font designer then regains full control and is responsible for
* making the font work correctly with ClearType without any * making the font work correctly with ClearType without any
* hand-holding by the interpreter or rasterizer[4]. The v40 * hand-holding by the interpreter or rasterizer[4]. The v40
* interpreter assumes backwards compatibility by default, which can be * interpreter assumes backward compatibility by default, which can be
* turned off the same way by executing the following in the control * turned off the same way by executing the following in the control
* program (cf. `Ins_INSTCTRL'). * program (cf. `Ins_INSTCTRL').
* *
@ -331,7 +331,7 @@ FT_BEGIN_HEADER
* [1] Tricky fonts as FreeType defines them rely on the bytecode * [1] Tricky fonts as FreeType defines them rely on the bytecode
* interpreter to display correctly. Hacks can interfere with them, * interpreter to display correctly. Hacks can interfere with them,
* so they get treated like native ClearType fonts (v40 with * so they get treated like native ClearType fonts (v40 with
* backwards compatibility turned off). Cf. `TT_RunIns'. * backward compatibility turned off). Cf. `TT_RunIns'.
* *
* [2] Proposed by Microsoft's Greg Hitchcock in * [2] Proposed by Microsoft's Greg Hitchcock in
* https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx * https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
@ -357,10 +357,10 @@ FT_BEGIN_HEADER
/* is managed differently. */ /* is managed differently. */
FT_Bool vertical_lcd_lean; FT_Bool vertical_lcd_lean;
/* Default to backwards compatibility mode in v40 interpreter. If */ /* Default to backward compatibility mode in v40 interpreter. If */
/* this is false, it implies the interpreter is in v35 or in native */ /* this is false, it implies the interpreter is in v35 or in native */
/* ClearType mode. */ /* ClearType mode. */
FT_Bool backwards_compatibility; FT_Bool backward_compatibility;
/* Useful for detecting and denying post-IUP trickery that is usually */ /* Useful for detecting and denying post-IUP trickery that is usually */
/* used to fix pixel patterns (`superhinting'). */ /* used to fix pixel patterns (`superhinting'). */