Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.73 KB

CONTRIBUTE.md

File metadata and controls

75 lines (53 loc) · 1.73 KB

Contribute

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)

Maintenance/architecture contributions

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 of const
  • Images of size 0 lead to crash
  • Dependency injection missing, notably to inject custom configuration
  • Unit tests should probably use a snapshot mechanism