Add printer.conf for the Epson DFX-5000+

Continuous fanfold, wide-carriage 9-pin printer, so it's configured
like printer.conf.rollpaper.bak (no fixed page length) but with
PRINTER_MAX_COLS set from the datasheet's rated 136-column printable
area at default 10 cpi on 16in stock.
master
Amir Alexander Abdelbaki 2026-07-21 13:00:11 +02:00
parent 4be3e5a130
commit fe8121fc63
1 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,52 @@
# ASCII Photobooth printer configuration
# Sourced by txt2printr.sh and photobooth.py.
# Is the printer loaded with A4 paper for a landscape printout? (true/false)
# Needle/dot-matrix printers have no hardware page-rotation command: the
# print head only scans across a fixed carriage width while the paper feeds
# in one fixed direction, so there is no way to make the physical page
# itself "landscape". Instead, when this is true:
# - txt2printr.sh rotates the ascii art 90 degrees in software before
# sending it to the printer (turn the printed page 90 degrees to read it)
# - photobooth.py sizes its live-preview viewfinder to an A4-landscape
# character grid instead of just following the terminal size, so what you
# see in the preview matches the shape of what gets printed
# The Epson DFX-5000+ is a wide-carriage tractor-feed printer that only
# takes continuous (fanfold) paper 4-16 in (101-406.4mm) wide - it has no
# A4 sheet path, so this stays false.
PRINTER_A4=false
# Your printer's real per-page capacity in the normal (portrait, unrotated)
# orientation, used to size the A4 viewfinder above and to know when a print
# job already fills the page (see txt2printr.sh). Paper geometry and stated
# pitch don't reliably predict this - measure it directly with pagetest.sh:
# ./pagetest.sh && PRINTER_A4=false ./txt2printr.sh pagetest.txt
# then read off the last line number on page 1 (-> PRINTER_MAX_LINES) and
# how many characters of the 64-wide test lines actually printed before
# being cut off (-> PRINTER_MAX_COLS).
#
# Set PRINTER_MAX_LINES=0 for a roll/continuous-feed printer that has no
# fixed page length. In that mode photobooth.py sizes captures to fill
# PRINTER_MAX_COLS width and lets height follow the image's own aspect
# ratio instead of cropping to a row count, and txt2printr.sh always feeds
# the paper out at the end of a print instead of skipping the feed when a
# page is already full (there's no page to fill).
#
# The DFX-5000+ is fed from continuous fanfold stock rather than cut
# sheets, so it's treated the same as a roll printer here (0). Its DIP
# switch 2-1 does let it track a fixed 11 in or 12 in form length with
# perforation-skip, but that's a page-break convenience on the paper feed,
# not a limit on total printable length - re-measure with pagetest.sh if
# you rely on perforation-skip and want output to stop short of the next
# perforation instead of running past it.
#
# PRINTER_MAX_COLS below is the datasheet's rated printable-column count
# at the printer's default pitch (10 cpi) on its widest supported stock
# (16 in fanfold): 136 columns. That's the printer's own printable-area
# limit (0.51-1.22 in left margin, 0.51 in right margin), not a
# measurement against this install's actual loaded paper width -
# re-measure with pagetest.sh if narrower stock is loaded.
# Source: Epson DFX-5000 Product Information sheet (9-Pin Printers,
# 12/12/88), "Printable columns" table.
PRINTER_MAX_LINES=0
PRINTER_MAX_COLS=136