fixed a bug with fractional part in a negative value
authorMichiharu Ariza <ariza@adobe.com>
Wed, 5 Dec 2018 19:18:16 +0000 (11:18 -0800)
committerMichiharu Ariza <ariza@adobe.com>
Wed, 5 Dec 2018 19:18:16 +0000 (11:18 -0800)
src/hb-cff-interp-dict-common.hh

index 005e15e..63ca685 100644 (file)
@@ -146,7 +146,11 @@ struct DictOpSet : OpSet<Number>
        case END:
          value = (double)(neg? -int_part: int_part);
          if (frac_count > 0)
-           value += (frac_part / pow (10.0, (double)frac_count));
+         {
+           double frac = (frac_part / pow (10.0, (double)frac_count));
+           if (neg) frac = -frac;
+           value += frac;
+         }
          if (unlikely (exp_overflow))
          {
            if (value == 0.0)