The font used to render text labels in drawing windows is a vector font for scalability. The character maps have internal defaults, which should be suitable in most cases, however these can be overridden by external definitions from a file. One can dump the current set of character maps to a file with the Dump Vector Font button in the font setting panel available in the Attributes Menu. Character maps from this file can be modified and placed in a file named ``xic_font'' in the library search path, in which case they will override the internal definitions when producing label text.
The same default character maps are also used by default for the vector font in the logo command, for producing physical characters with wire elements. These too can be overridden by definitions from a file. The Dump Vector Font button in the setup panel of the logo command can be used to dump the current set of character maps to a file. Character maps from this file can be modified and placed in a file named ``xic_logofont'' in the library search path, in which case they will override the internal definitions when producing vector-based characters in the logo command.
The generated font file consists of vector specifications for the characters `!' through `~' in the ASCII chart. The user's file need not contain all characters, missing characters will use the internal default definitions.
The file consists of character specifications of the form described below. The first line of the specification defines the character. This is followed by one or more path vertex lists which define the ``strokes'' of the character. These are followed by a couple of numerical entries which affect placement. For example, the entry for the default exclamation point (!) appears as:
character !
path 4,2 4,7
path 4,9 4,10
width 2
offset 4
The coordinate system has its origin in the upper left corner. The size is limited to 256 X 256, but the basic cell size used by the default set is 7 X 14. The y values increase downward, and x values increase to the right. Negative values are not permitted.
Only the first character of the leading keyword is necessary, and this is case insensitive. The first line of the block defines the character. The order of the following lines is unimportant. Each path is a sequence of coordinates which render a part of the character. The width is the horizontal space provided for the character, which should include trailing space, typically one column. The offset is the column which is placed at the end of the preceding character. Row and column numbering begin with 0.