From 79cbd905e773fab8354bd5200c1686684cab5edf Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Thu, 9 Jan 2003 22:39:47 +0000 Subject: [PATCH] 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. [originally from svn r2521] --- mac/mac.c | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) 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