inghuimische logo

The Unified Typesetting API

Start Links


The Unified Typesetting API (UTA) is an attempt to unify the typesetting process needed by every text processing application. Currently it provides a reference implementation in Java available under the Mozilla Public License 1.1.


  • line-breaking model similar to TeX's to allow global optimizing line-break algorithms.
  • modular and extensible design to allow simple as well as high quality implementations
  • support for new scripts can easily be added
  • quality management component to retrieve information about the internals of a typesetter
  • fully documented
  • open source


Source (814 KB)

Includes Javadoc API documentation and source code.


UTA in three steps

Currently the additional documentation is only available in German.

Step 1: A quick overview

This is a short article (German) introducing the basic concepts without going into much detail (four pages). Keeping those in mind will help you to get in touch with the rest a lot faster.

Step 2: UTA in 20 minutes

If you think UTA could be something for you have a look at these slides (German). They provide a bit more information than the article above.

Step 3: The details

Still interested? Fine! :-) Read the rest, UTA M1 in detail (German)


UTA is fully documented through Javadoc comments in the source.

Further Reading

The link section contains a bunch of references to typesetting related applications and technologies. More to come.

License & Dependencies

The software is available under the Mozilla Public License Version 1.1. UTA uses the tri-license scheme to allow alternative relicensing under the LGPL as well as the GPL.

UTA contains a binary distribution of the JDigraph library, available under the BSD license.


You're welcome to

News & History

29.11.2005 - Ok, after more than a year the thesis is now finally available. Just was too lazy and lost interest for a while (there was no feedback from FOP and ExTeX).

17.08.2004 - Finally released version M1 of UTA!

06.07.2004 - Added link section.

25.06.2004 - Changed versioning scheme. First thought to make a psychologic 1.0 release when I finish the thesis. But I think people think of a stable piece of software, when using a software package with version 1.0. Thus, not UTA 1.0 but UTA M1 will be available around 09/01/2004. The current release contains the inital idea of embedding levels, used to typeset bidirectional text.

26.05.2004 - Refactoring to allow easy change of graph library, default graph library is now JDigraph.

21.05.2004 - First public release.