+---------+---------+-----------------+---------+---------+ | | | | | | | NW | NNW | N | NNE | NE | | | | | | | +---------+---------+-----------------+---------+---------+ | | padding | | | WNW | +-- - - - - - - - - - - - - - --+ | ENE | | | | | | | +---------+ +---------+ | | | | | | | | original | | | W | | input | | E | | | text | | | | | | | | +---------+ +---------+ | | | | | | | WSW | +-- - - - - - - - - - - - - - --+ | ESE | | | padding | | +---------+---------+-----------------+---------+---------+ | | | | | | | SW | SSW | S | SSE | SE | | | | | | | +---------+---------+-----------------+---------+---------+
A design definition needs not necessarily include specifications for all 16 shapes. You only need to specify the shapes that you need. Of course, at least one shape must be specified.
In order to let the box have a dynamic size, certain side shapes must be repeated. Those shapes are called elastic shapes.
Many box designs require open box sides, for instance most regional comments. In response to that insight, it was decided to make empty box sides into a supported feature. Thus, if you define a box side to consist entirely of spaces, that side will be considered open and it will not appear in the output.
Of course, you don't need to actually put the empty shapes into the config file, but boxes will automagically generate empty shapes if they are needed. (Internally, boxes always need at least 8 shapes - the corners, and one shape per side.) When the box is generated, those empty sides will be left out. Thus, boxes can be created which are open on any side.
The last thing to mention about a box design is the padding area, which surrounds the original input text as shown in the figure above. The padding area is located inside the actual box and consists only of spaces. It is frequently used to keep the text from coming too close to the box (that might not look so good in some cases) unless absolutely necessary. "Absolutely necessary" usually means that the user has specified a very small box size. It is also possible to control the padding from the command line, which is why the above figure shows the padding area as a dotted box.