PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/zsh/5.5.1/functions/
Upload File :
Current File : //usr/share/zsh/5.5.1/functions/_pbm
#compdef -P (p[bgpn]m*|*top[bgpn]m)

# Completion for all (or most, you'll never know) pbmplus commands.
# For some of them there are special cases in the biggish `case' below.
# Note that since this function is a post-pattern function, these
# defaults can be overridden by simply defining completion functions
# for those commands whose arguments you want to complete differently.

local pat expl ret=1

if [[ "$service" = pnm* ]]; then
  pat='*.(#i)p[bgp]m(-.)'
elif [[ "$service" = *top[bgpn]m ]]; then
  pat="*.(#i)${service%%top[bgpn]m}(-.)"
else
  pat="*.(#i)${service[1,3]}(-.)"
fi

if (( $# + $+_in_pbm )); then
  _wanted files expl 'picture file' _path_files "$@" -g "$pat" - ||
      _files "$@" "$expl[@]" -g '*.(#i)p[bgp]m(-.)'
  return
fi

local _in_pbm=yes

case "$service" in
asciitop[gn]m)
  _arguments \
    '-d[specify divisor]:divisor' \
    ':height' ':width' ':file:_pbm'
  ;;

fitstopgm)
  _arguments \
    '-image[specify image number]:image number' \
    ':file:_pbm'
  ;;

fitstopnm)
  _arguments \
    '-image[specify image number]:image number' \
    '-noraw[produce ASCII pnm file]' \
    '(-min -max)-scanmax[force scanning data for minimum and maximum]' \
    '-printmax[only print minimum and maximum values]' \
    '(-scanmax)-min[override minimum value]:minimum value' \
    '(-scanmax)-max[override maximum value]:maximum value' \
    ':file:_pbm'
  ;;

g3topbm)
  _arguments \
    '-kludge[ignore first few lines]' \
    '-reversebits[interpret bits least-significant first]' \
    '-stretch[duplicate each row]' \
    ':file:_pbm'
  ;;

giftopnm)
  _arguments \
    '-alphaout=[output alpha channel]:file:_pbm' \
    '-verbose[verbose mode]' \
    '-comments[only print comment fields]' \
    '-image[specify image number]:image number' \
    ':file:_pbm'
  ;;

jpegtopnm)
  _arguments \
    '-dct:dct method:(int fast float)' \
    -{nosmooth,adobe,notadobe,dumpexif,comments,verbose} \
    '-maxmemory:memory use limit (kB)' \
    '-exif=:file:_files' \
    '-tracelevel:trace level' \
    ':file:_pbm'
  ;;

macptopbm)
  _arguments '-extraskip:number of bytes to skip' ':file:_pbm'
  ;;

pbmclean)
  if [[ "$PREFIX" = -* ]]; then
    _message -e neighbours 'maximum number of identical neighbours'
  else
    _pbm
  fi
  ;;

pbmmake)
  _arguments \
    '(-black -gray)-white[produce white pbm file]' \
    '(-white -gray)-black[produce black pbm file]' \
    '(-white -black)-gray[produce gray pbm file (stippled)]' \
    ':width' ':height'
  ;;

pbmmask)
  _arguments '-expand[expand mask by one pixel]' ':file:_pbm'
  ;;

pbmpscale)
  _arguments ':scale factor' ':file:_pbm'
  ;;

pbmreduce)
  _arguments \
    '(-fs -threshold)-floyd[use Floyd-Steinberg error diffusion]' \
    '(-floyd -threshold)-fs[use Floyd-Steinberg error diffusion]' \
    '(-floy -fs)-threshold[use simple thresholding]' \
    '-value[specify thresholding value]:threshold value' \
    ':reduction factor' ':file:_pbm'
  ;;

pbmtext)
  _arguments \
    '(-builtin)-font[specify font file]:font file:_files -g "*.(#i)pbm(-.)"' \
    '(-font)-builtin[select builtin font]:builtin font:(bdf fixed)' \
    '-space[add space between characters]:space (pixels)' \
    '*:text'
  ;;

pbmto10x)
  _arguments '-h[use resolution 120 x 144]' ':file:_pbm'
  ;;

pbmtobg|pbmtobbnbg)
  _arguments ':raster operation' ':x position' ':y position'
  ;;

pbmtoepsi)
  _arguments '-bbonly[only create boundary box]' ':file:_pbm'
  ;;

pbmtolj)
  _arguments \
    '-resolution[specify output device resolution]:resolution:(75 100 150 300 600)' \
    '-float[suppress positioning information]' \
    "-norest[don't write reset sequences]" \
    '(-delta -compress)-packbits[enable use of TIFF packbits compression]' \
    '(-packbits -compress)-delta[enable use of delta-between-rows compression]' \
    '(-packbits -delta)-compress[enable both compression schemes]' \
    ':file:_pbm'
  ;;

pbmtoln03)
  _arguments \
    '-l[specify left margin]:left margin' \
    '-r[specify right margin]:right margin' \
    '-t[specify top margin]:top margin' \
    '-b[specify bottom margin]:bottom margin' \
    '-f[specify form length]:form length' ':file:_pbm'
  ;;

pbmtolps)
  _arguments '-dpi[specify output resolution]:resolution' ':file:_pbm'
  ;;

pbmtomacp)
  _arguments \
    '-l[specify left offset]:left offset' \
    '-r[specify right offset]:right offset' \
    '-t[specify top offset]:top offset' \
    '-b[specify bottom offset]:bottom offset' \
    ':file:_pbm'
  ;;

pbmtopgm)
  _arguments ':width' ':height' ':file:_pbm'
  ;;

pbmtopk)
  _arguments \
    '-s[set design size]:design size' \
    '-C[set coding scheme]:coding scheme' \
    '-F[set font family comment]:font family' \
    '-f[specify file with options]:option file:_files' \
    '*-c[specify next character number]:character number' \
    '*-W[specify TFM width of next character]:width' \
    '*-H[specify TFM height of next character]:height' \
    '*-D[specify TFM depth of next character]:depth' \
    '*-I[specify italic correction of next character]:italic correction' \
    '*-h[specify horizontal escapement of next character]:horizontal escapement' \
    '*-v[specify vertical escapement of next character]:vertical escapement' \
    '*-x[specify x offset of next character]:x offset' \
    '*-y[specify y offset of next character]:y offset' \
    ':pk file:_files -g "*.(#i)pk(-.)"' \
    ':tfm file:_files -g "*.(#i)tfm(-.)"' \
    '*:file:_pbm'
  ;;

pbmupc)
  _arguments -s{1,2} ':product type' ':manufacturer code' ':product code'
  ;;

pgmcrater)
  _arguments \
    '-number[specify number of craters]:number of craters' \
    '-gamma[specify gamma correction factor]:gamma factor' \
    '(-ysize)-height[specify picture height]:height' \
    '(-height)-ysize[specify picture height]:height' \
    '(-xsize)-width[specify picture width]:width' \
    '(-width)-xsize[specify picture width]:width'
  ;;

pgmkernel)
  _arguments '-weight:weight' ':width' ':height'
  ;;

pgmnoise)
  _arguments ':width' ':height'
  ;;

pgmnorm|ppmnorm)
  _arguments \
    '(-bvalue)-bpercent[specify percentage to map to black]:black percentage' \
    '(-bpercent)-bvalue[specify pixel value to map to black]:black pixel value' \
    '(-wvalue)-wpercent[specify percentage to map to white]:white percentage' \
    '(-wpercent)-wvalue[specify pixel value to map to white]:white pixel value' \
    ':file:_pbm'
  ;;

pgmoil)
  _arguments '-n[specify smear size]:smear size' ':file:_pbm'
  ;;

pgmramp)
  _arguments \
    '(-tb -rectangle -ellipse)-lr[produce left to right ramp]' \
    '(-lr -rectangle -ellipse)-tb[produce top to bottom ramp]' \
    '(-lr -tb -ellipse)-rectangle[produce rectangular ramp]' \
    '(-lr -tb -rectangle)-ellipse[produce elliptical ramp]' \
    ':width' ':height'
  ;;

pgmtexture)
  _arguments '-d[specify distance]:distance' ':file:_pbm'
  ;;

pgmtopbm)
  _arguments \
    '(-fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-floyd[use FLoyd-Steinberg error diffusion]' \
    '(-floyd -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-fs[use FLoyd-Steinberg error diffusion]' \
    '(-floyd -fs -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -clump)-threshold[use simple thresholding]' \
    '(-floyd -fs -threshold -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value)-hilbert[use space filling curve halftoning (hilbert curve)]' \
    '(-floyd -fs -threshold -hilbert -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-dither8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \
    '(-floyd -fs -threshold -hilbert -dither8 -cluster3 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-d8[use Bayer'"'"'s ordered dither (16 x 16 matrix)]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -c3 -cluster4 -c4 -cluster8 -c8 -value -clump)-cluster3[use 45 degree clustered dither]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -cluster4 -c4 -cluster8 -c8 -value -clump)-c3[use 45 degree clustered dither]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -c4 -cluster8 -c8 -value -clump)-cluster4[use 45 degree clustered dither]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -cluster8 -c8 -value -clump)-c4[use 45 degree clustered dither]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -c8 -value -clump)-cluster8[use 45 degree clustered dither]' \
    '(-floyd -fs -threshold -hilbert -dither8 -d8 -cluster3 -c3 -cluster4 -c4 -cluster8 -value -clump)-c8[use 45 degree clustered dither]' \
    '-value[specify thresholding value]:threshold value' \
    '-clump[specify number of pixels per clump]:number of pixel' \
    ':file:_pbm'
  ;;

pgmtoppm)
  if [[ CURRENT -eq 2 ]]; then
    if compset -P '?*-'; then
      _x_color
      return
    fi
    _x_color && ret=0

    _wanted options expl option compadd - -map && ret=0

    return ret
  elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then
    _description files expl 'map file'
    _files "$expl[@]" -g '*.(#i)ppm(-.)'
  else
    _pbm
  fi
  ;;

pktopbm)
  _arguments \
    '*-x[set width of next bitmap]:width' \
    '*-y[set height of next bitmap]:height' \
    '*-c[set next character number]:character number' \
    ':pk file:_files -g "*.(#i)pk(-.)"' \
    '*:file:_pbm'
  ;;

pngtopnm)
  _arguments \
    -{verbose,alpha,mix,time} \
    '-background:color:_x_color' \
    '-gamma:value' '-text:file:_files' \
    ':file:_pbm'
  ;;

pnmalias)
  _arguments \
    '-bgcolor[specify background color]:background color:_x_color' \
    '-fgcolor[specify background color]:foreground color:_x_color' \
    '(-bonly)-fonly[apply antialias only to foreground pixels]' \
    '(-fonly)-bonly[apply antialias only to background pixels]' \
    '(-balias)-falias[apply antialias to all pixels around foreground pixels]' \
    '(-falias)-balias[apply antialias to all pixels around foreground pixels]' \
    '-weight[set central aliasing weight]:central aliasing weight' \
    ':file:_pbm'
  ;;

pnmarith)
  _arguments \
    '(-)'-{add,subtract,multiply,difference,minimum,maximum} \
    '*:file:_pbm'
  ;;

pnmcat)
  _arguments \
    '(-black)-white[]' \
    '(-white)-black[]' \
    '(-lr -topbottom -tb -jleft -jright)-leftright[place pictures left to right]' \
    '(-leftright -topbottom -tb -jleft -jright)-lr[place pictures left to right]' \
    '(-tb -leftright -lr -jtop -jbottom)-topbottom[place pictures top to bottom]' \
    '(-topbottom -leftright -lr -jtop -jbottom)-tb[place pictures top to bottom]' \
    '(-topbottom -tb -jbottom -jleft -jright)-jtop[align pictures at top]' \
    '(-topbottom -tb -jtop -jleft -jright)-jbottom[align pictures at bottom]' \
    '(-leftright -lr -jright -jtop -jbottom)-jleft[align pictures at left side]' \
    '(-leftright -lr -jleft -jtop -jbottom)-jright[align pictures at right side]' \
    '*:file:_pbm'
  ;;

pnmcomp)
  _arguments \
    '-invert[invert overlay pixel values]' \
    '(-align)-xoff[specify overlay x offset]:x offset' \
    '(-valign)-yoff[specify overlay y offset]:y offset' \
    '(-xoff)-align=[specify horizontal alignment for overlay image]:alignment:(left center right)' \
    '(-yoff)-valign=[specify vertical alignment for overlay image]:alignment:(top middle bottom)' \
    '-alpha[specify alpha mask file]:alpha mask file:_files -g "*.(#i)pgm(-.)"' \
    ':overlay file:_pbm' '*:file:_pbm'
  ;;

pnmconvol)
  _arguments ':convolution file:_pbm' ':file:_pbm'
  ;;

pnmcrop)
  _arguments \
    '(-black)-white' \
    '(-white)-black' \
    -sides \
    -{left,right,top,bottom} \
    -verbose \
    ':file:_pbm'
  ;;

pnmcut)
  _arguments \
    '-left:left col' '-right:right col' '-top:top col' '-bottom:bottom col' \
    '-width:width' '-height:height' -pad -verbose \
    ':x position' ':y position' ':width' ':height' ':file:_pbm'
  ;;

pnmdepth)
  _arguments ':new maximum value' ':file:_pbm'
  ;;

pnmenlarge)
  _arguments ':enlargement factor' ':file:_pbm'
  ;;

pnmflip)
  _arguments \
    \*-{leftright,lr,topbottom,tb,transpose,xy,rotate90,r90,ccw,rotate270,r270,cw,rotate180,r180} \
    ':file:_pbm'
  ;;

pnmgamma)
  _arguments \
    -ungamma -cieramp \
    '1:gamma value or red gamma value' \
    '2: :{ _message -e gamma-values "green gamma value";_pbm }' \
    '3:blue gamma value' \
    '4:file:_pbm'
  ;;

pnmhisteq)
  _arguments \
    '-verbose[verbose mode]' \
    '-gray[modify only gray pixels]' \
    '-rmap[specify input luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \
    '-wmap[specify output luminosity map file]:luminosity map file:_files -g "*.(#i)pgm(-.)"' \
    ':file:_pbm'
  ;;
pnmhistmap)
  _arguments -{black,white,verbose} '-max:maximum value' ':file:_pbm'
  ;;

pnmindex)
  _arguments \
    '-size[set size of index pictures]:image size' \
    '-across[specify number of pictures per ros]:images per row' \
    '-colors[specify maximum number of colors]:number of colors' \
    '-black[use black padding]' \
    '-title[specify a title to place at the top of the image]:title' \
    '(-noquant)-quant[enable quantization]' \
    '(-quant)-noquant[disable quantization]' \
    '*:file:_pbm'
  ;;

pnmmargin)
  _arguments \
    '(-black -colors)-white' \
    '(-white -colors)-black' \
    '(-white -black)-color:color:_x_color' \
    ':border width' \
    ':file:_pbm'
  ;;

pnmnlfilt)
  _arguments ':alpha value' ':radius' ':file:_pbm'
  ;;

pnmpad)
  _arguments \
    '(-white)-black[add black border]' \
    '(-black)-white[add white border]' \
    '-l-[specify left border width]:left border width' \
    '-r-[specify right border width]:right border width' \
    '-t-[specify top border width]:top border width' \
    '-b-[specify bottom border width]: :_guard "[0-9]#" "bottom border width"' \
    ':file:_pbm'
  ;;

pnmpaste)
  _arguments \
    '(-)'{-replace,-or,-and,-xor} \
    ':"from" picture file:_pbm' \
    :{x,y}' position' \
    ':"into" picture file:_pbm'
  ;;

pnmrotate)
  _arguments '-noantialias' ':rotation angle' ':file:_pbm'
  ;;

pnmscale)
  local -a scale

  [[ "$words[2]" = -* ]] || scale=( ':scale factor' )

  _arguments \
    '(-)-reduce:reduction factor' \
    '(-reduce -xysize -pixels -width -xscale)-xsize:width' \
    '(-reduce -xysize -pixels -xsize -xscale)-width:width' \
    '(-reduce -xysize -pixels -height -yscale)-ysize:height' \
    '(-reduce -xysize -pixels -ysize -yscale)-height:height' \
    '(-reduce -xysize -pixels -width -xsize)-xscale:horizontal scale factor' \
    '(-reduce -xysize -pixels -height -ysize)-yscale:vertical scale factor' \
    '(-width -xsize -height -ysize -xscale -yscale -pixels)-xysize:width::height' \
    '(-width -xsize -height -ysize -xscale -yscale -xysize)-pixels:total number of pixels' \
    '-verbose' "$scale[@]" \
    ':file:_pbm'
  ;;

pnmshear)
  _arguments '-noantialias' ':shearing angle' ':file:_pbm'
  ;;

pnmtile)
  _arguments ':width' ':height' ':file:_pbm'
  ;;

pnmtoddif)
  _arguments \
    '-resolution:horizontal resolution::vertical resolution' \
    ':file:_pbm' ':ddif file:_files -g "*.(#i)ddif(-.)"'
  ;;

pnmtofits)
  _arguments '-max:maximum value' '-min:minimum value' ':file:_pbm'
  ;;

pnmtojpeg)
  _arguments \
    '--exif=:file:_files' \
    '--quality=:quality' \
    --{grayscale,greyscale,optimize,progressive,verbose,baseline} \
    '--comment=:comment' \
    '--dct=:dct method:(int fast float)' \
    '--restart=:rows' \
    '--smooth=:strength' \
    '--maxmemory=:memory use limit (kB)' \
    '--qtables=:file:_files' \
    '--qslots=:table' \
    '--sample=:sampling factor' \
    '--scans:file:_files' \
    ':file:_pbm'
  ;;

pnmtopng)
  _arguments \
    -{verbose,downscale,interlace,hist,force} \
    '-alpha:file:_files' '-gamma:value' \
    '-transparent::color:_x_color' '-background:color:_x_color' \
    '-chroma:wx::wy::rx::ry::gx::gy::bx::by' \
    '-phys:x::y::unit' \
    '-text:file:_files' '-ztxt:file:_files' \
    '-time:date ([yy]yy-mm-dd)::time (hh:mm:ss)' \
    '-filter:type:((0\:none 1\:sub 2\:up 3\:avg 4\:paeth))' \
    '-compression:level:(0 1 2 3 4 5 6 7 8 9)' \
    ':file:_pbm'
  ;;

pnmtops)
  _arguments \
    '(-noturn)-turn' '(-turn)-noturn' \
    '(-nocenter)-center '(-center)-nocenter \
    '(-rle)-runlength' '(-runlength)-rle' \
    '(-imagewidth -imageheight)-scale:scale factor' \
    '-dpi:output resolution' \
    '(-scale -equalpixels)-imagewidth:width on page (inches)' \
    '(-scale -equalpixels)-imageheight:height on page (inches)' \
    '-width:page width' '-height:page height' \
    '(-imagewidth -imageheight)-equalpixels' \
    ':file:_pbm'
  ;;

pnmtorast)
  _arguments '(-rle)-standard' '(-standard)-rle' ':file:_pbm'
  ;;

pnmtosgi)
  _arguments \
    '(-rle)-verbatim' '(-verbatim)-rle' \
    '-imagename:image name' \
    ':file:_pbm'
  ;;

pnmtotiff)
  _arguments \
    '(-packbits -lzw -g3 -g4 -2d -fill -predictor)-none' \
    '(-none -lzw -g3 -g4 -2d -fill -predictor)-packbits' \
    '(-none -packbits -g3 -g4 -2d -fill -predictor)-lzw' \
    '(-none -packbits -lzw -g4 -predictor)-g3' \
    '(-none -packbits -lzw -g3 -2d -fill -predictor)-g4' \
    '-2d' \
    '-fill' '-minisblack' \
    '(-lsb2msb)-msb2lsb' \
    '(-msb2lsb)-lsb2msb' \
    '-predictor:LZW predictor:((1\:without\ differencing 2\:with\ differencing))' \
    '-rowsperstrip:number of rows per strip' ':file:_pbm'
  ;;

pnmtoxwd)
  _arguments \
    '-pseudodepth:depth of PseudoColor dumps' '-directcolor' \
    ':file:_pbm'
  ;;

ppm3d)
  _arguments :{left,right}' picture file:_pbm' ':horizontal offset'
  ;;

ppmbrighten)
  _arguments \
    '-n[normalize value]' \
    '-s[specify saturation difference]:saturation difference' \
    '-v[specify value difference]:value difference' \
    ':file:_pbm'
  ;;

ppmchange)
  local curcontext="$curcontext" state line

  _arguments -C \
    "-closeness[specify how close a pixel's color should be]:closeness (percent)" \
    '-remainder[specify replacement for colours not given explicit replacement]:color:_x_color' \
    '*: :->args' && ret=0

  if [[ -n "$state" ]]; then
    if (( CURRENT & 1 )); then
      _wanted colors expl 'new color' _x_color && ret=0
    else
      _alternative \
	'files:file:_pbm' \
	'colors:old color:_x_color' && ret=0
    fi
  fi

  return ret
  ;;

ppmdim)
  _arguments ':diminishing factor' ':file:_pbm'
  ;;

ppmdist)
  _arguments \
    '(-frequency)-intensity[sort colors by grayscale intensity]' \
    '(-intensity)-frequency[sort colors by frequency]' \
    ':file:_pbm'
  ;;

ppmdither)
  _arguments \
    '-dim:matrix size' \
    '-red:number of red shades' \
    '-green:number of green shades' \
    '-blue:number of blue shades' \
    ':file:_pbm'
  ;;

ppmflash)
  _arguments ':flash factor' ':file:_pbm'
  ;;

ppmforge)
  _arguments \
    -{clouds,night} \
    '-dimension:fractal dimension' '-hour:hour angle' \
    '(-tilt)-inclination:inclination angle' \
    '(-inclination)-tilt:inclination angle' \
    '-mesh:FFT mesh size' '-power:elevations power factor' \
    '-glaciers:glacier elevation' '-ice:polar ice cap extent' \
    '-saturation:star color saturation' \
    '-seed:random number seed' \
    '-stars:minimum star pixel percentage' \
    '(-xsize)-width:width'   '(-width)-xsize:width' \
    '(-ysize)-height:height' '(-height)-ysize:height'
  ;;

ppmmake)
  _arguments ':color:_x_color' ':width' ':height'
  ;;

ppmmix)
  _arguments ':fade factor' ':file:_pbm' ':file:_pbm'
  ;;

ppmntsc)
  _arguments ':dim factor' ':file:_pbm'
  ;;

ppmpat)
  _arguments \
    '(-)'-{gingham{2,3},g{2,3},madras,tartan,poles,squig,camo,anticamo} \
    ':width' ':height'
  ;;

ppmquant)
  local opt=yes

  if [[ "$words[2]" = -(fs|floyd) ]]; then
    (( CURRENT-- ))
    shift 1 words
    opt=''
  fi

  if [[ CURRENT -eq 2 ]]; then
    if [[ -n "$opt" ]]; then
      _wanted options expl option compadd - -map -fs -floyd && ret=0
    else
      _wanted options expl option compadd - -map && ret=0
    fi
    _message -e numbers 'number of colors'

    return ret
  elif [[ CURRENT -eq 3 && "$words[2]" = -map ]]; then
    _description files expl 'map file'
    _files "$expl[@]" -g '*.(#i)ppm(-.)'
  else
    _pbm
  fi
  ;;

ppmquantall)
  _arguments \
    '-ext:extension' ': :_guard "[0-9]#" "number of colors"' \
    '*:file:_pbm'
  ;;

ppmshift)
  _arguments ':shift value' ':file:_pbm'
  ;;

ppmspread)
  _arguments ':maximum spread amount' ':file:_pbm'
  ;;

ppmtoacad)
  _arguments \
    '(-poly)-dxb[write AutoCAD binary database import file]' \
    '(-dxb)-poly[render pixels as filled polygons]' \
    '-8[restrict colors to the 8 RGB shades]' \
    '(-background)-white[use white background]' \
    '(-white)-background:background color (0-255)' \
    '-aspect:pixel aspect ratio' \
    ':file:_pbm'
  ;;

ppmtobmp)
  _arguments \
    '(-windows)-os2' '(-os2)-windows' \
    '-bpp[specify bits per pixel for BMP file]:bits per pixel:(1 4 8 24)' \
    ':file:_pbm'
  ;;

ppmtogif)
  _arguments \
    '-interlace[produce interlaced GIF]' \
    '-sort[produce GIF with sorted color map]' \
    '-map[use colors in specified file]:map file:_files' \
    '(-alpha)-transparent[specify transparent color]:color' \
    '(-transparent)-alpha[specify PGM file containing alpha mask]:file:_pbm' \
    '-comment[include a comment in the GIF file]:comment text' \
    '-nolxw[skip LZW compression]' \
    ':file:_pbm'
  ;;

ppmtoicr)
  _arguments \
    '-windowname:window name' '-expand:expansion factor' \
    '-display:display screen' '-rle' ':file:_pbm'
  ;;

ppmtoilbm)
  _arguments \
    '(-mp -maxplanes)'{-mp,-maxplanes}':planes' \
    '(-fp -fixplanes)'{-fp,-fixplanes}':planes' \
    '(-hambits -hamplanes)'{-hambits,-hamplanes}':planes' \
    -normal -hamif -24if -dcif -hamforce -24force -dcforce \
    '(-dcbits -dcplanes)'{-dcbits,-dcplanes}':bits for red: :bits for green: :bits for blue' \
    -ecs -aga -ham6 -ham8 -compress '-cmethod:method:(none byterun1)' \
    '-map:ppm file:_pbm' -cmaponly -savemem \
    ':file:_pbm'
  ;;

ppmtomap)
  _arguments -s{ort,quare} ':file:_pbm'
  ;;

ppmtomitsu)
  _arguments \
    '-sharpness:sharpness:(1 2 3 4)' \
    '-enlarge:enlargement factor:(1 2 3)' \
    '-media:output media (default\: 1184x1350):((A\:1216x1350 A4\:1184x1452 AS\:1216x1650 A4S\:1184x1754))' \
    '-copy:number of copies:(1 2 3 4 5 6 7 8 9)' \
    -{dpi300,tiny} ':file:_pbm'
  ;;

ppmtopcx)
  _arguments -{24bit,packed} ':file:_pbm'
  ;;

ppmtopj)
  _arguments \
    '-gamma:gamma value' '-xpos:x position' -{rle,center} \
    '-ypos:y position' '-back:background brightness:(dark lite)' \
    '-render:rendering algorithm:(none snap bw dither diffuse monodither monodiffuse clusterdither monoclusterdither)' \
    ':file:_pbm'
  ;;

ppmtopjxl)
  _arguments \
    -{nopack,presentation,dark,diffuse,cluster,dither} \
    '-gamma:gamma value' \
    '-xshift:x shift' '-yshift:y shift' \
    '(-width -xscale)-xscale:width' \
    '(-xsize -xscale)-width:width' \
    '(-xsize -width)-xscale:horizontal scale factor' \
    '(-height -yscale)-ysize:height' \
    '(-ysize -yscale)-height:height' \
    '(-ysize -height)-yscale:vertical scale factor' \
    ':file:_pbm'
  ;;

ppmtosixel)
  _arguments -{raw,margin} ':file:_pbm'
  ;;

ppmtotga)
  _arguments -{mono,cmap,rgb,norle} ':file:_pbm'
  ;;

ppmtouil)
  _arguments '-name:name prefix' ':file:_pbm'
  ;;

ppmtorle)
  _arguments \
    '-name=:name prefix' \
    '-rgb=:X11 rgb file:_files' \
    '-alphamask=:pgm file:_pbm' \
    ':file:_pbm'
  ;;

ppmtoyuvsplit)
  _arguments ':base name' ':file:_pbm'
  ;;

psidtopgm)
  _arguments \
    ':width' ':height' ':bits per sample' \
    ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"'
  ;;
pstopnm)
  _arguments \
    '(-portrait)-landscape' \
    '(-landscape)-portrait' \
    '(-pgm -ppm)-pbm' \
    '(-pbm -ppm)-pgm' \
    '(-pbm -pgm)-ppm' \
    -{forceplain,help,nocrop,verbose} \
    '-llx:loxer left x position' '-lly:lower left y position' \
    '-urx:upper right x position' '-ury:upper right y position' \
    '-xborder:x border fraction' '-yborder:y border fraction' \
    '-xmax:maximum width' '-ymax:maximum height' \
    '-xsize:width' '-ysize:height' \
    ':postscript file:_files -g "*.(#i)(ps|eps)(-.)"'
  ;;

rawtopgm)
  _arguments \
    '-maxval:value' \
    '-bpp:bytes:(1 2)' \
    -littleendian \
    '(-bt -bottomfirst -rowskip)-'{bt,bottomfirst} \
    '-headerskip:header bytes to skip' \
    '(-bt -bottomfirst)-rowskip:row padding to skip' \
    ': :_guard "[0-9]#" width' ':height' ':grayscale bytes'
  ;;

rawtoppm)
  _arguments \
    '-headerskip:header bytes to skip' \
    '-rowskip:row padding to skip' \
    '(-rgb -rbg -grb -gbr -brg -bgr)'-{rgb,rbg,grb,gbr,brg,bgr} \
    '(-interrow)-interpixel' \
    '(-interpixel)-interrow' \
    ': :_guard "[0-9]#" width' ':height' ':grayscale bytes'
  ;;

rgb3toppm)
  if [[ CURRENT -eq 2 ]]; then
    expl='red picture file'
  elif [[ CURRENT -eq 3 ]]; then
    expl='green picture file'
  elif [[ CURRENT -eq 4 ]]; then
    expl='blue picture file'
  fi

  if [[ -n "$expl" ]]; then
    _description files expl "$expl"
    _files "$expl" -g '*.(#i)pgm(-.)'
  fi
  ;;

rletopnm)
  _arguments \
    '--alphaout=:alpha file:_pbm' \
    -{h,-headerdump,v,-verbose,p,-plain} \
    ':file:_pbm'
  ;;

sgitopnm)
  _arguments '-verbose' '-channel:channel' ':file:_pbm'
  ;;

sldtoppm)
  _arguments \
    -{adjust,dir,info,verbose} \
    '(-width -xsize)'-{width,xsize}:width \
    '(-height -ysize)'-{height,ysize}:height \
    '-scale:scale factor' \
    '(-lib -Lib)'-{l,L}'ib:slide name' \
    ':file:_pbm'
  ;;

yuvsplittoppm)
  _arguments ':base name' ':width' ':height' '-ccir601'
  ;;

yuvtoppm)
  _arguments ':width' ':height' ':image bytes'
  ;;

zeisstopnm)
  _arguments '(-pgm -ppm)'-p{g,p}m ':file:_pbm'
  ;;

*)
  _wanted files expl 'picture file' _path_files -g "$pat" ||
      _files "$expl[@]" -g '*.(#i)p[bgp]m(-.)'
esac