PS_SHOW_BOXED(3) | Library Functions Manual | PS_SHOW_BOXED(3) |
PS_show_boxed — Output text in a box
#include <pslib.h>
int PS_show_boxed(PSDoc *psdoc, char *text, float left, float bottom, float width, float height, const char *hmode, const char *feature)
Outputs a text in a given box. The lower left corner of the box is at (left, bottom). If the height is set to 0.0 the box will become as tall as needed to contain all the text. If feature is set to blind no text will be output but the is set as usual. This can for example be used to calculate the box height needed to comprise all text or in order to determine how much text fits into a box.
Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces. The parameter hmode can be "justify", "fulljustify", "right", "left", or "center". The difference of "justify" and "fulljustify" just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.
The text will be hyphenated if the parameter "hyphenation" is set to "true" and the parameter "hyphendict" contains a valid filename for a hyphenation file. The line spacing is taken from the value "leading". Paragraphs can be separated by an empty line just like in TeX. If the value "parindent" is set to value > 0.0 then the first n lines will be indented. The number of indented lines is set by the parameter "numindentlines". In order to prevent indenting of the first m paragraphs set the value "parindentskip" to a positive number.
The output of PS_show_boxed can be configured with several parameters and values which must be set with either PS_set_parameter(3) or PS_set_value(3). Beside the parameters and values which affect text output the following parameters and values are evaluated.
Text is hyphenated if the parameter "hyphenation" is set to true and a valid hyphenation dictory is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed: /usr/share/apps/koffice/hyphdicts/, /usr/lib/scribus/dicts/, or /usr/lib/openoffice/share/dict/ooo/. Currently scribus appears to have the most complete hyphenation dictionaries.
Number of charactes that could not be written. This function will also set the value "boxheight" to the actual height of the box. This enables you to put several boxed beneath each other and keep the propper line spacing.
This manual page was written by Uwe Steinmann <uwe@steinmann.cx>.