diff --git a/share/mk/doc.docbook.mk b/share/mk/doc.docbook.mk index 6c06d71a9b..4a73e00557 100644 --- a/share/mk/doc.docbook.mk +++ b/share/mk/doc.docbook.mk @@ -93,6 +93,10 @@ # RLE Use Run-Length Encoding for EPS files, this will # result in signficiantly smaller PostScript files, # but may take longer for a printer to process. +# +# GREYSCALE_IMAGES Convert the screenshots to greyscale before +# embedding them into the PostScript output. +# # # Documents should use the += format to access these. diff --git a/share/mk/doc.images.mk b/share/mk/doc.images.mk index c08e2dc510..add98eaffa 100644 --- a/share/mk/doc.images.mk +++ b/share/mk/doc.images.mk @@ -138,6 +138,8 @@ EPS2PNG?= ${PREFIX}/bin/peps EPS2PNGOPTS?= -p -r ${EPS2PNG_RES} ${EPS2PNGFLAGS} PNGTOPNM?= ${PREFIX}/bin/pngtopnm PNGTOPNMOPTS?= ${PNGTOPNMFLAGS} +PPMTOPGM?= ${PREFIX}/bin/ppmtopgm +PPMTOPGMOPTS?= ${PPMTOPGMFLAGS} PNMTOPS?= ${PREFIX}/bin/pnmtops PNMTOPSOPTS?= -noturn ${PNMTOPSFLAGS} EPSTOPDF?= ${PREFIX}/bin/epstopdf @@ -155,10 +157,19 @@ REALPATH?= /bin/realpath .scr.png: ${SCR2PNG} ${SCR2PNGOPTS} < ${.IMPSRC} > ${.TARGET} +## If we want grayscale, convert with ppmtopgm before running through pnmtops +.if defined(GREYSCALE_IMAGES) +.scr.eps: + ${SCR2PNG} ${SCR2PNGOPTS} < ${.ALLSRC} | \ + ${PNGTOPNM} ${PNGTOPNMOPTS} | \ + ${PPMTOPGM} ${PPMTOPGMOPTS} | \ + ${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET} +.else .scr.eps: ${SCR2PNG} ${SCR2PNGOPTS} < ${.ALLSRC} | \ ${PNGTOPNM} ${PNGTOPNMOPTS} | \ ${PNMTOPS} ${PNMTOPSOPTS} > ${.TARGET} +.endif # The .txt files need to have any trailing spaces trimmed from # each line, which is why the output from ${SCR2TXT} is run