Mercurial > emacs
changeset 40873:f288d1d604a7
(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.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Sat, 10 Nov 2001 13:51:02 +0000 |
parents | 83db614759e5 |
children | b5a76830e73e |
files | src/w32fns.c |
diffstat | 1 files changed, 11 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32fns.c Sat Nov 10 13:30:05 2001 +0000 +++ b/src/w32fns.c Sat Nov 10 13:51:02 2001 +0000 @@ -6672,10 +6672,16 @@ 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 @@ /* 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))