2018-04-07 06:05:47 +10:00
|
|
|
The "fmttext" library is used for
|
|
|
|
formatting text in various places in
|
|
|
|
KittenOS NEO.
|
|
|
|
|
|
|
|
It's recommended that you only load
|
|
|
|
this library when you need it, and
|
|
|
|
release the value immediately after,
|
|
|
|
as it is rarely called, and has no
|
|
|
|
sticky objects that could cause
|
|
|
|
duplicated library issues.
|
|
|
|
|
|
|
|
If using neoux, the pad and fmtText
|
|
|
|
functions are proxied there in a
|
|
|
|
load-on-demand form, such that you
|
|
|
|
can call them, and the library is
|
|
|
|
loaded for that call.
|
|
|
|
|
|
|
|
Essentially, it's job is to take some
|
|
|
|
safeTextFormat'd text, and turn it
|
|
|
|
into a column of a given width.
|
|
|
|
|
|
|
|
It has two functions for this task:
|
|
|
|
pad(text, len[, centre[, cut]]):
|
|
|
|
Pads the given safeTextFormat'd
|
|
|
|
string to a given width, returning
|
|
|
|
the resulting string.
|
|
|
|
If centre is true, then the text is
|
|
|
|
centred within the area given -
|
|
|
|
otherwise, it is left-justified.
|
|
|
|
(Values that are not nil or true
|
|
|
|
are reserved for future use.)
|
|
|
|
If cut is true, then the text may
|
|
|
|
be reduced in size if necessary.
|
|
|
|
Otherwise, text that is too long is
|
|
|
|
not reduced.
|
|
|
|
|
|
|
|
fmtText(text, width):
|
2018-04-24 07:39:01 +10:00
|
|
|
Formats the given safeTextFormat'd
|
|
|
|
string to a list of lines with a
|
|
|
|
given max. width and word wrap, if
|
|
|
|
possible (words will be broken by
|
|
|
|
letter if necessary)
|
2018-04-07 06:05:47 +10:00
|
|
|
If there are newlines in the text,
|
|
|
|
these newlines are respected.
|
|
|
|
If the width is less than 2, then
|
|
|
|
this function may fail in various
|
|
|
|
ways, up to and including freezes.
|
|
|
|
|
|
|
|
-- This is released into
|
|
|
|
the public domain.
|
|
|
|
-- No warranty is provided,
|
|
|
|
implied or otherwise.
|
|
|
|
|