For rendering text, there are three font possibilities. The default font is a vector font which constructs the characters using wire objects. The Manhattan font is a built-in bitmap font from which the characters are constructed using Manhattan polygons. The Manhattan font is fixed-pitch with an 8X16 map. The ``pretty'' font is one of the system fonts, which similarly creates characters constructed as Manhattan polygons. Logic is applied to extract the ``best'' rendition from anti-aliased fonts, which do not have a precisely defined shape. Some fonts may look better than others in this application.
While in the logo command and using the vector font, pressing the Ctrl-Shift-arrow key combinations will adjust the path width; the Up and Right arrow keys increase the width, Down and Left arrows decrease the path width.
The LogoPathWidth variable tracks the current path width setting. The LogoEndStyle variable tracks the current end style setting.
Instead of a text label, the logo command can be used to place an image. The image must be provided by a file in the XPM format. This is a simple ASCII bitmap format, commonly used in conjunction with the X-windows system on Unix machines. Other types of bitmap files can be converted to XPM format with widely available free software, such as the ImageMagick package. Several XPM files are supplied in the help directory for Xic (located by default in /usr/local/xictools/xic/help), which illustrate the format.
This feature is enabled in the logo command by giving the path of an XPM file, which must have a ``.xpm'' suffix, as the text string. This will cause the image to be imported such that it can be scaled, transformed, and placed, just like a normal label. The background color (the first color listed in the XPM file) is taken as transparent. All other layers found in the XPM file are mapped to the current layer. The image is rendered as a collection of Manhattan polygons.
Unlike in releases 3.0.11 and earlier, there is no attempt to limit feature sizes according to design rules. The minimum size of a character is set by the internal resolution, while the maximum size is about .4 X .7 cm. Once the text is entered, the size and other attributes can be changed with the arrow keys, and the text is placed where the user clicks in the drawing with button 1. The text can be reentered, i.e., a new label or image file defined, if the Delete key is pressed.
Alternatively, a fixed "pixel" size can be specified. In this case, the arrow keys will pan the display window, and have no effect on the label or image size.
The default operation is to apply the text or image feature directly in the current cell, where the user clicks. It is also possible to create a subcell containing the text, which is instantiated at the clicked-on locations. This may be more efficient if there are many copies of the same label.
Note that use of the vector font may produce design rule violations, which are pretty much inevitable due to the presence of acute angles in some characters. Use of the other fonts, which are rendered using Manhattan polygons, can avoid design rule violations, if the ``pixel'' size is larger than the MinWidth and MinSpace design rules for the layer. When physical text (or an image) is placed with the logo command, interactive design rule checking is suppressed. The NoDRC flag can be set on the new label, or the NDRC layer can be used, to permanently suppress DRC.
It is possible to change the font used for the logo command. The default font is set internally by Xic, however individual characters or the whole font will be updated upon startup if a file named ``xic_logofont'' is found along the library search path, which contains alternative character specifications.