From: ben Date: Thu, 9 Jan 2003 22:39:47 +0000 (+0000) Subject: Take advantage of having control over the default font to do the job properly: X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/a499fbf93138f5c8bfef4d2c24df1f77fc44021b?hp=2595231f32ec38a0d895f52c8db48ab400674574 Take advantage of having control over the default font to do the job properly: ask the system script what it's preferred monospaced font is, and use that if possible. Failing, that, try the Roman script system, and if that fails, fall back to Monaco 9. git-svn-id: svn://svn.tartarus.org/sgt/putty@2521 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/mac/mac.c b/mac/mac.c index a2c9b08f..a0ec60b2 100644 --- a/mac/mac.c +++ b/mac/mac.c @@ -1,4 +1,4 @@ -/* $Id: mac.c,v 1.21 2003/01/09 18:06:29 simon Exp $ */ +/* $Id: mac.c,v 1.22 2003/01/09 22:39:47 ben Exp $ */ /* * Copyright (c) 1999 Ben Harris * All rights reserved. @@ -696,15 +696,40 @@ void old_keyfile_warning(void) char *platform_default_s(char *name) { - if (!strcmp(name, "Font")) - return "Monaco"; + long smfs; + Str255 pname; + static char cname[256]; + + if (!strcmp(name, "Font")) { + smfs = GetScriptVariable(smSystemScript, smScriptMonoFondSize); + if (smfs == 0) + smfs = GetScriptVariable(smRoman, smScriptMonoFondSize); + if (smfs != 0) { + GetFontName(HiWord(smfs), pname); + if (pname[0] == 0) + return "Monaco"; + p2cstrcpy(cname, pname); + return cname; + } else + return "Monaco"; + } return NULL; } int platform_default_i(char *name, int def) { - if (!strcmp(name, "FontHeight")) - return 9; + long smfs; + + if (!strcmp(name, "FontHeight")) { + smfs = GetScriptVariable(smSystemScript, smScriptMonoFondSize); + if (smfs == 0) + smfs = GetScriptVariable(smRoman, smScriptMonoFondSize); + if (smfs != 0) + return LoWord(smfs); + else + return 9; + } + /* Non-raw cut and paste of line-drawing chars works badly on the * current Unix stub implementation of the Unicode functions. * So I'm going to temporarily set the default to raw mode so