anchor.diff:  
   == TODO
   
  -* SIMPLE: use literal cell style for theme-related document attributes section of theming guide
  +* don't crash if theme data is empty
  +* don't crash if cover image does not exist; fail gracefully with warning
  +* file issue in prawn-svg not to move cursor (maybe an option?)
  +* FILE ISSUE: prevent import_page from adding an extra page; leaves blank page when placing two inserts in a row
  +  - have import_page first delete current page if page is empty
  +* autowidth causes cells in header row to break word (wraps by char to fit; does not expand table)
   * dry_run should start at cursor of main document (or as option); total height calculation would need to be revised
     - this should fix height calculation when content is split over a page break (leaving small amount of excess)
  -* FILE ISSUE: prevent import_page from adding an extra page; leaves blank page when placing two inserts in a row
  -  - have import_page first delete current page if page is empty
   * FILE ISSUE: if the image type cannot be resolved from file extension (e.g., when target is a URL), honor format attribute like core
   * SIMPLE: add warning that AsciiDoc table cell content is not supported; print as raw source
   * cache stateless cell data resolved from theme (don't need to recalc each time; at least per table)
   * autowidth on table doesn't work for multi-line content (width based on normalized value)
   * table logic: does the layout_table_caption have to be inside the table block? can we pre-calculate the actual width for the caption? does the table offer a callback we can use to keep the caption on the same page as the table?
   * FILE ISSUE: enable/implement key table_font_style
  +* SIMPLE: in theming guide, emphasize not using the fallback font when working with very large documents; explain that default theme uses a fallback font
   * introduce object to store/organize running content data and specs
   * QUESTION: should we set pdf-anchor attribute on every node that has an id?
   * QUESTION: should theme font handle hierarchical keys (either explicitly or implicitly)
   * need to support .canvas role on image so it isn't shrunk to fit inside top/bottom margins
     - perhaps .canvas, .canvas-x, .canvas-y
  +* SIMPLE: missing text_transform in some places in theming guide
   * FILE ISSUE: when split source listing, add top padding to bounding box (or is it the line metrics top?)
  +  - perhaps this has to do with the a miscalculation in dry run when not starting from same y position?
   * prawn-gmagick (fixes PNG transparency issue, adds gif support); don't fail-fast on gif if gem is detected
     - https://github.com/packetmonkey/prawn-gmagick
   * stroke and fill multi-page sidebar block (#259) and example block (#362)
  
positive.code: * allow background color to be set for heading
  * allow border to be set around block image
  * switch wolpertinger to howling wolf mouse
  * support arbitrary numeric entities (convert to unicode)
  * add brief mention in theming guide that deeper customizations can be achieved by extending the converter
  * allow alignment of list to be set separately from base align (and perhaps a hint in document)
  
negative.code: * autofit logic not working with Courier (still overrunning line)
  * honor safe mode rules
  * allow cover images to be specified by theme as a fallback
  * stop using fallback fonts in default theme (instead, bundle a fuller font)
    - using fallback fonts significantly slows down Prawn because it checks every letter every time (see https://github.com/prawnpdf/prawn/blob/master/lib/prawn/text/formatted/box.rb#L427-L434)
  * print scratch.pdf file if verbose / trace mode is on in Asciidoctor
  