]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Add the rest of ASCII to the font preview window.
authorSimon Tatham <anakin@pobox.com>
Sat, 29 Mar 2008 10:25:45 +0000 (10:25 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 29 Mar 2008 10:25:45 +0000 (10:25 +0000)
[originally from svn r7948]

unix/gtkfont.c

index c4e4c30f6a5548861ee195538f77468e66cadf5d..d236c6f41819045ffc1245d325c40745f8cd44f4 100644 (file)
@@ -27,8 +27,6 @@
  * TODO on fontsel
  * ---------------
  * 
- *  - add a third line of sample text containing digits and punct
- * 
  *  - start drawing X fonts one character at a time, at least if
  *    they're not fixed-width? Now we have that helpful pangram,
  *    we should make it work for everyone.
@@ -40,6 +38,7 @@
  *      might be worth considering
  *     + work out why the list boxes don't go all the way to the
  *      RHS of the dialog box
+ *     + sort out the behaviour when resizing the dialog box
  * 
  *  - big testing and shakedown!
  */
@@ -1450,27 +1449,28 @@ static void unifontsel_draw_preview_text(unifontsel_internal *fs)
        gdk_draw_rectangle(fs->preview_pixmap, gc, 1, 0, 0,
                           fs->preview_width, fs->preview_height);
        gdk_gc_set_foreground(gc, &fs->preview_fg);
-       /*
-        * The pangram used here is rather carefully constructed:
-        * it contains a sequence of very narrow letters (`jil')
-        * and a pair of adjacent very wide letters (`wm').
-        *
-        * If the user selects a proportional font, it will be
-        * coerced into fixed-width character cells when used in
-        * the actual terminal window. We therefore display it the
-        * same way in the preview pane, so as to show it the way
-        * it will actually be displayed - and we deliberately
-        * pick a pangram which will show the resulting miskerning
-        * at its worst.
-        *
-        * We aren't trying to sell people these fonts; we're
-        * trying to let them make an informed choice. Better that
-        * they find out the problems with using proportional
-        * fonts in terminal windows here than that they go to the
-        * effort of selecting their font and _then_ realise it
-        * was a mistake.
-        */
        if (font) {
+           /*
+            * The pangram used here is rather carefully
+            * constructed: it contains a sequence of very narrow
+            * letters (`jil') and a pair of adjacent very wide
+            * letters (`wm').
+            *
+            * If the user selects a proportional font, it will be
+            * coerced into fixed-width character cells when used
+            * in the actual terminal window. We therefore display
+            * it the same way in the preview pane, so as to show
+            * it the way it will actually be displayed - and we
+            * deliberately pick a pangram which will show the
+            * resulting miskerning at its worst.
+            *
+            * We aren't trying to sell people these fonts; we're
+            * trying to let them make an informed choice. Better
+            * that they find out the problems with using
+            * proportional fonts in terminal windows here than
+            * that they go to the effort of selecting their font
+            * and _then_ realise it was a mistake.
+            */
            info->fontclass->draw_text(fs->preview_pixmap, gc, font,
                                       0, font->ascent,
                                       "bankrupt jilted showmen quiz convex fogey",
@@ -1479,6 +1479,22 @@ static void unifontsel_draw_preview_text(unifontsel_internal *fs)
                                       0, font->ascent + font->height,
                                       "BANKRUPT JILTED SHOWMEN QUIZ CONVEX FOGEY",
                                       41, FALSE, FALSE, font->width);
+           /*
+            * The ordering of punctuation here is also selected
+            * with some specific aims in mind. I put ` and '
+            * together because some software (and people) still
+            * use them as matched quotes no matter what Unicode
+            * might say on the matter, so people can quickly
+            * check whether they look silly in a candidate font.
+            * The sequence #_@ is there to let people judge the
+            * suitability of the underscore as an effectively
+            * alphabetic character (since that's how it's often
+            * used in practice, at least by programmers).
+            */
+           info->fontclass->draw_text(fs->preview_pixmap, gc, font,
+                                      0, font->ascent + font->height * 2,
+                                      "0123456789!?,.:;<>()[]{}\\/`'\"+*-=~#_@|%&^$",
+                                      42, FALSE, FALSE, font->width);
        }
        gdk_gc_unref(gc);
        gdk_window_invalidate_rect(fs->preview_area->window, NULL, FALSE);