These keywords impact the appearance of objects on the layer on-screen and in prints.
If no tokens follow the keyword, or the first token starts with `y', solid fill will be used. Additional tokens on the line will be ignored.
If the first token starts with `n', no fill pattern (empty fill) will be used. In this case, there are three outline styles available:
There is also the ``cut'' attribute, where diagonal lines are drawn over boxes, forming an X. This applies to boxes only, not wires or polygons, even though they may be rendered as four-sided rectangular figures.
Any text that follows the word that started with `n' is examined for the presence of the characters `o', `f', and `c'. These can be found as individual letters or parts of words, for example ``outline cut'' and ``oc'' and ``o c'' are all equivalent. In addition, this is all case-insensitive.
If neither `o' or `f' is found, a thin solid outline (style 1) is used. If `o' is found but not `f', a thin dashed line (style 2) is used. If `f' is found, with or without `o', then a thick solid line is used for edge segments of Manhattan objects, and a thin solid line is used for non-Manhattan objects (style 3).
In any case, if `c' is found, the ``cut'' attribute is applied. If `o' is also found buf not `f', the diagonals are shown as dashed lines, the same as the boundary. Otherwise, the diagonals are always thin solid lines.
The form on the third line is used to specify a stipple pattern to use for fill. Xic supports any stipple map size with the x and y dimensions in the range of 2-32. However, Xic releases prior to 3.2.25 supported only 8x8, 8x16, 16x8, and 16x16 maps. The format described here is generally not backwards compatible with these releases.
Maps can be read as hex numbers, or as ASCII tokens, but not in the same line. When Xic writes a technology file, the default is to use the ASCII token format, which actually renders the map in a crude way. This format is best illustrated by an example:
Filled \ | .. | (0x18) \ | .... | (0x3c) \ | ...... | (0x7e) \ |... ...| (0xe7) \ |... ...| (0xe7) \ | ...... | (0x7e) \ | .... | (0x3c) \ | .. | (0x18) outline
The points to note here are the following.
An equivalent form using hex data is
[x=width] [y=height] hex_number hex_number ...
The width and height are decimal numbers in the range 2-32. The number of hex digits that follow must match the height.
The width and height specifications can be omitted, in which case the format reverts to the pre-3.2.25 expectation. The hex numbers must be one of
Additional text on the line is examined for the `o', `f', and `c' characters as described above for the no-fill case. With a fill pattern, the interpretation is slightly different, as there is no dashed line outline available in this case. If neither `o' or `f' appear, the pattern will not be outlined. If `o' appears without `f', a thin solid outline will be used. If `f' appears, edges of boxes and Manhattan polygons will be thick. The `c' will draw diagonals on boxes. For historical reasons, the character `y' is treated the same as `o'.
If the boolean variable TechNoPrintPatMap is set when Xic writes a technology file, then the hex form will be used to specify fill patterns. Otherwise, the ASCII form is used.
Here are a few more example fill specifications:
Filled no fat
Filled cc aa cc aa cc aa cc aa outline
In electrical mode, the SCED layer defaults to solid fill, and other layers default to empty fill with a thin outline. All layers default to empty fill with a thin outline in physical mode. The Filled keyword is allowed in the mini-layer blocks found in the print driver specifications.
The Invisible keyword is allowed in the mini-layer blocks found in the print driver specifications. This is the only place where use of the y| n argument may be needed, in particular if Invisible is specified in the main layer block, Invisible n may be used in the driver block to make the layer visible in print driver output.