#compdef -P (tiff*|*2tiff|pal2rgb) local pat expl ret=1 if [[ "$service" = *2tiff ]]; then pat="*.(#i)${service}(-.)" else pat='*.(#i)tiff(-.)' fi if [[ $# -ne 0 || $+_in_tiff -ne 0 ]]; then if (( ! $# )); then _description files expl 'picture file' set -- "$expl[@]" fi _wanted files expl 'picture file' _path_files "$@" -g "$pat" - || _files "$@" "$expl[@]" -g '*.(#i)tiff(-.)' return fi local _in_tiff=yes local curcontext="$curcontext" state line ret=1 typeset -A opt_args case "$service" in tiff2bw) _arguments -C \ '-c[specify compression scheme]:compression scheme:->compress' \ '-r[specify rows per strip]:rows per strip' \ '-R[specify percentage of red channel]:percentage of red channel' \ '-G[specify percentage of green channel]:percentage of green channel' \ '-B[specify percentage of blue channel]:percentage of blue channel' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiff2ps) _arguments \ '-1[generate PostScript Level I output]' \ '-2[generate PostScript Level II output]' \ '-a[generate output for all IFDs]' \ '-d[set initial TIFF directory]:initial TIFF directory' \ '(-p)-e[generate Encapsulated PostScript]' \ '-o[set initial TIFF directory (file offset)]:file offset' \ '(-e)-p[generate non-Encapsulated PostScript]' \ '-h[set page height]:page height' \ '-w[set page width]:page width' \ '-8[disable use of ASCII85 encoding]' \ '-D[print two pages per sheet]' \ '-O[specify output file]:output file:_files -g "*.(#i)ps(-.)"' \ '-s[generate output for a single image]' \ '-T[print pages for top edge binding]' \ '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffcmp) _arguments \ '-l[list all differing bytes]' \ '-t[ignore differences in directories]' \ ':first input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' \ ':second input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffcp) _arguments -C \ '-B[write output in bin-endian byte order]' \ '-c[specify compression scheme]:compression scheme:->compress' \ '-o[set initial TIFF directory (file offset)]:file offset' \ '-p[set sample packing]:sample packing:(contig separate)' \ '(-t)-s[write output in strips]' \ '(-s)-t[write output in tiles]' \ '-i[ignore read errors]' \ '-r[specify rows per strip]:rows per strip' \ '-w[specify output tile width]:output tile width' \ '-l[specify output tile length]:output tile length' \ '-f[specify fill order]:fill order:(lsb2msb msb2lsb)' \ '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffdither) _arguments -C \ '-c[specify compression scheme]:compression scheme:->compress' \ '-f[specify fill order]:fill order:(lsb2msb msb2lsb)' \ '-r[specify rows per strip]:rows per strip' \ '-t[set threshold for dithering]:dither threshold value' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffdump) _arguments \ '-o[set initial TIFF directory (file offset)]:file offset:' \ '-h[print numbers in hexadecimal]' \ '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffinfo) _arguments \ '-c[display colormap and color/gray response curves]' \ '-D[read and decompress data]' \ '-d[print decompressed data]' \ '-j[display JPEG-related tags]' \ '-o[set initial TIFF directory (file offset)]:file offset' \ '-s[display offsets and byte counts for all data strips]' \ '-i[ignore read errors]' \ '-f[force fill order]:fill order:(lsb2msb msb2lsb)' \ '-w[display raw data in words]' \ '*:input TIFF file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffmedian) _arguments -C \ '-r[specify rows per strip]:rows per strip' \ '-C[specify number of colormap entries]:number of colormap entries' \ '-c[specify compression scheme]:compression scheme:->compress' \ '-f[use Floyd-Steinberg dithering]' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; tiffsplit) _arguments \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file prefix' && ret=0 ;; fax2tiff) _arguments \ '(-1 -4)-2[input is Group 3, 2d encoded]' \ '(-2 -4)-1[input is Group 3, 1d encoded]' \ '(-1 -2)-4[input is Group 4 encoded]' \ '(-W)-B[0 in input is black]' \ '(-B)-W[0 in input is white]' \ '(-M)-L[input is lsb-to-msb]' \ '(-L)-M[input is msb-to-lsb]' \ '-R[specify resolution]:resolution (lines per inch)' \ '-o[specify output file]:output file:_files -g "*.(#i)tif(|f)(-.)"' \ '(-f)-c[generate `classic'"'"' TIFF format]' \ '(-c)-f[generate TIFF Class F format]' \ '-m[output in msb-to-lsb order]' \ "-p[don't align EOL codes]" \ '-s[duplicate all rows]' \ '-v[verbose mode]' \ ':FAX input file:_files -g "*.(#i)(g[34]|fax)(-.)"' && ret=0 ;; gif2tiff) _arguments -C \ '-r[specify rows per strip]:rows per strip' \ '-c[specify compression scheme]:compression scheme:->compress' \ ':input GIF file:_files -g "*.(#i)gif(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; ppm2tiff) _arguments -C \ '-r[specify rows per strip]:rows per strip' \ '-c[specify compression scheme]:compression scheme:->compress' \ '-R[specify resolution]:resolution:' \ ':input GIF file:_files -g "*.(#i)ppm(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; ras2tiff) _arguments -C \ '-r[specify rows per strip]:rows per strip' \ '-c[specify compression scheme]:compression scheme:->compress' \ ':input raster image file:_files -g "*.(#i)ras(|t)(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; pal2rgb) _arguments -C \ '-C[specify number of bits for colormap entries]:bits for colormap entries:(8 16)' \ '-p[set sample packing]:sample packing:(contig separate)' \ '-c[specify compression scheme]:compression scheme:->compress' \ '-r[specify rows per strip]:rows per strip' \ ':input file:_files -g "*.(#i)tif(|f)(-.)"' \ ':output file:_files -g "*.(#i)tif(|f)(-.)"' && ret=0 ;; *) _description files expl 'picture file' _files "$expl[@]" -g "$pat" && ret=0 esac if [[ -n "$state" ]]; then if [[ "$PREFIX" = *:* ]]; then local scheme="${PREFIX%%:*}" compset -P 1 '*:' case "$scheme" in g3) _values -s : 'FAX Group 3 options' \ '(2d)1d[use 1D-encoding]' \ '(1d)2d[use 2D-encoding]' \ 'fill[byte-align EOL codes]' && ret=0 ;; jpeg) _message -e values "compression quality (0-100), or \`r' (output RGB)" ret=0 ;; lzw|zip) _values 'LZW and deflate options' \ '1[without differencing]' \ '2[with differencing]' && ret=0 ;; esac else _tags values while _tags; do while _next_label values expl 'compression scheme'; do compadd "$expl[@]" - none g4 packbits && ret=0 compadd "$expl[@]" -qS: - lzw zip jpeg g3 && ret=0 done (( ret )) || return 0 done fi fi return ret