Subject: Re: [nmr_sparky] Extension Font Size
From: eiso
Date: Apr 25, 2006

Previous: 110 Next: 112


Mandar T. Naik wrote:
Hi, I use Sparky 3.112 under Mandrake 10.2. I get very small sized fonts in some
extension menu windows.The size might be 3 or 4 and is hardly readable. This
happens only under extensions menu (e.g in ax window text select applicable
transactions and the frame below with GLY- G,.. etc. or in fm window the
display of file/folder names).

I tried changing the normalFont and Sparky.fixedWidthFont, but this problem is not
related to those. From my naive understanding its related to Tk but am not able to
figure it out. Can someone help?

regards -mandar


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