From 3c1d245571cc77bfbb21d92d38ff3513e9d3e12f Mon Sep 17 00:00:00 2001 From: be5invis Date: Sat, 13 Aug 2022 03:34:45 -0700 Subject: [PATCH] Hard ensure that the middle between typo ascender/descender places at SymbolMid (#1398). --- font-src/meta/aesthetics.ptl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/font-src/meta/aesthetics.ptl b/font-src/meta/aesthetics.ptl index 55ec6c9d4..7dd72fb72 100644 --- a/font-src/meta/aesthetics.ptl +++ b/font-src/meta/aesthetics.ptl @@ -215,11 +215,12 @@ export : define [calculateMetrics para] : begin HSwToV] export : define [setFontMetrics para metrics fm] : begin - define [object CAP Descender XH Width] metrics + define [object CAP Descender XH Width SymbolMid] metrics define leading : Math.round para.leading - define asc : Math.round : leading * CAP / (CAP - Descender) - define desc : Math.round : leading * Descender / (CAP - Descender) + define asc : Math.round : SymbolMid + leading / 2 + define desc : Math.round : SymbolMid - leading / 2 + define descenderPad : Math.round : fallback para.descenderPad 0 define winMetricAscenderPad : Math.round : fallback para.winMetricAscenderPad 0 define winMetricDescenderPad : Math.round : fallback para.winMetricDescenderPad 0