Features:
- Cover page generation using Python/Pillow with Apple PingFang font
- CLI commands: cover-create, job-cover for cover page management
- API endpoints: PUT /api/fax/jobs/{id}/cover for cover modification
- Send fax with cover page: --to, --from, --subject, --note options
- Multi-page TIFF parsing for PDF conversion (fix: all pages now sent)
- Preview HTML generation with pan/zoom support
- OCR verification for cover page content
- Class 2 receive support for incoming faxes
Fixes:
- Modem initialization before Class 2 mode entry
- Dial timeout handling with retry logic
- Multi-page fax transmission between pages
- Chinese character rendering in cover pages (Apple native fonts)
- encoder/mh.rs: Full T.4 Group 3 MH encoding implementation
- Uses ITU-T T.4 standard Huffman tables for white/black runs
- Adds EOL codes and RTC (6 EOLs) at document end
- Class2Send now encodes pixels to MH before transmission
- CLI convert command shows MH encoded size
Test result: 467KB raw pixels → 14.6KB MH encoded (~32:1 compression)
- class2/commands.rs: EIA/TIA-592 Class 2 AT command definitions
- class2/send.rs: Class2Send implementation for simpler fax sending
- CLI: Add --class option for send command (1 or 2)
- CLI: Add --class2 flag for test command
- Tested with Conexant V90 modem - all Class 2 commands working
- pdf.rs: Ghostscript-based PDF to TIFF-F conversion
- tiff_to_fax_document: Parse TIFF and convert to 1-bit fax format
- CLI: Add 'convert' subcommand for dry testing
- CLI: Add resolution option for send command
- Test files for PDF/TIFF conversion validation