OSDN Git Service

[fix] Xft環境でのフォントの高さの計算
authorHabu <habu1010+github@gmail.com>
Thu, 18 Feb 2021 13:54:35 +0000 (22:54 +0900)
committerHabu <habu1010+github@gmail.com>
Thu, 18 Feb 2021 14:04:19 +0000 (23:04 +0900)
フォントの高さを XftFont 構造体の ascentとdescentの和で
計算しているが、XftFont 構造体には、ascent、descent、
heightメンバがあり、XftFontOpenNameで得られる情報が
height < ascent + descent の場合がある。
この場合、フォントの高さとして ascent + descent を
使用すると縦に間延びしているように見える。
height をそのまま使ったほうが自然に見えるので、
こちらを使うように変更する。

src/main-x11.c

index a00a49a..28eddf1 100644 (file)
@@ -797,7 +797,7 @@ static errr Infofnt_prepare(XFontSet info)
 
 #ifdef USE_XFT
        ifnt->asc = info->ascent;
-       ifnt->hgt = info->ascent + info->descent;
+       ifnt->hgt = info->height;
        const char *text = "A";
        XGlyphInfo extent;
        XftTextExtentsUtf8(Metadpy->dpy, info, (FcChar8*)text, strlen(text), &extent);