LASi

Introduction

libLASi is a library written by Larry Siden that provides a C++ stream output interface ( with operator << ) for creating Postscript documents that can contain characters from any of the scripts and symbol blocks supported in Unicode and by Owen Taylor's Pango layout engine. The library accomodates right-to-left scripts such as Arabic and Hebrew as easily as left-to-right scripts. Indic and Indic-derived Complex Text Layout (CTL) scripts, such as Devanagari, Thai, Lao, and Tibetan are supported to the extent provided by Pango and by the OpenType fonts installed on your system. All of this is provided without need for any special configuration or layout calculation on the programmer's part.

Although the capability to produce Unicode-based multilingual Postscript documents exists in large Open Source application framework libraries such as GTK+, QT, and KDE, libLASi was designed for projects which require the ability to produce Postscript independent of any one application framework.

Motivation and Strategy

This document outlines the motivation and strategy employed in the development of LASi.

Download

Up-to-date versions of LASi can now be obtained from http://eyegene.ophthy.med.umich.edu/lasi/

The example programs included with LASi contain Unicode text in various languages. To obtain Open Source and otherwise liberally-licensed fonts required for proper generation of the example Postscript output, please visit Ed Trager's Unicode Font Guide For Free/Libre Open Source Operating Systems.

Prerequisites and Dependencies

LASi uses Owen Taylor's Pango text layout engine. Pango itself depends on the glib infrastructure library of the GTK+ toolkit and on the FreeType 2 font handling library.

Almost any modern Linux or similar free *nix operating system will already have the FreeType2 library installed. If you have the Gnome desktop or GTK+-based software like the Gimp installed on your system, then you may be able to use the glib and Pango libraries already present on your system.

If you decide to download glib and Pango, be sure to download "matched" libraries from either the Gnome or GTK+ web site. For example, if you go to the download area for Gnome 2.8, you will find glib-2.4.6.tar.gz and pango-1.6.0.tar.gz. Glib-2.4.6 and pango-1.6.0 are "matched" for building a stable version of Gnome and should thus provide you good results when used with LASi.

As of this writing (2004.12.23), we have documented successful builds of LASi version 1.0.4 using the following combinations of library versions:

LASi should build fine with other version combinations, but we have not bothered to document these.

If you have trouble building LASi ...

If you have trouble building LASi, the usual culprits are:

API Documentation

Examples

Examples are provided in the examples subdirectory of the software distribution. The makefiles included with the examples illustrate how to link a program against LASi. Here is a simple example of what source code using LASi looks like.

Original Author

Larry Siden lsiden@gmail.com is the original author of LASi.

Current Maintainers

The program is now being maintained by Ed Trager ehtrager@umich.edu and Ritu Khanna rituk@umich.edu. Please address correspondance about the software to the maintainers.

Credits

Colophon

My friend, Ed Trager, who first envisioned and motivated me to write LASi, suggested that I assign the name "Lasi" to this project, as "Lasi" is composed of the first two letters of my first name, Larry, followed by the first two letters of my last name, Siden. Since this immediately delighted by own sense of vanity, I had no trouble indulging Ed. Out of concern that the name "Lasi" might invite ridicule by jeolous programming rivals who would no doubt take every opportunity to mock it's connection to the beloved TV canine hero, I changed it's spelling to the post-modern, hi-tech moniker "LASi".

top