From 31bfd08fae26e23c8650dad2a423ec1ab6805fd1 Mon Sep 17 00:00:00 2001 From: Anton Thomasson Date: Sat, 17 Dec 2022 17:13:15 +0100 Subject: [PATCH] Add format flowchart --- README.md | 2 + doc/pipeline.goat | 27 +++ doc/pipeline.svg | 443 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 472 insertions(+) create mode 100644 doc/pipeline.goat create mode 100644 doc/pipeline.svg diff --git a/README.md b/README.md index 890f37e..2d211ed 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ For printing JPEG images, transferring them as JPEG has highest priority. JPEGs are then (losslessly) re-encoded to the baseline encoding profile to work with all printers (since SeaPrint 1.1). For other image formats JPEG has lowest priority as transfer format since it is lossy. +![Format flowchart](doc/pipeline.svg) + Printers with any of these IPP certifications and derivative standards should likely be supported: * IPP Everywhere diff --git a/doc/pipeline.goat b/doc/pipeline.goat new file mode 100644 index 0000000..a35d441 --- /dev/null +++ b/doc/pipeline.goat @@ -0,0 +1,27 @@ + If conversion is required: + .---------------. + PDF -------------------------------->| | + .------------------. | +----------------> Postscript + Plaintext ---->| QTextDocument +----->| pdf2printable | + | + QPdfWriter | | +----------------> PDF + '------------------' | | + DOC/PPT .-------------------. | | + ODT/ODP ---->| Calligraconverter +---->| '---------. + | (optional) | '---------------. +----> PWG-Raster + '-------------------' .--------. | ppm2pwg | + Images -------------------------------->| +----->| +----> URF-Raster + | QImage | '---------' + .--------------. | | + SVG ---->| QSvgRenderer +--------->| +-----------------------> PNG, JPEG, + '--------------' '--------' Reverse BMP + + If target format is the same: + + Postscript --------------------------------------------------------------------> Postscript + .-----------------------. + Plaintext ---->+ ensure CR+LF newlines +------------------------------------> Plaintext + '-----------------------' + PNG --------------------------------------------------------------------> PNG + .------------. + JPEG ---->+ baselinify +-----------------------------------------------> JPEG + '------------' (Baseline profile) diff --git a/doc/pipeline.svg b/doc/pipeline.svg new file mode 100644 index 0000000..19b7665 --- /dev/null +++ b/doc/pipeline.svg @@ -0,0 +1,443 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +I +f +c +o +n +v +e +r +s +i +o +n +i +s +r +e +q +u +i +r +e +d +: +P +D +F +P +o +s +t +s +c +r +i +p +t +P +l +a +i +n +t +e +x +t +Q +T +e +x +t +D +o +c +u +m +e +n +t +p +d +f +2 +p +r +i +n +t +a +b +l +e ++ +Q +P +d +f +W +r +i +t +e +r +P +D +F +D +O +C +/ +P +P +T +O +D +T +/ +O +D +P +C +a +l +l +i +g +r +a +c +o +n +v +e +r +t +e +r +( +o +p +t +i +o +n +a +l +) +P +W +G +- +R +a +s +t +e +r +p +p +m +2 +p +w +g +I +m +a +g +e +s +U +R +F +- +R +a +s +t +e +r +Q +I +m +a +g +e +S +V +G +Q +S +v +g +R +e +n +d +e +r +e +r +P +N +G +, +J +P +E +G +, +R +e +v +e +r +s +e +B +M +P +I +f +t +a +r +g +e +t +f +o +r +m +a +t +i +s +t +h +e +s +a +m +e +: +P +o +s +t +s +c +r +i +p +t +P +o +s +t +s +c +r +i +p +t +P +l +a +i +n +t +e +x +t +e +n +s +u +r +e +C +R ++ +L +F +n +e +w +l +i +n +e +s +P +l +a +i +n +t +e +x +t +P +N +G +P +N +G +J +P +E +G +b +a +s +e +l +i +n +i +f +y +J +P +E +G +( +B +a +s +e +l +i +n +e +p +r +o +f +i +l +e +) + +