
// Legend

* = URGENT
+ = SHORT TERM
- = LONG TERM
? = unsure
O = OK, done

// General

* Priorities for the next minor release:
  * Make high-quality, nice to see rendering in Pango, for both Math and Box
  * Make the widget more robust (font management)

- implement GnomePrint backend
- implement PS backend
+ make DPI a configurable parameter
+ find a way of having TFM support orthogonal to the other classes
? make pangolayout pangolinelayout areas configurable (glyph area?)
? T1 CM shaper useful for SVG?
? have callback functions to notify progress while building/formatting/etc?
  these should not depend on the backend
- use step area to implement linebreaking in mrows
- add possibility of disabling shaping of certain characters for shapers. Eg:
  <section name="disable-shaping">
    <key name="char">03BB</key>
    <section name="range">
      <key name="from">A0</key>
      <key name="to">B0</key>
    </section>
  </section>

// AbiWord

* move Char.hh.in into auto and cleanup dependencies with the top_builddir?
* commit default shaper in abimathview

// MathML

BUGS

+ implement combining characters when TFM is enabled for the
  computer modern shaper
? when index == length in a glyph area the caret is drawn
  at the right end of the focus' bounding box. It would be
  more appropriate to draw it just after the glyph, especially
  for mo elements. Is this really better?
? selecting the root <math> element does not show selection

ARCH IMPROVEMENTS

* MathMLNormalizingContainerElement::format can be removed
? make default value of attributes configurable
? make GlyphStringArea a leaf-like area?
- change the clone method for areas so that it checks if the
  content is unchanged, and possibly implement the replace this
  way
- implement auxiliary methods for searching into the area model
- It may be feasible to generalize searching functions
  over areas by implementing a visitor
- remove cast in gmetadom_Model::documentFromBuffer when gdome API is OK
O it seems like the choice of having that the first child of a
  vertical area is the bottommost is a bit weird. Think of the cursor:
  intuitively at increasing indices the cursor should go forward (that
  is right or down depending on the container). No, it is consistent
  with the coordinate system used by areas where the origin is at the
  bottom

PERFORMANCE IMPROVEMENTS

- in TemplateBuilder do not use the hash map for retrieving old
  elements, but use accessor methods instead. Much faster 

MISSING

? make setSelected virtual in Gtk_WrapperArea and implement
  an open Wrapper area that selects all its children. Use the
  open wrapper for groups
- implement PS area model (using pslib?)
- implement T1lib area model (using pslib instead?)
- implement shaper for Mathematica fonts
- implement shaper for Euclid fonts
- runtime selection of backend

// BoxML

BUGS

MISSING

- add documentation for boxml

// SVG Backend

BUGS

- character 2211 is not displayed (and probably others) because there is
  no default shaper (?)

IMPROVEMENTS

- do not draw the contour of text, so that letters are thinner

MISSING

- cross-embedding of MathML and SVG following the guidelines?
- cross-embedding of MathML and SVG with coordinates computation?
- document alpha channel in RGBColor

// GTK Backend

ARCH IMPROVEMENTS

+ define selection as a pluggable feature (much like decorators)
instead of a built-in feature. For some operations it may be desirable
not to have selection implemented this way
+ same with click
