Subject: Re: [nmr_sparky] Extension Font Size
From: Mandar T. Naik
Date: Apr 25, 2006

Previous: 111 Next: 113


Hi Eiso,
Many thanks for your prompt reply. Similar line existed in tkutil.py though
not in tkFont.py. I forced the font size as suggested by you and that largely
solved my problem. (Now in ax window text select applicable transactions
is still small but the important text in the frame below, (GLY- G,.. etc.)
is magnified. I can happily live with it.

Best regards
-mandar

On Tuesday 25 April 2006 08:50 am, eiso wrote:

I had the same problem a while ago:

Eiso AB wrote:
Hi Thomas,

Thanks, I just found something similar in tkFont.py
you can specify the font as a tuple of properties.
probably equivalent to the string.

and this seemed to help:
     list = Tkinter.Listbox(f, height = height, font = (Courier,12))

thanks, Eiso

Thomas Goddard wrote:
Hi Eiso,

   Tkinter is poorly documented.  The Tcl/Tk library manual page for
the font command (see below) gives the useful information.  It says
you can use something like Courier 12 to specify font size in a
widget -font option, which is equivalent to the Python Tkinter
font = ... function argument.  For example,

      list = Tkinter.Listbox(f, height = height, font = Courier 12)

It would be useful to understand why the default size is so
unreasonable. Changing the Sparky code is probably not the ideal way to
handle the problem.  But I think the above will work if you want a fast
solution.

     Tom

----
Tk font manual page follows:


font(n)                     Tk Built-In Commands
font(n)

_______________________________________________________________________
______


NAME
   font - Create and inspect fonts.

SYNOPSIS
   font option ?arg arg ...?
_________________________________________________________________

DESCRIPTION

   The font command provides several facilities for dealing with fonts,
such
   as defining named fonts and inspecting the actual attributes of a
font. The command has several different forms, determined by the first
argument.
   The following forms are currently supported:

   font actual font ?-displayof window? ?option?
        Returns information about the the actual attributes that are
obtained
        when font is used on windows display; the actual attributes
obtained
        may differ from the attributes requested due to
platform-dependant limitations, such as the availability of font
families and pointsizes.
        font is a font description; see FONT DESCRIPTIONS below.  If
the win-
        dow argument is omitted, it defaults to the main window.  If
option is
        specified, returns the value of that attribute; if it is
omitted, the
        return value is a list of all the attributes and their values.
See
        FONT OPTIONS below for a list of the possible attributes.

   font configure fontname ?option? ?value option value ...?
        Query or modify the desired attributes for the named font called
        fontname.  If no option is specified, returns a list describing
all
        the options and their values for fontname.  If a single option
is specified with no value, then returns the current value of that
attri-
        bute.  If one or more option-value pairs are specified, then
the com-
        mand modifies the given named font to have the given values; in
this
        case, all widgets using that font will redisplay themselves
using the
        new attributes for the font.  See FONT OPTIONS below for a list
of the
        possible attributes.

   font create ?fontname? ?option value ...?
        Creates a new named font and returns its name.  fontname
specifies the
        name for the font; if it is omitted, then Tk generates a new
name of
        the form fontx, where x is an integer.  There may be any number
of option-value pairs, which provide the desired attributes for the new
        named font.  See FONT OPTIONS below for a list of the possible
attri-
        butes.

   font delete fontname ?fontname ...?
        Delete the specified named fonts.  If there are widgets using
the named font, the named font wont actually be deleted until all the
instances are released.  Those widgets will continue to display using
        the last known values for the named font.  If a deleted named
font is
        subsequently recreated with another call to font create, the
widgets
        will use the new named font and redisplay themselves using the
new attributes of that font.

   font families ?-displayof window?
        The return value is a list of the case-insensitive names of all
font
        families that exist on windows display.  If the window
argument is
        omitted, it defaults to the main window.

   font measure font ?-displayof window? text
        Measures the amount of space the string text would use in the
given
        font when displayed in window.  font is a font description; see
FONT
        DESCRIPTIONS below.  If the window argument is omitted, it
defaults to
        the main window.  The return value is the total width in pixels
of text, not including the extra pixels used by highly exagerrated
char-
        acters such as cursive ``f.  If the string contains newlines
or tabs, those characters are not expanded or treated specially when
measuring the string.

   font metrics font ?-displayof window? ?option?
        Returns information about the metrics (the font-specific data),
for
        font when it is used on windows display.  font is a font
description;
        see FONT DESCRIPTIONS below.  If the window argument is
omitted, it
        defaults to the main window.  If option is specified, returns
the value of that metric; if it is omitted, the return value is a list
of
        all the metrics and their values.  See FONT METRICS below for a
list
        of the possible metrics.

   font names
        The return value is a list of all the named fonts that are
currently
        defined.

FONT DESCRIPTION

   The following formats are accepted as a font description anywhere
font is
   specified as an argument above; these same forms are also permitted
when
   specifying the -font option for widgets.

   [1] fontname
        The name of a named font, created using the font create
command.  When
        a widget uses a named font, it is guaranteed that this will
never cause an error, as long as the named font exists, no matter what
potentially invalid or meaningless set of attributes the named font
        has.  If the named font cannot be displayed with exactly the
specified
        attributes, some other close font will be substituted
automatically.

   [2] systemfont
        The platform-specific name of a font, interpreted by the
graphics server.  This also includes, under X, an XLFD (see [4]) for
which a
        single ``* character was used to elide more than one field in
the
        middle of the name.  See PLATFORM-SPECIFIC issues for a list of
the
        system fonts.

   [3] family ?size? ?style? ?style
...?                                          ||
        A properly formed list whose first element is the desired font
family   |
        and whose optional second element is the desired size.  The
interpre-   |
        tation of the size attribute follows the same rules described
for       |
        -size in FONT OPTIONS below.  Any additional optional arguments
fol-    |
        lowing the size are font styles.  Possible values for the style
argu-   |
        ments are as
follows:                                                   |

          normal      bold        roman
italic                             |
          underline
overstrike                                                |

   [4]
X-

        font names
(XLFD)                                                        ||
        A Unix-centric font name of the form
-foundry-family-weight-slant-      |

setwidth-addstyle-pixel-point-resx-                                    
| resy-spacing-width-charset-encoding.  The ``* character may be
used   |
        to skip individual fields that the user does not care about.
There     |
        must be exactly one ``* for each field skipped, except that a
``*   |
        at the end of the XLFD skips any remaining fields; the shortest
valid   |
        XLFD is simply ``*, signifying all fields as defaults.  Any
fields    |
        that were skipped are given default values.  For compatibility,
an      |
        XLFD always chooses a font of the specified pixel size (not
point       |
        size); although this interpretation is not strictly correct,
all        |
        existing applications using XLFDs assumed that one ``point
was in     |
        fact one pixel and would display incorrectly (generally larger)
if the  |
        correct size font were actually used.

   [5] option value ?option value ...?
        A properly formed list of option-value pairs that specify the
desired
        attributes of the font, in the same format used when defining a
named
        font; see FONT OPTIONS below.

   When font description font is used, the system attempts to parse the
   description according to each of the above five rules, in the order
speci-
   fied.  Cases [1] and [2] must match the name of an existing named
font or
   of a system font.  Cases [3], [4], and [5] are accepted on all
platforms
   and the closest available font will be used.  In some situations it
may not
   be possible to find any close font (e.g., the font family was a
garbage value); in that case, some system-dependant default font is
chosen. If the
   font description does not match any of the above patterns, an error
is gen-
   erated.

FONT METRICS
   The following options are used by the font metrics command to query
font-
   specific data determined when the font was created.  These
properties are
   for the whole font itself and not for individual characters drawn in
that
   font.  In the following definitions, the ``baseline of a font is
the hor-
   izontal line where the bottom of most letters line up; certain
letters, such as lower-case ``g stick below the baseline.

   -ascent
        The amount in pixels that the tallest letter sticks up above
the base-
        line of the font, plus any extra blank space added by the
designer of
        the font.

   -descent
        The largest amount in pixels that any letter sticks down below
the baseline of the font, plus any extra blank space added by the
designer
        of the font.

   -linespace
        Returns how far apart vertically in pixels two lines of text
using the
        same font should be placed so that none of the characters in
one line
        overlap any of the characters in the other line.  This is
generally
        the sum of the ascent above the baseline line plus the descent
below
        the baseline.

   -fixed
        Returns a boolean flag that is ``1 if this is a fixed-width
font,
        where each normal character is the the same width as all the
other characters, or is ``0 if this is a proportionally-spaced font,
where
        individual characters have different widths.  The widths of
control
        characters, tab characters, and other non-printing characters
are not
        included when calculating this value.

FONT OPTIONS
   The following options are supported on all platforms, and are used
when constructing a named font or when specifying a font using style
[5] as above:

   -family name
        The case-insensitive font family name.  Tk guarantees to
support the
        font families named Courier (a monospaced ``typewriter font),
Times
        (a serifed ``newspaper font), and Helvetica (a sans-serif
``Euro-
        pean font).  The most closely matching native font family will
        automatically be substituted when one of the above font
families is
        used.  The name may also be the name of a native,
platform-specific
        font family; in that case it will work as desired on one
platform but
        may not display correctly on other platforms.  If the family is
        unspecified or unrecognized, a platform-specific default font
will be

chosen.                                                                
|

   -size
size

        The desired size of the font.  If the size argument is a
positive       |
        number, it is interpreted as a size in points.  If size is a
negative   |
        number, its absolute value is interpreted as a size in pixels.
If a    |
        font cannot be displayed at the specified size, a nearby size
will be   |
        chosen.  If size is unspecified or zero, a platform-dependent
default   |
        size will be
chosen.                                                    |

        Sizes should normally be specified in points so the application
will    |
        remain the same ruler size on the screen, even when changing
screen     |
        resolutions or moving scripts across platforms.  However,
specifying    |
        pixels is useful in certain circumstances such as when a piece
of text  |
        must line up with respect to a fixed-size bitmap.  The mapping
between  |
        points and pixels is set when the application starts, based on
proper-  |
        ties of the installed monitor, but it can be overridden by
calling the  |
        tk scaling
command.                                                     |

   -weight weight
        The nominal thickness of the characters in the font.  The value
normal
        specifies a normal weight font, while bold specifies a bold
font.  The
        closest available weight to the one specified will be chosen. 
The default weight is normal.

   -slant slant
        The amount the characters in the font are slanted away from the
verti-
        cal.  Valid values for slant are roman and italic.  A roman
font is
        the normal, upright appearance of a font, while an italic font
is one
        that is tilted some number of degrees from upright.  The closest
        available slant to the one specified will be chosen.  The
default slant is roman.

   -underline boolean
        The value is a boolean flag that specifies whether characters
in this
        font should be underlined.  The default value for underline is
false.

   -overstrike boolean
        The value is a boolean flag that specifies whether a horizontal
line
        should be drawn through the middle of characters in this font.
The
        default value for overstrike is false.

PLATFORM-SPECIFIC ISSUES

   The following named system fonts are supported:

        X Windows:
          All valid X font names, including those listed by
xlsfonts(1), are
          available.

        MS Windows:

          system      ansi        device
          systemfixed ansifixed   oemfixed

        Macintosh:

          system      application

SEE ALSO
   options

KEYWORDS
   font

YAHOO! GROUPS LINKS


 Visit your group nmr_sparky on the web.
 
 To unsubscribe from this group, send an email to:
 nmr_sparky-unsubscribe@yahoogroups.com
 
 Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

--
Mandar T. Naik, Ph.D.
N750, Institute of Bio-Medical Sciences
Academia Sinica
Nankang, Taipei 11529 Taiwan.