truetype: Cast the scaling params to 32-bit for LP64 system.

This commit is contained in:
suzuki toshiya 2009-07-03 18:01:33 +09:00
parent 6b7c0a901c
commit 19714ca65b
2 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
truetype: Cast the scaling params to 32-bit for LP64 system.
* src/truetype/ttgload.c (TT_Process_Composite_Component):
Insert casts from long (return value of FT_MulFix()) to
FT_Int32 (the argument to FT_SqrtFixed()).
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
sfnt: Cast a character code to FT_UInt32 for LP64 system.

View File

@ -936,15 +936,15 @@
/* This algorithm is a guess and works much better than the above. */
/* */
FT_Fixed mac_xscale = FT_SqrtFixed(
FT_MulFix( subglyph->transform.xx,
subglyph->transform.xx ) +
FT_MulFix( subglyph->transform.xy,
subglyph->transform.xy ) );
(FT_Int32)FT_MulFix( subglyph->transform.xx,
subglyph->transform.xx ) +
(FT_Int32)FT_MulFix( subglyph->transform.xy,
subglyph->transform.xy ) );
FT_Fixed mac_yscale = FT_SqrtFixed(
FT_MulFix( subglyph->transform.yy,
subglyph->transform.yy ) +
FT_MulFix( subglyph->transform.yx,
subglyph->transform.yx ) );
(FT_Int32)FT_MulFix( subglyph->transform.yy,
subglyph->transform.yy ) +
(FT_Int32)FT_MulFix( subglyph->transform.yx,
subglyph->transform.yx ) );
x = FT_MulFix( x, mac_xscale );