From 8eafa52830713f1ae5d8dc264c293d2b2055e8a8 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 21 May 2019 09:57:38 +0200 Subject: [PATCH] ttinterp.c: Improve documentation of engine compensation. --- src/truetype/ttobjs.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c index d2279f1aa..461d49f07 100644 --- a/src/truetype/ttobjs.c +++ b/src/truetype/ttobjs.c @@ -1109,11 +1109,17 @@ tt_metrics->rotated = FALSE; tt_metrics->stretched = FALSE; - /* set default engine compensation */ - tt_metrics->compensations[0] = 0; /* gray */ - tt_metrics->compensations[1] = 0; /* black */ - tt_metrics->compensations[2] = 0; /* white */ - tt_metrics->compensations[3] = 0; /* reserved */ + /* Set default engine compensation. Value 3 is not described */ + /* in the OpenType specification (as of Mai 2019), but Greg */ + /* says that MS handles it the same as `gray'. */ + /* */ + /* The Apple specification says that the compensation for */ + /* `gray' is always zero. FreeType doesn't do any */ + /* compensation at all. */ + tt_metrics->compensations[0] = 0; /* gray */ + tt_metrics->compensations[1] = 0; /* black */ + tt_metrics->compensations[2] = 0; /* white */ + tt_metrics->compensations[3] = 0; /* the same as gray */ } /* allocate function defs, instruction defs, cvt, and storage area */