From 66895301efde9fd7a6e29cdabaa6b8e53bd705dc Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Sat, 10 Nov 2001 13:51:02 +0000 Subject: [PATCH] (enum_font_cb2): Use leading @ on face name to detect vertical fonts. Allow them if face name is explicitly specified. Do not give up if we find a font that cannot be converted to an xlfd. --- src/w32fns.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/w32fns.c b/src/w32fns.c index def351562db..9a2a1e31661 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -6672,10 +6672,16 @@ enum_font_cb2 (lplf, lptm, FontType, lpef) int FontType; enumfont_t * lpef; { - /* Ignore struck out, underlined and vertical versions of fonts. */ - if (lplf->elfLogFont.lfStrikeOut || lplf->elfLogFont.lfUnderline - || lplf->elfLogFont.lfEscapement != 0 - || lplf->elfLogFont.lfOrientation != 0) + /* Ignore struck out and underlined versions of fonts. */ + if (lplf->elfLogFont.lfStrikeOut || lplf->elfLogFont.lfUnderline) + return 1; + + /* Only return fonts with names starting with @ if they were + explicitly specified, since Microsoft uses an initial @ to + denote fonts for vertical writing, without providing a more + convenient way of identifying them. */ + if (lplf->elfLogFont.lfFaceName[0] == '@' + && lpef->logfont.lfFaceName[0] != '@') return 1; /* Check that the character set matches if it was specified */ @@ -6728,7 +6734,7 @@ enum_font_cb2 (lplf, lptm, FontType, lpef) /* TODO: List all relevant charsets if charset not specified. */ if (!w32_to_x_font (&(lplf->elfLogFont), buf, 100, charset)) - return 0; + return 1; if (NILP (*(lpef->pattern)) || w32_font_match (buf, XSTRING (*(lpef->pattern))->data)) -- 2.39.5