PPMTOMD(1)PPMTOMD(1)NAMEppmtomd - convert PPM files to the Alps MicroDry printer format
SYNOPSISppmtomd [ options ] [ PPM-file ]
DESCRIPTION
A program to convert images from PPM format into the control language
for the Alps Micro-Dry printers, at various times sold by Citizen, Alps
and Okidata.
The input image is printed as one page. However, ppmtomd will correctly
handle concatenated PPM files by printing each file on a separate page,
allowing it to be used as a filter for GhostScript with PPM output.
If no input file is given, ppmtomd reads from standard input. It does
not spool its input to disk; however, it does store several intermedi‐
ate files, and for a typical A4 photo image printed in standard mode,
at least 20MB should be available in the temporary directory (/tmp, or
the environment variable TMPDIR), or 80MB in the dye-sub and vphoto
modes.
The formatted output is sent to standard output. ppmtomd does not at
present try to read any information from the printer, so the output can
be sent to a spooler or anywhere else as desired.
OPTIONS
For both option names and values that are options, any unambiguous
(case-insensitive) prefix may be used. For example, the -datamode
option takes arguments including Black, Colour, Cassette, but it is
enough to give b,co,ca.
-autoshift
This option shifts the image appropriately to take account of the
unprintable areas on the paper, assuming that the input image occupies
the full area of the paper. Thus if a PPM image is generated by giving
the -sPAPERSIZE=a4 option to GhostScript, ppmtomd should be given the
options -papersize A4 -autoshift.
-black
This option sets black monochrome printing. It is equivalent to -mono‐
chrome -datamode Black.
-colourcorrection mode
This option specifies what colour correction is to be applied. The pos‐
sible values are:
None No colour correction at all is done; in colour printing modes,
the RGB input data will be converted to CMY with no black.
Plain The RGB input will be converted to CMYK with full black genera‐
tion and undercolour removal. This is the default when no
dithering is done.
Photo In this mode, monochrome data will be subject to gamma correc‐
tion (see -gamma), and colour data will be corrected by a lookup
table derived from the Alps Windows drivers. It can be adjusted
by the -gamma (see below) and -keepblack options. This is the
default when dithering is specified when using ordinary inks.
DyeSub This does colour correction suitable for printing photographs on
Dye Sublimation paper; the colour correction is done by a lookup
table which matches the Alps Windows drivers. In addition, the
-gamma option may be used to give a gamma factor which is first
applied directly to the CMY values of the image; use this to
brighten photos. (Gamma values greater than 1.0 or between 0
and -1.0 will brighten; the default is -0.9, which happens to
give good results with my digital camera.)
-colours colour-spec
This option specifies which components of the image are printed, and
what colours are used to print them. In monochrome modes, there is
only one component, called K, and in colour modes there are four,
called K, C, M, Y, corresponding to the black, cyan, magenta and yellow
components of the output images. These components are generated accord‐
ing to the colour mode and colour correction options; however, they
need not all be printed. The colour-spec is a comma-separated list of
components to be printed. For example, -colours c,y will print only the
cyan and yellow planes of the image. These components are always
printed in the order C,M,Y,K, except when using dye sublimation inks,
in which case they are printed in the order Y,M,C (there is no K).
If no CMYK colours are to be printed, give - or none as the colour-
spec.
NOTE: the following functionality is available but not recommended: use
the -spotcolours option for printing spot colours. Each component may
be optionally followed by =colour, where colour is a cassette supported
by the printer. This causes the given colour to be printed for the com‐
ponent. For example, -colours c=MetallicSilver,y=MetallicGold will
print an image in silver and gold, the silver parts being represented
by cyan in the input, and the gold parts by yellow. Colours may be
given with full names or with abbreviations. The currently supported
list of colours is given under the -spotcolours option; however, note
that the foil colours require special processing that will not happen
if they are used here.
-datamode mode
This option specifies how the different colours are sent to the
printer. Generally this option need not be given, as the driver will
choose appropriate modes depending on other options; indeed, it should
not be given by the user unless they have a full understanding of the
internals of both the printer and the driver. For a full description of
modes, see the note (***) in the technical section of this man page.
The possible values are:
Colour The default mode, in which the four colours are sent a page at a
time, in the order cyan, magenta, yellow, black.
Black The mode for monochrome data, printing in black only.
EconoBlack
Like Black, but uses the re-usable economy black ribbon. Avail‐
able only with the 5000 and later printers.
Cassette
This mode is like Colour, but the colours black, cyan, magenta,
yellow are instead printed with whatever cassettes are in hold‐
ers 1, 2, 3, 4 respectively. In this mode, the printing order is
1, 2, 3, 4. *** Available only on the pre-5000 models. See the
technical section for caveats. (***)
RasterColour
In this mode, each line of the image is sent in all four
colours, then the next line, and so on. The printer prints one
band in the four colours, then the next band, and so on. This
mode is required for the multi-colour YMC ribbon available for
the pre-5000 models; its use in any other case is not advised
(see technical section ***). Available on the pre-5000 models
only.
RasterCassette
This is the Cassette analogue of the RasterColour mode: data is
transmitted a line at a time, and the colours black, cyan,
magenta, yellow are interpreted as the cassettes in holders 1,
2, 3, 4. Use of this mode is not advised in any case. Available
on pre-5000 models only.
NColour
This mode is an extension of Colour mode allowing more than four
components. Available on the 5000 models only. (Previous ver‐
sions used the confusing term MultiColour, which is accepted for
backwards compatibility.)
-dither dithering-mode
This option specifies what dithering should be applied to the input.
The possible modes are:
None The default for non-dyesub: no dithering is done, and the output
pixels are calculated in CMYK and then rounded to on or off. Use
this mode if the dithering is to be done by another program such
as ghostscript.
FloydSteinberg
(also fs for short) uses a standard Floyd-Steinberg error diffu‐
sion algorithm. In principle, this is not a good technique for
normal MicroDry printing technology; however, it can give good
results in some circumstances. This is the default for dye sub‐
limation printing.
Halftone
(also ht for short) uses a clustered dot ordered dither with
customized halftone screen angles. This is the dithering recom‐
mended for general use. N.B. The default is no dithering, except
in dye sublimation mode.
Square This is a somewhat experimental technique that is only suitable
for use in the RasterColour data mode. Not recommended; see the
technical section for further information.
-draft
This option sets printing with the re-usable EconoBlack ribbon (MD-5000
and later models only). It is equivalent to -monochrome -datamode
EconoBlack.
-econoblack
A synonym for -draft.
-firstpass
This is a specialist option. It tells the driver that it is only han‐
dling the first of several passes, and that on exit the printer should
be left in data transfer mode and the paper backfed to top of form.
-forcecurlcorrection
This option forces a paper curl correction pass even in overlay mode.
-glossy
This option tells the printer to put the glossy finish overcoat on the
image. This uses the printer's built-in facility for this: the glossy
finish will be applied to the smallest rectangle bounding the printed
area. Finer control can be achieved by using Finish as a spot colour.
This option is set by default in dye sublimation printing; it can be
cancelled with the -noglossy option.
-halftone
This is a compatibility option, equivalent to -dither Halftone.
-informat input_type
This option specifies how to treat the input. The possible values are
Colour The default mode: the input is a standard colour image, and
(unless prevented by other options) undergoes colour correction
and possibly dithering to generate four colour output.
Monochrome
The input is converted to a grey file, gamma correction is
applied and possibly dithering, and then all selected output
colours are printed at the resulting level. Note that this mode
should usually only be used if just one output colour is being
printed: if you use this option on its own, the result will be
an image printed four times over, in each colour! This mode is
automatically set by appropriate user-level options such as
-black.
Diag The input is in a special diagnostic format which codes the
value of a four colour pixel into an RGB pixel. This format is
described in the technical section (***).
-gamma g
This option sets the initial gamma correction that is applied to input
data. At present, in monochrome modes this is applied directly to the
darkness k as k -> k**g; in colour modes, it is applied to the CMY com‐
ponents by c -> c**g. The default value depends on the type of print‐
ing.
-inresolution res
This integer valued option sets the resolution of the input file if it
is different from the printing resolution. Currently this is only sup‐
ported for 600 dpi input and 1200 dpi output.
-keepblack
If this option is given, pure black in the input will be printed as
pure black in the output, overriding the normal colour corrected value.
This option is appropriate for mixes of black text and images. However,
for images without text, it is probably better not to give this option;
without it, the solid blacks will blend better with the surrounding
colours.
-lastpass
This is a specialist option. It is like -midpass, except that no fur‐
ther pass follows, so that curl correction should be performed, the
paper ejected, and the printer reset as normal.
-lfadjust adjustment
This option specifies the line feed adjustment, changing the amount by
which the printhead advances between passes. If thin white stripes
appear between bands, a negative lfadj can be used to remove them. May
be useful with very heavy paper or very light paper; the neutral set‐
ting seems correct for normal paper on my printer, but reports vary.
adjustment is in units of 1/9th of a (600dpi) pixel, and has possible
values from -128 to +127.
-media mediatype
This option specifies the printing media type. It affects several other
options. For completeness, we list here all possible media types,
though some have never been available on the printers so far sold.
PlainPaper
The default medium, meaning standard photocopy paper.
FinePlainPaper
This is not actually a different medium; rather it is plain
paper, but everything is printed twice, giving a richer colour.
The term "Fine" is historical Alps; it's misleading, since this
is intended for paper that is rougher than usual and so needs
double printing.
LaserPaper
This appears to be the same as PlainPaper, but smoother, which
may affect some firmware fine-tuning of the printing.
DyeSubPaper
Dye sublimation paper. Setting this medium implies the use of
the dye sublimation ink cartridges. Currently, no other inks may
be used (so no spot colours), although there seems no reason in
principle why the other inks should not be usable as over‐
colours.
DyeSubLabel
This variant on dye sublimation paper is probably a product
(sold only in Japan) for id-cards and the like.
VPhotoFilm
This is a plastic film for variable-dots printing. If this
medium is selected, ppmtomd will indeed do variable-dots print‐
ing; however, the halftoning is currently rather unsatisfactory,
and more work is required. (VPhoto printing on plain paper or
with VPhoto primer is not yet supported at all.)
VPhotoCard
Postcard sized VPhoto film, I think. This also implies variable-
dots printing.
OHP Overhead transparencies (normal ones, not the special ink ones).
FineOHP
Overhead transparencies with double printing.
Cardboard
It is not entirely clear what this is for; it is probably for
business cards (card printing sheets are sold in Japan for the
MD series).
PostCard
This is a heavy paper or light card sold in Japan for printing
postcards.
IronSheet
This is sheets for iron-on transfers.
SpecialIron
This is for iron-on sheets using the special OHP inks; not
usable.
BackPrint
Backprint film is used for mugs and the like; it is not easily
available outside Japan, and is to be withdrawn in September
2004. With this medium, the image is automatically mirrored
left-to-right.
FineBackPrint
Backprint film with double printing.
GlossyPaper
also sold as photo-realistic paper is a very smooth paper
intended for 1200dpi printing with the earlier (pre-MD5000)
printers.
GlossyLabel
This variant on photo-realistic paper is probably a product
(sold only in Japan) for id-cards and the like.
SpecialOHP
This medium is not usable with modern MD printers. Alps origi‐
nally marketed (in Japan only) a set of inks specially designed
for transparencies. This medium indicates transparencies to be
printed with the special inks. The transparencies and inks work
only with the MD-2000 (and presumably also the Printiva 600).
The inks were withdrawn in 2000.
FineSpecialOHP
is to SpecialOHP as FinePlainPaper is to PlainPaper; it is not
usable.
LabecaSheet
This medium was sold in Japan only, and is now withdrawn. It
appears to be labels for videotapes etc.
ThermalPaper
This is thermal paper that will be directly activated by the
print head - i.e. no ribbon is used. It is not known whether
this is safe to do on the retail MD series; certainly no such
paper is sold by Alps.
CDMaster
Another medium not available on the current printers. It appears
to be for printing stick-on labels for CDs - or possibly even
directly on to CDs.
-midpass
This is a specialist option. It tells the driver that the printer has
already been set up with appropriate values, and left in data transfer
mode, so the driver should simply print the specified components.
Unless the -lastpass option is also given, the printer will be left in
data transfer mode.
-model modelname
This option tells the driver which model of printer it is driving.
Possible values are: Printiva-600 (the Citizen Printiva 600C), Print‐
iva-600U (the same, upgraded to recognize metallic silver), Print‐
iva-700, Printiva-1700 (later Citizen models), MD-2000, MD-2010,
MD-4000, MD-2300, MD-1000, MD-1300, MD-1500, MD-5000, MD-5500 (Alps
models), DP-5000 (Oki models). The default is DP-5000 (can be changed
at compile time) for ppmtomd, or Printiva-600U if called as ppmtocpva
(for compatibility). The main difference is between models before the
MD-5000, and the 5000 onwards models; however, the driver tries to
ensure that unsupported commands are not issued to the printer.
-monochrome
This is a compatability option, and is equivalent to -informat Mono‐
chrome.
-nocurlcorrection
This option suppresses the curl correction that the printer normally
performs on the last print pass. Note that the printer only performs
curl correction on paper media, and that curl correction is automati‐
cally disabled in overlay mode.
-nopack
This is a debugging option only; it disables the use of compression in
the output.
-noreset
This is a specialist option. Normally, the driver will issue a printer
reset at the end of processing; this option prevents it.
-outformat output_format
This option specifies what form of output the program generates. The
values are:
RGL The default: output for driving the printer.
packetRGL
Output encapsulated in the packetized format used for bidirec‐
tional drivers. Warning: this output must not be sent directly
to the printer; it must be handled by a suitable spooler.
PPM The output is a PPM file with each pixel being cyan, magenta,
yellow, black or white as it would appear on the printer.
Diag The output is a PPM file in a diagnostic format which codes a
CMYK pixel into an RGB pixel.
ColourDiag
The output is the PPM file resulting from applying the colour
correction routines to the input, but without any other process‐
ing.
-overlay
If this option is given, at the end of printing the paper will be
returned to top of form so that further data can be overlaid on the
same page. (Technical note: the printer will be left in the idle
mode.)
-pageC -pageM -pageY -pageK
These options are deprecated compatibility options. They specify which
components should be printed; use the -colours option instead.
-pagelength length
This option sets the length of the page, from top printing position to
bottom printing position. length may be given in the usual units of
measurement; if no unit is given, a unit of 1/600 inch is assumed
(regardless of the resolution setting). This option is usually set
automatically from the paper size.
-pagewidth width
This option sets the printing width of the page. width may be given in
the usual units of measurement; if no unit is given, a unit of 1/600
inch is assumed (regardless of the resolution setting). This option is
usually set automatically from the paper size.
-papersize size
This option sets the size of the paper being used. Possible values are
Custom (the length and width should be given by options), Executive,
Letter, Legal, A4, B5, PostCard, DyeSubLabel. For the exact dimensions
of these sizes, see the note *** in the technical section. NOTE: the
default size is explicitly set to A4 by the driver, although the print‐
ers' built-in default varies with country.
-phadjust adjustment
This option varies the intensity of the print head drive signal, making
the image lighter or darker than normal. adjustment may take values
between -50 and +50; negative values make the image darker. It is not
known whether this option may increase wear on the heads.
-ppmout
This is a compatibility option, equivalent to -outformat PPM.
-resolution res
This option sets the printing resolution. res is an integer, with val‐
ues 600 (default) for 600x600 dpi, 300 for 300x300 dpi, or 1200 for
1200x600 dpi.
-satgamma sg
This option is not used in version 1.2.
-solidblack
This is a compatibility option, equivalent to -keepblack.
-spotcolours colourspecs
This option gives the spot colours to be printed after the CMYK
colours. Up to four spot colours may be given. colourspecs is a comma-
separated list of colour specification, each of the form n=col=inspec.
n is an integer between 1 and 4; the spot colours are printed in order.
col is the ribbon colour for this component: possible values (abbrevia‐
tions) are Black (k), Cyan (c), Magenta (m), Yellow (y), MetallicGold
(mg), MetallicMagenta (mm), MetallicCyan (mc), MetallicSilver (ms),
White (w), GoldFoil (gf), SilverFoil (sf), Primer (p), Finish (f),
Overcoat (oc). Note that the Foil ribbons also require the CMYK ribbons
to be installed, and that the Finish and Overcoat ribbons will normally
be used via other options. (The Primer ribbon is of course normally
used as an undercolour rather than a spot colour).
inspec specifies how the spot colour is given in the input file. The
following values are possible:
c,m,y,k means that the spot colour is given by the C,M,Y,K value of the
input. NOTE: for this calculation, the RGB input is converted to CMYK
with full black generation and undercolour removal, regardless of any
options affecting colour correction for the normal inks.
R-range:G-range:B-range specifies a range of RGB colours in the input
that give the spot colour. Each range is of the form m[-n] where m and
n are integers from 0 to 255 expressed in decimal. Hexadecimal values
may be given by prefixing them with 0x, but octal values are not recog‐
nized. The spot colour is printed if each of the RGB components lies
within the specified ranges.
notwhite or n means that the spot colour is printed if the input pixel
is not white (useful with the glossy finish ribbon).
always or a means that the spot colour is printed over the entire
image. (Useful for glossy finish or undercoats.)
See also the -spotfile for specifying the spot colours.
Note that no colour correction or halftoning is applied to spot
colours; they are either on or off. Note also that spot colours are
printed in addition to CMYK colours; if no CMYK colours are needed, use
the -colours none option.
For pixels where a solid spot colour such as the Metallics is printed,
the CMYK colours are not printed. For the Foil colours, an undercoat of
CMYK is printed.
NOTE: The driver will not handle more than seven colours (including
Glossy Finish if requested) in total. If you are using a 5000 series
printer, load the required seven cartridges into the printer. If you
are using a pre-5000 series printer, then if (a) you are using four or
fewer colours, then load those cartridges, or (b) if you are using more
than four colours, load the CMYK cartridges; then when the printer
flashes its error light, open the printer, remove the cartridges in the
holders and replace them with the remaining spot cartridges (I advise
leaving the empty holder free). If you need to handle more than seven
colours, you must use the -overlay option to print in several passes.
-spotfile file
This option specifies a file containing the input data for the spot
colours and under colours, instead of the main input file. This file
must have the same dimensions and format as the main input file.
-undercolours colourspecs
This option is the same as -spotcolours, except that the colours are
printed before the CMYK colours, and have no effect on what other
colours are printed. The main use is with white ink to undercoat on
dark paper. (Note that if an RGB inspec is used to specify an under‐
colour, the given colour is also printed as normal on top of the under‐
coat. This is probably not the intended effect! If you wish to do spe‐
cial effects with undercolours, you should use an overlay or spotfile.)
See also the -spotfile option.
-usemulticolourribbon
This option is available on the pre-5000 series printers, and instructs
the driver that the CMY multi-colour ribbon is to be used. This will
result in the CMYK colours being printed in two passes instead of four:
the first pass will be CMY, the second K.
-version
This option prints the version number and exits.
-xshift xoffset
This option shifts the image in the x-direction. xoffset may be given
in the usual units of measurement; if no unit is given, a unit of 1/600
inch is assumed (regardless of the resolution setting). See also
-autoshift. A positive offset shifts the image right.
-yshift yoffset
This option shifts the image in the y-direction. xoffset may be given
in the usual units of measurement; if no unit is given, a unit of 1/600
inch is assumed (regardless of the resolution setting). See also
-autoshift. A positive offset shifts the image down.
USAGE NOTES
To print a image from a PPM file with halftoning for photos, it suf‐
fices to do
ppmtomd-dither ht file >/dev/printer
assuming that the printer is on /dev/printer.
Suppose that text.ps is a PostScript file (possibly containing several
pages). To print it in black only on A4 paper, the following combina‐
tion of GhostScript and pptomd can be used:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pgmraw -r600
-sOutputFile='|ppmtomd -autoshift
-black >/dev/printer'
page.ps
To print at the highest resolution, do:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pgmraw -r1200x600
-sOutputFile='|ppmtomd -autoshift -resolution 1200
-inresolution 1200
-black >/dev/printer'
page.ps
Note that using the pbmraw format for GhostScript is not recommended.
Many versions of GhostScript have bugs in this format, and there is no
efficiency saving, since ppmtomd will convert its input to PPM.
To print a photograph in an image file photo.ppm, load the dye sublima‐
tion inks and paper and do
ppmtomd-media DyeSubPaper photo.ppm >/dev/printer
To print a photo in the (currently unsatisfactory) variable dots mode
on VPhoto film, with glossy finish, do
ppmtomd-media VPhotoFilm -glossy -dither ht photo.ppm >/dev/printer
ACKNOWLEDGMENTS
The writing of this driver is greatly assisted by the manufacturers.
Citizen originally supplied me with the command language spec for the
Printiva printers; Alps supplied me with the spec for their models; and
Oki Systems (UK) supplied me with a DP-5000 printer for testing.
TECHNICAL NOTES
This section is not yet written.
J.C.BradfieldppmtomdPPMTOMD(1)