fixed t1_tofixed() to handle floats of the form .001 and -.001 correctly.
diff --git a/src/type1z/z1parse.c b/src/type1z/z1parse.c
index dcd039c..794339d 100644
--- a/src/type1z/z1parse.c
+++ b/src/type1z/z1parse.c
@@ -504,17 +504,22 @@
if ( cur >= limit )
return 0;
- /* first of all, read the integer part */
- result = t1_toint( &cur, limit ) << 16;
- num = 0;
- divider = 1;
-
- if ( result < 0 )
+ /* first of all, check the sign */
+ if ( *cur == '-' )
{
- sign = 1;
- result = -result;
+ sign = 1;
+ cur++;
}
+ /* then, read the integer part, if any */
+ if ( *cur != '.' )
+ result = t1_toint( &cur, limit ) << 16;
+ else
+ result = 0;
+
+ num = 0;
+ divider = 1;
+
if ( cur >= limit )
goto Exit;