File 0013-fix-sign-of-sTypoDescender.patch of Package fonttosfnt.20912
From 05f3b74da37835b245694393874bcf780f4f2f53 Mon Sep 17 00:00:00 2001
From: Christopher Zimmermann <madroach@gmerlin.de>
Date: Fri, 31 Jul 2020 00:07:26 +0200
Subject: [PATCH 13/14] fix sign of sTypoDescender
---
write.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/write.c b/write.c
index 740ea3a..4bb86dd 100644
--- a/write.c
+++ b/write.c
@@ -942,7 +942,7 @@ writehhea(FILE* out, FontPtr font)
writeULONG(out, 0x00010000); /* version */
writeSHORT(out, FONT_UNITS_CEIL(font->metrics.ascent)); /* ascender */
- writeSHORT(out, 0-FONT_UNITS_CEIL(font->metrics.descent)); /* descender */
+ writeSHORT(out, -FONT_UNITS_CEIL(font->metrics.descent)); /* descender */
writeSHORT(out, 0); /* lineGap */
writeUSHORT(out, FONT_UNITS(font->metrics.maxAwidth)); /* advanceWidthMax */
/* TODO: the next three are not calculated according to spec, are they ?
@@ -1118,11 +1118,11 @@ writeOS2(FILE* out, FontPtr font)
writeUSHORT(out, 0x20); /* usFirstCharIndex; */
writeUSHORT(out, 0xFFFD); /* usLastCharIndex; */
writeUSHORT(out, FONT_UNITS_CEIL(font->metrics.ascent)); /* sTypoAscender; */
- writeUSHORT(out, FONT_UNITS_FLOOR(font->metrics.descent)); /* sTypoDescender; */
+ writeUSHORT(out, -FONT_UNITS_CEIL(font->metrics.descent)); /* sTypoDescender; */
writeUSHORT(out, 0); /* sTypoLineGap; */
#ifdef NO_TYPO_METRICS
writeUSHORT(out, FONT_UNITS_CEIL(font->metrics.ascent)); /* usWinAscent; */
- writeUSHORT(out, FONT_UNITS_FLOOR(font->metrics.descent)); /* usWinDescent; */
+ writeUSHORT(out, FONT_UNITS_CEIL(font->metrics.descent)); /* usWinDescent; */
#else
writeUSHORT(out, FONT_UNITS_CEIL(font->metrics.maxY)); /* usWinAscent; */
writeUSHORT(out, -FONT_UNITS_FLOOR(font->metrics.minY)); /* usWinDescent; */
--
2.28.0