Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP3:GA
fonttosfnt
0001-1em-is-font-size-not-heigh.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-1em-is-font-size-not-heigh.patch of Package fonttosfnt
From 50f8c91c56334a29c18cd8c77c9431c5ff0df5a9 Mon Sep 17 00:00:00 2001 From: Christopher Zimmermann <madroach@gmerlin.de> Date: Mon, 26 Oct 2020 12:17:45 +0100 Subject: [PATCH] 1em is font size, not height --- write.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/write.c b/write.c index ca7c95a..0146414 100644 --- a/write.c +++ b/write.c @@ -238,66 +238,65 @@ fontMetrics(FontPtr font) if (count) font->metrics.awidth = sumAwidth / count; - font->metrics.height = TWO_SIXTEENTH; + font->metrics.size = TWO_SIXTEENTH; if(font->pxMetrics.size == UNDEF) { font->pxMetrics.size = font->pxMetrics.height; - font->metrics.size = font->metrics.height; } - font->metrics.size = font->pxMetrics.size - * TWO_SIXTEENTH / font->pxMetrics.height; + font->metrics.height = font->pxMetrics.height + * font->metrics.size / font->pxMetrics.size; if(font->pxMetrics.ascent == UNDEF) { font->metrics.ascent = font->metrics.maxY; font->pxMetrics.ascent = font->metrics.ascent - * font->pxMetrics.height / TWO_SIXTEENTH; + * font->pxMetrics.size / font->metrics.size; } else font->metrics.ascent = font->pxMetrics.ascent - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; if(font->pxMetrics.descent == UNDEF) { font->metrics.descent = - font->metrics.minY; font->pxMetrics.descent = font->metrics.descent - * font->pxMetrics.height / TWO_SIXTEENTH; + * font->pxMetrics.size / font->metrics.size; } else font->metrics.descent = font->pxMetrics.descent - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; if(font->pxMetrics.capHeight == UNDEF) { if(glyphMetrics(font, 'X', NULL, NULL, NULL, NULL, &font->metrics.capHeight) != 1) font->metrics.capHeight = font->metrics.ascent; font->pxMetrics.capHeight = - font->metrics.capHeight * font->pxMetrics.height / TWO_SIXTEENTH; + font->metrics.capHeight * font->pxMetrics.size / font->metrics.size; } else font->metrics.capHeight = font->pxMetrics.capHeight - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; if(font->pxMetrics.xHeight == UNDEF) { if(glyphMetrics(font, 'x', NULL, NULL, NULL, NULL, &font->metrics.xHeight) != 1) font->metrics.xHeight = font->metrics.capHeight * 2 / 3; font->pxMetrics.xHeight = - font->metrics.xHeight * font->pxMetrics.height / TWO_SIXTEENTH; + font->metrics.xHeight * font->pxMetrics.size / font->metrics.size; } else font->metrics.xHeight = font->pxMetrics.xHeight - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; if(font->pxMetrics.underlinePosition == UNDEF) font->metrics.underlinePosition = - font->metrics.descent * 2; else { font->metrics.underlinePosition = font->pxMetrics.underlinePosition - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; } if(font->pxMetrics.underlineThickness == UNDEF) @@ -306,12 +305,12 @@ fontMetrics(FontPtr font) * X Logical Font Description Conventions (xlfd.txt) * by also considering the font weight. */ font->metrics.underlineThickness = - TWO_SIXTEENTH - / (font->pxMetrics.height < 9 ? font->pxMetrics.height : 9); + font->metrics.size + / (font->pxMetrics.size < 9 ? font->pxMetrics.size : 9); else font->metrics.underlineThickness = font->pxMetrics.underlineThickness - * TWO_SIXTEENTH / font->pxMetrics.height; + * font->metrics.size / font->pxMetrics.size; } int -- GitLab
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor