The Heirloom Documentation Tools provide troff, nroff, and related utilities to format manual pages and other documents for output on terminals and printers. They are portable and enhanced versions of the respective OpenSolaris utilities, which descend from ditroff and the historical Unix troff. troff provides advanced typographical features such as kerning, tracking, and hanging characters. It can access PostScript Type 1, OpenType, and TrueType fonts directly. Internationalized hyphenation, international paper sizes, and UTF-8 input are supported.
ICU provides a Unicode implementation, with functions for formatting numbers, dates, times, and currencies (according to locale conventions, transliteration, and parsing text in those formats). It provides flexible patterns for formatting messages, where the pattern determines the order of the variable parts of the messages, and the format for each of those variables. These patterns can be stored in resource files for translation to different languages. Included are more than 100 codepage converters for interaction with non-unicode systems.
JTLT is a general text based templating system that is very easy to use and powerful. It can be used for almost anything, including code generation for translators/compilers and HTML output for Java servlets. It features replaceable keys, nested block structures, an extensible macro system (even keys are implemented as macros), a separation of parsing and output generation, a separation of macro settings and parsing, in-memory caching of parsed templates, weak typing, and extensive documentation.
Jamon is a text template engine for Java that is useful for generating dynamic HTML, XML, or any text-based content. It has a rich feature set that supports encapsulation, parameterization, functional decomposition, and reuse of presentation logic. Because it is compiled to non-reflective Java code, and statically type-checked, Jamon is ideally suited to supporting refactoring of template-based UI applications. Templates declare the arguments they require for rendering, including dynamic template content ("fragments"), and are translated into Java classes with public methods whose signatures reflect the arguments declared in the templates. This provides compile-time type- checking as well as excellent performance.
JavaFind is an implementation of the Unix "find" program that allows Java programs to search for files in a platform-independent way. It can recursively search for files by regex as well as with many of the useful find options, including max depth, min depth, follow symlinks, and file type. It is intelligent and can automatically choose the best method to perform the find operation. It detects if it's running on a GNU system and transparently delegates the speed-sensitive work to the GNU utilities.