Last modified: November 2016

AHELP for CIAO 4.11 ChIPS v1


Context: utilities


Loads a font file from disk for use with any ChIPS text element.


load_font(name, fontfile, style=chips_normal)


The function arguments.

Argument Description
name The name used to identify the font in ChIPS.
fontfile The location of the file containing the font data; supported formats are .pfa, .pfb, or .ttf.
style The font style for the file. The values are chips_normal (default), chips_bold, chips_italic, and chips_bolditalic.

The load_font command allows the user to load their own font files for formatting labels. Support is provided for .pfa, .pfb and .ttf format font files. This command is part of the advanced ChIPS module; refer to "ahelp chips" for information. To load the module:

from pychips.advanced import *

The user specifies a name to be used when accessing the font; the same name may be used for each of the four supported font styles (normal, bold, italic, and bolditalic). If the same name is used for the same font style more than once, the earlier entry is overwritten. The following font names are predefined and may not be used: courier, greek, times, and helvetica.

If the "style" is not specified, the font is loaded as normal font style. If all supported font styles are not loaded, the following fallbacks are utilized:

If the font cannot be accessed at all, e.g. it is not loaded or the name is misspelled, Helvetica is used.

Currently, user-loaded fonts are only supported for the on-screen display. They cannot be used in hardcopy output formats. The fallback when creating hardcopies is:

For instance, after:

chips> load_font("batang", "/usr/share/fonts/ko/TrueType/batang.ttf")
chips> add_label(0.4, 0.4, "Hello World!", "font=batang")
chips> print_window("")


chips> load_font("batang", "/usr/share/fonts/ko/TrueType/batang.ttf")
chips> add_label(0.4, 0.4, "Hello World!", "font=greek")
chips> set_label("font=batang")
chips> print_window("")

The label in will be printed in Helvetica, since the font was set in the add_label command. The label in will use greek, the most recent system font used before the print_window command.


Example 1

chips> add_label(0.4, 0.4, 'Hello World!')
chips> load_font('batang','/usr/share/fonts/ko/TrueType/batang.ttf')
chips> set_label(["font", "batang"])

Add a label. Load the true type font "batang.ttf" as a normal font style; set the label to use that font.

Example 2

chips> load_font('gothic', '/data/fonts/gothic.pfb')
chips> load_font('gothic', '/data/fonts/gothic_i.pfb', chips_italic)
chips> load_font('gothic', '/data/fonts/gothic_b.pfb', chips_bold)
chips> load_font('gothic', '/data/fonts/gothic_bi.pfb',

Load the gothic font files for the four supported font styles.

OS-X support for True Type fonts

True Type fonts are not supported in the vector output formats (i.e. EPS, PS, and PDF) for OS-X systems (they are on Linux). The fonts will be included in bitmap outputs (i.e. PNG and JPEG). The fonts supplied with ChIPS are not in True Type format, and so this only affects fonts loaded with the load_font function from the pychips.advanced module.


PDF output with TTF files

TTF fonts loaded using load_font() may cause PDF generation to fail.

See the bugs pages on the ChIPS website for an up-to-date listing of known bugs.

See Also

add_label, current_label, delete_label, display_label, get_label, hide_label, move_label, set_label, shuffle_label