forked from minhngoc25a/freetype2
s/fixed point/fixed-point/
This commit is contained in:
parent
40c6f97326
commit
2848378be5
|
@ -2411,9 +2411,9 @@
|
||||||
units per em (e.g. Inter). This patch fixes it.
|
units per em (e.g. Inter). This patch fixes it.
|
||||||
|
|
||||||
The return value of af_loader_compute_darkening was also changed to
|
The return value of af_loader_compute_darkening was also changed to
|
||||||
use 16.16 fixed point to get rid of a redundant truncation operation.
|
use 16.16 fixed-point to get rid of a redundant truncation operation.
|
||||||
This should slightly improve the precision, although it's still
|
This should slightly improve the precision, although it's still
|
||||||
bottlenecked by the emboldening function, which uses 26.6 fixed point.
|
bottlenecked by the emboldening function, which uses 26.6 fixed-point.
|
||||||
|
|
||||||
* src/autofit/afloader.[ch]
|
* src/autofit/afloader.[ch]
|
||||||
(af_loader_compute_darkening): Return FT_Fixed.
|
(af_loader_compute_darkening): Return FT_Fixed.
|
||||||
|
|
|
@ -707,7 +707,7 @@
|
||||||
[base] Fix integer overflow.
|
[base] Fix integer overflow.
|
||||||
|
|
||||||
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
|
* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
|
||||||
outgoing vectors and use fixed point arithmetic.
|
outgoing vectors and use fixed-point arithmetic.
|
||||||
|
|
||||||
2013-01-23 Alexei Podtelezhnikov <apodtele@gmail.com>
|
2013-01-23 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
|
|
@ -293,7 +293,7 @@ FT_BEGIN_HEADER
|
||||||
*
|
*
|
||||||
* miter_limit ::
|
* miter_limit ::
|
||||||
* The maximum reciprocal sine of half-angle at the miter join,
|
* The maximum reciprocal sine of half-angle at the miter join,
|
||||||
* expressed as 16.16 fixed point value.
|
* expressed as 16.16 fixed-point value.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* The `radius` is expressed in the same units as the outline
|
* The `radius` is expressed in the same units as the outline
|
||||||
|
|
|
@ -315,7 +315,7 @@ FT_BEGIN_HEADER
|
||||||
/* The normal stack then points to these values instead of the DICT */
|
/* The normal stack then points to these values instead of the DICT */
|
||||||
/* because all other operators in Private DICT clear the stack. */
|
/* because all other operators in Private DICT clear the stack. */
|
||||||
/* `blend_stack' could be cleared at each operator other than blend. */
|
/* `blend_stack' could be cleared at each operator other than blend. */
|
||||||
/* Blended values are stored as 5-byte fixed point values. */
|
/* Blended values are stored as 5-byte fixed-point values. */
|
||||||
|
|
||||||
FT_Byte* blend_stack; /* base of stack allocation */
|
FT_Byte* blend_stack; /* base of stack allocation */
|
||||||
FT_Byte* blend_top; /* first empty slot */
|
FT_Byte* blend_top; /* first empty slot */
|
||||||
|
|
|
@ -1288,7 +1288,7 @@
|
||||||
/* Blended values are written to a different buffer, */
|
/* Blended values are written to a different buffer, */
|
||||||
/* using reserved operator 255. */
|
/* using reserved operator 255. */
|
||||||
/* */
|
/* */
|
||||||
/* Blend calculation is done in 16.16 fixed point. */
|
/* Blend calculation is done in 16.16 fixed-point. */
|
||||||
FT_LOCAL_DEF( FT_Error )
|
FT_LOCAL_DEF( FT_Error )
|
||||||
cff_blend_doBlend( CFF_SubFont subFont,
|
cff_blend_doBlend( CFF_SubFont subFont,
|
||||||
CFF_Parser parser,
|
CFF_Parser parser,
|
||||||
|
@ -1364,7 +1364,7 @@
|
||||||
FT_UInt32 sum;
|
FT_UInt32 sum;
|
||||||
|
|
||||||
|
|
||||||
/* convert inputs to 16.16 fixed point */
|
/* convert inputs to 16.16 fixed-point */
|
||||||
sum = cff_parse_num( parser, &parser->stack[i + base] ) * 0x10000;
|
sum = cff_parse_num( parser, &parser->stack[i + base] ) * 0x10000;
|
||||||
|
|
||||||
for ( j = 1; j < blend->lenBV; j++ )
|
for ( j = 1; j < blend->lenBV; j++ )
|
||||||
|
@ -1373,7 +1373,7 @@
|
||||||
/* point parser stack to new value on blend_stack */
|
/* point parser stack to new value on blend_stack */
|
||||||
parser->stack[i + base] = subFont->blend_top;
|
parser->stack[i + base] = subFont->blend_top;
|
||||||
|
|
||||||
/* Push blended result as Type 2 5-byte fixed point number. This */
|
/* Push blended result as Type 2 5-byte fixed-point number. This */
|
||||||
/* will not conflict with actual DICTs because 255 is a reserved */
|
/* will not conflict with actual DICTs because 255 is a reserved */
|
||||||
/* opcode in both CFF and CFF2 DICTs. See `cff_parse_num' for */
|
/* opcode in both CFF and CFF2 DICTs. See `cff_parse_num' for */
|
||||||
/* decode of this, which rounds to an integer. */
|
/* decode of this, which rounds to an integer. */
|
||||||
|
|
|
@ -530,7 +530,7 @@
|
||||||
|
|
||||||
else if ( **d == 255 )
|
else if ( **d == 255 )
|
||||||
{
|
{
|
||||||
/* 16.16 fixed point is used internally for CFF2 blend results. */
|
/* 16.16 fixed-point is used internally for CFF2 blend results. */
|
||||||
/* Since these are trusted values, a limit check is not needed. */
|
/* Since these are trusted values, a limit check is not needed. */
|
||||||
|
|
||||||
/* After the 255, 4 bytes give the number. */
|
/* After the 255, 4 bytes give the number. */
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
*
|
*
|
||||||
* psfixed.h
|
* psfixed.h
|
||||||
*
|
*
|
||||||
* Adobe's code for Fixed Point Mathematics (specification only).
|
* Adobe's code for Fixed-Point Mathematics (specification only).
|
||||||
*
|
*
|
||||||
* Copyright 2007-2013 Adobe Systems Incorporated.
|
* Copyright 2007-2013 Adobe Systems Incorporated.
|
||||||
*
|
*
|
||||||
|
@ -43,10 +43,10 @@
|
||||||
FT_BEGIN_HEADER
|
FT_BEGIN_HEADER
|
||||||
|
|
||||||
|
|
||||||
/* rasterizer integer and fixed point arithmetic must be 32-bit */
|
/* rasterizer integer and fixed-point arithmetic must be 32-bit */
|
||||||
|
|
||||||
#define CF2_Fixed CF2_F16Dot16
|
#define CF2_Fixed CF2_F16Dot16
|
||||||
typedef FT_Int32 CF2_Frac; /* 2.30 fixed point */
|
typedef FT_Int32 CF2_Frac; /* 2.30 fixed-point */
|
||||||
|
|
||||||
|
|
||||||
#define CF2_FIXED_MAX ( (CF2_Fixed)0x7FFFFFFFL )
|
#define CF2_FIXED_MAX ( (CF2_Fixed)0x7FFFFFFFL )
|
||||||
|
|
|
@ -72,7 +72,7 @@ FT_BEGIN_HEADER
|
||||||
} CF2_PathOp;
|
} CF2_PathOp;
|
||||||
|
|
||||||
|
|
||||||
/* a matrix of fixed point values */
|
/* a matrix of fixed-point values */
|
||||||
typedef struct CF2_Matrix_
|
typedef struct CF2_Matrix_
|
||||||
{
|
{
|
||||||
CF2_F16Dot16 a;
|
CF2_F16Dot16 a;
|
||||||
|
|
|
@ -49,8 +49,8 @@ FT_BEGIN_HEADER
|
||||||
{
|
{
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
CF2_Fixed r; /* 16.16 fixed point */
|
CF2_Fixed r; /* 16.16 fixed-point */
|
||||||
CF2_Frac f; /* 2.30 fixed point (for font matrix) */
|
CF2_Frac f; /* 2.30 fixed-point (for font matrix) */
|
||||||
CF2_Int i;
|
CF2_Int i;
|
||||||
} u;
|
} u;
|
||||||
|
|
||||||
|
|
|
@ -1939,7 +1939,7 @@
|
||||||
/* now factor is 16.16 */
|
/* now factor is 16.16 */
|
||||||
factor = FT_DivFix( factor, sq_line_length );
|
factor = FT_DivFix( factor, sq_line_length );
|
||||||
|
|
||||||
/* clamp the factor between 0.0 and 1.0 in fixed point */
|
/* clamp the factor between 0.0 and 1.0 in fixed-point */
|
||||||
if ( factor > FT_INT_16D16( 1 ) )
|
if ( factor > FT_INT_16D16( 1 ) )
|
||||||
factor = FT_INT_16D16( 1 );
|
factor = FT_INT_16D16( 1 );
|
||||||
if ( factor < 0 )
|
if ( factor < 0 )
|
||||||
|
@ -3164,7 +3164,7 @@
|
||||||
if ( min_dist.distance > sp_sq )
|
if ( min_dist.distance > sp_sq )
|
||||||
min_dist.distance = sp_sq;
|
min_dist.distance = sp_sq;
|
||||||
|
|
||||||
/* square_root the values and fit in a 6.10 fixed point */
|
/* square_root the values and fit in a 6.10 fixed-point */
|
||||||
if ( USE_SQUARED_DISTANCES )
|
if ( USE_SQUARED_DISTANCES )
|
||||||
min_dist.distance = square_root( min_dist.distance );
|
min_dist.distance = square_root( min_dist.distance );
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
*
|
*
|
||||||
* https://github.com/chmike/fpsqrt
|
* https://github.com/chmike/fpsqrt
|
||||||
*
|
*
|
||||||
* Use this to compute the square root of a 16.16 fixed point number.
|
* Use this to compute the square root of a 16.16 fixed-point number.
|
||||||
*/
|
*/
|
||||||
FT_LOCAL_DEF( FT_16D16 )
|
FT_LOCAL_DEF( FT_16D16 )
|
||||||
square_root( FT_16D16 val )
|
square_root( FT_16D16 val )
|
||||||
|
@ -72,8 +72,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Convert 16.16 fixed point values to the desired output format.
|
* Convert 16.16 fixed-point values to the desired output format.
|
||||||
* In this case we reduce 16.16 fixed point values to normalized
|
* In this case we reduce 16.16 fixed-point values to normalized
|
||||||
* 8-bit values.
|
* 8-bit values.
|
||||||
*
|
*
|
||||||
* The `max_value` in the parameter is the maximum value in the
|
* The `max_value` in the parameter is the maximum value in the
|
||||||
|
|
|
@ -657,7 +657,7 @@
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Find the shortest decimal representation of a 16.16 fixed point
|
* Find the shortest decimal representation of a 16.16 fixed-point
|
||||||
* number. The function fills `buf' with the result, returning a pointer
|
* number. The function fills `buf' with the result, returning a pointer
|
||||||
* to the position after the representation's last byte.
|
* to the position after the representation's last byte.
|
||||||
*/
|
*/
|
||||||
|
@ -733,7 +733,7 @@
|
||||||
an equivalent representation of `fixed'.
|
an equivalent representation of `fixed'.
|
||||||
|
|
||||||
The above FOR loop always finds the larger of the two values; I
|
The above FOR loop always finds the larger of the two values; I
|
||||||
verified this by iterating over all possible fixed point numbers.
|
verified this by iterating over all possible fixed-point numbers.
|
||||||
|
|
||||||
If the remainder is 17232*10, both values are equally good, and we
|
If the remainder is 17232*10, both values are equally good, and we
|
||||||
take the next even number (following IEEE 754's `round to nearest,
|
take the next even number (following IEEE 754's `round to nearest,
|
||||||
|
@ -741,7 +741,7 @@
|
||||||
|
|
||||||
If the remainder is smaller than 17232*10, the lower of the two
|
If the remainder is smaller than 17232*10, the lower of the two
|
||||||
numbers is nearer to the exact result (values 17232 and 34480 were
|
numbers is nearer to the exact result (values 17232 and 34480 were
|
||||||
also found by testing all possible fixed point values).
|
also found by testing all possible fixed-point values).
|
||||||
|
|
||||||
We use this to find a shorter decimal representation. If not ending
|
We use this to find a shorter decimal representation. If not ending
|
||||||
with digit zero, we take the representation with less error.
|
with digit zero, we take the representation with less error.
|
||||||
|
|
Loading…
Reference in New Issue