Contributions are very welcome. Before investing serious effort, please create an issue to discuss target functionality and architecture.
TTF reader/writer:
- read TTF
- write TTF
- create TTF subsets
- provide font dimensions to measure text
PDF backend:
- print images
- print & style drawings (lines & rectangles)
- print & style text
- use TTF fonts
- use UTF-8 text
paragraphs:
- support different text styles in same paragraphs
- calculate dimensions of text
- automatic line-breaking
- alignment (center, right-align, justify)
layouts:
- design layout system
- implement block
- implement flow
- implement grid
- implement table
layout blocks:
- margin
- padding
- border (color, thickness, stroke style)
- background (color)
support more content types:
- png, svg, esp, ...
- video, audio, ... (?)
extend layout support:
- improve line breaking (knuth & plass line-breaking instead of greedy)
- alignment for blocks
- column/row spans for grids, tables
- auto, contain, cover for content types
- top/right/bottom/left different weight borders
extend drawing support:
- circles
- polynomials
extend PDF support:
- forms
- compress string streams
- optimize rectangle position (do not modify transform matrix)
This is a large, long-lived project, and as such there are maintenance and architecture topics.
Known bugs / issues:
- Should use new
enum
construct instead ofconst
- Images of size 0 lead to crash
- Dependency injection missing, notably to inject custom configuration
- Unit tests should probably use a snapshot mechanism