Uni-HH / CS. / TAMS / Java / jfig
 
spacer jfig
spacer News
spacer Gallery

spacer Editor
spacer Custom editors
spacer Viewer / Bean
spacer Applet
spacer Presentations
spacer Plotting

spacer Webstart
spacer Download
spacer Documentation
 

The jfig editor is the main application built from the jfig class library. While it is often used to prepare figures for TeX and LaTeX documents, it can also be used standalone. This page gives an overview of the following topics:

To download and run the editor, just go to the jfig webstart page, read and agree to the license, and then click the download-button. For an in-depth explanation of the concepts and all operations of the jfig editor, see the jfig tutorial (PDF). Further information is available via the download and documentation pages, see the links on the left.

Click on the thumbnails below to see a few screenshots of the jfig editor, running on Linux (Motif and GTK2), Windows XP, Mac OS X, and OS/2 (eComStation). You can also change the appearance via the Java 'look-and-feel' mechanism:

jfig editor screenshot (Linux) jfig editor screenshot (Linux GTK) jfig editor screenshot (Windows XP) jfig editor screenshot (Mac OS X) jfig editor screenshot (eComStation)

Drawing object types and attributes

Currently, jfig supports all object types defined in the FIG 3.1 and 3.2 file formats. These include rectangles, polylines and polygons, arcs, several variants of splines, embedded images, and compound objects. Attributes include line width, line style, line color, fill style, fill colors and patterns, text font, text size, text orientation, and object layer (depth):
  • standard drawing object types: line, arc, circle, ellipse, rectangle, rounded rectangle, text
  • embedded bitmap-images in GIF, JPEG, PNG format
  • library objects, option to import text files
  • open and closed Bezier-splines or X-splines
  • splines are automatically interpolated through the given vertices, no need to specify separate control points

  • several arrow types, selectable arrow size
  • selectable line-styles and line-width
  • 32 pre-defined colors and up to 512 user-defined colors
  • solid and pattern fill-styles

  • support for LaTeX symbols and macros
  • mixed Postscript-LaTeX export via fig2dev
  • ASCII-based fully-documented file format, easily extensibe

  • Unlike xfig, embedded Postscript and PDF images are not supported
  • Like xfig, no gradient fills
  • No texts aligned to paths, no outlined texts, etc.

Edit operations

  • create object
  • create group object, break group object
  • move, copy, delete object(s)
  • edit object attributes (and coordinates)
  • update object attribute (from specified master object)
  • move point, insert point, delete point
  • convert object type, e.g. polyline into spline
  • rotate object, mirror object

  • recursive multi-level undo and redo
  • layer-manager sorts objects by the layer (depth)
  • geometry-manager to restrict line-slopes

  • configurable bindkeys for faster editing
  • user-defined operations can be added easily

User interface

The user interface of jfig (and xfig) is mode-oriented: you first select an edit mode (e.g., create polyline), and then execute operations corresponding to that mode (e.g, place the first and second point of a polyline). The status panel on top of the editor window always lists the operations possible or expected by the editor; simply press the Escape-key (or select another edit mode) to cancel an ongoing operation.

annotated jfig editor screenshot

Also found in many professional drawing and CAD programs, the mode-oriented concept allows for very fast editing, but it differs from the object-based interface (first, click on an object, then select what to do with it) used by most simple drawing programs for Windows or the Macintosh. However, it should not take long to get accustomed to the edit modes.

Other key points of the jfig (and xfig) user interface are the use of a three-button mouse and bindkeys for fast editing, the support of hierarchical compound objects nested to arbitrary depth, several styles of arrows, easy attribute updates, a magnetic grid for object alignment, and smart object copy and move functions.

In the unregistered evaluation version, a few functions of the editor are disabled. Also, a registration reminder dialog will be shown after 10 minutes of editing and more than 200 edit operations - that is, only when you really start to use the editor.

System requiremenets

As the editor is written in Java, you will need a Java Virtual Machine corresponding to Java version 1.4 (or higher) to run jfig on your computer. The editor was developed and tested using JDK/JRE 1.4.2, but also runs with the new J2ME 5.0.

If you are using a recent version of Windows, Mac OS X, or Linux, you probably already have a compatible Java Virtual Machine installed on your computer. If not, you can download the Java runtime environment (JRE) or Java development kit (JDK) for a variety of platforms from the Javasoft website, www.javasoft.com.

The jfig download page also still includes an older version of jfig, based on the Java-1.1 specification. It should run on JDK/JRE 1.1.8, the original Microsoft Java VM, and several research Java VMs. Based on AWT instead of Swing and Java2D, this version lacks many features and cannot render all object attributes, but the basic editing operations are all supported.

Exporting and printing

This section is not ready yet. Please see chapter 6 of the jfig tutorial for an in-depth explanation.
 
  29.01.2006   Impressum