From f6d2ae766a13403b8bf6cfb31b0743c34493e246 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 11 Sep 2023 12:56:37 +0800 Subject: [PATCH] Respect vertical centering preferences under Android * src/sfntfont.c (sfntfont_open): Match XLFD name against Vvertical_centering_font_regexp; if they agree, set font->vertical_centering. Also set a suitable full name. --- src/sfntfont.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/sfntfont.c b/src/sfntfont.c index 877f7a3830d..64dbffad03f 100644 --- a/src/sfntfont.c +++ b/src/sfntfont.c @@ -3313,6 +3313,21 @@ sfntfont_open (struct frame *f, Lisp_Object font_entity, open_fonts = font_info; #endif /* HAVE_MMAP */ + /* Now ascertain if vertical centering is desired by matching the + font XLFD against vertical-centering-font-regexp. */ + + if (!NILP (font->props[FONT_NAME_INDEX])) + font->vertical_centering + = (STRINGP (Vvertical_centering_font_regexp) + && (fast_string_match_ignore_case + (Vvertical_centering_font_regexp, + font->props[FONT_NAME_INDEX]) >= 0)); + + /* And set a reasonable full name, namely the name of the font + file. */ + font->props[FONT_FULLNAME_INDEX] + = DECODE_FILE (build_unibyte_string (desc->path)); + /* All done. */ unblock_input (); return font_object; -- 2.39.5