* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
Reported and tested by Behdad.
This commit is contained in:
parent
339c451ad0
commit
61d50756b6
|
@ -1,3 +1,9 @@
|
||||||
|
2018-11-02 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
|
||||||
|
|
||||||
|
Reported and tested by Behdad.
|
||||||
|
|
||||||
2018-11-02 Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
|
2018-11-02 Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
|
||||||
|
|
||||||
[autofit] Prevent SEGV.
|
[autofit] Prevent SEGV.
|
||||||
|
|
|
@ -68,8 +68,6 @@
|
||||||
|
|
||||||
|
|
||||||
/* some macros we need */
|
/* some macros we need */
|
||||||
#define FT_FIXED_ONE ( (FT_Fixed)0x10000 )
|
|
||||||
|
|
||||||
#define FT_fdot14ToFixed( x ) \
|
#define FT_fdot14ToFixed( x ) \
|
||||||
( (FT_Fixed)( (FT_ULong)(x) << 2 ) )
|
( (FT_Fixed)( (FT_ULong)(x) << 2 ) )
|
||||||
#define FT_intToFixed( i ) \
|
#define FT_intToFixed( i ) \
|
||||||
|
@ -884,7 +882,7 @@
|
||||||
/* outer loop steps through master designs to be blended */
|
/* outer loop steps through master designs to be blended */
|
||||||
for ( master = 0; master < varData->regionIdxCount; master++ )
|
for ( master = 0; master < varData->regionIdxCount; master++ )
|
||||||
{
|
{
|
||||||
FT_Fixed scalar = FT_FIXED_ONE;
|
FT_Fixed scalar = 0x10000L;
|
||||||
FT_UInt regionIndex = varData->regionIndices[master];
|
FT_UInt regionIndex = varData->regionIndices[master];
|
||||||
|
|
||||||
GX_AxisCoords axis = itemStore->varRegionList[regionIndex].axisList;
|
GX_AxisCoords axis = itemStore->varRegionList[regionIndex].axisList;
|
||||||
|
@ -908,6 +906,9 @@
|
||||||
else if ( axis->peakCoord == 0 )
|
else if ( axis->peakCoord == 0 )
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
else if ( face->blend->normalizedcoords[j] == axis->peakCoord )
|
||||||
|
continue;
|
||||||
|
|
||||||
/* ignore this region if coords are out of range */
|
/* ignore this region if coords are out of range */
|
||||||
else if ( face->blend->normalizedcoords[j] <= axis->startCoord ||
|
else if ( face->blend->normalizedcoords[j] <= axis->startCoord ||
|
||||||
face->blend->normalizedcoords[j] >= axis->endCoord )
|
face->blend->normalizedcoords[j] >= axis->endCoord )
|
||||||
|
@ -916,9 +917,6 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if ( face->blend->normalizedcoords[j] == axis->peakCoord )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* cumulative product of all the axis scalars */
|
/* cumulative product of all the axis scalars */
|
||||||
else if ( face->blend->normalizedcoords[j] < axis->peakCoord )
|
else if ( face->blend->normalizedcoords[j] < axis->peakCoord )
|
||||||
scalar =
|
scalar =
|
||||||
|
|
Loading…
Reference in New Issue