Fitz: A New Foundation for 2D Graphics

Motivation

  - scalable vector graphics are popular, and getting moreso.
    (c.f:  PostScript, PDF, Flash, Java2D, Quartz, SVG)
  - resolution / display dependence of GDK / Xlib are an embarassment
  - We'd like to use a resolution-independent foundation for GUI toolkits.
  - unfortunate disconnect between on-screen and printed output.
  - no freely available 2d graphics library or standardized API
  - high-quality, hinted, anti-aliased fonts a requirement.
  - future: scenegraph-based user interfaces (Jazz)

Goals / Requirements

General

Imaging Model

Fitz will provide the complete PDF 1.4 imaging model, with the (temporary) exception of In-RIP Trapping. Specifically:

Rendering Portability

Runtime Portability

Font Support

Geometry

Output Device Portability

It should be possible to tune Fitz for a broad range of output categories, including:

Performance Goals

Rendering Quality

The implementation must provide topnotch rendering quality, including:

Architecture

Tree access API, asynchrony, compositional geometry API, etc...
...should lead to an API specification.

Open Questions

Related Work

People