[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Text is easier to read when it is accompanied with styling information, such as color, font attributes (weight, posture), or underlining, and this styling is customized appropriately for the output device.
GNU libtextstyle provides an easy way to add styling to programs that produce output to a console or terminal emulator window. It does this in a way that allows the end user to customize the styling using the industry standard, namely Cascading Style Sheets (CSS).
Let's look at the traditional way styling is done for specific programs.
Browsers, when they render HTML, use CSS styling.
The older approach to user-customizable text styling is that the user associates patterns with escape sequences in an environment variable or a command-line argument. This is the approach used, for example, by the GNU ‘ls’ program in combination with the ‘dircolors’ program. The processing is distributed across several steps:
dircolors
program, when invoked, translates such a style
definition to a sequence of shell statements that sets an environment
variable LS_COLORS
.
LS_COLORS
.
In contrast, this library implements styling as follows:
<span>
elements for HTML output), and emits it.
Thus, with GNU libtextstyle, the styling has the following properties:
There are generally two approaches for adding styling to text:
The first approach produces a styling that is 100% correct, regardless of the complexity of the text that is being output. This is the preferred approach for example for JSON, XML, or programming language text.
The second approach works well if the output has a simple, easy-to-parse format. It may produce wrong styling in some cases when the text format is more complex. This approach is often used for viewing log files.
GNU libtextstyle supports both approaches; it includes an example program for each of the two approaches.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Bruno Haible on February, 21 2024 using texi2html 1.78a.