Commit Graph

3 Commits

Author SHA1 Message Date
shahondin1624
f183651f51 fix: increase verse spacing default from 4mm to 6mm (Closes #24)
The 4mm verse spacing was too subtle relative to the inter-line gaps
within chord-lyric sections, making section boundaries hard to
distinguish. Increasing to 6mm creates a clear visual break between
consecutive song sections (verses, choruses, bridges, repeats).

Also updated the example songbook.yaml to use the improved defaults
(chord_line_spacing: 1, verse_spacing: 6).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 14:52:27 +01:00
shahondin1624
ab91ad2db6 feat: support custom font files for song titles (Closes #4)
- Improve PdfFontMetrics: use canonical path for cache key, validate
  font file existence, use absolute paths for BaseFont.createFont
- Add font file path resolution in SongbookPipeline (relative to
  project directory)
- Add font file existence validation in Validator.validateConfig
- Add end-to-end tests: custom font loading, umlaut rendering,
  cache deduplication, missing file error
- Document custom font file usage in example songbook.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 09:54:15 +01:00
shahondin1624
e386501b57 Initial implementation of songbook toolset
Kotlin/JVM multi-module project for generating a scout songbook PDF
from ChordPro-format text files. Includes ChordPro parser, layout engine
with greedy spread packing for double-page songs, OpenPDF renderer,
CLI (Clikt), Compose Desktop GUI, and 5 sample songs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 08:35:42 +01:00