laporta@APOLLO.COM ("John X. Laporta") (08/24/90)
Archive-name: tmlib/21-Aug-90 Original-posting-by: laporta@APOLLO.COM ("John X. Laporta") Original-subject: New TMLib Archives Archive-site: expo.lcs.mit.edu [18.30.0.212] Archive-directory: /contrib Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti) New archives for the Text Management Library (TMLib) are available at contrib on expo (Internet Address 18.20.0.212. The following archives have changed: apollo_tmlib_csm_src.tar.Z Numerous bug fixes to library source and examples. See the LOG file in the src subdirectory under the btml directory for details. apollo_tmlib_csm_advanced_topics.tar.Z Minor revisions to some entries in this collection of short documents. Files judged to be incomplete have been withdrawn. If you have any problems retrieving these archives or building the libraries and examples, please do not hesitate to send email to laporta@apollo.HP.COM. Since my last posting to this group elicited a number of requests for an overview of TMLib, I include that below. John OVERVIEW OF TMLib FUNCTIONALITY TMLib is an enabling technology for text management with provisions for extensions to handle data from other media. It comprises four components: Modeling, Formatting, Rendering, and Editing. The Modeling Component governs text and text structure. It rigorously separates text and text structure information. The Formatting Component is an inventory of objects for the production of abstract "layouts" of data from the modeling component in two dimensions. The Rendering Component includes objects that use formatted material to produce reactions on output devices. The Editing Component is a collection of class member functions in the other components that together allow batch or WYSIWYG alteration of objects in the modeling component, with synchronization routines that update the objects in the formatting and rendering components. The Character Set Manager (CSM), which can be built either as part of TMLib or as a standalone, allows users to write software that is neutral with respect to the character set encodings in its input and output. TMLib also includes: - an extension mechanism that allows users of TMLib to create their own objects and derived classes of TMLib objects without altering TMLib source code. - a history mechanism that supports undo/redo functionality. - a save/restore mechanism that supports writing and reading TMLib models to and from disk. - an architecture-neutral feature that compensates for differences in byte order among machines in a hetergeneous computing environment. - simultaneous support for multiple graphics systems The archive apollo_tmlib_csm_src.tar.Z includes a directory "btml" with subdirectories "src" and "examples". Both subdirectories contain README files. The README files explain how to use the Imakefile in each subdirectory to produce a Makefile suitable for builds on Apollo Domain/OS, HP-UX, and Sun/OS under either C++ 1.2 or C++ 2.0. The bulk of TMLib is written in C++. The graphics system components supplied (supporting XWindows and Apollo GPR) are written in C for historical reasons. C and Pascal interfaces are provided. Five sets of example programs are included in the archive. They use respectively XWindows and C++, XWindows and C, GPR and C++, GPR and C, and GPR and Pascal. The other archives include ascii and PostScript versions of TMLib documentation, including a Call Reference, Programmer's Guide, and a collection of short articles on advanced topics. John Laporta -------