From 97afafd887157ffbc217cb929d2a41666627134c Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Tue, 3 Feb 2004 20:48:42 +0000 Subject: [PATCH] . original commit: f7cd5d5c9b32d47ad6747a23dcd9b79591369bdf --- collects/mred/mred.ss | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/collects/mred/mred.ss b/collects/mred/mred.ss index 10db6197..df1493fd 100644 --- a/collects/mred/mred.ss +++ b/collects/mred/mred.ss @@ -6741,15 +6741,24 @@ (send s set-delta (font->delta f))))))] [p (make-object horizontal-pane% f)] [face (make-object list-box% #f - (let ([l (wx:get-face-list)]) - (if (memq (system-type) '(macos macosx)) - (quicksort l (lambda (a b) + (let ([l (wx:get-face-list)] + [re:ugly-start #rxb"^[^a-zA-Z0-9\200-\377]"]) + ;; Sort space-starting first (for Xft), and + ;; otherwise push names that start with an + ;; ASCII non-letterdigit to the end + (quicksort l (lambda (a b) + (let ([a-sp? (char=? #\space (string-ref a 0))] + [b-sp? (char=? #\space (string-ref a 0))] + [a-ugly? (and (regexp-match re:ugly-start a) #t)] + [b-ugly? (and (regexp-match re:ugly-start b) #t)]) + (cond + [(eq? a-sp? b-sp?) (cond - [(eq? (char-alphabetic? (string-ref a 0)) - (char-alphabetic? (string-ref b 0))) - (string-locale