[comp.windows.x] New TMLib Archives

laporta@APOLLO.COM ("John X. Laporta") (08/21/90)

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

-------

markf@zurich.ai.mit.edu (Mark Friedman) (08/24/90)

In article <9008221833.AA25108@xuucp.ch.apollo.com> laporta@APOLLO.COM ("John X. Laporta") writes:

   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.

Can somebody give me some examples of instantiations of these things.
I can sort of understand the above sentences but I can't put them
together in some meaningful way.

-Mark
--

Mark Friedman
MIT Artificial Intelligence Lab
545 Technology Sq.
Cambridge, Ma. 02139

markf@zurich.ai.mit.edu