Portál AbcLinuxu, 3. května 2025 08:44
Byl jsem postaven před problém jak odčeštit text přicházející do tiskové fronty CUPS. Nejrychlejší my přišlo napsat si wrapper pro textový filtr "/usr/lib/cups/filter/texttops".
Protože nemá smysl psát vše znovu, vlastně jen provedu své úpravy vstupu a předám vstup filtru "texttops" z balíku CUPS. Wrapper je univerzální, stačí nahradit akce mezi "######## Modify #########".
soubor "/usr/lib/cups/filter/texttoasciips"#!/bin/bash # Defaults TTAP_DEBUG=false [ -f /etc/cups/texttoasciips.conf ] && . /etc/cups/texttoasciips.conf DBG_FILE=/tmp/texttoasciips.dbg $TTAP_DEBUG && echo ======================================= >> ${DBG_FILE} $TTAP_DEBUG && echo ======================================= >> ${DBG_FILE} $TTAP_DEBUG && date >> ${DBG_FILE} $TTAP_DEBUG && echo "Params($#): $@" >> ${DBG_FILE} $TTAP_DEBUG && echo ======================================= >> ${DBG_FILE} $TTAP_DEBUG && set >> ${DBG_FILE} $TTAP_DEBUG && echo ======================================= >> ${DBG_FILE} $TTAP_DEBUG && echo /usr/lib/cups/filter/texttops "${1}" \ "${2}" "${3}" "${4}" "${5}" "${6}" >> ${DBG_FILE} $TTAP_DEBUG && echo ======================================= >> ${DBG_FILE} ######## Modify ######### # change the print job directly iconv -f "${CHARSET}" -t "ASCII//TRANSLIT" "${6}" ######## Modify ######### if ( $TTAP_DEBUG ) ; then /usr/lib/cups/filter/texttops "${1}" "${2}" "${3}" "${4}" \ "${5}" "${6}" 2>> ${DBG_FILE} else /usr/lib/cups/filter/texttops "${1}" "${2}" "${3}" "${4}" \ "${5}" "${6}" fisoubor "/etc/cups/texttoasciips.conf"
## comment for not to have debug output #TTAP_DEBUG=trueA toto je příslušná úprava souboru "/etc/cups/mime.convs"
--- mime.convs.orig 2008-04-28 10:14:26.000000000 +0200 +++ mime.convs 2008-04-28 10:15:05.000000000 +0200 @@ -44,8 +44,10 @@ application/x-csource application/postscript 33 texttops application/x-perl application/postscript 33 texttops application/x-shell application/postscript 33 texttops -text/plain application/postscript 33 texttops -text/html application/postscript 33 texttops +#text/plain application/postscript 33 texttops +#text/html application/postscript 33 texttops +text/plain application/postscript 33 texttoasciips +text/html application/postscript 33 texttoasciips image/gif application/vnd.cups-postscript 66 imagetops image/png application/vnd.cups-postscript 66 imagetops image/jpeg application/vnd.cups-postscript 66 imagetopsPozn.: Až po napsání jsem narazil na toto Using_Your_Own_Filters_to_Print_with_CUPS Pozn2.: přidáno //TRANSLIT do iconv a odstraněn komentář podle doporučení p. Watzkeho ...
Tiskni
Sdílej:
# iconv likes uppercharsiconv doesn't care
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.