Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.79 KB

CONTRIBUTE.md

File metadata and controls

75 lines (53 loc) · 1.79 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)

extended PDF support:

  • meta data
  • tags
  • more content types (png, svg, esp, ...)
  • more drawings (circles, polynomials)

extend layout support:

  • collapse margins (i.e. margin of child and parent not added, but MAXed)
  • alignment for blocks
  • column/row spans for grids, tables
  • auto, contain, cover for content types
  • top/right/bottom/left different weight borders

non-targets:

  • forms -> PDF is meant for printing
  • compress (string) streams -> produced PDFs should remain machine readable

technical:

  • 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.

Topics:

  • Use enum instead of const
  • Add snapshot-based unit tests
  • Add consistent edge-case testing (images of size 0, newline/spaces at the of a line, ...)
  • Refactor compiler configuration approach