- Penalty for breaking at soft hyphen
- html5 parser
- small caps (and real SC font)
- CSS details:
- min-width, max-width, width, height, etc
- background shorthand property
- text-decoration, inline borders and background
Document write API:
- Simplify text extraction.
- Improve HTML output: semantic and visual variant outputs.
- SVG output.
- XPS output.
SVG parser improvements:
- Raster images (also how to get image data from SVG in an EPUB; share the fz_archive?).
- Everything else.
Non-AA rendering improvements:
- A non-AA rendering mode that never has AA blending artifacts, i.e. "pixel perfect".
- Separate text and path AA settings (non-AA paths, AA text)
- No dropouts in path rendering (touch every pixel rule)
- No overlaps in image and shading rendering (no grid fitting)
Improve new Java viewers. Add features, but keep them very simple to serve as examples! Expose links and outline structures to JNI and JS. Android drop-in component.
Thin pdf_page struct in pdf interpreter; base everything off lazy pdf_obj accesses.
Generic reusable text shaping functions, for use with SVG, annotation creation, and GUIs. Usable with JS and JNI too, to create fz_text objects to draw.
- Shaping in text widgets (search field, outline, info box)
- Form filling
- Annotation editing
- RTL/manga mode (affects smart scrolling)
- Facing side-by-side page views
- Printing on win32, linux
Use open/write/close/relink for safe output without clobbering on failure. Do it automatically in fz_output.
Color management with lcms2.
PDF operator processing should be exposed as an API. To C, JNI and JS.
Link and action rework:
- fz_link and fz_link_dest should be opaque structs with subclasses for each document type.
- actions vs. links -- all pdf links are actions, but actions are pdf specific.
Form filling and interactive widget API rework:
- Expose forms and values to JS/JNI.
- Add 'action' as a type.
- form filling parity for all viewers
- form input/display/updating need proper library API
- form actions are missing huge chunks of functionality (only Goto and JS implemented)
- form fields use wrong encodings
- form text layout and appearance synthesis with correct encodings
- digital signatures -- update crypto library (use libressl, not openssl)
- digital signature API usable as library
- form submission API to tell client what to do
- saving and loading form data (FDF)
Annotation API rework:
- Use printf to create annotation streams (don't bother with display lists).
- Use text shaping when updating text.
- annotation creation API usable from library, not just android app
- annotation appearance synthesis for all annotation types