Appendix A. Technical Notes

Table of Contents

Abridged Chapter
Gestalt Items and Runtime Library
TkZinc 3.3.4
Scalable Vector Graphics

This chapter is abridged. The full text is available in printed form or as a PDF from:

These libraries are developed together with and for Jeszra. Jeszra’s template mechanism is implemented and documented within the Runtime Library Gestalt Items and Runtime Library. The module rtl.tcl is the minimal requirement for any Tcl-Template generated by Jeszra.

Only the Gestalt Items and Runtime Library source code is bundled within Jeszra.

The home of both libraries is at: Gestalt Items and Runtime Library. The project download section contains wrapper classes for Ruby, Lisp, Python; Emacs skeletons, Apple® Xcode textmacros, the unix-style manual pages and download versions of their complete documentation.

TkPath is used on a if present base by Jeszra and its libraries Runtime Library, Gestalt Items. TkPath is not necessary for using Jeszra, but highly recommended. Download it from its CVS repository.

# Login to the CVS Repository:
cvs -d:pserver:anonymous@tclbitprint
   /cvsroot/tclbitprint login

# Fetch the package (source code):
cvs -z3 -d:pserver:anonymous@tclbitprint
  /cvsroot/tclbitprint co -P tkpath

remove the newlines and spaces after »tclbitprint«, »«!

CAIRO is required for TkPath under X Window System. CAIRO is an integral part of most UN*X / X Window System operating systems.

DocBook is the documentation format used by Jeszra. Jeszra generates DocBook documents from the source code for various programming languages.

Jeszra is able to generate DocBook refentry documents from source code comments and template interfaces.

Tcl/Tk has built-in support for GIF and starting with 8.6 PNG bitmaps. Other formats can be used through third party packages such as Img. The Img package is required by Jeszra to create screen-shots from button, menubutton, scrollbar under AQUA® and also from Tile controls. The deployed mechanism is similar to: Img.

The screen-shot mechanism with Img produces unusable results with Tk 8.4 under AQUA®. See also: ???.

Pixane could be used to replace Img. Pixane is currently not supported by Jeszra. Using Pixane for Scalable Vector Graphics embedded screen-shots requires a reimplementation of

proc dumper::screenshot { type target } {}

inside svgdumper.tcl.

Jeszra generates Scalable Vector Graphics from Tcl/Tk. The generated Scalable Vector Graphics includes all functionality of canvas, TkPath and the general parts from TkZinc 3.3.4. Through Jeszra an entire Tk Graphical User Interface can be converted into Scalable Vector Graphics. All the templates from the Gestalt Items and Runtime Library are convertible into Scalable Vector Graphics without reverting to the section called “Bitmaps” . Basic Tk controls such as: listbox, button (X Window System), menubutton, checkbutton, radiobutton, message, label, menu, text are either direct converted or utilize the Gstripes template, from the Gestalt Items, for conversion. Gstripes vectorizes a Graphical User Interface before Scalable Vector Graphics gets created.

Scalable Vector Graphics is than convertible into PDF, bitmapped images, or can be printed through FOP with the printer˚s resolution.

Download the Scalable Vector Graphics 1.1 Specification from W3C®.

Jeszra creates an internal DOM-Tree for Scalable Vector Graphics. This DOM-Tree is accessible through the variable $dumper::_doc inside of the project.

The Scalable Vector Graphics DOM-Tree is maintained by »svgdom« in module svgdom.tcl. the section called “tDOM” is required to generate Scalable Vector Graphics.

Further Scalable Vector Graphics Informations.

FOP is not yet directly used by Jeszra. FOP is able to convert Scalable Vector Graphics into PDF and for printing. A .fo wrapper is required to convert Scalable Vector Graphics into PDF. FOP is a Java® Application.

FontForge, a font editor. FontForge can be used to generate Scalable Vector Graphics Fonts from other font formats. These Scalable Vector Graphics fonts should be embedded into each generated Scalable Vector Graphicss.

FontForge is a sophisticated font editor. FontForge is suitable to create icon fonts such as used by Jeszra.

Autotrace, is used to convert bitmaps into vector graphics. The Autotrace output can be directly used from FontForge. Jeszra does not yet use Autotrace,

tDOM is required to generate Scalable Vector Graphics. A DOM-Tree is used by Jeszra to create Scalable Vector Graphics.

Jeszra uses »TclSplines« for TkZinc 3.3.4 and TkPath objects. In addition TclSplines are needed for Scalable Vector Graphics generation to smooth lines and polygons. TclSplines