[plt-scheme] DrScheme font combobox

From: Chihiro Kuraya (rxqvw at yahoo.co.jp)
Date: Sat May 28 10:19:19 EDT 2005

Hi,

I'm using DrScheme v299.100 on Windows 2000.
It appears that [Font] combobox of [Edit]-[Presference] menu
shows Japanese font names garbled.

How can I fix this problem ?
Is this a problem of MrEd or undelying wx widgets ?
I guess the following source code is suspicious:

-------------------- plt/collects/mred/private/gdi.ss
  (define (look-for-font name)
    (if (ormap (lambda (n) (string-ci=? name n)) (wx:get-face-list))
        name
        "MS San Serif"))

...

      [(windows)
       (case family
         [(system)
          (unless mswin-system
            (set! mswin-system (look-for-font "Tahoma")))
          mswin-system]
         [(default)
          (unless mswin-default
            (set! mswin-default (look-for-font "Microsoft Sans Serif")))
          mswin-default]
     [(default) "MS Sans Serif"]
         [(roman) "Times New Roman"]
         [(decorative) "Arial"]
         [(modern) "Courier New"]
         [(swiss) "Arial"]
         [(script) "Arial"]
         [(symbol) "Symbol"])]
--------------------

or 

-------------------- plt/src/wxcommon/FontDirectory.cxx
#ifdef wx_msw
  "ScreenSystem__", "MS Sans Serif", /* maybe changed by Adjust */ 
  "ScreenDefault__", "MS Sans Serif", /* maybe changed by Adjust */ 
  "ScreenRoman__", "Times New Roman",
  "ScreenDecorative__", "Arial",
  "ScreenModern__", "Courier New",
  "ScreenTeletype__", "${ScreenModern$[weight];$[style]}",
  "ScreenSwiss__", "Arial",
  "ScreenScript__", "Arial",
  "ScreenSymbol__", "Symbol",
#endif
--------------------

It seems DrScheme default font is intended only for
English or non-Asian environment.

"MS UI Gothic" can display Japanese characters correctly.
I hope this is a default font, or any machanism to set default font 
for each natural language through, say, string-constants module.


Chihiro Kuraya
__________________________________
Do You Yahoo!?
Upgrade Your Life
http://bb.yahoo.co.jp/



Posted on the users mailing list.