typedef fltk::Font
The type passed to fltk::Widget::label_font() and other
parts of fltk is a typedef defined like this, pointing at a structure
fltk::Font_:
typedef fltk::Font_* fltk::Font;
To draw text in a font you use fltk::font(fltk::Font,size) to select
a font and scale, and then fltk::draw(const char*) to draw
letters. See the documentaion on drawing
functions.
The following fltk::Font values are predefined. These names are
historical, actually fltk::HELVETICA will give the system's
sans-serif font, fltk::TIMES will give the system's serif font,
and fltk::COURIER will give the system's fixed-pitch
font. fltk::SCREEN will give a fixed-pitch font designed for
computer i/o, it may match fltk::COURIER. Avoid
fltk::SYMBOL and fltk::ZAPF_DINGBATS for compatability
with future versions of fltk.
- fltk::HELVETICA (Ariel on Win32)
- fltk::HELVETICA_BOLD
- fltk::HELVETICA_ITALIC
- fltk::HELVETICA_BOLD_ITALIC
- fltk::COURIER
- fltk::COURIER_BOLD
- fltk::COURIER_ITALIC
- fltk::COURIER_BOLD_ITALIC
- fltk::TIMES
- fltk::TIMES_BOLD
- fltk::TIMES_ITALIC
- fltk::TIMES_BOLD_ITALIC
- fltk::SCREEN (Terminal style font)
- fltk::SCREEN_BOLD
- fltk::SYMBOL
- fltk::ZAPF_DINGBATS (Wingdings font on Win32!)
Methods
Pointers to the bold and italic versions of this font.
fltk::HELVETICA->bold() is the same as
fltk::HELVETICA_BOLD, fltk::TIMES->bold()->italic() is the
same as fltk::TIMES_BOLD_ITALIC.
These are never null. If this font has no bold or italic version
then these are circular pointers. Thus fltk::TIMES_BOLD->bold()
is the same as fltk::TIMES_BOLD and fltk::SYMBOL->bold()
is the same as fltk::SYMBOL.
Returns a string that identifies the font in a system-specific
manner. About all that can be said about it is that it is different
for every font (two different fonts may return the same name()). This
string is not portable, even between different machines running the
same operating system.
Returns the name of the font. The return value points to a static
buffer that is overwritten each call (so copy the string if you want
to keep it).
The integer pointed to by attributes is set to zero,
fltk::BOLD or fltk::ITALIC or fltk::BOLD|fltk::ITALIC.
If this pointer is null then the attributes are indicated by adding
a space and "bold" or "italic" to the name.
Sets array to point at a list of encoding names. The return
value is the length of this array. Each string identifies an
"encoding" that is supported by this font. These strings may be
passed to the fltk::encoding() to
select what characters the first 256 codes print. A zero length array
may be returned, this indicates that the font will print the same no
matter what encoding is set.
Sets array to point at a list of sizes. The return value is
the length of this array. The sizes are sorted from smallest to
largest and indicate what sizes can be given to fltk::font() that will be matched
exactly (fltk::font() will pick the closest size for other
sizes). A zero in the first location of the array indicates a
scalable font, where any size works, although the array may list sizes
that work "better" than others. The returned array points at a static
buffer that is overwritten each call, so you want to copy it if you
plan to keep it.
Find a font with the given "nice" name. You can get bold and italic
by adding a space and "bold" or "italic" (or both) to the name, or by
passing them as the attributes. Case is ignored and fltk will accept
some variations in the font name.
The current implementation calls fltk::list_fonts() and then
does a binary search for the font in it. This can make the first call
pretty slow, especially on X.
This allocates and fills in an array containing every font on the
server. The location arrayp is set to a pointer to this array,
and the length of the array is the return value. Each entry is a
"base" font, there may be bold, italic, and bold+italic version of
each font pointed to by bold() or italic().
Subsequent calls to this function returns the same array again.
Currently there is no way to update the list from any changes to the
set of fonts on the server.